Example #1
0
        internal bool ShowSoftwareCover(FormInitParamSet formInitParamSet)
        {
            var formInitParamSet1 = new FormInitParamSet();

            formInitParamSet1.ArchitectureCode      = formInitParamSet.ArchitectureCode;
            formInitParamSet1.ArchitectureName      = formInitParamSet.ArchitectureName;
            formInitParamSet1.ArchitectureVersion   = formInitParamSet.ArchitectureVersion;
            formInitParamSet1.OrganizationCode      = formInitParamSet.OrganizationCode;
            formInitParamSet1.OrganizationShortName = formInitParamSet.OrganizationShortName;
            formInitParamSet1.OrganizationName      = formInitParamSet.OrganizationName;
            formInitParamSet1.InvisibleFlag         = "false";
            formInitParamSet1.ApplicationCode       = formInitParamSet.ApplicationCode;
            formInitParamSet1.ApplicationVersion    = formInitParamSet.ApplicationVersion;

            formInitParamSet1.StartScenarioRelativeLocation = ApplicationStartParamSet.SoftwareCoverLocation;
            formInitParamSet1.StartScenarioProcessParams    = "";

            formInitParamSet1.StartPassword        = "";
            formInitParamSet1.FormTitle            = "";
            formInitParamSet1.HelpdeskEmail        = formInitParamSet.HelpdeskEmail;
            formInitParamSet1.SupportMultiCultures = formInitParamSet.SupportMultiCultures;
            formInitParamSet1.IsRedirected         = false;

            formInitParamSet1.ApplicationLibDir           = formInitParamSet.ApplicationLibDir;
            formInitParamSet1.ApplicationDataDir          = formInitParamSet.ApplicationDataDir;
            formInitParamSet1.ApplicationTempDir          = formInitParamSet.ApplicationTempDir;
            formInitParamSet1.RunBootStrapperTasksAtStart = false;


            var form = new FunctionForm(formInitParamSet1);

            return(true);
        }
Example #2
0
        // 双击函数列表时
        private void functionListBox_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            // 获取选中的项目
            int index = this.functionListBox.IndexFromPoint(e.Location);

            if (index != System.Windows.Forms.ListBox.NoMatches)
            {
                string fcname = (string)this.functionListBox.Items[index];
                // main函数不可编辑
                if (fcname == "main")
                {
                    MessageBox.Show("主函数main的函数签名不可编辑", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                FunctionForm addFunForm = new FunctionForm("编辑函数", fcname);
                addFunForm.ShowDialog(this);
            }
        }
Example #3
0
        public void RaiseIfNameIsWrong()
        {
            Context           context = new Context();
            FunctionForm      form1   = this.MakeForm("f(0) -> 1.");
            FunctionForm      form2   = this.MakeForm("g(1) -> 1.");
            FunctionForm      form3   = this.MakeForm("f(X) -> f(X-1) + f(X-2).");
            MultiFunctionForm mform   = new MultiFunctionForm(new FunctionForm[] { form1, form2, form3 });

            try
            {
                mform.Evaluate(context);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.AreEqual("head mismatch", ex.Message);
            }
        }
Example #4
0
        static void Main()
        {
            Util.Utils.ReleaseMemory(true);
            using (Mutex mutex = new Mutex(false, "Global\\Shadowsocks_" + Application.StartupPath.GetHashCode()))
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);

                if (!mutex.WaitOne(0, false))
                {
                    Process[] oldProcesses = Process.GetProcessesByName("Shadowsocks");
                    if (oldProcesses.Length > 0)
                    {
                        Process oldProcess = oldProcesses[0];
                    }
                    MessageBox.Show(I18N.GetString("Find Shadowsocks icon in your notify tray.") + "\n" +
                                    I18N.GetString("If you want to start multiple Shadowsocks, make a copy in another directory."),
                                    I18N.GetString("Shadowsocks is already running."));
                    return;
                }
                Directory.SetCurrentDirectory(Application.StartupPath);
#if !DEBUG
                Logging.OpenLogFile();
#endif
                //ShadowsocksController controller = new ShadowsocksController();

                //MenuViewController viewController = new MenuViewController(controller);

                //controller.Start();

                LoginForm loginForm = new LoginForm();
                if (loginForm.autologin)
                {
                    FunctionForm funcForm = new FunctionForm();
                    funcForm.Show();
                }
                else
                {
                    loginForm.Show();
                }

                Application.Run();
            }
        }
        public async Task <IActionResult> CreateFunction(int id, [Bind("ID, MethodName, DataType, CodeName, ParameterName")] Function function)
        {
            Function sendFunction = new Function();

            sendFunction.ID            = 1;
            sendFunction.CodeName      = function.CodeName;
            sendFunction.MethodName    = function.MethodName;
            sendFunction.DataType      = function.DataType;
            sendFunction.ParameterName = function.ParameterName;

            FunctionForm functionForm = new FunctionForm(function.MethodName, function.ParameterName, function.DataType);

            string inputs = JsonConvert.SerializeObject(sendFunction);

            ApiData apiData = new ApiData(function.ID, function.CodeName, inputs);

            if (ModelState.IsValid)
            {
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri("https://codetalkapi.azurewebsites.net/api/");
                    HttpResponseMessage response = await client.PostAsync(client.BaseAddress, new StringContent(inputs, Encoding.UTF8, "application/json"));

                    //HttpResponseMessage response = await client.GetAsync($"default/{id}");


                    var stringResult = await response.Content.ReadAsStringAsync();

                    Results rawSentence = JsonConvert.DeserializeObject <Results>(stringResult);

                    return(View("Index", new Results
                    {
                        ID = rawSentence.ID,
                        baseString = rawSentence.baseString,
                        Option = rawSentence.Option
                    }));
                }
            }
            else
            {
                return(null);
            }
        }
