示例#1
0
        private double WspT(string pstring, Moment[] par)
        {
            switch (pstring)
            {
            case "ph":
                return(Oka.wspTPH(par[1].Real, par[2].Real));

            case "ps":
                return(Oka.wspTPS(par[1].Real, par[2].Real));

            case "ptpeff":
                return(Oka.wspTEXPANSIONPTPEFF(par[1].Real, par[2].Real, par[3].Real, par[4].Real));

            case "ptxpeff":
                return(Oka.wspTEXPANSIONPTXPEFF(par[1].Real, par[2].Real, par[3].Real, par[4].Real, par[5].Real));

            case "hs":
                return(Oka.wspTHS(par[1].Real, par[2].Real));

            case "sp":
                return(Oka.wspTSP(par[1].Real));

            case "shs":
                return(Oka.wspTSHS(par[1].Real, par[2].Real));
            }
            return(double.NaN);
        }
示例#2
0
        //Общая функция для вызова функций по пару и воде, funName - имя функции WSP
        private void WspFun(Moment[] par, Moment res, string funName, Func <string, Moment[], double> deleg)
        {
            string f = "wsp" + funName;

            try
            {
                string s = par[0].String.ToLower();
                if (WpsParamsNum(s) != par.Length - 1)
                {
                    PutErr("Недопустимое количество параметров функции " + f, res);
                }
                else
                {
                    double d = deleg(s, par);
                    if (double.IsNaN(d))
                    {
                        PutErr(_wsperr + f, res);
                    }
                    else
                    {
                        res.Real = d;
                    }
                }
                if (Oka.wspGETLASTERROR() != 0)
                {
                    PutErr(_wsperr + f, res);
                }
            }
            catch { PutErr(_wsperr + f, res); }
        }
示例#3
0
        private double WspH(string pstring, Moment[] par)
        {
            switch (pstring)
            {
            case "pt":
                return(Oka.wspHPT(par[1].Real, par[2].Real));

            case "ptx":
                return(Oka.wspHPTX(par[1].Real, par[2].Real, par[3].Real));

            case "ps":
                return(Oka.wspHPS(par[1].Real, par[2].Real));

            case "ptpeff":
                return(Oka.wspHEXPANSIONPTPEFF(par[1].Real, par[2].Real, par[3].Real, par[4].Real));

            case "ptxpeff":
                return(Oka.wspHEXPANSIONPTXPEFF(par[1].Real, par[2].Real, par[3].Real, par[4].Real, par[5].Real));

            case "sst":
                return(Oka.wspHSST(par[1].Real));

            case "swt":
                return(Oka.wspHSWT(par[1].Real));

            case "stx":
                return(Oka.wspHSTX(par[1].Real, par[2].Real));

            case "mspt":
                return(Oka.wspHMSPT(par[1].Real, par[2].Real));
            }
            return(double.NaN);
        }
示例#4
0
 public void wspgvfss(Moment[] par, Moment res)
 {
     try
     {
         res.Real = Oka.wspgVFGSGS(par[0].String, par[1].String);
         if (Oka.wspGETLASTERROR() != 0)
         {
             PutErr(_wsperr + "wspgVF", res);
         }
     }
     catch { PutErr(_wsperr + "wspgVF", res); }
 }
示例#5
0
 public void wspgcvtrsr(Moment[] par, Moment res)
 {
     try
     {
         res.Real = Oka.wspgCVGST(GazSpecification(par, 1), par[0].Real);
         if (Oka.wspGETLASTERROR() != 0)
         {
             PutErr(_wsperr + "wspgCVT", res);
         }
     }
     catch { PutErr(_wsperr + "wspgCVT", res); }
 }
示例#6
0
 // ВодаПар
 //
 public void wspsurftenr(Moment[] par, Moment res)
 {
     try
     {
         res.Real = Oka.wspSURFTENT(par[0].Real);
         if (Oka.wspGETLASTERROR() != 0)
         {
             PutErr(_wsperr + "wspSurftent", res);
         }
     }
     catch { PutErr(_wsperr + "wspSurftent", res); }
 }
示例#7
0
 public void wspgcvtrs(Moment[] par, Moment res)
 {
     try
     {
         res.Real = Oka.wspgCVGST(par[1].String, par[0].Real);
         if (Oka.wspGETLASTERROR() != 0)
         {
             PutErr(_wsperr + "wspgCVT", res);
         }
     }
     catch { PutErr(_wsperr + "wspgCVT", res); }
 }
