diff --git a/BaseFun/include/wvst.h b/BaseFun/include/wvst.h index 54eedcc..a34814a 100644 --- a/BaseFun/include/wvst.h +++ b/BaseFun/include/wvst.h @@ -3,7 +3,7 @@ #pragma once #include "BaseFunExport.h" -#include "../../Slfio/include/memrdwt.h" +#include "MemRdWt.h" void BASEFUN_EXPORT Compute_Input_Par(MyDataTypeEnum vVdl,int x_delay,int y_delay,int ndim); void BASEFUN_EXPORT GetWvst(unsigned char *inbuf,short *outbuf,int len); void BASEFUN_EXPORT Get_Wave_Object(/*int mone_or_dipole,*/CMemRdWt *slf,float dep,int *outcurve,short *in_buffer,int ndim); diff --git a/BaseFun/src/BaseFun.cpp b/BaseFun/src/BaseFun.cpp index 16357b5..0e031f9 100644 --- a/BaseFun/src/BaseFun.cpp +++ b/BaseFun/src/BaseFun.cpp @@ -1288,7 +1288,7 @@ float pe_axp_(int *cc) } else { - b=0x7e-(0x40-b1)*4-j; + b=(0x7e)-(0x40-b1)*4-j; } zz.x2=0x80000000&(a<<24); zz.x2=zz.x2|((b<<23)&0x7f800000); diff --git a/BaseFun/src/wvst.cpp b/BaseFun/src/wvst.cpp index c6b7fff..b87d755 100644 --- a/BaseFun/src/wvst.cpp +++ b/BaseFun/src/wvst.cpp @@ -3,7 +3,9 @@ #include "float.h"//for _isnan #include "BaseFun.h" #include "wvst.h" -int __cdecl fir(double *in_buffer,int array_num,int wave_len,double mfl,double fl,double fh); + +//int __cdecl fir(double *in_buffer,int array_num,int wave_len,double mfl,double fl,double fh); +int fir(double *in_buffer,int array_num,int wave_len,double mfl,double fl,double fh); int Index_table[16]={ -1, -1, @@ -116,7 +118,7 @@ DWORD value_table[90]={ }; int MFL=19,MFH=20,DFL=21,DFH=22; -int par[]={ +unsigned int par[]={ 0,0,//1 0,0,//2 0,0x3f000000,//3 @@ -874,6 +876,7 @@ int dft(double *in_buffer,int *wave_len,int array_num,int eq_1,int eq_0)//int * double eq0=0.0; double eq1=1.0; + short eax=0;//jyl // mov eax, wave_len // sub eax, 4 // mov wave_len, eax ; //arg_4-=4; @@ -980,6 +983,7 @@ return 2; loc_415A66:; // cmp i, 1 ; //i!=1 // jnz short loc_415AA1 + //short eax=first_val&0x80000001;//jyl if(i!=0) goto loc_415AA1; // mov eax, i // mov ecx, wave_len @@ -989,7 +993,7 @@ loc_415A66:; // mov eax, first_val // and eax, 80000001h // jns short loc_415A93 ; ;//not neg - short eax=first_val&0x80000001; + eax=first_val&0x80000001;//jyl提到goto前定义 if(eax>=0) goto loc_415A93 ; // dec eax // or eax, 0FFFFFFFEh @@ -4019,7 +4023,8 @@ int fir(double *in_buffer,int array_num,int wave_len,double delay,double fl,dou // jz short loc_413948;//>=0 if(fh>eq0) goto loc_413948; // jmp loc_414073 - goto loc_414073; + //goto loc_414073;//jyl + return 1;//jyl loc_413948: if(fl<=eq0) goto loc_413968; // fld fh @@ -4030,7 +4035,8 @@ loc_413948: if(fh>eq0) goto loc_41396D; loc_413968: // jmp loc_414073 - goto loc_414073; + //goto loc_414073;//jyl + return 1;//jyl loc_41396D: char *p=(char*)&eq1_1886; // mov dword ptr eq1_1886, 6F0068DCh @@ -4057,7 +4063,8 @@ loc_41396D: // jz short loc_4139C2;//<=0 return if(delay>eq0) goto loc_4139C2; // jmp loc_414073 - goto loc_414073; + //goto loc_414073;//jyl + return 1;//jyl loc_4139C2: // fld eq0_5 // fdiv delay @@ -4110,7 +4117,8 @@ loc_413A3C: if(fl_0>eq0) goto loc_413A5E; if(fh_0<=delay_0) goto loc_413A5E; // jmp loc_414073 - goto loc_414073; + //goto loc_414073;//jyl + return 1;//jyl loc_413A5E: // mov edx, wave_len diff --git a/DataMgr/include/DataManagger.h b/DataMgr/include/DataManagger.h index 61a851f..62a21c6 100644 --- a/DataMgr/include/DataManagger.h +++ b/DataMgr/include/DataManagger.h @@ -64,7 +64,7 @@ public: QWidget* parent); //曲线数值统计 //20210111 GZL add 纵滑块联动 - void CDataManagger::CallDisplayCurveVerChange(int Type, + void CallDisplayCurveVerChange(int Type, const QString& FileName, const QString& CurveName, QWidget* parent, diff --git a/DataMgr/src/DataHelper.cpp b/DataMgr/src/DataHelper.cpp index f65643a..067ce6b 100644 --- a/DataMgr/src/DataHelper.cpp +++ b/DataMgr/src/DataHelper.cpp @@ -1,7 +1,7 @@ #include "DataHelper.h" #include #include "cdialog.h" -#include "GeometryUtils.h" +#include "geometryutils.h" // #include "DataImport.h" // #include "ObjProject.h" #include "BaseFun.h" diff --git a/DataMgr/src/DataHelper.h b/DataMgr/src/DataHelper.h index 3a4203e..af2eef7 100644 --- a/DataMgr/src/DataHelper.h +++ b/DataMgr/src/DataHelper.h @@ -1,11 +1,14 @@ #ifndef DATAHELPER_H #define DATAHELPER_H -#include +#ifdef WIN32 + #include +#endif // WIN32 + #include #include #include "MemRdWt.h" -#include "datamanagerdefs.h" +#include "DataManagerDefs.h" #pragma execution_character_set("utf-8") //#define DefTabNum 10//9 whp change 2020.5.25 //for 曲线计算 @@ -84,8 +87,8 @@ public: int isdelim(char c); int iswhite(char c); //int ComputeCurve(CString csExpress,float sdeps,float edeps,BOOL IsCurrentOpen); - BOOL GetKey(); - BOOL CheckKey(); +// BOOL GetKey(); +// BOOL CheckKey(); int GetCodeLen(int Code); //add whp QString csName[MaxArg],csOutName; @@ -108,4 +111,4 @@ public: static void ReSampling(float *mr,int Row,int Col,float *aDep,float *tDep,int tnp); static void ReSampling(short *mr,int Row,int Col,float *aDep,float *tDep,int tnp); }; -#endif \ No newline at end of file +#endif diff --git a/DataMgr/src/DataManagger.cpp b/DataMgr/src/DataManagger.cpp index c1852a2..541c3b9 100644 --- a/DataMgr/src/DataManagger.cpp +++ b/DataMgr/src/DataManagger.cpp @@ -5,7 +5,7 @@ #include #include #include -#include +//#include "io.h" #include #include "DataManagger.h" #include "InDefTableDlg.h" diff --git a/DataMgr/src/DataManagger.h b/DataMgr/src/DataManagger.h index 61a851f..62a21c6 100644 --- a/DataMgr/src/DataManagger.h +++ b/DataMgr/src/DataManagger.h @@ -64,7 +64,7 @@ public: QWidget* parent); //曲线数值统计 //20210111 GZL add 纵滑块联动 - void CDataManagger::CallDisplayCurveVerChange(int Type, + void CallDisplayCurveVerChange(int Type, const QString& FileName, const QString& CurveName, QWidget* parent, diff --git a/DataMgr/src/cdialog.cpp b/DataMgr/src/cdialog.cpp index 1dfe57e..7bf0a05 100644 --- a/DataMgr/src/cdialog.cpp +++ b/DataMgr/src/cdialog.cpp @@ -3,8 +3,8 @@ #include "ui_cdialog.h" #include "ui_sigleview.h" #include "ui_doubleeditview.h" -#include "ui_sigletextview.h" -#include "GeometryUtils.h" +#include "ui_sigleTextview.h" +#include "geometryutils.h" #include #include diff --git a/DataOutput/include/MyLpsLib.h b/DataOutput/include/MyLpsLib.h index fc8b705..2324931 100644 --- a/DataOutput/include/MyLpsLib.h +++ b/DataOutput/include/MyLpsLib.h @@ -1,7 +1,7 @@ -///////////////////////////////////////////// +///////////////////////////////////////////// // MyLpsLib.h #pragma once -#include "GeometryUtils.h" +#include "geometryutils.h" #include #include #define WLD_FILE_FLAG "WellMessage" @@ -18,84 +18,84 @@ typedef struct char reserved[12]; }WldFileHead; typedef struct { - char name[32]; // 32 - char region[32]; // 32 - int chin_code[16]; // ĺִ 64 - char type[16]; // ʶ 16 - float x_coor, y_coor; // λĴ 8 - char oil_company[40]; // ͹˾ 40 - float height; // IJĸ߶ 4 - float bit_program[5][2]; // ͷ 40 - float case_program[5][2]; // ׹ܳ 40 - char reserved[64]; // δ 64 + char name[32]; // 井名 32 + char region[32]; // 地区名 32 + int chin_code[16]; // 井名的汉字代码数组 64 + char type[16]; // 井的类别标识 16 + float x_coor, y_coor; // 井位的大地坐标 8 + char oil_company[40]; // 油公司名称 40 + float height; // 井的补心高度 4 + float bit_program[5][2]; // 钻头程序 40 + float case_program[5][2]; // 套管程序 40 + char reserved[64]; // 保留未用 64 } WSM; // 340 typedef struct { - int log_times; // ⾮ 4 - char log_company[40]; // ⾮˾ 40 - char log_team[32]; // ⾮ 32 - char log_series[16]; // ⾮ϵбʶ 16 - char log_project[16]; // ⾮Ŀʶ 16 - char log_profile[16]; // زʶ 16 - char log_date[12]; // ⾮ 12 - float stdep,endep; // εʼȺͽ 8 - float bottom_temp; // ¶ 4 - char mud_type[12]; // ཬʶ 12 - float mud_viscosity; // ཬճ 4 - float mud_density; // ཬܶ 4 - float mud_resistivity; // ཬ 4 - char reserved[64]; // δ 64 + int log_times; // 测井次数 4 + char log_company[40]; // 测井公司名称 40 + char log_team[32]; // 测井队名称 32 + char log_series[16]; // 测井系列标识 16 + char log_project[16]; // 测井项目标识 16 + char log_profile[16]; // 地层剖面类别标识 16 + char log_date[12]; // 测井日期 12 + float stdep,endep; // 测量井段的起始深度和结束深度 8 + float bottom_temp; // 井底温度 4 + char mud_type[12]; // 泥浆类别标识 12 + float mud_viscosity; // 泥浆粘度 4 + float mud_density; // 泥浆密度 4 + float mud_resistivity; // 泥浆电阻率 4 + char reserved[64]; // 保留未用 64 } WDM; //236 typedef struct { - char name[8]; /* */ - char alias[8]; /* ߱ */ - char flag[16]; /* ߸ӱ־ */ - float sdepth; /* ߵʼ */ - float edepth; /* ߵĽ */ - float dstep; /* ߲ȼ */ - char dunit[8]; /* ֵ */ - char vunit[8]; /* ֵ */ - char data_type[8]; /* ֵ洢*/ - int address; /* ֵĴ洢׵ַ */ + char name[8]; /* 曲线名称 */ + char alias[8]; /* 曲线别名 */ + char flag[16]; /* 曲线附加标志 */ + float sdepth; /* 曲线的起始深度 */ + float edepth; /* 曲线的结束深度 */ + float dstep; /* 曲线采样的深度间距 */ + char dunit[8]; /* 深度值量纲 */ + char vunit[8]; /* 曲线值量纲 */ + char data_type[8]; /* 曲线值存储类型*/ + int address; /* 曲线值的存储首地址 */ } CurveIndex1d; typedef struct { - char name[8]; /* */ - char alias[8]; /* ߱ */ - char flag[16]; /* ߸ӱ־ */ - float sdepth; /* ߵʼ */ - float edepth; /* ߵĽ */ - float dstep; /* ߲ȼ */ - char dunit[8]; /* ֵ */ - float stime; /* ʼʱ */ - float etime; /* ʱ */ - float tstep; /* ʱ */ - char tunit[8]; /* ʱ */ - char vunit[8]; /* ֵ */ - char data_type[8]; /* ֵ洢 */ - int address; /* ֵĴ洢׵ַ */ + char name[8]; /* 曲线名称 */ + char alias[8]; /* 曲线别名 */ + char flag[16]; /* 曲线附加标志 */ + float sdepth; /* 线的起始深度 */ + float edepth; /* 曲线的结束深度 */ + float dstep; /* 曲线采样的深度间距 */ + char dunit[8]; /* 深度值量纲 */ + float stime; /* 起始采样时间 */ + float etime; /* 结束采样时间 */ + float tstep; /* 采样时间间隔 */ + char tunit[8]; /* 时间量纲 */ + char vunit[8]; /* 曲线值量纲 */ + char data_type[8]; /* 曲线值存储类型 */ + int address; /* 曲线值的存储首地址 */ } CurveIndex2d; typedef struct { - char name[8]; /* */ - char alias[8]; /* ߱ */ - char flag[16]; /* ߸ӱ־ */ - float sdepth; /* ߵʼ */ - float edepth; /* ߵĽ */ - float dstep; /* ߲ȼ */ - char dunit[8]; /* ֵ */ - float sangle; /* ʼǶ */ - float eangle; /* Ƕ */ - float astep; /* Ƕȼ */ - char aunit; /* Ƕ */ - float stime; /* ʼʱ */ - float etime; /* ʱ */ - float tstep; /* ʱ */ - char tunit[8]; /* ʱ */ - char vunit[8]; /* ֵ */ - char data_type[8]; /* ֵ洢 */ - int address; /* ֵĴ洢׵ַ */ + char name[8]; /* 曲线名称 */ + char alias[8]; /* 曲线别名 */ + char flag[16]; /* 曲线附加标志 */ + float sdepth; /* 曲线的起始深度 */ + float edepth; /* 曲线的结束深度 */ + float dstep; /* 曲线采样的深度间距 */ + char dunit[8]; /* 深度值量纲 */ + float sangle; /* 起始采样角度 */ + float eangle; /* 结束采样角度 */ + float astep; /* 采样角度间隔 */ + char aunit; /* 角度量纲 */ + float stime; /* 起始采样时间 */ + float etime; /* 结束采样时间 */ + float tstep; /* 采样时间间隔 */ + char tunit[8]; /* 时间量纲 */ + char vunit[8]; /* 曲线值量纲 */ + char data_type[8]; /* 曲线值存储类型 */ + int address; /* 曲线值的存储首地址 */ }CurveIndex3d; extern short ReverseShort(short num); extern long ReverseLong(long num); @@ -210,10 +210,10 @@ public: { } }; - // ȡ : ͱ룬תΪַ + // 取数据类型 : 将数据类型编码,转换为数据类型字符串 const char * GetDataType(int iType) { - // 1ʼ + // 编码从1开始 const char *strDataType[]={"null","int","short","long","float","double" ,"string","char","UCHAR","WORD" ,"UINT","ULONG"}; @@ -222,9 +222,9 @@ public: else return "unknown"; }; - // ȡ : ͱ룬תΪַ - //---- ע⣺------------------------------------------- - // ͶгһҪͳһ׼ƶȲܸı + // 取数据类型 : 将数据类型编码,转换为数据类型字符串 + //---- 注意:------------------------------------------- + // 该类型定义所有程序一定要统一,标准制定后既不能改变 //------------------------------------------------------ int GetDataTypeCode(char *strType,int *nCodeLen) { @@ -256,11 +256,11 @@ public: FILE *fp=fopen(filename.toStdString().c_str(),"w+b"); if(!fp) { - QMessageBox::information(NULL,"ʾ","ļ"+filename+"ļʧ"); + QMessageBox::information(NULL,"提示","产生文件"+filename+"产生文件失败"); return 0; } - //̬Ϣתwsmwdm - //̬Ϣֵ + //将动静态信息转换成wsm、wdm + //给静态信息赋值 strncpy(wsm.region,FILE_MESSAGE.AreaName,32); strncpy(wsm.oil_company,FILE_MESSAGE.OilCompanyName,32); strncpy(wsm.name,FILE_MESSAGE.WellName,32); @@ -281,7 +281,7 @@ public: sscanf(FILE_MESSAGE.Prog,"%f %f",&wsm.bit_program[i][0],&wsm.bit_program[i][1]); // sscanf(FILE_MESSAGE.[i],"%f %f",&wsm.case_program[i][0],&wsm.case_program[i][1]); } - //̬Ϣֵ:WellDynamicInfo + //给动态信息赋值:WellDynamicInfo strncpy(wdm.log_company,FILE_MESSAGE.LogCompanyName,40); QString str=ctime((time_t *)&FILE_MESSAGE.LoggingDate); @@ -296,27 +296,27 @@ public: wdm.mud_resistivity=FILE_MESSAGE.Mud_Resistivity[0] ; wdm.bottom_temp=FILE_MESSAGE.Mud_Temp; //pctosun - // λĴ + // 井位的大地坐标 wsm.x_coor = ReverseFloat(wsm.x_coor); wsm.y_coor = ReverseFloat(wsm.x_coor); - // IJĸ߶ + // 井的补心高度 wsm.height = ReverseFloat(wsm.height); for ( int i=0;i<5; i++) { - // ͷ + // 钻头程序 wsm.bit_program[i][0] = ReverseFloat(wsm.bit_program[i][0]); wsm.bit_program[i][1] = ReverseFloat(wsm.bit_program[i][1]); - // ׹ܳ + // 套管程序 wsm.case_program[i][0] = ReverseFloat(wsm.case_program[i][0]); wsm.case_program[i][1] = ReverseFloat(wsm.case_program[i][1]); } - wdm.log_times = ReverseInt(wdm.log_times); // ⾮ + wdm.log_times = ReverseInt(wdm.log_times); // 测井次数 wdm.stdep = ReverseFloat(wdm.stdep); - wdm.endep =ReverseFloat(wdm.endep ); // εʼȺͽ - wdm.bottom_temp = ReverseFloat(wdm.bottom_temp); // ¶ - wdm.mud_viscosity = ReverseFloat(wdm.mud_viscosity); // ཬճ - wdm.mud_density = ReverseFloat(wdm.mud_density); // ཬܶ - wdm.mud_resistivity = ReverseFloat(wdm.mud_resistivity); // ཬ + wdm.endep =ReverseFloat(wdm.endep ); // 测量井段的起始深度和结束深度 + wdm.bottom_temp = ReverseFloat(wdm.bottom_temp); // 井底温度 + wdm.mud_viscosity = ReverseFloat(wdm.mud_viscosity); // 泥浆粘度 + wdm.mud_density = ReverseFloat(wdm.mud_density); // 泥浆密度 + wdm.mud_resistivity = ReverseFloat(wdm.mud_resistivity); // 泥浆电阻率 /* write head */ int len=32+sizeof(WSM)+sizeof(WDM); @@ -338,7 +338,7 @@ public: FILE *fp=fopen(filename.toStdString().c_str(),"w+b"); if(!fp) { - QMessageBox::information(NULL,"ʾ","ļ"+filename+"ļʧ"); + QMessageBox::information(NULL,"提示","产生文件"+filename+"产生文件失败"); return 0; } /* write head */ @@ -367,7 +367,7 @@ public: FILE *fp=fopen(filename.toStdString().c_str(),"w+b"); if(!fp) { - QMessageBox::information(NULL,"ʾ","ļ"+filename+"ļʧ"); + QMessageBox::information(NULL,"提示","产生文件"+filename+"产生文件失败"); return 0; } /* write head */ diff --git a/DataOutput/include/MyXtfLib.h b/DataOutput/include/MyXtfLib.h index 2f21fda..64f56c7 100644 --- a/DataOutput/include/MyXtfLib.h +++ b/DataOutput/include/MyXtfLib.h @@ -369,10 +369,10 @@ public : int BlockNum; //8 - int CurveFlag[512]; //ߴ־, + int CurveFlag[512]; //曲线处理标志, - //1 + //表1 byte HeadRecord[512]; CString FileExtation; CString FilePath; @@ -388,8 +388,8 @@ public : float FileEndDepth; float FileDepthLevel; - //2 - byte BitmapHead; //ͷ + //表2 + byte BitmapHead; //头 byte BitmapRecords[4071]; byte BitmapValues[4]; byte BitmapFirst[4]; @@ -399,32 +399,32 @@ public : byte BitmapNext[4]; - //3 - CString CurveName[512]; // + //表3 + CString CurveName[512]; //曲线名 - //4 - int CurveStartPos[512] ;//߿ʼλ - int CurveSampleNum[512] ; //ܲ - int CurveEndPos[512]; //߿ʼλ + //表4 + int CurveStartPos[512] ;//曲线开始位置 + int CurveSampleNum[512] ; //曲线总采样点数 + int CurveEndPos[512]; //曲线开始位置 - //5 - short CurveDimNum[512]; //ά - short CurveE1Num[512]; //1άݸ - short CurveE2Num[512]; //2άݸ - short CurveE3Num[512]; //3άݸ + //表5 + short CurveDimNum[512]; //维数 + short CurveE1Num[512]; //第1维数据个数 + short CurveE2Num[512]; //第2维数据个数 + short CurveE3Num[512]; //第3维数据个数 - //6 + //表6 float CurveStartDepth[512]; float CurveEndDepth[512]; - //7 + //表7 float CurveDepthLevel[512]; byte CurveType[512]; byte CurveDataType[512] ; byte CurveHorz[512]; byte CurveVert[512] ; - //8 + //表8 CString WSI; CString WellName; CString OilFieldName; @@ -435,11 +435,11 @@ public : float JingDu; float WeiDu; float HaiBa; - short SystemForM; //Ӣ - float MagtCPJ; //ƫ + short SystemForM; //公英 + float MagtCPJ; //磁偏角 - //9 + //表9 CString CurveUnit[512]; CurveHeadInfo curveInfo[512]; @@ -451,13 +451,13 @@ public : XtfCvt XtfConvert; - MyXtfLib()//ʼб + MyXtfLib()//初始化所有变量 { int i=0; byte ByteArray[4096] = {0}; - //1 + //表1 memset(ByteArray,0, 4096); // HeadRecord = XtfConvert.ToCString(ByteArray, 0, 32); FileExtation = XtfConvert.ToCString(ByteArray, 760, 4); @@ -465,7 +465,7 @@ public : FilePath = XtfConvert.ToCString(ByteArray, 764, 80); SystemDepthUnit = XtfConvert.ToCString(ByteArray, 844, 8); AIFVersion = XtfConvert.ToCString(ByteArray, 852, 8); - SystemCode = XtfConvert.ToByte(ByteArray, 948); //5=վ1=PC + SystemCode = XtfConvert.ToByte(ByteArray, 948); //5=工作站,1=PC机, XtfConvert.SystemCode = SystemCode; @@ -478,20 +478,20 @@ public : FileDepthLevel = XtfConvert.ToFloat(ByteArray, 2056); - //2 + //表2 memset(ByteArray,0, 4096); BitmapHead = ByteArray[0]; memcpy(BitmapRecords,ByteArray+1,4071); memcpy(BitmapValues,ByteArray+4072,4); - //3 + //表3 memset(ByteArray,0, 4096); for ( i = 0; i < 512; i++) { CurveName[i] = XtfConvert.ToCString(ByteArray, i * 8, 8); } - //4 + //表4 memset(ByteArray,0, 4096); for ( i = 0; i < 256; i++) { @@ -504,7 +504,7 @@ public : CurveSampleNum[i + 256] = XtfConvert.ToInt32(ByteArray, i * 8 + 4 + 2048); } - //5 + //表5 memset(ByteArray,0, 4096); for ( i = 0; i < 256; i++) { @@ -523,7 +523,7 @@ public : CurveE3Num[i + 256] = XtfConvert.ToInt16(ByteArray, i * 8 + 6 + 2048); } - //6 + //表6 memset(ByteArray,0, 4096); for ( i = 0; i < 256; i++) { @@ -537,7 +537,7 @@ public : CurveEndDepth[i + 256] = XtfConvert.ToFloat(ByteArray, i * 8 + 4 + 2048); } - //7 + //表7 memset(ByteArray,0, 4096); for ( i = 0; i < 256; i++) { @@ -557,7 +557,7 @@ public : CurveVert[i + 256] = XtfConvert.ToByte(ByteArray, i * 8 + 7 + 2048); } - //8 + //表8 memset(ByteArray,0, 4096); WSI = XtfConvert.ToCString(ByteArray, 0, 8); WellName = XtfConvert.ToCString(ByteArray, 8, 80); @@ -571,9 +571,9 @@ public : HaiBa = XtfConvert.ToFloat(ByteArray, 1040); SystemForM = XtfConvert.ToInt16(ByteArray, 2060); - //ɨ9 + //扫描表9 - // CreateDate = 0; //⾮ʱ + // CreateDate = 0; //测井时间 // CreateTime = 0; //whp change 2012.11.6 CreateDate=GetCurrentTime(); @@ -593,10 +593,10 @@ public : HeadRecord[i*4-1] = (byte)i; WSI = "WSI"; - SystemCode = 5; // //SUN + SystemCode = 5; //??? //SUN Version1 = 0x06;//4; Version2 = 0x00;//E; - SystemForM = 0; // + SystemForM = 0; //公制 SystemDepthUnit = "meters"; AIFVersion = ""; FileExtation = ".xtf"; @@ -656,7 +656,7 @@ public : openFlag = false; } ////////////////////////////////////////////////////////////////////////// - ///ע͵Ϊٴδ򿪱ļʱļѾرյ쳣ʾ + ///注释掉:是因为当再次打开别的文件时会提醒文件已经关闭的异常提示 ////////////////////////////////////////////////////////////////////////// { dataFile=new QFile(dataFileName); @@ -691,7 +691,7 @@ public : dataFile->seek(0); - //1 + //表1 dataFile->read((char*)&ByteArray[0], 4096); // HeadRecord = XtfConvert.ToCString(ByteArray, 0, 32); FileExtation = XtfConvert.ToCString(ByteArray, 760, 4); @@ -699,7 +699,7 @@ public : FilePath = XtfConvert.ToCString(ByteArray, 764, 80); SystemDepthUnit = XtfConvert.ToCString(ByteArray, 844, 8); AIFVersion = XtfConvert.ToCString(ByteArray, 852, 8); - SystemCode = XtfConvert.ToByte(ByteArray, 948); //5=վ1=PC + SystemCode = XtfConvert.ToByte(ByteArray, 948); //5=工作站,1=PC机, XtfConvert.SystemCode = SystemCode; @@ -712,20 +712,20 @@ public : FileDepthLevel = XtfConvert.ToFloat(ByteArray, 2056); - //2 + //表2 dataFile->read((char*)&ByteArray[0], 4096); BitmapHead = ByteArray[0]; memcpy(BitmapRecords,ByteArray+1,4071); memcpy(BitmapValues,ByteArray+4072,4); - //3 + //表3 dataFile->read((char*)&ByteArray[0], 4096); for ( i = 0; i < 512; i++) { CurveName[i] = XtfConvert.ToCString(ByteArray, i * 8, 8); } - //4 + //表4 dataFile->read((char*)&ByteArray[0], 4096); for ( i = 0; i < 256; i++) { @@ -738,7 +738,7 @@ public : CurveSampleNum[i + 256] = XtfConvert.ToInt32(ByteArray, i * 8 + 4 + 2048); } - //5 + //表5 dataFile->read((char*)&ByteArray[0], 4096); for ( i = 0; i < 256; i++) { @@ -757,7 +757,7 @@ public : CurveE3Num[i + 256] = XtfConvert.ToInt16(ByteArray, i * 8 + 6 + 2048); } - //6 + //表6 dataFile->read((char*)&ByteArray[0], 4096); for ( i = 0; i < 256; i++) { @@ -771,7 +771,7 @@ public : CurveEndDepth[i + 256] = XtfConvert.ToFloat(ByteArray, i * 8 + 4 + 2048); } - //7 + //表7 dataFile->read((char*)&ByteArray[0], 4096); for ( i = 0; i < 256; i++) { @@ -791,7 +791,7 @@ public : CurveVert[i + 256] = XtfConvert.ToByte(ByteArray, i * 8 + 7 + 2048); } - //8 + //表8 dataFile->read((char*)&ByteArray[0], 4096); WSI = XtfConvert.ToCString(ByteArray, 0, 8); WellName = XtfConvert.ToCString(ByteArray, 8, 80); @@ -805,7 +805,7 @@ public : HaiBa = XtfConvert.ToFloat(ByteArray, 1040); SystemForM = XtfConvert.ToInt16(ByteArray, 2060); - //ɨ9 + //扫描表9 for ( i = 0; i < CurveNum; i++) { long pos = (CurveStartPos[i] - 1) * 4096; @@ -813,21 +813,21 @@ public : dataFile->read((char*)&ByteArray[0], 4096); - CurveHeadGet(i,ByteArray); //ͷ + CurveHeadGet(i,ByteArray); //分析各个曲线头 CurveName[i] =curveInfo[i].CurveName; CurveUnit[i] = curveInfo[i].CurveUnit; CurveEndPos[i] = curveInfo[i].EndPosition; } - CreateDate = curveInfo[0].CreateDate; //⾮ʱ + CreateDate = curveInfo[0].CreateDate; //测井时间 CreateTime = curveInfo[0].CreateTime; if (FileExtation != ".xtf" || MaxCurveNum != 512) // || UnixToPc.ToCString(head1.ExtendFileType) != ".XTF") { - // MessageBox(" EPLIPS5700 XTFʽļ!"); + // MessageBox(" 不是EPLIPS5700 XTF格式的数据文件!"); return 0; } @@ -847,14 +847,14 @@ public : // Version1 = 0x06; // Version2 = 0x00; - SystemCode = 5; //5,new,̶Ϊվģʽ + SystemCode = 5; //5,new,输出固定为工作站模式 XtfConvert.SystemCode = SystemCode; //?????????????????????? //////////////////////////////////// byte ByteArray[32768] = {0}; dataFile->seek(0); - //1 + //表1 // HeadRecord="10002000300040005000600070008000"; for ( i = 0; i < 32; i++) ByteArray[i] = HeadRecord[i]; // XtfConvert.ToBytes(HeadRecord,ByteArray, 0,32); @@ -865,7 +865,7 @@ public : XtfConvert.ToBytes(FilePath, ByteArray, 764, 80); XtfConvert.ToBytes(SystemDepthUnit, ByteArray, 844, 8); XtfConvert.ToBytes(AIFVersion, ByteArray, 852, 8); - //whp add 2012.11.6 for SystemDepthUnitAIFVersion8ַÿո + //whp add 2012.11.6 for SystemDepthUnit和AIFVersion不够8个字符的用空格填充 for ( i = 0; i < 16; i++) { if(ByteArray[844+i]==0) @@ -889,8 +889,8 @@ public : dataFile->write((char*)&ByteArray[0], 4096); - //2 - memset(ByteArray,0,4096); //0 + //表2 + memset(ByteArray,0,4096); //清0; int xx = BlockNum / 8; int yy = BlockNum % 8; @@ -903,34 +903,34 @@ public : } xx = 0; - XtfConvert.ToBytes(xx, ByteArray, 4072); //ֵ + XtfConvert.ToBytes(xx, ByteArray, 4072); //旗标值 xx = 1; - XtfConvert.ToBytes(xx, ByteArray, 4076); //һ + XtfConvert.ToBytes(xx, ByteArray, 4076); //第一个 xx = 32576; - XtfConvert.ToBytes(xx, ByteArray, 4080); //ڶ + XtfConvert.ToBytes(xx, ByteArray, 4080); //第二个 xx = 0; - XtfConvert.ToBytes(xx, ByteArray, 4084); //ǰһ + XtfConvert.ToBytes(xx, ByteArray, 4084); //前一个 xx = 2; - XtfConvert.ToBytes(xx, ByteArray, 4088); //ǰ¼ + XtfConvert.ToBytes(xx, ByteArray, 4088); //当前记录数 xx = 0; - XtfConvert.ToBytes(xx, ByteArray, 4092); //һ + XtfConvert.ToBytes(xx, ByteArray, 4092); //下一个 dataFile->write((char*)&ByteArray[0], 4096); - //3 - memset(ByteArray,0,4096); //0 + //表3 + memset(ByteArray,0,4096); //清0; for ( i = 0; i < 512; i++) { - // CurveName[i] = HzClass.Convert(CurveName[i]); //ȥ + // CurveName[i] = HzClass.Convert(CurveName[i]); //去除汉字 XtfConvert.ToBytes(CurveName[i],ByteArray,i * 8, 8); } - //whp add 2012.11.6 for ò8ַÿո + //whp add 2012.11.6 for 曲线名用不够8个字符的用空格填充 for ( i = 0; i < 4096; i++) { if(ByteArray[i]==0) @@ -940,8 +940,8 @@ public : } dataFile->write((char*)&ByteArray[0], 4096); - //4 - memset(ByteArray, 0,4096); //0 + //表4 + memset(ByteArray, 0,4096); //清0; for ( i = 0; i < 256; i++) { XtfConvert.ToBytes(CurveStartPos[i], ByteArray, i * 8); @@ -954,8 +954,8 @@ public : } dataFile->write((char*)&ByteArray[0], 4096); - //5 - memset(ByteArray,0, 4096); //0 + //表5 + memset(ByteArray,0, 4096); //清0; for ( i = 0; i < 256; i++) { XtfConvert.ToBytes(CurveDimNum[i], ByteArray, i * 8); @@ -974,8 +974,8 @@ public : } dataFile->write((char*)&ByteArray[0], 4096); - //6 - memset(ByteArray,0,4096); //0 + //表6 + memset(ByteArray,0,4096); //清0; for ( i = 0; i < 256; i++) { XtfConvert.ToBytes(CurveStartDepth[i], ByteArray, i * 8); @@ -988,8 +988,8 @@ public : } dataFile->write((char*)&ByteArray[0], 4096); - //7 - memset(ByteArray,0,4096); //0 + //表7 + memset(ByteArray,0,4096); //清0; for ( i = 0; i < 256; i++) { XtfConvert.ToBytes(CurveDepthLevel[i], ByteArray, i * 8); @@ -1009,8 +1009,8 @@ public : } dataFile->write((char*)&ByteArray[0], 4096); - //8 - memset(ByteArray,0,4096); //0 + //表8 + memset(ByteArray,0,4096); //清0; for ( i = 0; i < 1024; i++) ByteArray[i] = 0x20; WellName = XtfConvert.GetLetter(WellName); @@ -1019,17 +1019,17 @@ public : CountryName = XtfConvert.GetLetter(CountryName); WellLocate = XtfConvert.GetLetter(WellLocate); - XtfConvert.ToBytes(WSI, ByteArray, 0 ,8); //Чͼͷ - XtfConvert.ToBytes(WellName, ByteArray, 8, 80); // - XtfConvert.ToBytes(OilFieldName, ByteArray, 88, 80); // - XtfConvert.ToBytes(CompanyName, ByteArray, 168, 80); //˾ - XtfConvert.ToBytes(CountryName, ByteArray, 248, 32); // - XtfConvert.ToBytes(WellLocate, ByteArray, 336, 40); //λ + XtfConvert.ToBytes(WSI, ByteArray, 0 ,8); //有效图头 + XtfConvert.ToBytes(WellName, ByteArray, 8, 80); //井名 + XtfConvert.ToBytes(OilFieldName, ByteArray, 88, 80); // 油田名 + XtfConvert.ToBytes(CompanyName, ByteArray, 168, 80); //公司名 + XtfConvert.ToBytes(CountryName, ByteArray, 248, 32); //国家名 + XtfConvert.ToBytes(WellLocate, ByteArray, 336, 40); //井位 - XtfConvert.ToBytes(JingDu, ByteArray, 336); // - XtfConvert.ToBytes(WeiDu, ByteArray, 1028); //ά - XtfConvert.ToBytes(HaiBa, ByteArray, 1040); // - XtfConvert.ToBytes(SystemForM, ByteArray,2060); //ϵͳ + XtfConvert.ToBytes(JingDu, ByteArray, 336); //经度 + XtfConvert.ToBytes(WeiDu, ByteArray, 1028); //维度 + XtfConvert.ToBytes(HaiBa, ByteArray, 1040); //海拔 + XtfConvert.ToBytes(SystemForM, ByteArray,2060); //系统制 dataFile->write((char*)&ByteArray[0], 4096); @@ -1050,110 +1050,110 @@ public : int CurveHeadGet(int CurveNo, byte ByteArray[]) { - curveInfo[CurveNo].CurveName = XtfConvert.ToCString(ByteArray, 0, 8); // + curveInfo[CurveNo].CurveName = XtfConvert.ToCString(ByteArray, 0, 8); //曲线名称 - curveInfo[CurveNo].CurveUnit = XtfConvert.ToCString(ByteArray, 8, 8); //ߵλ + curveInfo[CurveNo].CurveUnit = XtfConvert.ToCString(ByteArray, 8, 8); //曲线单位 - curveInfo[CurveNo].CurveRemark = XtfConvert.ToCString(ByteArray, 16, 8); //߱ע + curveInfo[CurveNo].CurveRemark = XtfConvert.ToCString(ByteArray, 16, 8); //曲线备注 - curveInfo[CurveNo].ServiceCompany = XtfConvert.ToCString(ByteArray, 48, 8); //˾ + curveInfo[CurveNo].ServiceCompany = XtfConvert.ToCString(ByteArray, 48, 8); //服务公司 - curveInfo[CurveNo].ToolType = XtfConvert.ToCString(ByteArray, 48, 8); // + curveInfo[CurveNo].ToolType = XtfConvert.ToCString(ByteArray, 48, 8); //仪器类型 - curveInfo[CurveNo].CurveClass = XtfConvert.ToCString(ByteArray, 56, 8); // + curveInfo[CurveNo].CurveClass = XtfConvert.ToCString(ByteArray, 56, 8); //曲线类型 - curveInfo[CurveNo].DepthUnit = XtfConvert.ToCString(ByteArray, 64, 8); //ȵλ + curveInfo[CurveNo].DepthUnit = XtfConvert.ToCString(ByteArray, 64, 8); //深度单位 - curveInfo[CurveNo].WaveTimeUnit = XtfConvert.ToCString(ByteArray, 72, 8); //ʱλ + curveInfo[CurveNo].WaveTimeUnit = XtfConvert.ToCString(ByteArray, 72, 8); //波列时间增量单位 //??? //??? - curveInfo[CurveNo].LogDirection = XtfConvert.ToCString(ByteArray, 120, 8); //⾮ + curveInfo[CurveNo].LogDirection = XtfConvert.ToCString(ByteArray, 120, 8); //测井方向 - curveInfo[CurveNo].AIFName = XtfConvert.ToCString(ByteArray, 128, 8); //AIF - curveInfo[CurveNo].OCTName = XtfConvert.ToCString(ByteArray, 152, 8); //OCT - curveInfo[CurveNo].ToolName = XtfConvert.ToCString(ByteArray, 152, 8); // + curveInfo[CurveNo].AIFName = XtfConvert.ToCString(ByteArray, 128, 8); //AIF名 + curveInfo[CurveNo].OCTName = XtfConvert.ToCString(ByteArray, 152, 8); //OCT名 + curveInfo[CurveNo].ToolName = XtfConvert.ToCString(ByteArray, 152, 8); //仪器名 - curveInfo[CurveNo].LisName = XtfConvert.ToCString(ByteArray, 224, 8); //LIS + curveInfo[CurveNo].LisName = XtfConvert.ToCString(ByteArray, 224, 8); //LIS名 - curveInfo[CurveNo].StartDepth = XtfConvert.ToFloat(ByteArray, 1024); //ʼ - curveInfo[CurveNo].EndDepth = XtfConvert.ToFloat(ByteArray, 1028); // - curveInfo[CurveNo].DepthLevel = XtfConvert.ToFloat(ByteArray, 1032); //Ȳ - curveInfo[CurveNo].MinValue = XtfConvert.ToFloat(ByteArray, 1036); //Сֵ - curveInfo[CurveNo].MaxValue = XtfConvert.ToFloat(ByteArray, 1040); //ֵ - curveInfo[CurveNo].AvgValue = XtfConvert.ToFloat(ByteArray, 1044); //ƽֵ + curveInfo[CurveNo].StartDepth = XtfConvert.ToFloat(ByteArray, 1024); //开始深度 + curveInfo[CurveNo].EndDepth = XtfConvert.ToFloat(ByteArray, 1028); //结束深度 + curveInfo[CurveNo].DepthLevel = XtfConvert.ToFloat(ByteArray, 1032); //深度采样间隔 + curveInfo[CurveNo].MinValue = XtfConvert.ToFloat(ByteArray, 1036); //曲线最小值 + curveInfo[CurveNo].MaxValue = XtfConvert.ToFloat(ByteArray, 1040); //曲线最大值 + curveInfo[CurveNo].AvgValue = XtfConvert.ToFloat(ByteArray, 1044); //曲线平均值 - curveInfo[CurveNo].TimeValuesLevel = XtfConvert.ToFloat(ByteArray, 1048); //ʱߵʱ + curveInfo[CurveNo].TimeValuesLevel = XtfConvert.ToFloat(ByteArray, 1048); //基于时间曲线的时间增量 - curveInfo[CurveNo].DACTimeOffset = XtfConvert.ToFloat(ByteArray, 1052); //DACʼʱ + curveInfo[CurveNo].DACTimeOffset = XtfConvert.ToFloat(ByteArray, 1052); //DAC起始时间 - curveInfo[CurveNo].StaticMeasureDepth = XtfConvert.ToFloat(ByteArray, 1056); //̬ + curveInfo[CurveNo].StaticMeasureDepth = XtfConvert.ToFloat(ByteArray, 1056); //静态测量深度 - curveInfo[CurveNo].Step = XtfConvert.ToFloat(ByteArray, 1068); //̬ - curveInfo[CurveNo].Window = XtfConvert.ToFloat(ByteArray, 1072); //̬ - curveInfo[CurveNo].CBILAngle = XtfConvert.ToFloat(ByteArray, 1076); //̬ - curveInfo[CurveNo].TR_Distance = XtfConvert.ToFloat(ByteArray, 1080); //̬ - curveInfo[CurveNo].RR_Distance = XtfConvert.ToFloat(ByteArray, 1084); //̬ - curveInfo[CurveNo].OrinToSurface = XtfConvert.ToFloat(ByteArray, 1088); //̬ + curveInfo[CurveNo].Step = XtfConvert.ToFloat(ByteArray, 1068); //静态测量深度 + curveInfo[CurveNo].Window = XtfConvert.ToFloat(ByteArray, 1072); //静态测量深度 + curveInfo[CurveNo].CBILAngle = XtfConvert.ToFloat(ByteArray, 1076); //静态测量深度 + curveInfo[CurveNo].TR_Distance = XtfConvert.ToFloat(ByteArray, 1080); //静态测量深度 + curveInfo[CurveNo].RR_Distance = XtfConvert.ToFloat(ByteArray, 1084); //静态测量深度 + curveInfo[CurveNo].OrinToSurface = XtfConvert.ToFloat(ByteArray, 1088); //静态测量深度 - curveInfo[CurveNo].DoubleStartDepth = XtfConvert.ToDouble(ByteArray, 1544); //豸 - curveInfo[CurveNo].DoubleEndDepth = XtfConvert.ToDouble(ByteArray, 1552); //豸 - curveInfo[CurveNo].DoubleDepthLevel = XtfConvert.ToDouble(ByteArray, 1560); //豸 + curveInfo[CurveNo].DoubleStartDepth = XtfConvert.ToDouble(ByteArray, 1544); //设备类型 + curveInfo[CurveNo].DoubleEndDepth = XtfConvert.ToDouble(ByteArray, 1552); //设备类型 + curveInfo[CurveNo].DoubleDepthLevel = XtfConvert.ToDouble(ByteArray, 1560); //设备类型 - curveInfo[CurveNo].CreateDate = XtfConvert.ToInt32(ByteArray, 2048); //豸 - curveInfo[CurveNo].CreateTime = XtfConvert.ToInt32(ByteArray, 2052); //豸 + curveInfo[CurveNo].CreateDate = XtfConvert.ToInt32(ByteArray, 2048); //设备类型 + curveInfo[CurveNo].CreateTime = XtfConvert.ToInt32(ByteArray, 2052); //设备类型 - curveInfo[CurveNo].AccessDate = XtfConvert.ToInt32(ByteArray, 2056); //豸 - curveInfo[CurveNo].AccessTime = XtfConvert.ToInt32(ByteArray, 2060); //豸 + curveInfo[CurveNo].AccessDate = XtfConvert.ToInt32(ByteArray, 2056); //设备类型 + curveInfo[CurveNo].AccessTime = XtfConvert.ToInt32(ByteArray, 2060); //设备类型 - curveInfo[CurveNo].AccessTime = XtfConvert.ToInt32(ByteArray, 2060); //豸 + curveInfo[CurveNo].AccessTime = XtfConvert.ToInt32(ByteArray, 2060); //设备类型 - curveInfo[CurveNo].CurveHeadRecordNum = XtfConvert.ToInt32(ByteArray, 2064); //豸 - curveInfo[CurveNo].EndPosition = XtfConvert.ToInt32(ByteArray, 2068); //豸 - curveInfo[CurveNo].SamplesNum = XtfConvert.ToInt32(ByteArray, 2076); //豸 + curveInfo[CurveNo].CurveHeadRecordNum = XtfConvert.ToInt32(ByteArray, 2064); //设备类型 + curveInfo[CurveNo].EndPosition = XtfConvert.ToInt32(ByteArray, 2068); //设备类型 + curveInfo[CurveNo].SamplesNum = XtfConvert.ToInt32(ByteArray, 2076); //设备类型 - curveInfo[CurveNo].CurveIndex = XtfConvert.ToInt16(ByteArray, 2564); //豸 + curveInfo[CurveNo].CurveIndex = XtfConvert.ToInt16(ByteArray, 2564); //设备类型 - curveInfo[CurveNo].CurveType = XtfConvert.ToInt16(ByteArray, 2566); //豸 - curveInfo[CurveNo].CurveDataType = XtfConvert.ToInt16(ByteArray, 2568); //豸 - curveInfo[CurveNo].CurveVert = XtfConvert.ToInt16(ByteArray, 2570); //豸 - curveInfo[CurveNo].CurveHorz = XtfConvert.ToInt16(ByteArray, 2572); //豸 + curveInfo[CurveNo].CurveType = XtfConvert.ToInt16(ByteArray, 2566); //设备类型 + curveInfo[CurveNo].CurveDataType = XtfConvert.ToInt16(ByteArray, 2568); //设备类型 + curveInfo[CurveNo].CurveVert = XtfConvert.ToInt16(ByteArray, 2570); //设备类型 + curveInfo[CurveNo].CurveHorz = XtfConvert.ToInt16(ByteArray, 2572); //设备类型 - curveInfo[CurveNo].CurveDimNum = XtfConvert.ToInt16(ByteArray, 2574); //豸 - curveInfo[CurveNo].CurveE1Num = XtfConvert.ToInt16(ByteArray, 2576); //豸 - curveInfo[CurveNo].CurveE2Num = XtfConvert.ToInt16(ByteArray, 2578); //豸 - curveInfo[CurveNo].CurveE3Num = XtfConvert.ToInt16(ByteArray, 2580); //豸 + curveInfo[CurveNo].CurveDimNum = XtfConvert.ToInt16(ByteArray, 2574); //设备类型 + curveInfo[CurveNo].CurveE1Num = XtfConvert.ToInt16(ByteArray, 2576); //设备类型 + curveInfo[CurveNo].CurveE2Num = XtfConvert.ToInt16(ByteArray, 2578); //设备类型 + curveInfo[CurveNo].CurveE3Num = XtfConvert.ToInt16(ByteArray, 2580); //设备类型 - curveInfo[CurveNo].DataTypeFlag = XtfConvert.ToInt16(ByteArray, 2592); //豸 - curveInfo[CurveNo].HaveNegFlag = XtfConvert.ToInt16(ByteArray, 2594); //豸 - curveInfo[CurveNo].DataBitsNum = XtfConvert.ToInt16(ByteArray, 2596); //豸 - curveInfo[CurveNo].FixedWaveStartFlag = XtfConvert.ToInt16(ByteArray, 2606); //豸 + curveInfo[CurveNo].DataTypeFlag = XtfConvert.ToInt16(ByteArray, 2592); //设备类型 + curveInfo[CurveNo].HaveNegFlag = XtfConvert.ToInt16(ByteArray, 2594); //设备类型 + curveInfo[CurveNo].DataBitsNum = XtfConvert.ToInt16(ByteArray, 2596); //设备类型 + curveInfo[CurveNo].FixedWaveStartFlag = XtfConvert.ToInt16(ByteArray, 2606); //设备类型 - curveInfo[CurveNo].FixedWaveGain = XtfConvert.ToInt16(ByteArray, 2608); //豸 + curveInfo[CurveNo].FixedWaveGain = XtfConvert.ToInt16(ByteArray, 2608); //设备类型 - curveInfo[CurveNo].WaveGainExp = XtfConvert.ToInt16(ByteArray, 2610); //豸 + curveInfo[CurveNo].WaveGainExp = XtfConvert.ToInt16(ByteArray, 2610); //设备类型 - curveInfo[CurveNo].GainMethod = XtfConvert.ToInt16(ByteArray, 2612); //豸 + curveInfo[CurveNo].GainMethod = XtfConvert.ToInt16(ByteArray, 2612); //设备类型 - curveInfo[CurveNo].GainApplyFlag = XtfConvert.ToInt16(ByteArray, 2614); //豸 + curveInfo[CurveNo].GainApplyFlag = XtfConvert.ToInt16(ByteArray, 2614); //设备类型 - curveInfo[CurveNo].WaveLength = XtfConvert.ToInt16(ByteArray, 2616); //豸 + curveInfo[CurveNo].WaveLength = XtfConvert.ToInt16(ByteArray, 2616); //设备类型 - curveInfo[CurveNo].ToolNo = XtfConvert.ToInt16(ByteArray, 2618); //豸 + curveInfo[CurveNo].ToolNo = XtfConvert.ToInt16(ByteArray, 2618); //设备类型 - curveInfo[CurveNo].CurveSerialNo = XtfConvert.ToInt16(ByteArray, 2620); //豸 + curveInfo[CurveNo].CurveSerialNo = XtfConvert.ToInt16(ByteArray, 2620); //设备类型 for (int i = 0; i < 24; i++) { - curveInfo[CurveNo].TranFillArea[i] = XtfConvert.ToByte(ByteArray, 3072+i); //豸 + curveInfo[CurveNo].TranFillArea[i] = XtfConvert.ToByte(ByteArray, 3072+i); //设备类型 - curveInfo[CurveNo].RecvFillArea[i] = XtfConvert.ToByte(ByteArray, 3096+i); //豸 + curveInfo[CurveNo].RecvFillArea[i] = XtfConvert.ToByte(ByteArray, 3096+i); //设备类型 } - curveInfo[CurveNo].SystemCode = XtfConvert.ToByte(ByteArray, 4095); //豸 + curveInfo[CurveNo].SystemCode = XtfConvert.ToByte(ByteArray, 4095); //设备类型 /* if (curveInfo[CurveNo].CurveName.Contains("TX")) { @@ -1184,18 +1184,18 @@ public : short temp_short = 0; double temp_double = 0; for (int i = 0; i < 1024; i++) ByteArray[i] = 0x20; - XtfConvert.ToBytes(CurveName[CurveNo], ByteArray, 0,8); // + XtfConvert.ToBytes(CurveName[CurveNo], ByteArray, 0,8); //曲线名称 curveInfo[CurveNo].CurveName = CurveName[CurveNo]; curveInfo[CurveNo].CurveUnit = CurveUnit[CurveNo]; - //λ任 + //单位变换 /* if (CurveUnit[CurveNo] == "") CurveUnit[CurveNo] = "raw"; - if (CurveUnit[CurveNo].Contains("")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("", "ohm"); - if (CurveUnit[CurveNo].Contains("")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("", "degC"); + if (CurveUnit[CurveNo].Contains("Ω")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("Ω", "ohm"); + if (CurveUnit[CurveNo].Contains("℃")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("℃", "degC"); if (CurveUnit[CurveNo].Contains("^")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("^", ""); - if (CurveUnit[CurveNo].Contains("")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("", "deg"); - if (CurveUnit[CurveNo].Contains("")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("", "deg"); + if (CurveUnit[CurveNo].Contains("度")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("度", "deg"); + if (CurveUnit[CurveNo].Contains("°")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("°", "deg"); if (CurveUnit[CurveNo].Contains("%")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("%", "pu"); if (CurveUnit[CurveNo].Contains("mS/m")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("mS/m", "mmho/m"); if (CurveUnit[CurveNo].Contains("g/cm^3")) CurveUnit[CurveNo] = CurveUnit[CurveNo].Replace("g/cm^3", "g/cm3"); @@ -1223,8 +1223,8 @@ public : for (int i = 0; i < 8; i++) { - curveInfo[CurveNo].TranFillArea[i] = (byte)0x01;// - curveInfo[CurveNo].RecvFillArea[i] = (byte)(0x01 + i);// + curveInfo[CurveNo].TranFillArea[i] = (byte)0x01;//发射器填充区 + curveInfo[CurveNo].RecvFillArea[i] = (byte)(0x01 + i);//接收器填充区 } } @@ -1242,8 +1242,8 @@ public : for (int i = 0; i < 4; i++) { - curveInfo[CurveNo].TranFillArea[i] = (byte)0x02;// - curveInfo[CurveNo].RecvFillArea[i] = (byte)(0x01 + i);// + curveInfo[CurveNo].TranFillArea[i] = (byte)0x02;//发射器填充区 + curveInfo[CurveNo].RecvFillArea[i] = (byte)(0x01 + i);//接收器填充区 } } @@ -1261,8 +1261,8 @@ public : for (int i = 0; i < 8; i++) { - curveInfo[CurveNo].TranFillArea[i] = (byte)0x03;// - curveInfo[CurveNo].RecvFillArea[i] = (byte)(0x01 + i);// + curveInfo[CurveNo].TranFillArea[i] = (byte)0x03;//发射器填充区 + curveInfo[CurveNo].RecvFillArea[i] = (byte)(0x01 + i);//接收器填充区 } } @@ -1280,8 +1280,8 @@ public : for (int i = 0; i < 8; i++) { - curveInfo[CurveNo].TranFillArea[i] = (byte)0x04;// - curveInfo[CurveNo].RecvFillArea[i] = (byte)(0x01 + i);// + curveInfo[CurveNo].TranFillArea[i] = (byte)0x04;//发射器填充区 + curveInfo[CurveNo].RecvFillArea[i] = (byte)(0x01 + i);//接收器填充区 } } } @@ -1292,38 +1292,38 @@ public : temp_str = "j727e03.aff";// CurveName[CurveNo]; - XtfConvert.ToBytes(temp_str, ByteArray, 16, 24); //߱ע + XtfConvert.ToBytes(temp_str, ByteArray, 16, 24); //曲线备注 temp_str = "ATLAS"; - XtfConvert.ToBytes(temp_str, ByteArray, 40, 8); //豸 + XtfConvert.ToBytes(temp_str, ByteArray, 40, 8); //设备类型 temp_str = " "; - XtfConvert.ToBytes(temp_str, ByteArray, 48,8); // + XtfConvert.ToBytes(temp_str, ByteArray, 48,8); //仪器类型 temp_str = "AFF"; - XtfConvert.ToBytes(temp_str, ByteArray, 56,8); // + XtfConvert.ToBytes(temp_str, ByteArray, 56,8); //曲线类型 temp_str = SystemDepthUnit; XtfConvert.ToBytes(temp_str, ByteArray, 64, 8); temp_str = "up"; - XtfConvert.ToBytes(temp_str, ByteArray, 120, 8); //⾮ + XtfConvert.ToBytes(temp_str, ByteArray, 120, 8); //测井方向 XtfConvert.ToBytes(CurveName[CurveNo], ByteArray, 128, 4); //AIF temp_str = "j727e"; XtfConvert.ToBytes(temp_str, ByteArray, 152, 8); //OCT temp_str = "1515MA"; - XtfConvert.ToBytes(temp_str, ByteArray, 160, 48); // + XtfConvert.ToBytes(temp_str, ByteArray, 160, 48); //仪器名字 XtfConvert.ToBytes(CurveName[CurveNo], ByteArray, 224, 4); //LIS temp_str = " aff2xtf Rev 1.0"; XtfConvert.ToBytes(temp_str, ByteArray, 228, 796); //no use - XtfConvert.ToBytes(CurveStartDepth[CurveNo], ByteArray, 1024); //ʼfloat - XtfConvert.ToBytes(CurveEndDepth[CurveNo], ByteArray, 1028); //float - XtfConvert.ToBytes(CurveDepthLevel[CurveNo], ByteArray, 1032); //ȼfloat + XtfConvert.ToBytes(CurveStartDepth[CurveNo], ByteArray, 1024); //开始深度float + XtfConvert.ToBytes(CurveEndDepth[CurveNo], ByteArray, 1028); //结束深度float + XtfConvert.ToBytes(CurveDepthLevel[CurveNo], ByteArray, 1032); //深度间隔float temp_float = -999999.;//0; XtfConvert.ToBytes(temp_float, ByteArray, 1036); //min @@ -1342,60 +1342,60 @@ public : temp_double = CurveDepthLevel[CurveNo]; XtfConvert.ToBytes(temp_double, ByteArray, 1560); //depth level,double - XtfConvert.ToBytes(CreateDate, ByteArray, 2048); //ʱ - XtfConvert.ToBytes(CreateTime, ByteArray, 2052); //ʱ - XtfConvert.ToBytes(CreateDate, ByteArray, 2056); //ʱ - XtfConvert.ToBytes(CreateTime, ByteArray, 2060); //ʱ + XtfConvert.ToBytes(CreateDate, ByteArray, 2048); //创建时间 + XtfConvert.ToBytes(CreateTime, ByteArray, 2052); //创建时间 + XtfConvert.ToBytes(CreateDate, ByteArray, 2056); //访问时间 + XtfConvert.ToBytes(CreateTime, ByteArray, 2060); //访问时间 temp_int = 1; - XtfConvert.ToBytes(temp_int, ByteArray, 2064); //ͷ¼ + XtfConvert.ToBytes(temp_int, ByteArray, 2064); //头记录数 temp_int = CurveEndPos[CurveNo]; - XtfConvert.ToBytes(temp_int, ByteArray, 2068); //߽¼λ + XtfConvert.ToBytes(temp_int, ByteArray, 2068); //曲线结束记录位置 // temp_int = 0; // XtfConvert.ToBytes(temp_int, ByteArray, 2072); // temp_float = -9999.0f; - XtfConvert.ToBytes(temp_float, ByteArray, 2072); //ʼֵ + XtfConvert.ToBytes(temp_float, ByteArray, 2072); //浮点数初始值 temp_int = CurveSampleNum[CurveNo]; - XtfConvert.ToBytes(temp_int, ByteArray, 2076); //߲ܵ + XtfConvert.ToBytes(temp_int, ByteArray, 2076); //曲线采样总点数 // temp_str = " "; // XtfConvert.ToBytes(temp_str, ByteArray, 2088, 472); //no use temp_short = (short)(CurveNo+1); - XtfConvert.ToBytes(temp_short, ByteArray, 2564); // + XtfConvert.ToBytes(temp_short, ByteArray, 2564); //曲线索引号 temp_short = (short)CurveType[CurveNo]; - XtfConvert.ToBytes(temp_short, ByteArray, 2566); // + XtfConvert.ToBytes(temp_short, ByteArray, 2566); //曲线类型 temp_short = (short)CurveDataType[CurveNo]; - XtfConvert.ToBytes(temp_short, ByteArray, 2568); // + XtfConvert.ToBytes(temp_short, ByteArray, 2568); //数据类型 temp_short = (short)CurveVert[CurveNo]; - XtfConvert.ToBytes(temp_short, ByteArray, 2570); //ֱ + XtfConvert.ToBytes(temp_short, ByteArray, 2570); //垂直特性 temp_short = (short)CurveHorz[CurveNo]; - XtfConvert.ToBytes(temp_short, ByteArray, 2572); //ֱ + XtfConvert.ToBytes(temp_short, ByteArray, 2572); //垂直特性 temp_short = (short)CurveDimNum[CurveNo]; - XtfConvert.ToBytes(temp_short, ByteArray, 2574); //ά + XtfConvert.ToBytes(temp_short, ByteArray, 2574); //维数 temp_short = (short)CurveE1Num[CurveNo]; - XtfConvert.ToBytes(temp_short, ByteArray, 2576); //1ά + XtfConvert.ToBytes(temp_short, ByteArray, 2576); //第1维个数 temp_short = (short)CurveE2Num[CurveNo]; - XtfConvert.ToBytes(temp_short, ByteArray, 2578); //2ά + XtfConvert.ToBytes(temp_short, ByteArray, 2578); //第2维个数 temp_short = (short)CurveE3Num[CurveNo]; - XtfConvert.ToBytes(temp_short, ByteArray, 2580); //3ά + XtfConvert.ToBytes(temp_short, ByteArray, 2580); //第3维个数 temp_short = -32767; - XtfConvert.ToBytes(temp_short, ByteArray, 2590); //INT*2ʼֵ + XtfConvert.ToBytes(temp_short, ByteArray, 2590); //INT*2初始值 if (CurveDataType[CurveNo] == 2 || CurveDataType[CurveNo] == 9) { @@ -1405,43 +1405,43 @@ public : { temp_short = 2; } - XtfConvert.ToBytes(temp_short, ByteArray, 2592); // + XtfConvert.ToBytes(temp_short, ByteArray, 2592); //数据类型旗标 temp_short = 1; - XtfConvert.ToBytes(temp_short, ByteArray, 2594); //޸ű־1 + XtfConvert.ToBytes(temp_short, ByteArray, 2594); //有无负号标志,1有 if (CurveDataType[CurveNo] == 2 || CurveDataType[CurveNo] == 9) temp_short = 16; else temp_short = 32; - XtfConvert.ToBytes(temp_short, ByteArray, 2596); //ÿԪλ + XtfConvert.ToBytes(temp_short, ByteArray, 2596); //每个数据元素位数 if (CurveFlag[CurveNo] > 0) { - XtfConvert.ToBytes(curveInfo[CurveNo].TR_Distance, ByteArray, 1080); //T-R - XtfConvert.ToBytes(curveInfo[CurveNo].RR_Distance, ByteArray, 1084); //R-R - XtfConvert.ToBytes(curveInfo[CurveNo].OrinToSurface, ByteArray, 1088); //R-R + XtfConvert.ToBytes(curveInfo[CurveNo].TR_Distance, ByteArray, 1080); //T-R距离 + XtfConvert.ToBytes(curveInfo[CurveNo].RR_Distance, ByteArray, 1084); //R-R距离 + XtfConvert.ToBytes(curveInfo[CurveNo].OrinToSurface, ByteArray, 1088); //R-R距离 for (int i = 0; i < 24; i++) { - XtfConvert.ToBytes(curveInfo[CurveNo].TranFillArea[i], ByteArray, 3072 + i); // - XtfConvert.ToBytes(curveInfo[CurveNo].RecvFillArea[i], ByteArray, 3096+i); // + XtfConvert.ToBytes(curveInfo[CurveNo].TranFillArea[i], ByteArray, 3072 + i); //发射填充区 + XtfConvert.ToBytes(curveInfo[CurveNo].RecvFillArea[i], ByteArray, 3096+i); //接收器填充区 } - XtfConvert.ToBytes(curveInfo[CurveNo].StartTimeUnit, ByteArray, 80,8); //ʱ - XtfConvert.ToBytes(curveInfo[CurveNo].WaveTimeUnit, ByteArray, 72,8); //ʱ + XtfConvert.ToBytes(curveInfo[CurveNo].StartTimeUnit, ByteArray, 80,8); //开门时间 + XtfConvert.ToBytes(curveInfo[CurveNo].WaveTimeUnit, ByteArray, 72,8); //波形时间 - XtfConvert.ToBytes(curveInfo[CurveNo].FixedWaveStartFlag, ByteArray, 2606); //0̶ʱ - XtfConvert.ToBytes(curveInfo[CurveNo].FixedWaveGain, ByteArray, 2608); //0̶ + XtfConvert.ToBytes(curveInfo[CurveNo].FixedWaveStartFlag, ByteArray, 2606); //0:阵列声波固定开门时间 + XtfConvert.ToBytes(curveInfo[CurveNo].FixedWaveGain, ByteArray, 2608); //0:阵列声波固定增益 //whp del 2016.6.2 - //XtfConvert.ToBytes(curveInfo[CurveNo].TimeValuesLevel, ByteArray, 1048); //ʱʱ + //XtfConvert.ToBytes(curveInfo[CurveNo].TimeValuesLevel, ByteArray, 1048); //时间增量,时间采样间隔 } - //whp add 2016.6.2 for תݿʼʱʱ - XtfConvert.ToBytes(curveInfo[CurveNo].TimeValuesLevel, ByteArray, 1048); //ʱʱ - XtfConvert.ToBytes(curveInfo[CurveNo].DACTimeOffset, ByteArray, 1052); //DACʼʱ + //whp add 2016.6.2 for 转换阵列数据开始时间和时间间隔 + XtfConvert.ToBytes(curveInfo[CurveNo].TimeValuesLevel, ByteArray, 1048); //时间增量,时间采样间隔 + XtfConvert.ToBytes(curveInfo[CurveNo].DACTimeOffset, ByteArray, 1052); //DAC起始时间 //whp add end - ByteArray[2618] = 0x01; // + ByteArray[2618] = 0x01; //仪器号 ByteArray[0xA00] = 0x00; ByteArray[0xA01] = Version1; @@ -1462,7 +1462,7 @@ public : ByteArray[0xD56] = 0x44; } - ByteArray[4095] = SystemCode;//ϵͳ + ByteArray[4095] = SystemCode;//系统码 // XtfConvert.ToBytes(SystemCode, ByteArray, 4095); return CurveNo; }; diff --git a/DataOutput/include/Slf2FileDlg.h b/DataOutput/include/Slf2FileDlg.h index b18b816..a358bb6 100644 --- a/DataOutput/include/Slf2FileDlg.h +++ b/DataOutput/include/Slf2FileDlg.h @@ -1,9 +1,9 @@ -#pragma once +#pragma once #pragma warning(push,0) #include #include #include "ConsoleOutputWidget.h" -#include "ui_Slf2File.h" +#include "ui_SLf2File.h" #include "NameMapDlg.h" #include "DataOutputDefs.h" #include "OSGFramework.h" @@ -25,7 +25,7 @@ public: ~CSlf2FileDlg(); Ui_Slf2File *m_pUI; virtual void execOutputWellLog(const QStringList& namelist); - virtual void CSlf2FileDlg::outWellLogRound(const QStringList& nameList1,const QStringList& curveList); + virtual void outWellLogRound(const QStringList& nameList1,const QStringList& curveList); private slots: /** *@brief 保存槽函数 diff --git a/DataOutput/include/TranSlf2Data.h b/DataOutput/include/TranSlf2Data.h index 6977293..c513941 100644 --- a/DataOutput/include/TranSlf2Data.h +++ b/DataOutput/include/TranSlf2Data.h @@ -1,8 +1,10 @@ -#pragma once +#pragma once //#include "WisTableTran.h" //#include "MemRdWt.h" #include "DepthProgress.h" -#include +#ifdef WIN32 + #include +#endif // WIN32 #include "MemRdWt.h" //#include "MyXtfLib.h" //#include "MyLisLib.h" diff --git a/DataOutput/src/DataOutput.pro b/DataOutput/src/DataOutput.pro index 4bc204e..7f6684d 100644 --- a/DataOutput/src/DataOutput.pro +++ b/DataOutput/src/DataOutput.pro @@ -4,7 +4,7 @@ # #------------------------------------------------- -QT += core gui widgets +QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets diff --git a/DataOutput/src/Slf2FileDlg.cpp b/DataOutput/src/Slf2FileDlg.cpp index 4618eb8..dfb84d9 100644 --- a/DataOutput/src/Slf2FileDlg.cpp +++ b/DataOutput/src/Slf2FileDlg.cpp @@ -3,12 +3,12 @@ #include #include "TranSlf2Data.h" #include "Slf2FileDlg.h" -#include "ui_Slf2File.h" +#include "ui_SLf2File.h" #include "CStringType.h" #include "LogIO.h" #include "qfileinfo.h" -#include "qfileDialog.h" -#include "GeometryUtils.h" +#include "qfiledialog.h" +#include "geometryutils.h" #include "SetOutDepParDlg.h" #include #include "CheckHeadView.h" @@ -98,7 +98,7 @@ BEGIN_OSGGRAPHICS_NAMESPACE m_pUI->tableWidget->setWindowTitle("Well Information"); m_pUI->tableWidget->setColumnWidth(0,120);m_pUI->tableWidget->setColumnWidth(1,400); for(int i=2;i<10;i++)m_pUI->tableWidget->setColumnWidth(i,72); - //m_pUI->tableWidget->resize(1200,300);//设置表格   + //m_pUI->tableWidget->resize(1200,300);//设置表格 //m_pUI->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch); QStringList header; header<<"Slf\n文件名"<<"输出路径\n及文件名"<<"输出\n起始深度"<<"输出\n终止深度"<<"输出\n采样间距"<<"最小\n起始深度"<<"最大\n起始深度"<<"最小\n结束深度"<<"最大\n结束深度"<<"最小\n采样间隔"<<"最大\n采样间隔"; diff --git a/DataOutput/src/TrainGenModuleDlg.cpp b/DataOutput/src/TrainGenModuleDlg.cpp index 081409d..2f685a6 100644 --- a/DataOutput/src/TrainGenModuleDlg.cpp +++ b/DataOutput/src/TrainGenModuleDlg.cpp @@ -6,9 +6,9 @@ #include "CStringType.h" #include "LogIO.h" #include "qfileinfo.h" -#include "qfileDialog.h" +#include "qfiledialog.h" #include -#include "GeometryUtils.h" +#include "geometryutils.h" #include "SetOutDepParDlg.h" #include #include "CheckHeadView.h" diff --git a/DataOutput/src/TranSlf2Data.cpp b/DataOutput/src/TranSlf2Data.cpp index 031e472..da700eb 100644 --- a/DataOutput/src/TranSlf2Data.cpp +++ b/DataOutput/src/TranSlf2Data.cpp @@ -2,11 +2,13 @@ #include "WisTableTran.h" //#include "MemRdWt.h" #include "DepthProgress.h" -#include +#ifdef WIN32 + #include +#endif // WIN32 #include "MyXtfLib.h" #include "MyLisLib.h" #include "MyLpsLib.h" -#include "translf2data.h" +#include "TranSlf2Data.h" #include extern short ReverseShort(short num); diff --git a/OSGDataModel/include/ObjWelllog.h b/OSGDataModel/include/ObjWelllog.h index 4dfa9f8..c6f2074 100644 --- a/OSGDataModel/include/ObjWelllog.h +++ b/OSGDataModel/include/ObjWelllog.h @@ -13,7 +13,7 @@ #include #include "BaseObject.h" // #include "WelllogCurve.h" -#include "GeometryUtils.h" +#include "geometryutils.h" #include "BaseFun.h" // #include "ObjBaseObject.h" #pragma warning( pop ) diff --git a/OSGDataModel/src/ObjWellLog.cpp b/OSGDataModel/src/ObjWellLog.cpp index 8370724..36a884a 100644 --- a/OSGDataModel/src/ObjWellLog.cpp +++ b/OSGDataModel/src/ObjWellLog.cpp @@ -196,7 +196,12 @@ CObjWellTrack *CObjWellLog::GetWellTrack() buf[0]=0; float temp=logio->GetData(acurveinfo.RepCode,&vVdl.vchar[kk*acurveinfo.CodeLen],buf); if(temp==-9999.0||temp==-999.25||temp==-99999.0) continue; - if(_isnan(temp)||!_finite(temp)) continue; +#ifdef WIN32 + if(_isnan(temp)||!_finite(temp)) continue; +#else + if(__isnan(temp)||!__finite(temp)) continue; +#endif // WIN32 + if(acurveinfo.MaxValuetemp) acurveinfo.MinValue=temp; } diff --git a/Slfio/include/CStringType.h b/Slfio/include/CStringType.h index 462f6f4..d631b0d 100644 --- a/Slfio/include/CStringType.h +++ b/Slfio/include/CStringType.h @@ -49,6 +49,8 @@ typedef void *HANDLE; typedef unsigned int DWORD; typedef DWORD *LPDWORD; typedef void *HANDLE; +typedef unsigned char byte; +typedef bool BOOL; #endif typedef unsigned char BYTE; typedef char* LPSTR; diff --git a/Slfio/include/slf.h b/Slfio/include/slf.h index fcd282f..5f625b3 100644 --- a/Slfio/include/slf.h +++ b/Slfio/include/slf.h @@ -58,14 +58,15 @@ #define GUJING_OBJECT CARD_OBJECT+0x0010 #ifndef TRUE -#define TRUE 1 -#define FALSE 0 +#define TRUE 1 +#define FALSE 0 #endif #ifndef WIN32 typedef unsigned int __time32_t; #define stricmp strcasecmp char *strupr(char *str); +#define _MAX_PATH 256 #endif CString SLFIO_EXPORT MemName(CString wellname,CString Curve); diff --git a/Slfio/src/slf.cpp b/Slfio/src/slf.cpp index 3ef7ade..4414a2b 100644 --- a/Slfio/src/slf.cpp +++ b/Slfio/src/slf.cpp @@ -2,7 +2,9 @@ #include #include #include -#include +#ifdef WIN32 + #include +#endif // WIN32 #include "slf.h" #include #include diff --git a/WellLogUI/include/assetcopy.h b/WellLogUI/include/assetcopy.h index c608bb1..fc119e9 100644 --- a/WellLogUI/include/assetcopy.h +++ b/WellLogUI/include/assetcopy.h @@ -6,7 +6,7 @@ #include #include // #include "ObjWellLogWavefile.h" -#include "ObjWellLog.h" +#include "ObjWelllog.h" #include "adapter_defs.h" class AssetCopy : public QObject diff --git a/WellLogUI/include/griddataadapter.h b/WellLogUI/include/griddataadapter.h index b1e4eae..21c3ac9 100644 --- a/WellLogUI/include/griddataadapter.h +++ b/WellLogUI/include/griddataadapter.h @@ -21,7 +21,7 @@ #include #include "BaseFun.h" // #include "ObjCoreImage.h" -#include "GeometryUtils.h" +#include "geometryutils.h" // #include "ObjWellLogWavefile.h" #include "ObjWelllog.h" #include "LogIO.h" diff --git a/WellLogUI/src/assetcopy.cpp b/WellLogUI/src/assetcopy.cpp index 563ace9..72544c8 100644 --- a/WellLogUI/src/assetcopy.cpp +++ b/WellLogUI/src/assetcopy.cpp @@ -4,7 +4,7 @@ #include #include #include -#include "ObjWellLogTABLE.h" +#include "ObjWelllogTABLE.h" // #include "ObjDiscreteWellLog.h" // #include "BaseDialog.h" #include "DepthProgress.h" diff --git a/logPlus/DraggablePixmap.h b/logPlus/DraggablePixmap.h index c7be8ad..badfc07 100644 --- a/logPlus/DraggablePixmap.h +++ b/logPlus/DraggablePixmap.h @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/logPlus/formdraw.cpp b/logPlus/formdraw.cpp index 76579c1..139d7c2 100644 --- a/logPlus/formdraw.cpp +++ b/logPlus/formdraw.cpp @@ -1319,6 +1319,11 @@ void FormDraw::initTableLine(QMyCustomPlot *widget, QString strSlfName, QString m_LeftVal = 0; m_RightVal = 360; + //隐藏刻度 + widget->xAxis->setTicks(false); + widget->yAxis->setTicks(false); + widget->xAxis2->setTicks(false); + widget->yAxis2->setTicks(false); // if (m_bTableData) { diff --git a/logPlus/qmycustomplot.cpp b/logPlus/qmycustomplot.cpp index 05507f2..d9b07fa 100644 --- a/logPlus/qmycustomplot.cpp +++ b/logPlus/qmycustomplot.cpp @@ -110,19 +110,19 @@ void QMyCustomPlot::init(QString strName, QVector xx, QVector yy void QMyCustomPlot::mousePressEvent(QMouseEvent *event) { - if (event->button() == Qt::LeftButton) { +// if (event->button() == Qt::LeftButton) { - if (auto *item = itemAt(event->pos(), true)) { - emit mousePress(event); // 由于我们直接返回了,所以要负责将鼠标点击信号发送出去 +// if (auto *item = itemAt(event->pos(), true)) { +// emit mousePress(event); // 由于我们直接返回了,所以要负责将鼠标点击信号发送出去 - // deselectAll(); - mMousePress = true; - mLastPos = event->pos(); - item->setSelected(true); - replot(); - return; // 如果点击的是一个item直接返回,不然QCustomPlot会把事件传递给其它的层对象(例如:轴矩形) - } - } +// // deselectAll(); +// mMousePress = true; +// mLastPos = event->pos(); +// item->setSelected(true); +// replot(); +// return; // 如果点击的是一个item直接返回,不然QCustomPlot会把事件传递给其它的层对象(例如:轴矩形) +// } +// } QCustomPlot::mousePressEvent(event); } @@ -132,24 +132,24 @@ void QMyCustomPlot::mouseMoveEvent(QMouseEvent *event) { QCustomPlot::mouseMoveEvent(event); - if (mMousePress) { - auto items = selectedItems(); +// if (mMousePress) { +// auto items = selectedItems(); - foreach (auto *item, items) { - if (auto *sizeHandle = qobject_cast(item)) - { - mSizeHandleManager->handleItemResize(sizeHandle, event->pos() - mLastPos); // 控制item缩放 - } - else - { - mSizeHandleManager->handleItemMove(item, event->pos() - mLastPos); // 控制item移动 - } +// foreach (auto *item, items) { +// if (auto *sizeHandle = qobject_cast(item)) +// { +// mSizeHandleManager->handleItemResize(sizeHandle, event->pos() - mLastPos); // 控制item缩放 +// } +// else +// { +// mSizeHandleManager->handleItemMove(item, event->pos() - mLastPos); // 控制item移动 +// } - } - mLastPos = event->pos(); - replot(); - } - else +// } +// mLastPos = event->pos(); +// replot(); +// } +// else { // 当前鼠标位置(像素坐标) //int x_pos = event->pos().x(); @@ -164,15 +164,15 @@ void QMyCustomPlot::mouseMoveEvent(QMouseEvent *event) void QMyCustomPlot::mouseReleaseEvent(QMouseEvent *event) { - if (mMousePress) { - mMousePress = false; - if (auto *item = itemAt(event->pos(), true)) { - emit mouseReleaseEvent(event); // 由于我们直接返回了,所以要负责将鼠标点击信号发送出去 - item->setSelected(false); - replot(); - return; - } - } +// if (mMousePress) { +// mMousePress = false; +// if (auto *item = itemAt(event->pos(), true)) { +// emit mouseReleaseEvent(event); // 由于我们直接返回了,所以要负责将鼠标点击信号发送出去 +// item->setSelected(false); +// replot(); +// return; +// } +// } QCustomPlot::mouseReleaseEvent(event); } diff --git a/logPlus/qtprojectwidgets.cpp b/logPlus/qtprojectwidgets.cpp index 7b3e499..33e2e34 100644 --- a/logPlus/qtprojectwidgets.cpp +++ b/logPlus/qtprojectwidgets.cpp @@ -7,7 +7,7 @@ #include #include // 需要包含这个头文件来使用 std::bind #include -#include "MainWindow.h" +#include "mainwindow.h" #include "InDefTableDlg.h" #include "qtcommonclass.h" #include "CallManage.h" @@ -511,7 +511,12 @@ void QtProjectWidgets::loadWellTree(QTreeWidgetItem *parent, QString fileFull, Q float buf[200]; buf[0]=0; float temp=logio->GetData(acurveinfo.RepCode,&vVdl.vchar[kk*acurveinfo.CodeLen],buf); - if(_isnan(temp)||!_finite(temp)) continue; + +#ifdef WIN32 + if(_isnan(temp)||!_finite(temp)) continue; +#else + if(__isnan(temp)||!__finite(temp)) continue; +#endif // WIN32 if(acurveinfo.MaxValuetemp) if(temp!=-9999.0&&temp!=-999.25&&temp!=-99999.0)acurveinfo.MinValue=temp; diff --git a/编译说明.txt b/编译说明.txt new file mode 100644 index 0000000..963a269 --- /dev/null +++ b/编译说明.txt @@ -0,0 +1,18 @@ +1.Slfio +共享内存 +https://www.cnblogs.com/ys0103/p/4562493.html + +2.BaseFun +3.HPluginManage +4.CallPlugin +5.qtpropertybrowser +6.OSGDataModel +7.DataMgr +8.WellLogUI +9.ConvertorManager +10.DataOutput--内存分配问题,windows兼容 +11.tran\SLFAscIIConvertor +12.logPlus + + +