Example #6
0
        public void TestFunctionForm()
        {
            MessageBox.Show("Enter 'CP.1.4 Test' in the Name field");
            R2Function   function = new R2Function();
            FunctionForm form     = new FunctionForm();

            form.Show(function);
            Assert.AreEqual(R2Const.ST_FUNCTION, function.Stereotype);
            Assert.AreEqual("CP.1.4", function.FunctionId);
            Assert.AreEqual("CP.1.4", function.GetAlignId());
            Assert.AreEqual("CP.1.4", function.GetExtId());
            Assert.IsNull(function.RefId);
            Assert.IsNull(function.Id);
            Assert.AreEqual("CP.1.4 Test", function.Name);
            Assert.AreEqual("", function.Description);
            Assert.AreEqual("", function.ChangeNote);
            Assert.IsFalse(function.IsCompilerInstruction);
            Assert.IsNull(function.BaseElement);
        }
Example #7
0
        public void EvaluateWithOneForm()
        {
            Context           context = new Context();
            FunctionForm      form    = this.MakeForm("f(0) -> 1.");
            MultiFunctionForm mform   = new MultiFunctionForm(new FunctionForm[] { form });

            var result = mform.Evaluate(context);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(MultiFunction));

            var mfunc = (MultiFunction)result;

            Assert.IsNotNull(mfunc.Functions);
            Assert.AreEqual(1, mfunc.Functions.Count);

            var defined = context.GetValue("f/1");

            Assert.IsNotNull(defined);
            Assert.IsInstanceOfType(defined, typeof(MultiFunction));
            Assert.AreSame(mfunc, defined);
        }
Example #8
0
        public void DefineAndEvaluateFunction()
        {
            FunctionForm form    = new FunctionForm("add", new IExpression[] { new VariableExpression(new Variable("X")), new VariableExpression(new Variable("Y")) }, new AddExpression(new VariableExpression(new Variable("X")), new VariableExpression(new Variable("Y"))));
            Context      context = new Context();

            var result = form.Evaluate(context);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(Function));

            var func = (Function)result;

            Assert.AreSame(func, context.GetValue("add/2"));

            var newcontext = func.MakeContext(new object[] { 1, 2 });

            Assert.IsNotNull(newcontext);
            Assert.AreEqual(1, newcontext.GetValue("X"));
            Assert.AreEqual(2, newcontext.GetValue("Y"));

            Assert.AreSame(func, newcontext.GetValue("add/2"));

            Assert.AreEqual(3, func.Evaluate(newcontext));
        }
Example #9
0
        public void TestCIFunctionForm()
        {
            R2Function function = new R2Function()
            {
                FunctionId = "CP.1.4", Name = "CP.1.4 Test", ChangeNote = "CI ChangeNote"
            };

            function.IsCompilerInstruction = true;
            function.BaseElement           = new R2Function();
            FunctionForm form = new FunctionForm();

            form.Show(function);
            Assert.AreEqual(R2Const.ST_FUNCTION, function.Stereotype);
            Assert.AreEqual("CP.1.4", function.FunctionId);
            Assert.AreEqual("CP.1.4", function.GetAlignId());
            Assert.AreEqual("CP.1.4", function.GetExtId());
            Assert.IsNull(function.RefId);
            Assert.IsNull(function.Id);
            Assert.AreEqual("CP.1.4 Test", function.Name);
            Assert.AreEqual("", function.Description);
            Assert.AreEqual("", function.ChangeNote);
            Assert.IsFalse(function.IsCompilerInstruction);
            Assert.IsNull(function.BaseElement);
        }