示例#8
0
 public void wspphasestaterr(Moment[] par, Moment res)
 {
     try
     {
         res.Integer = Oka.wspPHASESTATEPT(par[0].Real, par[1].Real);
         if (Oka.wspGETLASTERROR() != 0)
         {
             PutErr(_wsperr + "wspPhaseState", res);
         }
     }
     catch { PutErr(_wsperr + "wspPhaseState", res); }
 }
示例#9
0
 public void wspgvptrri(Moment[] par, Moment res)
 {
     try
     {
         res.Real = Oka.wspgVIDPT(par[2].Integer, par[0].Real, par[1].Real);
         if (Oka.wspGETLASTERROR() != 0)
         {
             PutErr(_wsperr + "wspgVPT", res);
         }
     }
     catch { PutErr(_wsperr + "wspgVPT", res); }
 }
示例#10
0
 public void wspgvptrrsr(Moment[] par, Moment res)
 {
     try
     {
         res.Real = Oka.wspgVGSPT(GazSpecification(par, 2), par[0].Real, par[1].Real);
         if (Oka.wspGETLASTERROR() != 0)
         {
             PutErr(_wsperr + "wspgVPT", res);
         }
     }
     catch { PutErr(_wsperr + "wspgVPT", res); }
 }
示例#11
0
 public void wspgvfii(Moment[] par, Moment res)
 {
     try
     {
         res.Real = Oka.wspgVFIDID(par[0].Integer, par[1].Integer);
         if (Oka.wspGETLASTERROR() != 0)
         {
             PutErr(_wsperr + "wspgVF", res);
         }
     }
     catch { PutErr(_wsperr + "wspgVF", res); }
 }
示例#12
0
 public void wspgtpsrrs(Moment[] par, Moment res)
 {
     try
     {
         res.Real = Oka.wspgTGSPS(par[2].String, par[0].Real, par[1].Real);
         if (Oka.wspGETLASTERROR() != 0)
         {
             PutErr(_wsperr + "wspgTPS", res);
         }
     }
     catch { PutErr(_wsperr + "wspgTPS", res); }
 }
示例#13
0
 public void wspgmmsr(Moment[] par, Moment res)
 {
     try
     {
         res.Real = Oka.wspgMMGS(GazSpecification(par, 0));
         if (Oka.wspGETLASTERROR() != 0)
         {
             PutErr(_wsperr + "wspgMM", res);
         }
     }
     catch { PutErr(_wsperr + "wspgMM", res); }
 }
示例#14
0
 public void wspgthri(Moment[] par, Moment res)
 {
     try
     {
         res.Real = Oka.wspgTIDH(par[1].Integer, par[0].Real);
         if (Oka.wspGETLASTERROR() != 0)
         {
             PutErr(_wsperr + "wspgTH", res);
         }
     }
     catch { PutErr(_wsperr + "wspgTH", res); }
 }
示例#15
0
        private double WspP(string pstring, Moment[] par)
        {
            switch (pstring)
            {
            case "hs":
                return(Oka.wspPHS(par[1].Real, par[2].Real));

            case "st":
                return(Oka.wspPST(par[1].Real));

            case "subt":
                return(Oka.wspPSUBT(par[1].Real));

            case "meltit":
                return(Oka.wspPMELTIT(par[1].Real));
            }
            return(double.NaN);
        }
示例#16
0
 public static void Initialize()
 {
     if (_isInitialized)
     {
         return;
     }
     try
     {
         InfoTaskDir        = Different.GetInfoTaskDir();
         GeneralDir         = InfoTaskDir + @"General\";
         TmpDir             = InfoTaskDir + @"Tmp\";
         DocsDir            = InfoTaskDir + @"Docs\";
         ControllerDir      = InfoTaskDir + @"Controller\";
         ReporterDir        = InfoTaskDir + @"Reporter\";
         ConfigFile         = GeneralDir + "Config.accdb";
         HistryTemplateFile = GeneralDir + "HistoryTemplate.accdb";
         if (!DaoDb.Check(GeneralDir + "General.accdb", new[] { "Functions", "FunctionsOverloads" }))
         {
             Different.MessageError("Не допустимый General.accdb");
         }
         if (!DaoDb.Check(ConfigFile, new[] { "SysTabl", "SysSubTabl" }))
         {
             Different.MessageError("Не допустимый Config.accdb");
         }
         ControllerFile = ControllerDir + "ControllerData.accdb";
         if (!DaoDb.Check(ControllerFile, new[] { "Threads", "Projects", "Providers" }))
         {
             Different.MessageError("Не допустимый ControllerData.accdb");
         }
         ReporterFile       = ReporterDir + "ReporterData.accdb";
         ReportTemplateFile = ReporterDir + "ReportTemplate.accdb";
         DebugMode          = SysTabl.ValueS(ControllerFile, "DebugMode") == "True";
         Oka.Register();
         ReadProvidersLists();
         _isInitialized = true;
     }
     catch (Exception ex)
     {
         ex.MessageError("Настроечный файл имеет недопустимый формат");
     }
 }
