28 #include <QtCore/QCoreApplication>
29 #include <QtCore/QDir>
30 #include <QtCore/QFileInfo>
31 #include <QtCore/QSettings>
32 #include <QtCore/QString>
33 #include <QtCore/QStringList>
35 #if QT_VERSION >= 0x050000
36 # include <QtWidgets/QApplication>
38 # include <QtGui/QApplication>
64 char *lkynm_chr,
short &iveri,
char *lkout_chr,
65 UNUSED char *lfto_chr,
short &ivero,
UNUSED char *lfio_chr,
short &kerr,
66 size_t len1,
size_t len2,
UNUSED size_t len3,
UNUSED size_t len4)
68 QString inputDbName(QString::fromLatin1(lkynm_chr, len1));
69 QString outputDbName(QString::fromLatin1(lkout_chr, len2));
73 if (inputDbName.at(0) ==
'$')
74 inputDbName = inputDbName.mid(1);
76 c2s.
mimic_Kai(kruc, inputDbName, iveri, outputDbName, ivero, kerr);
99 void ask_(
const char *lcode,
const short &ntoc,
const short &dim1,
const short &dim2,
100 const short &dim3,
const short &nver,
UNUSED const char* ltext_chr,
UNUSED const short &ktype,
106 QString(
"").setNum(dim1) +
"," + QString(
"").setNum(dim2) +
"," + QString(
"").setNum(dim3) +
107 ") of TOC=" + QString(
"").setNum(ntoc) +
" and ver# " + QString(
"").setNum(nver));
115 void mvrec_(
short &ntoc,
short &kmode,
short &knum,
short &kerr)
123 void phist_(
short &nhist,
const char *lhist_chr,
size_t len)
125 QString histString(
"");
126 if ((
size_t)nhist < len)
136 while (!histString.at(histString.size() - 1).isPrint())
138 histString = histString.trimmed();
163 void adda_(
const short& ntoc,
const char *lcode,
const char *descrText,
164 const short& dim1,
const short& dim2,
const short& dim3,
size_t len1,
size_t len2)
168 "adda_(): improper use of the function: len1 (" + QString(
"").setNum(len1) +
172 "adda_(): improper use of the function: len2 (" + QString(
"").setNum(len2) +
173 ") is less than 32 for description of the LCODE \"" +
fortArray2QString(lcode, len1) +
"\"");
182 void addi_(
const short& ntoc,
const char *lcode,
const char *descrText,
183 const short& dim1,
const short& dim2,
const short& dim3,
size_t len1,
size_t len2)
187 "addi_(): improper use of the function: len1 (" + QString(
"").setNum(len1) +
191 "addi_(): improper use of the function: len2 (" + QString(
"").setNum(len2) +
192 ") is less than 32 for description of the LCODE \"" +
fortArray2QString(lcode, len1) +
"\"");
201 void addj_(
const short& ntoc,
const char *lcode,
const char *descrText,
202 const short& dim1,
const short& dim2,
const short& dim3,
size_t len1,
size_t len2)
206 "addj_(): improper use of the function: len1 (" + QString(
"").setNum(len1) +
210 "addj_(): improper use of the function: len2 (" + QString(
"").setNum(len2) +
211 ") is less than 32 for description of the LCODE \"" +
fortArray2QString(lcode, len1) +
"\"");
220 void add4_(
const short& ntoc,
const char *lcode,
const char *descrText,
221 const short& dim1,
const short& dim2,
const short& dim3,
size_t len1,
size_t len2)
225 "add4_(): improper use of the function: len1 (" + QString(
"").setNum(len1) +
229 "add4_(): improper use of the function: len2 (" + QString(
"").setNum(len2) +
230 ") is less than 32 for description of the LCODE \"" +
fortArray2QString(lcode, len1) +
"\"");
239 void addr_(
const short& ntoc,
const char *lcode,
const char *descrText,
240 const short& dim1,
const short& dim2,
const short& dim3,
size_t len1,
size_t len2)
244 "addr_(): improper use of the function: len1 (" + QString(
"").setNum(len1) +
248 "addr_(): improper use of the function: len2 (" + QString(
"").setNum(len2) +
249 ") is less than 32 for description of the LCODE \"" +
fortArray2QString(lcode, len1) +
"\"");
262 void dela_(
const short& ntoc,
const char *lcode,
size_t len)
266 "dela_(): improper use of the function: len (" + QString(
"").setNum(len) +
275 void delr_(
const short& ntoc,
const char *lcode,
size_t len)
279 "delr_(): improper use of the function: len (" + QString(
"").setNum(len) +
291 void geta_(
const char *lcode,
char values[],
const short &dim1,
const short &dim2,
const short &dim3,
292 short numDims[],
short &kerr,
size_t len)
296 "geta_(): improper use of the function: len (" + QString(
"").setNum(len) +
299 kerr =
c2s.
mimicGetA(lCode, values, dim1, dim2, dim3, numDims);
313 void geti_(
const char *lcode,
short values[],
const short &dim1,
const short &dim2,
const short &dim3,
314 short numDims[],
short &kerr,
size_t len)
318 "geti_(): improper use of the function: len (" + QString(
"").setNum(len) +
321 kerr =
c2s.
mimicGetI(lCode, values, dim1, dim2, dim3, numDims);
341 void get4_(
const char *lcode,
double values[],
const short &dim1,
const short &dim2,
const short &dim3,
342 short numDims[],
short &kerr,
size_t len)
346 "get4_(): improper use of the function: len (" + QString(
"").setNum(len) +
349 kerr =
c2s.
mimicGet4(lCode, values, dim1, dim2, dim3, numDims);
366 void puta_(
const char *lcode,
const char vals[],
const short &dim1,
const short &dim2,
const short &dim3,
371 "puta_(): improper use of the function: len (" + QString(
"").setNum(len) +
380 void puti_(
const char *lcode,
const short vals[],
381 const short &dim1,
const short &dim2,
const short &dim3,
size_t len)
385 "puti_(): improper use of the function: len (" + QString(
"").setNum(len) +
394 void putr_(
const char *lcode,
const double vals[],
395 const short &dim1,
const short &dim2,
const short &dim3,
size_t len)
399 "putr_(): improper use of the function: len (" + QString(
"").setNum(len) +
408 void put4_(
const char *lcode,
const double vals[],
409 const short &dim1,
const short &dim2,
const short &dim3,
size_t len)
413 "put4_(): improper use of the function: len (" + QString(
"").setNum(len) +
426 std::cout <<
".. puti().\n";
457 return gethostname(hostName, len);
466 while (idx>0 && (chrs[idx-1] ==
' ' || chrs[idx-1] ==
'\0'))
479 "quit_calc_(): Quitting: legacy mode");
485 "quit_calc_(): Quitting: modern mode");
498 unsigned int l=strlen(chrs);
499 return QString::fromLatin1(chrs, l<len?l:len);
509 memset(chrs, 0, len);
511 strncpy(chrs, qPrintable(str), len);
526 char sCalcOnName[128];
530 memset(sCalcOnName, 0,
sizeof(sCalcOnName));
531 memset(
extrnl_.External_inputs, 0,
sizeof(
extrnl_.External_inputs));
536 if (sArg3 && strlen(sArg3)>0)
538 strcpy(sCalcOnName, sArg3);
539 std::cout <<
"CalcOn file name " << sCalcOnName <<
"\n";
541 if (sArg4 && strlen(sArg4)>0)
543 strcpy(
extrnl_.External_inputs, sArg4);
545 std::cout <<
"External_inputs " <<
extrnl_.External_inputs <<
"\n";
552 start_(iLu, sCalcOnName, iLuOut,
sizeof(sCalcOnName));
566 std::cout <<
" All data for this experiment has been processed.\n";
572 start_(iLu, sCalcOnName, iLuOut,
sizeof(sCalcOnName));
585 char sCalcOnName[128];
590 memset(sCalcOnName, 0,
sizeof(sCalcOnName));
591 memset(
extrnl_.External_inputs, 0,
sizeof(
extrnl_.External_inputs));
596 if (sArg3 && strlen(sArg3)>0)
598 strcpy(sCalcOnName, sArg3);
599 std::cout <<
"CalcOn file name " << sCalcOnName <<
"\n";
601 if (sArg4 && strlen(sArg4)>0)
603 strcpy(
extrnl_.External_inputs, sArg4);
605 std::cout <<
"External_inputs " <<
extrnl_.External_inputs <<
"\n";
612 "mimicCalcMain2(): calling CALC's START");
613 start_(iLu, sCalcOnName, iLuOut,
sizeof(sCalcOnName));
615 "mimicCalcMain2(): calling CALC's TOCUP");
618 for (
int i=0; i<bands.size(); i++)
620 const QString& bandKey=bands.at(i);
625 "mimicCalcMain2(): processing " + bandKey +
"-band has been started");
637 "mimicCalcMain2(): processing " + bandKey +
"-band has been finished");
641 std::cout <<
" All data for this experiment has been processed.\n";
642 start_(iLu, sCalcOnName, iLuOut,
sizeof(sCalcOnName));
virtual void write(LogLevel, quint32, const QString &, bool=false)
short mimic_MvRec(short ntoc, short kmode, short knum)
void setBandList(const QList< QString > &bands)
void mimicPutI(const QString &lCode, const short values[], short dim1, short dim2, short dim3)
void mimicPutA(const QString &lCode, const char values[], short dim1, short dim2, short dim3)
void setCurrentBand(const QString &key, bool is)
void mimicDelR(short nToc, const QString &lCode)
short mimicGetI(const QString &lCode, short values[], short dim1, short dim2, short dim3, short actualDimension[])
void mimicAddI(short nToc, const QString &lCode, const QString &descr, short dim1, short dim2, short dim3)
CalcCallingMode getCalcCallingMode() const
void mimicAddJ(short nToc, const QString &lCode, const QString &descr, short dim1, short dim2, short dim3)
void mimicDelA(short nToc, const QString &lCode)
void mimicAddR(short nToc, const QString &lCode, const QString &descr, short dim1, short dim2, short dim3)
void mimic_pHist(const QString &histRecord)
void mimicAdd4(short nToc, const QString &lCode, const QString &descr, short dim1, short dim2, short dim3)
short mimicGetA(const QString &lCode, char values[], short dim1, short dim2, short dim3, short actualDimension[])
void mimic_Kai(short openMode, const QString &inputDbName, short inputDbVersion, const QString &outputDbName, short &outputDbVersion, short &errorFlag)
void mimicAddA(short nToc, const QString &lCode, const QString &descr, short dim1, short dim2, short dim3)
void mimicPutR(const QString &lCode, const double values[], short dim1, short dim2, short dim3)
short mimicGet4(const QString &lCode, double values[], short dim1, short dim2, short dim3, short actualDimension[])
void mimicPut4(const QString &lCode, const double values[], short dim1, short dim2, short dim3)
void adda_(const short &ntoc, const char *lcode, const char *descrText, const short &dim1, const short &dim2, const short &dim3, size_t len1, size_t len2)
void get4_(const char *lcode, double values[], const short &dim1, const short &dim2, const short &dim3, short numDims[], short &kerr, size_t len)
void puta_(const char *lcode, const char vals[], const short &dim1, const short &dim2, const short &dim3, size_t len)
void qString2fortArray(const QString &str, char *chrs, size_t len)
void put4_(const char *lcode, const double vals[], const short &dim1, const short &dim2, const short &dim3, size_t len)
void dela_(const short &ntoc, const char *lcode, size_t len)
void ask_(const char *lcode, const short &ntoc, const short &dim1, const short &dim2, const short &dim3, const short &nver, UNUSED const char *ltext_chr, UNUSED const short &ktype, short &kerr, UNUSED size_t len1, UNUSED size_t len2)
void mimicCalcMain2(UNUSED int iArg1, int iArg2, const char *sArg3, const char *sArg4, const QList< QString > &bands)
void mvrec_(short &ntoc, short &kmode, short &knum, short &kerr)
void finis_(UNUSED short par)
void addr_(const short &ntoc, const char *lcode, const char *descrText, const short &dim1, const short &dim2, const short &dim3, size_t len1, size_t len2)
void kai_(short &kruc, UNUSED short &in, UNUSED short &iout, UNUSED short &istp, char *lkynm_chr, short &iveri, char *lkout_chr, UNUSED char *lfto_chr, short &ivero, UNUSED char *lfio_chr, short &kerr, size_t len1, size_t len2, UNUSED size_t len3, UNUSED size_t len4)
void geti_(const char *lcode, short values[], const short &dim1, const short &dim2, const short &dim3, short numDims[], short &kerr, size_t len)
void phist_(short &nhist, const char *lhist_chr, size_t len)
void geta_(const char *lcode, char values[], const short &dim1, const short &dim2, const short &dim3, short numDims[], short &kerr, size_t len)
void add4_(const short &ntoc, const char *lcode, const char *descrText, const short &dim1, const short &dim2, const short &dim3, size_t len1, size_t len2)
void delr_(const short &ntoc, const char *lcode, size_t len)
void quit_calc_(UNUSED short iPar[])
void addj_(const short &ntoc, const char *lcode, const char *descrText, const short &dim1, const short &dim2, const short &dim3, size_t len1, size_t len2)
void putr_(const char *lcode, const double vals[], const short &dim1, const short &dim2, const short &dim3, size_t len)
void puti_(const char *lcode, const short vals[], const short &dim1, const short &dim2, const short &dim3, size_t len)
short gethostname_(char *hostName, size_t len)
void mimicCalcMain(UNUSED int iArg1, int iArg2, const char *sArg3, const char *sArg4)
void addi_(const short &ntoc, const char *lcode, const char *descrText, const short &dim1, const short &dim2, const short &dim3, size_t len1, size_t len2)
short trimlen_(char *chrs, size_t len)
QString fortArray2QString(const char *chrs, size_t len)
void obsnt_(int &kount, int &kend)
void start_(short &iLu, const char *calcOnName, short &iOut, size_t len)