#include #include #include #include #include "slf.h" #include "geometryutils.h" //CGJtutouInfGenerator::CGJtutouInfGenerator(){} //CGJtutouInfGenerator::~CGJtutouInfGenerator(){} QString CGJtutouInfGenerator::wellName_Gen(QString wellName, QString name, bool needSum) { QString result; QStringList wellNameNum_List; int wellNameNumSum = 0; bool hasName = true; if(wellName == ""){ wellName = "00000000"; hasName = false; } QStringList wellName_List = wellName.split(""); int cutNum = 1; if(wellName_List[wellName_List.size() - 2] == "井") cutNum = 2; for(int i = 1; i < wellName_List.size() - cutNum; i++){ result += "'" + wellName_List[i]; if(i + 1 != wellName_List.size()) result += "',"; QString nameNum = (wellName_List[i].contains(QRegExp("[\\x4e00-\\x9fa5]+"))) ? QString("2") : QString("1"); if(!hasName) nameNum = "0"; wellNameNum_List.append(nameNum); wellNameNumSum += nameNum.toInt(); } //弥补14位 for(int i = 0; i < 14 - (wellName_List.size() - cutNum); i++) { result += "'0',"; } result += "'"; if(needSum) { //result += QString("%1").arg(wellNameNumSum); result += QString("9"); } else result += "0"; result += blanksWord(name); result += " "; for(int i = 0; i < wellNameNum_List.size(); i++){ result += " "; result += wellNameNum_List[i]; result += ", "; } //弥补14位 for(int i = 0; i < 14 - (wellName_List.size() - cutNum); i++) { result += " 0,"; } result += " 0\n"; return result; } QString CGJtutouInfGenerator::wellDate_2row_Gen(QString date, QString dateName, bool needTime) { bool rightDate = true; QString yearW = "年"; QString monthW = "月"; QString dayW = "日"; QString timeW = "时"; QStringList last; QStringList secRow; QString year, month, day, time, temp = ""; QString result = ""; last = date.split(yearW); if(splitTo2Finished(last)) { year = last[0]; secRow.append(QString("%1").arg(strWordNum(year))); temp = last[1]; } else rightDate = false; last = temp.split(monthW); if(splitTo2Finished(last)) { month = last[0]; secRow.append(QString("%1").arg(strWordNum(month))); temp = last[1]; } else rightDate = false; last = temp.split(dayW); if(splitTo2Finished(last)) { day = last[0]; secRow.append(QString("%1").arg(strWordNum(day))); temp = last[1]; } else rightDate = false; last = temp.split(timeW); if(splitTo2Finished(last)) { time = last[0]; secRow.append(QString("%1").arg(strWordNum(time))); temp = last[1]; } else{ time = QString("00"); secRow.append("2"); } if(!rightDate){ if(needTime) result = QString("0,'0',0,'0',0,'0',0,'0 " + dateName + "-------1'\n0,'0',0,'0',0,'0',0,'0 " + dateName + "----2'\n"); else result = QString("0,'0',0,'0',0,'0 " + dateName + "-------1'\n0,'0',0,'0',0,'0 " + dateName + "----2'\n"); return result; } result = secRow[0] + ",'" + year + "',"; result += secRow[1] + ",'" + month + "',"; result += secRow[2] + ",'" + day; if(needTime){ result += "',"; result += secRow[3] + ",'" + time; } if(needTime) result += " " + dateName + "-------1'\n0,'0',0,'0',0,'0',0,'0 " + dateName + "----2'\n"; else result += " " + dateName + "-------1'\n0,'0',0,'0',0,'0 " + dateName + "----2'\n"; return result; } QString CGJtutouInfGenerator::wellDateGen(QString date, QString dateName, bool needTime) { bool rightDate = true; QString yearW = "年"; QString monthW = "月"; QString dayW = "日"; QString timeW = "时"; QStringList last; QStringList secRow; QString year, month, day, time, temp = ""; QString result = ""; last = date.split(yearW); if(splitTo2Finished(last)) { year = last[0]; secRow.append(QString("%1").arg(strWordNum(year))); temp = last[1]; } else rightDate = false; last = temp.split(monthW); if(splitTo2Finished(last)) { month = last[0]; secRow.append(QString("%1").arg(strWordNum(month))); temp = last[1]; } else rightDate = false; last = temp.split(dayW); if(splitTo2Finished(last)) { day = last[0]; secRow.append(QString("%1").arg(strWordNum(day))); temp = last[1]; } else rightDate = false; last = temp.split(timeW); if(splitTo2Finished(last)) { time = last[0]; secRow.append(QString("%1").arg(strWordNum(time))); temp = last[1]; } else{ time = QString("00"); secRow.append("2"); } if(!rightDate){ if(needTime) result = QString("0,'0',0,'0',0,'0',0,'0 " + dateName + "'"); else result = QString("0,'0',0,'0',0,'0 " + dateName + "'"); return result; } result = secRow[0] + ",'" + year + "',"; result += secRow[1] + ",'" + month + "',"; result += secRow[2] + ",'" + day; if(needTime){ result += "',"; result += secRow[3] + ",'" + time; } result += blanksWord(dateName); return result; } QString CGJtutouInfGenerator::Bushing_3_Gen(float* Bushing_Inside_Diameter, float* Bushing_Detpth) { QString result; if(Bushing_Inside_Diameter[0] > -99 && Bushing_Detpth[0] > -99){ result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bushing_Inside_Diameter[0]))), true, false, false); result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bushing_Detpth[0]))), true, false, false); } else result += "0,'0',"; if(Bushing_Inside_Diameter[1] > -99 && Bushing_Detpth[1] > -99){ result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bushing_Inside_Diameter[1]))), true, false, false); result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bushing_Detpth[1]))), true, false, false); } else result += "0,'0',"; if(Bushing_Inside_Diameter[2] > -99 && Bushing_Detpth[2] > -99){ result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bushing_Inside_Diameter[2]))), true, false, false); result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bushing_Detpth[2]))), false, false, true); } else result += "0,'0"; result += blanksWord("套管"); return result; } QString CGJtutouInfGenerator::Diameter_3_Gen(float* Bit_Diameter, float* Bit_Depth) { QString result; if(Bit_Diameter[0] > -99 && Bit_Depth[0] > -99){ result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bit_Diameter[0]))), true, false, false); result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bit_Depth[0]))), true, false, false); } else result += "0,'0',"; if(Bit_Diameter[1] > -99 && Bit_Depth[1] > -99){ result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bit_Diameter[1]))), true, false, false); result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bit_Depth[1]))), true, false, false); } else result += "0,'0',"; if(Bit_Diameter[2] > -99 && Bit_Depth[2] > -99){ result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bit_Diameter[2]))), true, false, false); result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bit_Depth[2]))), true, false, false); } else result += "0,'0',"; if(Bit_Diameter[3] > -99 && Bit_Depth[3] > -99){ result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bit_Diameter[3]))), true, false, false); result += numWord(QString("%1").arg(setdec(ConvertDataByFloat(Bit_Depth[3]))), false, false, true); } else result += "0,'0"; result += blanksWord("钻头"); return result; } QString CGJtutouInfGenerator::tutouCurveGen(QString curveStr, QString curveName) { const int maxNum = 11; QString result; QStringList curveList = curveStr.split(" "); /* QStringList staticCurveList; staticCurveList.append("高分辨率深感应"); staticCurveList.append("数字聚焦"); staticCurveList.append("深侧向"); staticCurveList.append("球型聚焦电阻率"); staticCurveList.append("浅侧向"); staticCurveList.append("密度"); staticCurveList.append("中子"); staticCurveList.append("声波"); staticCurveList.append("自然电位"); staticCurveList.append("井径"); staticCurveList.append("自然伽马"); QString tempCurveName = staticCurveList[0]; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, true, false, false); else result += zeroWord(tempCurveName, true, false, false); tempCurveName = staticCurveList[1]; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, false, false, true); else result += zeroWord(tempCurveName, false, false, true); result += blanksWord(curveName); tempCurveName = staticCurveList[2]; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, true, false, false); else result += zeroWord(tempCurveName, true, false, false); tempCurveName = staticCurveList[3]; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, false, false, false); else result += zeroWord(tempCurveName, false, false, false); result += "\n"; tempCurveName = staticCurveList[4]; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, true, false, false); else result += zeroWord(tempCurveName, true, false, false); tempCurveName = staticCurveList[5]; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, false, false, false); else result += zeroWord(tempCurveName, false, false, false); result += "\n"; tempCurveName = staticCurveList[6]; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, true, false, false); else result += zeroWord(tempCurveName, true, false, false); tempCurveName = staticCurveList[7]; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, false, false, false); else result += zeroWord(tempCurveName, false, false, false); result += "\n"; tempCurveName = staticCurveList[8]; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, true, false, false); else result += zeroWord(tempCurveName, true, false, false); tempCurveName = staticCurveList[9]; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, false, false, false); else result += zeroWord(tempCurveName, false, false, false); for(int i = 0; i < curveList.size(); i++){ if(!staticCurveList.contains(curveList[i])){ result += ","; result += numWord(curveList[i], false, false, false); } } result += "\n"; tempCurveName = staticCurveList[10]; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, true, false, false); else result += zeroWord(tempCurveName, true, false, false); */ bool isFirst = true; int fileNum = (curveList.size() > maxNum) ? 11 : curveList.size(); for(int i = 0; i < fileNum; i++) { if(isFirst) result += numWord(curveList[i], true, false, false); else{ result += numWord(curveList[i], false, false, false); result += "\n";} isFirst = !isFirst; } for(int i = 0; i < (maxNum - fileNum); i++) { if(isFirst) result += zeroWord("0", true, false, false); else{ result += zeroWord("0", false, false, false); result += "\n";} isFirst = !isFirst; } return result; } QString CGJtutouInfGenerator::curveGen(QString curveStr, QString curveName) { QString result; QStringList curveList = curveStr.split(" "); QString tempCurveName = "CBL"; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, true, false, false); else result += zeroWord(tempCurveName, true, false, false); tempCurveName = "VDL"; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, false, false, true); else result += zeroWord(tempCurveName, false, false, true); result += blanksWord(curveName); tempCurveName = "CCL"; if(curveList.indexOf(tempCurveName) >= 0) result += numWord(tempCurveName, true, false, false); else result += zeroWord(tempCurveName, true, false, false); tempCurveName = "GR"; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, false, false, false); else result += zeroWord(tempCurveName, false, false, false); result += "\n"; tempCurveName = "CAL"; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, true, false, false); else result += zeroWord(tempCurveName, true, false, false); tempCurveName = "AC"; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, false, false, false); else result += zeroWord(tempCurveName, false, false, false); result += "\n"; tempCurveName = "CAL2"; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, true, false, false); else result += zeroWord(tempCurveName, true, false, false); tempCurveName = "AAC"; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, false, false, false); else result += zeroWord(tempCurveName, false, false, false); result += "\n"; tempCurveName = "CAL2"; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, true, false, false); else result += zeroWord(tempCurveName, true, false, false); tempCurveName = "AAC"; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, false, false, false); else result += zeroWord(tempCurveName, true, false, false); tempCurveName = "SBT"; if(curveList.indexOf(tempCurveName) > 0) result += numWord(tempCurveName, false, false, false); else result += zeroWord(tempCurveName, false, false, false); result += "\n"; return result; } QString CGJtutouInfGenerator::voiceCurveGen() { QString result; result += "3,'CBL',3,'CCL 声幅所用曲线'\n"; result += "0,'AC ',3,'CAL'\n"; result += "0,'CCL',0,'GR'\n"; result += "0,'AC',0,'CAL'\n"; return result; } QString CGJtutouInfGenerator::scale_noFile_Gen() { QString result; result += "0,'0',0,'0',0,'0 自然伽马刻度'\n"; result += "0,'0',0,'0 声幅刻度',1,'声幅单位标志'\n"; result += "0,'0',0,'0 磁定位刻度'\n"; result += "0,'0',0,'0 井径刻度',0,'井径单位标志',0,'井径个数标志'\n"; result += "0,'0',0,'0 声波刻度',0,'声波单位标志'\n"; result += "0,'0',0,'0 声波变密度刻度'\n"; return result; } QString CGJtutouInfGenerator::scale_Gen(QMap pltMap) { QString result; if(pltMap.find("GR") == pltMap.end()){ result += "0,'0',0,'0',0,'0 自然伽马刻度'\n"; } else{ result += numWord(pltMap["GR"][0], true, false, false); result += numWord(pltMap["GR"][1], true, false, false); result += zeroWord("0", false, false, true); result += blanksWord("自然伽马刻度"); } if(pltMap.find("CBL") == pltMap.end()){ result += "0,'0',0,'0 声幅刻度',1,'声幅单位标志'\n"; } else{ result += numWord(pltMap["CBL"][0], true, false, false); result += numWord(pltMap["CBL"][1], false, false, true); result += blanksWord("声幅刻度", false); result += ",1,'声幅单位标志'\n"; } if(pltMap.find("CCL") == pltMap.end()){ result += "0,'0',0,'0 磁定位刻度'\n"; } else{ result += numWord(pltMap["CCL"][0], true, false, false); result += numWord(pltMap["CCL"][1], false, false, true); result += blanksWord("磁定位刻度"); } if(pltMap.find("CAL") == pltMap.end()){ result += "0,'0',0,'0 井径刻度',0,'井径单位标志',0,'井径个数标志'\n"; } else{ result += numWord(pltMap["CAL"][0], true, false, false); result += numWord(pltMap["CAL"][1], false, false, true); result += blanksWord("井径刻度", false); result += ",0,'井径单位标志',0,'井径个数标志'\n"; } if(pltMap.find("AC") == pltMap.end()){ result += "0,'0',0,'0 声波刻度',0,'声波单位标志'\n"; } else{ result += numWord(pltMap["AC"][0], true, false, false); result += numWord(pltMap["AC"][1], false, false, true); result += blanksWord("声波刻度", false); result += ",0,'声波单位标志'\n"; } if(pltMap.find("LVDL") == pltMap.end()){ result += "0,'0',0,'0 声波变密度刻度'\n"; } else{ result += numWord(pltMap["LVDL"][0], true, false, false); result += numWord(pltMap["LVDL"][1], false, false, true); result += blanksWord("声波变密度刻度"); } return result; } QString CGJtutouInfGenerator::techHeadGen(QString tech) { QString result; if(tech == ""){ result = QString("0") + "," + QString("0") + ","; result += "'技术说明: 总条数 行数'\n"; return result; } QStringList techList = tech.split("\n"); QStringList techNum = tech.split(QRegExp("[;;.。]")); result = QString("%1").arg(techNum.size()) + "," + QString("%1").arg(techList.size()) + ","; result += "'技术说明: 总条数 行数'\n"; return result; } QString CGJtutouInfGenerator::techBodyGen(QString tech) { QString result; if(tech != ""){ QStringList techList = tech.split(QRegExp("[;;.。]")); for(int i = 0; i < techList.size(); i++){ result += QString("%1").arg(i + 1); result += numWord(techList[i].simplified(), false, true, false); result += "\n"; } } else{ result += "0,0,'技术说明: 总条数 行数'\n\ 1,18,'本井水泥上返地面,固井质量不作评价;'\n\ 9,9,'本次为通钻后测井;'\n\ 2,28,'第5~6、11~13、17~21层之间的第二界面胶结差;'\n"; } result += "end\n"; result += "end\n"; return result; } QString CGJtutouInfGenerator::resultTu(QString word){ QString result; word = word.toLower(); if(word == "porp") result += "0"; else if(word == "protn") result += "1"; else if(word == "tcra") result += "2"; else result += "0"; result += ",0 成果图 -- 成果图井径标志(选择:0 porp; 1 portn; 2 cra 选择:0 英制; 1公制)\n"; return result; } QString CGJtutouInfGenerator::zeroWord(QString word, bool needTailComma, bool needHeadComma, bool isTail) { QString result = ""; if(needHeadComma) result += ",0,"; //需要与前面有逗号连接符 else result += "0,"; result += "'" + word; if(!isTail) result += "'"; if(needTailComma) result += ","; return result; } QString CGJtutouInfGenerator::numWord(QString word, bool needTailComma, bool needHeadComma, bool isTail) { QString result = ""; int num = strWordNum(word); word = (word == "") ? "0" : word; if(needHeadComma) result += "," + QString("%1").arg(num) + ","; //需要与前面有逗号连接符 else result += QString("%1").arg(num) + ","; result += "'" + word; if(!isTail) result += "'"; if(needTailComma) result += ","; return result; } QString CGJtutouInfGenerator::blanksWord(QString word, bool nextLine) { QString str = " " + word + "'"; if(nextLine) str += "\n"; return str; } QString CGJtutouInfGenerator::chaiFenRange(QString word, bool needTailComma, bool needHeadComma, bool isTail) { QString cf = "-"; QString result; if(needHeadComma) result += ","; if(word == ""){ if(isTail) result += "0,'0',0,'0"; else result += "0,'0',0,'0'"; } else{ QStringList wordList = word.split(cf); if(wordList.size() != 2){ if(isTail) result += "0,'0',0,'0"; else result += "0,'0',0,'0'"; } else{ result += numWord(wordList[0], true, false, false); result += numWord(wordList[1], false, false, isTail); } } if(needTailComma) result += ","; return result; } QString CGJtutouInfGenerator::tutouTailGen_1(){ QString result; result += "0,'30',2,'60 井斜 第二刻度'\n\ 2,'20',2,'7050 2.5米梯度 第二刻度'\n\ 0,'285',3,'435 自然伽马 第二刻度'\n\ 1,'4',2,'22 井径 第一刻度'\n\ 0,'22',2,'40 井径 第二刻度'\n"; return result; } QString CGJtutouInfGenerator::tutouTailGen_2(){ QString result; result += "2,'1011',2,'3536 微电极第二刻度'\n\ 2,'3024',2,'80144 4米 第二刻度'\n\ 4,'47003800',4,'3450800 电导率 第二刻度'\n\ 1,'侧向电导率 (选择:0 感应;1 侧向)'\n"; /* */ return result; } QString CGJtutouInfGenerator::tutouTailGen_3(){ QString result; result += "0,'150',3,'300 自然伽马 第二刻度'\n\ 2,'60',3,'160 自然电位 第一刻度'\n\ 0,'-90',2,'100 自然电位 第二刻度'\n\ 1,'6 ',2,'16 井径 第一刻度'\n\ 0,'16',2,'26 井径 第二刻度'\n\ 2,'RDHRID ',6,'深侧向电阻率高分辨率深感应电阻率高分辨率深感应电阻率'\n\ 0,'100',6,'1000000000'\n\ 2,'RSHRIM ',6,'浅侧向电阻高分辨率中感应电阻率率高分辨率中感应电阻率'\n\ 0,'100',6,'1000000000'\n\ 4,'MSFL RSFL ',8,'微球型聚焦电阻率邻近侧向电阻率微数字聚焦电阻率'\n\ 3,'100',6,'1000000000'\n\ 0,'DEN',2,'密度岩性'\n\ 3,'1.96',3,'2.96'\n\ 3,'0.96',3,'1.96'\n\ 0,'2.7',3,'3.7'\n\ 0,'CNL',2,'中子补偿中子'\n\ 2,'45 ',3,'-15'\n\ 0,'105',2,'45 '\n\ 2,'AC',2,'声波'\n\ 3,'150',2,'500 '\n\ 0,'250',0,'150'\n\ 0,'PE',10,'有效光电吸收截面指数'\n\ 1,'0',2,'10'\n\ 0,' 标准曲线图标志(选择:0 zpi标准; 1 cli标准; 2 cli声波标准)'\n"; return result; } QString CGJtutouInfGenerator::tutouTailGen_4(){ QString result; result += "0,' 放大曲线图标志(选择:0 微电极放大; 1 声波放大)'\n\ 0,'10',2,'20 放大曲线微电极第二刻度'\n\ 0,'5',2,'10 海上测井曲线图微电极第二刻度'\n"; return result; } QString CGJtutouInfGenerator::tutouTailGen_5(){ QString result; result += "0,' 河口采油厂图头标志(选择:0 常规图; 1 河口图)'\n\ 3,'500',3'250 河口组合图声波(公制)刻度'\n\ 3,'CRA 复杂岩性剖面岩性种数(不包括泥岩)'\n\ 3,2,'砂岩 ',11 ,'SAND'\n\ 1,2,'灰岩 ',16 ,'LIME'\n\ 2,3,'白云岩',21 ,'DOLM'\n\ 4,2,'石膏 ',32 ,'OTHR'\n\ 2,2,'砾岩 ',300,'GRAV'\n\ 5,3,'角砾岩',26 ,'CONG'\n\ 7,3,'凝灰岩',299,'TUFF'\n\ 8,3,'安山岩',303,'ANDE'\n\ 9,2,'侵入岩',301,'BASD'\n\ 10,2,'玄武岩',44 ,'BASA'\n\ 11,2,'辉长岩',41 ,'GRWA'\n\ 12,2,'辉绿岩',38 ,'GRAN'\n\ 13,2,'片麻岩',40 ,'ANHY'\n\ 0,'临盘宽行标志(选择:0 不生成宽行图; 1 带微电极宽行图; 2 不带微电极宽行图)'\n\ 0'cli5标志(选择:0 生成cli 不生成cli5; 1 生成cli5 不生成cli)'\n\ 0,'U Te K 曲线图标志(选择:1 生成; 0 不生成)'\n\ 0,'GRKT 自然伽马能谱'\n\ 0,'GKUT 计算自然伽马'\n\ 0,'THOR TH 钍'\n\ 3,'-20',2,'10 TH 钍 第一刻度'\n\ 0,'10',2,'20 第二刻度'\n\ 0,'POAK K 钾'\n\ 1,'0',2,'10 K 钾 第一刻度'\n\ 0,'10',2,'20 第二刻度'\n\ 0,'URAN U 铀'\n\ 1,'0',2,'40 U 铀 第一刻度'\n\ 0,'40',2,'80 第二刻度'\n"; return result; } QString CGJtutouInfGenerator::tutouTailGen_6(){ QString result; result += "2,'水平图深度比例 (选择:0 1:500 1:1000)'\n\ 0,'2000',4,'5000 水平图垂直深度左右刻度'\n\ 2,'垂直图深度比例 (选择:0 1:500 1: 1:1000)'\n\ 3,'100',3,'500 垂直图水平位移左右刻度'\n\ 0,'(选择:1 高频感应 :2 高分率阵列感应 :0 不生成高频感应或高分率阵列感应)'\n\ 0,1,1,1,1,1,'(高频感应 阵列感应第二刻度标志 :0 没有 :1 有)'\n\ 3,'R20 '3,'R07 高频感应所用曲线'\n\ 4,'自然电位'4,'自然伽马'\n\ 0,'中子 '2,'声波'\n\ 0,'密度 '2,'井径'\n\ 0,'1000.3-2490.5 rmt 测量井段 第一点 至 最后一点 '\n\ 10,'800-2490.5 rmt 垂直井段 第一点 至 最后一点 '\n\ -9999\n\ end\n"; return result; } bool CGJtutouInfGenerator::splitTo2Finished(QStringList strList) { if(strList.size() != 2) return false; if(strList[0] != "" || strList[1] != "") return true; else return false; } int CGJtutouInfGenerator::strWordNum(QString str) { QStringList r = str.split(""); int result = r.size(); if(r.size() <= 2) return 0; else return r.size() - 2; }