示例#17
0
        private double WspTHERMCOND(string pstring, Moment[] par)
        {
            switch (pstring)
            {
            case "pt":
                return(Oka.wspTHERMCONDPT(par[1].Real, par[2].Real));

            case "ptx":
                return(Oka.wspTHERMCONDPTX(par[1].Real, par[2].Real, par[3].Real));

            case "ph":
                return(Oka.wspTHERMCONDPH(par[1].Real, par[2].Real));

            case "ps":
                return(Oka.wspTHERMCONDPS(par[1].Real, par[2].Real));

            case "ptpeff":
                return(Oka.wspTHERMCONDEXPANSIONPTPEFF(par[1].Real, par[2].Real, par[3].Real, par[4].Real));

            case "ptxpeff":
                return(Oka.wspTHERMCONDEXPANSIONPTXPEFF(par[1].Real, par[2].Real, par[3].Real, par[4].Real, par[5].Real));

            case "hs":
                return(Oka.wspTHERMCONDHS(par[1].Real, par[2].Real));

            case "sst":
                return(Oka.wspTHERMCONDSST(par[1].Real));

            case "swt":
                return(Oka.wspTHERMCONDSWT(par[1].Real));

            case "stx":
                return(Oka.wspTHERMCONDSTX(par[1].Real, par[2].Real));

            case "mspt":
                return(Oka.wspTHERMCONDMSPT(par[1].Real, par[2].Real));
            }
            return(double.NaN);
        }
示例#18
0
        private double WspJOULETHOMPSON(string pstring, Moment[] par)
        {
            switch (pstring)
            {
            case "pt":
                return(Oka.wspJOULETHOMPSONPT(par[1].Real, par[2].Real));

            case "ptx":
                return(Oka.wspJOULETHOMPSONPTX(par[1].Real, par[2].Real, par[3].Real));

            case "ph":
                return(Oka.wspJOULETHOMPSONPH(par[1].Real, par[2].Real));

            case "ps":
                return(Oka.wspJOULETHOMPSONPS(par[1].Real, par[2].Real));

            case "ptpeff":
                return(Oka.wspJOULETHOMPSONEXPANSIONPTPEFF(par[1].Real, par[2].Real, par[3].Real, par[4].Real));

            case "ptxpeff":
                return(Oka.wspJOULETHOMPSONEXPANSIONPTXPEFF(par[1].Real, par[2].Real, par[3].Real, par[4].Real, par[5].Real));

            case "hs":
                return(Oka.wspJOULETHOMPSONHS(par[1].Real, par[2].Real));

            case "sst":
                return(Oka.wspJOULETHOMPSONSST(par[1].Real));

            case "swt":
                return(Oka.wspJOULETHOMPSONSWT(par[1].Real));

            case "stx":
                return(Oka.wspJOULETHOMPSONSTX(par[1].Real, par[2].Real));

            case "mspt":
                return(Oka.wspJOULETHOMPSONMSPT(par[1].Real, par[2].Real));
            }
            return(double.NaN);
        }
示例#19
0
        private double WspKINVIS(string pstring, Moment[] par)
        {
            switch (pstring)
            {
            case "pt":
                return(Oka.wspKINVISPT(par[1].Real, par[2].Real));

            case "ptx":
                return(Oka.wspKINVISPTX(par[1].Real, par[2].Real, par[3].Real));

            case "ph":
                return(Oka.wspKINVISPH(par[1].Real, par[2].Real));

            case "ps":
                return(Oka.wspKINVISPS(par[1].Real, par[2].Real));

            case "ptpeff":
                return(Oka.wspKINVISEXPANSIONPTPEFF(par[1].Real, par[2].Real, par[3].Real, par[4].Real));

            case "ptxpeff":
                return(Oka.wspKINVISEXPANSIONPTXPEFF(par[1].Real, par[2].Real, par[3].Real, par[4].Real, par[5].Real));

            case "hs":
                return(Oka.wspKINVISHS(par[1].Real, par[2].Real));

            case "sst":
                return(Oka.wspKINVISSST(par[1].Real));

            case "swt":
                return(Oka.wspKINVISSWT(par[1].Real));

            case "stx":
                return(Oka.wspKINVISSTX(par[1].Real, par[2].Real));

            case "mspt":
                return(Oka.wspKINVISMSPT(par[1].Real, par[2].Real));
            }
            return(double.NaN);
        }