Example #10
0
        // 添加函数
        private void button18_Click(object sender, EventArgs e)
        {
            FunctionForm addFunForm = new FunctionForm("新建函数");

            addFunForm.ShowDialog(this);
        }
Example #11
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                var debugIniDir  = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);
                var debugIniPath = debugIniDir + "\\Debug.ini";
                if (File.Exists(debugIniPath))
                {
                    string debugIniArgsStr = IniFileHelper.ReadIniString(debugIniPath, "setting", "args", "");
                    args = debugIniArgsStr.Split(' ');
                }
            }

            if (args.Length < 2)
            {
                goto End;
            }
            //# appArgStr format
            //appCode ^formTitle^commonParams^startPassword^usrCode^userPassword^usrToken^invisibleFlag ^ isRedirectedFlag

            //#ov-
            //# appArgStr = EncryptionHelper.SmDecrypt(args[0],EncryptionHelper.GlobalKey1,EncryptionHelper.GlobalKey2);
            var appArgStrArry = args[0].GetParamArray(true, false);

            var appCode          = appArgStrArry[0];
            var formTitle        = "";
            var commonParams     = "";
            var startPassword    = "";
            var usrCode          = "";
            var usrPassword      = "";
            var usrToken         = "";
            var invisibleFlag    = "";
            var isRedirectedFlag = "";

            if (appArgStrArry.Length > 1)
            {
                formTitle = appArgStrArry[1];
            }
            if (appArgStrArry.Length > 2)
            {
                commonParams = appArgStrArry[2];
            }
            if (appArgStrArry.Length > 3)
            {
                startPassword = appArgStrArry[3];
            }
            if (appArgStrArry.Length > 4)
            {
                usrCode = appArgStrArry[4];
            }
            if (appArgStrArry.Length > 5)
            {
                usrToken = appArgStrArry[5];
            }
            if (appArgStrArry.Length > 6)
            {
                usrPassword = appArgStrArry[6];
            }
            if (appArgStrArry.Length > 7)
            {
                invisibleFlag = appArgStrArry[7];
            }
            if (appArgStrArry.Length > 8)
            {
                isRedirectedFlag = appArgStrArry[8];
            }

            var passedCultureName = "";

            if (args.Length > 2)
            {
                passedCultureName = args[2];
            }

            try
            {
                ConsoleHelper.DisbleQuickEditMode();
                var startup          = new Startup(appCode);
                var appStartParamSet = startup.ApplicationStartParamSet;
                if (appStartParamSet.SupportMultiCultures)
                {
                    startup.SetCultures(passedCultureName.IsNullOrEmpty() ? appStartParamSet.DefaultCulture : passedCultureName);
                }
                CentralData.InitApplicationSettings(appCode, appStartParamSet.SupportMultiCultures, CultureHelper.DefaultLanguageCode, CultureHelper.CurrentLanguageCode, commonParams
                                                    , appStartParamSet.ApplicationLibDir, appStartParamSet.ApplicationDataDir, appStartParamSet.PhythonExecPath);
                BootStrapper.Init(appStartParamSet);
                appStartParamSet.Invisible = invisibleFlag;

                var winCnslArgStr = args[1];

                var winCnslArgStrArry = winCnslArgStr.GetParamArray(true, false);

                if (winCnslArgStrArry.Length < 1)
                {
                    goto End;
                }

                //## funcArgs format
                //startScenarioRelativeLocation^startScenarioProcessParams
                var startScenarioRelativeLocation = winCnslArgStrArry[0];
                if (FileHelper.IsAbsolutePath(startScenarioRelativeLocation))
                {
                    throw new ArgumentException("startScenarioRelativeLocation can't be an absolute path! ");
                }
                if (startScenarioRelativeLocation.StartsWith("~"))
                {
                    throw new ArgumentException("startScenarioRelativeLocation can't contain \"~\"! ");
                }

                var startScenarioProcessParams = "";
                if (winCnslArgStrArry.Length > 1)
                {
                    startScenarioProcessParams = winCnslArgStrArry[1];
                }

                startup.SetApplicationStartPolicy(startScenarioRelativeLocation);

                //##VerifyStartPassword
                if (appStartParamSet.VerifyPasswordAtStart)
                {
                    if (appStartParamSet.PasswordVerificationRule.IsNullOrEmpty())
                    {
                        throw new ArgumentException("PasswordVerificationRule in ApplicationSetting config file can not be empty! ");
                    }
                    if (!startPassword.IsNullOrEmpty())
                    {
                        if (!startup.VerifyStartPassword(false, appStartParamSet.PasswordVerificationRule, startPassword))
                        {
                            goto End;
                        }
                    }
                    else
                    {
                        if (!startup.VerifyStartPassword(true, appStartParamSet.PasswordVerificationRule, startPassword))
                        {
                            goto End;
                        }
                    }
                    Console.Clear();
                }

                //##set formInitParamSet
                var formInitParamSet = new FormInitParamSet();

                formInitParamSet.ArchitectureCode      = CentralData.ArchitectureCode;
                formInitParamSet.ArchitectureName      = CentralData.ArchitectureName;
                formInitParamSet.ArchitectureVersion   = CentralData.ArchitectureVersion;
                formInitParamSet.OrganizationCode      = CentralData.OrganizationCode;
                formInitParamSet.OrganizationShortName = CentralData.OrganizationShortName;
                formInitParamSet.OrganizationName      = CentralData.OrganizationName;

                formInitParamSet.InvisibleFlag      = appStartParamSet.Invisible;
                formInitParamSet.ApplicationCode    = appCode;
                formInitParamSet.ApplicationVersion = appStartParamSet.ApplicationVersion ?? "";

                formInitParamSet.StartScenarioRelativeLocation = startScenarioRelativeLocation;
                //formInitParamSet.StartCommonParams = startCommonParams; //? required? it can be get from CentralData
                formInitParamSet.StartScenarioProcessParams = startScenarioProcessParams;

                formInitParamSet.StartPassword        = startup.StartPassword;
                formInitParamSet.FormTitle            = formTitle;
                formInitParamSet.HelpdeskEmail        = appStartParamSet.HelpdeskEmail;
                formInitParamSet.SupportMultiCultures = appStartParamSet.SupportMultiCultures;
                formInitParamSet.IsRedirected         = isRedirectedFlag.ToLower() == "true" ? true : false;

                formInitParamSet.ApplicationLibDir  = appStartParamSet.ApplicationLibDir;
                formInitParamSet.ApplicationDataDir = appStartParamSet.ApplicationDataDir;
                formInitParamSet.ApplicationTempDir = appStartParamSet.ApplicationTempDir;

                formInitParamSet.RunBootStrapperTasksAtStart = appStartParamSet.RunBootStrapperTasksAtStart;
                formInitParamSet.HasCblpComponent            = appStartParamSet.HasCblpComponent;
                //var cblpDllPath = appStartParamSet.CblpDllPath;
                //if (!cblpDllPath.IsNullOrEmpty()) ApplicationAdapter.Init1(debug, cblpDllPath, appStartParamSet.CblpAdapterClassFullName);

                //##ShowSoftwareCover
                if (appStartParamSet.ShowSoftwareCoverAtStart)
                {
                    bool showSoftwareCover = isRedirectedFlag.ToLower() != "true";
                    if (showSoftwareCover)
                    {
                        var isOk = startup.ShowSoftwareCover(formInitParamSet);
                        if (!isOk)
                        {
                            goto End;
                        }
                    }
                }

                var logon = false;
                if (appStartParamSet.LogonAtStart)
                {
                    logon = true;
                }

                //##VerifyUserToken
                if (logon & !usrCode.IsNullOrEmpty() & !usrToken.IsNullOrEmpty())
                {
                    if (startup.VerifyUserToken(usrCode, usrToken))
                    {
                        logon = false;
                    }
                }

                //##VerifyUserPassword
                else if (logon & !usrCode.IsNullOrEmpty() & !usrPassword.IsNullOrEmpty())
                {
                    if (startup.VerifyUserPassword(usrCode, usrToken))
                    {
                        logon = false;
                    }
                }

                //##Logon
                if (logon)
                {
                    if (logon)
                    {
                        if (!startup.Logon(formInitParamSet))
                        {
                            goto End;
                        }
                    }
                }

                var form = new FunctionForm(formInitParamSet);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(EasyWinAppRes.PressAnyKeyToExit + " !");
                Console.ReadKey();
                ConsoleHelper.CloseConsole();
            }
            End :;
        }