public void IsPalindrome_ShouldReturnTrueIfItIs() { bool expected = true; bool actual = Lingo.CheckIfPalindrome("a78087a"); Assert.Equal(expected, actual); }
public static int MyCallback(int pLingoEnv, int nReserved, IntPtr pMyData) { // Lingo callback function to display the current iteration count CallbackData cb = new CallbackData(); Marshal.PtrToStructure(pMyData, cb); int nIterations = -1, nErr; //回调函数 nErr = Lingo.LSgetCallbackInfoLng(pLingoEnv, Lingo.LS_IINFO_ITERATIONS_LNG, ref nIterations);// LS_IINFO_VARIABLES_NONLINEAR_LNG LS_IINFO_ITERATIONS_LNG if (nErr == Lingo.LSERR_NO_ERROR_LNG && nIterations != cb.nIterations) { cb.nIterations = nIterations; if (nIterations % 100 == 0) { Console.WriteLine("Iteration count = {0}", nIterations); } } Marshal.StructureToPtr(cb, pMyData, true); return(0); }
private void translationChanged(Translation tr) { Lingo.TranslateControl(this, tr.ChoosePlayerName); lblPrompt.Text = tr.Mainform_ChooseName_FirstRun; btnOK.Text = tr.Dialogs_btnOK; btnCancel.Text = tr.Dialogs_btnCancel; }
public string GetResult() { for (int i = 999; i > 99; i--) { for (int j = 999; j > 99 - 1; j--) { int product = (i * j); if (Lingo.CheckIfPalindrome(product.ToString())) { palindromes.Add(product); } } } if (palindromes.Count() > 0) { palindromes.Sort(); palindromes.Reverse(); return(palindromes.ElementAt(0).ToString()); } else { return(string.Empty); } }
public static void ExecuteScript(String filename, String settingsFileName) { unsafe { var text = new StringBuilder("set echoin 1 \n"); if (settingsFileName != null) { using (StreamReader streamReader = new StreamReader(settingsFileName)) { text.Append("\n" + streamReader.ReadToEnd() + "\n"); } } text.Append(" take " + filename + " \n go \n quit \n"); Console.WriteLine("Running lingo with commands: \n {0}", text); nError = Lingo.LSexecuteScriptLng(pLingoEnv, text.ToString()); //Lingo.LScloseLogFileLng(pLingoEnv); //// dSatus != (double)Lingo.LS_STATUS_GLOBAL_LNG //if (nError != 0) //{ // Console.WriteLine("Unable to solve!"); // CheckError(nError); //} //else //{ // Console.WriteLine("Profit: {0} \n", dObjective); //} } }
private void TrayMenu_Opening(object sender, CancelEventArgs e) { Lingo.TranslateControl(TrayMenu, Program.Tr.TrayMenu); if (Program.CurFile == null) { miCurrentFileName.Text = " " + Program.Tr.TrayForm.Title_NoFileOpen; miOpenInBrowser.Enabled = false; miReload.Enabled = false; miSettings.Enabled = false; miStartStopServer.Enabled = false; } else { miCurrentFileName.Text = " " + Program.CurFile.FileNameOnly; miOpenInBrowser.Enabled = true; miReload.Enabled = true; miSettings.Enabled = true; miStartStopServer.Enabled = true; } miStartStopServer.Text = Program.Interface.ServerRunning ? Program.Tr.TrayForm.miStartStop_Stop : Program.Tr.TrayForm.miStartStop_Start; miOpenRecent.DropDownItems.Clear(); foreach (var filename in Program.Settings.RecentFiles) { miOpenRecent.DropDownItems.Add(filename, null, miOpenRecent_Click); } }
private static void PostBuildCheck(IPostBuildReporter rep) { Lingo.PostBuildStep <Translation>(rep, Assembly.GetExecutingAssembly()); Classify.PostBuildStep <Settings>(rep); Classify.PostBuildStep <Style>(rep); Classify.PostBuildStep <GameVersionConfig>(rep); }
/// <summary>Constructor.</summary> public HighscoresForm() : base(Program.Settings.HighscoresFormSettings) { InitializeComponent(); Lingo.TranslateControl(this, Program.Tr.Highscores); btnOK.Text = Program.Tr.Dialogs_btnOK; }
public void IsPalindrome_ShouldReturnTrueIfItIsNot() { bool expected = false; bool actual = Lingo.CheckIfPalindrome("78sdfssaa!3s87"); Assert.Equal(expected, actual); }
internal void Translate() { Lingo.TranslateControl(this, Program.Tr.TrayForm); Lingo.TranslateControl(TrayMenu, Program.Tr.TrayMenu); dlgOpenFile.Title = Program.Tr.TrayForm.dlgOpenFile_Title; dlgOpenFile.Filter = Program.Tr.TrayForm.dlgFile_Filter; dlgSaveFile.Title = Program.Tr.TrayForm.dlgSaveFile_Title; dlgSaveFile.Filter = Program.Tr.TrayForm.dlgFile_Filter; }
/// <summary>Main constructor.</summary> public AboutBox() { InitializeComponent(); Lingo.TranslateControl(this, Program.Tr.AboutBox); lblProductName.Text = AssemblyProduct; lblVersion.Text = Program.Tr.AboutBox.Version.Fmt(Ut.VersionOfExe()); lblCopyright.Text = AssemblyCopyright; btnOK.Text = Program.Tr.Dialogs_btnOK; }
public static void CleanUp() { //close log file Lingo.LScloseLogFileLng(pLingoEnv); //delete environment log Lingo.LSdeleteEnvLng(pLingoEnv); Console.WriteLine("byebye Zhonghua!"); }
public BulkSaveSettingsWindow(WotContext context, Style style) : this() { MainWindow.ApplyUiZoom(this); Title = App.Translation.BulkSaveSettingsWindow.Title; Lingo.TranslateWindow(this, App.Translation.BulkSaveSettingsWindow); ContentRendered += InitializeEverything; _context = context; _style = style; }
private void translationChanged(Translation translation) { Program.Settings.Language = translation.Language; Program.Tr = translation; Lingo.TranslateControl(this, Program.Tr.Mainform); Lingo.TranslateControl(mnuContext, Program.Tr.Context); lstLevels.RefreshItems(); if (ctMainArea.State == MainAreaState.Solved) { ctMainArea.Refresh(); } Program.Settings.SaveThreaded(); }
public Tegneserie(JoyRomeo romeo, Form1 form) { form1 = form; børnemuseum = new Lingo(new Børneleg(form1).passMeTheSugar(320), new Børnetid(new Afmagt(700.0, 440f, form), form1), 350, form1); juklas = romeo.partyTime(); jongo = romeo; if (form1.junkie.Next(1) == 0) { new Afmagt(200.0, 5000f, form1).buildUP(300); } new Børnetid(new Afmagt(100.0, 1600f, form1), form1).bolMe(form1.junkie.Next(200)); form1.BlackStrangeSpellOut(200); }
public PathTemplateWindow(string value, WotContext context, Style style, SaveType saveType) : this() { MainWindow.ApplyUiZoom(this); Title = App.Translation.PathTemplateWindow.Title; Lingo.TranslateWindow(this, App.Translation.PathTemplateWindow); _context = context; _style = style; _saveType = saveType; ctValue.Text = value; ctValue.Focus(); ctValue_TextChanged(null, null); var isAtlas = saveType != SaveType.Icons; if (isAtlas) { ctIconsPathMacro.Text = "{AtlasPath}"; for (int i = 4; i <= 9; ++i) { var row = this.ctHelpGrid.RowDefinitions[i]; row.Height = new GridLength(0); } } else { _exampleTank = context.Tanks.FirstOrDefault(x => x.TankId.Contains("Object_260")); if (_exampleTank == null) { _exampleTank = context.Tanks.FirstOrDefault(); } } ctIconsPathHelp.Text = isAtlas ? ctIconsPathHelp.Text.Replace("{cur}", Ut.ExpandIconPath("{AtlasPath}", _context, _style, "", "", fragment: true)) : ctIconsPathHelp.Text.Replace("{cur}", Ut.ExpandIconPath("{IconsPath}", _context, _style, "", "", fragment: true)); ctTimPathHelp.Text = ctTimPathHelp.Text.Replace("{cur}", Ut.ExpandIconPath("{TimPath}", _context, _style, "", "", fragment: true)); ctGamePathHelp.Text = ctGamePathHelp.Text.Replace("{cur}", Ut.ExpandIconPath("{GamePath}", _context, _style, "", "", fragment: true)); ctGameVersionHelp.Text = ctGameVersionHelp.Text.Replace("{cur}", Ut.ExpandIconPath("{GameVersion}", _context, _style, "", "", fragment: true)); ctStyleNameHelp.Text = ctStyleNameHelp.Text.Replace("{cur}", Ut.ExpandIconPath("{StyleName}", _context, _style, "", "", fragment: true)); ctStyleAuthorHelp.Text = ctStyleAuthorHelp.Text.Replace("{cur}", Ut.ExpandIconPath("{StyleAuthor}", _context, _style, "", "", fragment: true)); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Ut.RunMain(() => { SettingsUtil.LoadSettings(out Settings); Tr = Lingo.LoadTranslationOrDefault <Translation>("AccountsWeb", ref Settings.Language); Interface = new WebInterface(); TrayForm = new TrayForm(); if (Settings.LastFileName != null) { OpenFile(Settings.LastFileName); } #if DEBUG var defaultTr = new Translation(); using (var tempConfigForm = new ConfigForm(new GncFileWrapper())) using (var g = new Lingo.TranslationFileGenerator(PathUtil.AppPathCombine("../../users/rs/GnuCash/AccountsWeb/Translation.g.cs"))) { g.TranslateControl(TrayForm, defaultTr.TrayForm); g.TranslateControl(TrayForm.TrayMenu, defaultTr.TrayMenu); g.TranslateControl(tempConfigForm, defaultTr.Config); } #endif Application.Run(); Settings.Save(); }, excp => { var message = "\n" + "An internal error has occurred in RunLogged: "; foreach (var ex in excp.SelectChain(ex => ex.InnerException)) { message += "\n" + ex.GetType() + ": " + ex.Message; message += "\n" + ex.StackTrace; } DlgMessage.ShowError(message); }); }
static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Mutex m = null; try { m = new Mutex(true, "Global\\ExpSokMutex7FDC0158CF9E"); } catch { } SettingsUtil.LoadSettings(out Settings); #if DEBUG Lingo.AlsoSaveTranslationsTo = PathUtil.AppPathCombine(@"..\..\Src\Translations"); #endif Tr = Lingo.LoadTranslationOrDefault <Translation>("ExpSok", ref Settings.Language); Application.Run(new Mainform()); GC.KeepAlive(m); Settings.Save(); }
private static void InitLingo() { //create lingo environement pLingoEnv = Lingo.LScreateEnvLng(); if (pLingoEnv == 0) { Console.WriteLine("Unable to create Lingo environment.\n"); return; } //create and open lingo log int nError = Lingo.LSopenLogFileLng(pLingoEnv, "Lingo.log"); CheckError(nError); dSatus = -1.0; nPointersNow = -1; // Let Lingo know we have a callback function var cbd = new CallbackData(); var cb = new Lingo.typCallback(LngCallback.MyCallback); nError = Lingo.LSsetCallbackSolverLng(pLingoEnv, cb, cbd); CheckError(nError); //// Pointer to the solution dSatus code //nError = Lingo.LSsetPointerLng(pLingoEnv, ref dSatus, ref nPointersNow); //CheckError(nError); //// Point to dObjective, where Lingo will return the objective value //nError = Lingo.LSsetPointerLng(pLingoEnv, ref dObjective, ref nPointersNow); //CheckError(nError); //add license Lingo.LScreateEnvLicenseLng("lndlng12.lic", ref nError); }
public ChoosePlayerNameForm(FormType type, string defaultValue) : base(Program.Settings.ChoosePlayerNameFormSettings) { InitializeComponent(); Lingo.TranslateControl(this, Program.Tr.ChoosePlayerName); txtPlayerName.Text = defaultValue ?? ""; _type = type; switch (type) { case FormType.Standard: imgLanguage.Visible = false; cmbLanguage.Visible = false; lblPrompt.Text = Program.Tr.Mainform_ChooseName; break; case FormType.FirstRun: imgLanguage.Visible = true; cmbLanguage.Visible = true; lblPrompt.Text = Program.Tr.Mainform_ChooseName_FirstRun; break; case FormType.SolvedLevel: imgLanguage.Visible = false; cmbLanguage.Visible = false; lblPrompt.Text = Program.Tr.Mainform_ChooseName_SolvedLevel; break; default: throw new InvalidOperationException("562394"); } btnOK.Text = Program.Tr.Dialogs_btnOK; btnCancel.Text = Program.Tr.Dialogs_btnCancel; }
static int Main(string[] args) { // Configure Classify. This goes before the post-build check because it depends on it Classify.DefaultOptions = new ClassifyOptions() .AddTypeOptions(typeof(W.Color), new colorTypeOptions()) .AddTypeOptions(typeof(D.Color), new colorTypeOptions()) .AddTypeOptions(typeof(Filename), new filenameTypeOptions()) .AddTypeOptions(typeof(ObservableCollection <LayerBase>), new listLayerBaseOptions()) .AddTypeOptions(typeof(ObservableCollection <EffectBase>), new listEffectBaseOptions()); if (args.Length == 2 && args[0] == "--post-build-check") { return(RT.Util.Ut.RunPostBuildChecks(args[1], Assembly.GetExecutingAssembly())); } System.Windows.Forms.Application.EnableVisualStyles(); System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false); #if DEBUG CompositePath.Tests(); #endif Thread.CurrentThread.Name = "Main"; #if !DEBUG AppDomain.CurrentDomain.UnhandledException += (_, ea) => { bool copy = DlgMessage.ShowError(App.Translation.Error.ExceptionGlobal, App.Translation.Error.ErrorToClipboard_Copy, App.Translation.Error.ErrorToClipboard_OK) == 0; if (copy) { if (Ut.ClipboardSet(Ut.ExceptionToDebugString(ea.ExceptionObject))) { DlgMessage.ShowInfo(App.Translation.Error.ErrorToClipboard_Copied); } } }; #else var dummy = App.Translation.Error.ExceptionGlobal; // to keep Lingo happy that the string is used var dummy2 = new StringBuilder(); // to keep the "using" clause used #endif // Find all the layer and effect types in the assembly (required before settings are loaded) App.LayerTypes = findTypes <LayerBase>("layer"); App.EffectTypes = findTypes <EffectBase>("effect"); // Load all settings SettingsUtil.LoadSettings(out App.Settings); UpdateSettingsIfNecessary(); // Guess the language if the OS language has changed (or this is the first run) var osLingo = Ut.GetOsLanguage(); if (App.Settings.OsLingo != osLingo) { App.Settings.OsLingo = App.Settings.Lingo = osLingo; } // Load translation App.Translation = Lingo.LoadTranslationOrDefault <Translation>("TankIconMaker", ref App.Settings.Lingo); // Run the UI var app = new App(); app.InitializeComponent(); app.Run(); // Save settings upon exit, even though they should be saved on every change anyway App.Settings.SaveQuiet(); return(0); }
private void translate() { Lingo.TranslateControl(this, Program.Tr.Config); }
public static extern int LSsetCallbackSolverLng(int pLingoEnv, Lingo.typCallback pSolverCallbackFunction, [MarshalAs(UnmanagedType.AsAny)] object pMyData);
/// <summary> /// Constructor. Constructs the main form for the application. /// </summary> public Mainform() : base(Program.Settings.MainFormSettings) { InitializeComponent(); mnuMain.Renderer = new NativeToolStripRenderer(); mnuContext.Renderer = new NativeToolStripRenderer(); #if DEBUG // Auto-generate the translation classes for automated form translation using (var generator = new Lingo.TranslationFileGenerator(@"..\..\main\ExpSok\Translation.g.cs")) { using (var form = new AboutBox(false)) generator.TranslateControl(form, Program.Tr.AboutBox); using (var form = new HighscoresForm(false)) generator.TranslateControl(form, Program.Tr.Highscores); using (var form = new ChoosePlayerNameForm(false)) generator.TranslateControl(form, Program.Tr.ChoosePlayerName); generator.TranslateControl(this, Program.Tr.Mainform); generator.TranslateControl(mnuContext, Program.Tr.Context); } #else Lingo.TranslateControl(this, Program.Tr.Mainform); Lingo.TranslateControl(mnuContext, Program.Tr.Context); #endif _translationHelper = new LanguageHelperWinForms <Translation>("Expert Sokoban", "ExpSok", Program.TranslationEnabled, Program.Settings.TranslationFormSettings, Icon, () => Program.Tr.Language); _translationHelper.TranslationChanged += translationChanged; _translationHelper.MakeLanguageMenu(mnuOptionsChangeLanguage); // Restore saved settings mnuOptionsPlayingToolbar.Checked = Program.Settings.DisplayPlayingToolbar; mnuOptionsFileToolbars.Checked = Program.Settings.DisplayFileToolbars; mnuOptionsEditLevelToolbar.Checked = Program.Settings.DisplayEditLevelToolbar; ctStatusBar.Visible = mnuOptionsStatusBar.Checked = Program.Settings.DisplayStatusBar; grpMovePathOptions.SetValue(Program.Settings.MoveDrawMode); grpPushPathOptions.SetValue(Program.Settings.PushDrawMode); grpEditTool.SetValue(Program.Settings.LastUsedTool); mnuOptionsEndPos.Checked = ctMainArea.ShowEndPos = Program.Settings.ShowEndPos; mnuOptionsAreaSokoban.Checked = ctMainArea.ShowAreaSokoban = Program.Settings.ShowAreaSokoban; mnuOptionsAreaPiece.Checked = ctMainArea.ShowAreaPiece = Program.Settings.ShowAreaPiece; mnuOptionsSound.Checked = ctMainArea.SoundEnabled = Program.Settings.SoundEnabled; mnuOptionsAnimation.Checked = ctMainArea.AnimationEnabled = Program.Settings.AnimationEnabled; mnuOptionsLetterControl.Checked = ctMainArea.LetteringEnabled = Program.Settings.LetteringEnabled; if (string.IsNullOrWhiteSpace(Program.Settings.PlayerName)) { Program.Settings.PlayerName = ChoosePlayerNameForm.GetPlayerName(ChoosePlayerNameForm.FormType.FirstRun, "", _translationHelper); } // Restore the last used level file try { lstLevels.LoadLevelPack(Program.Settings.LevelFilename); } catch { lstLevels.NewList(); lstLevels.AddLevelListItem(SokobanLevel.TestLevel); lstLevels.Modified = false; } showLevelList(Program.Settings.DisplayLevelList); lstLevels.PlayFirstUnsolved(); updateControls(); // ManagedForm sets the form's Font in the Load event. This potentially changes the width of the level list, which in turn causes its Resize event, which in turn updates Program.Settings.LevelListWidth. // To work around this, remember the width from the settings file and defer setting the level list's width until the Load event. int levelListWidth = Program.Settings.LevelListWidth < 50 ? 50 : Program.Settings.LevelListWidth; Load += (s, e) => pnlLevelList.Width = levelListWidth; }