#Include, func.ahk Menu, Tray, Icon, shell32.dll, 283 ;------------------------------------------------------------------------------ ; Read ini ;------------------------------------------------------------------------------ /* This is the part that reads the file to see what your settings are. Variables in the ini file are in CamelCase, variables here are lowercase for more distinction */ ; User Specific things: racf := ini_getValue(ini, "USpec", "RACF") email := ini_getValue(ini, "USpec", "Email") docfile := ini_getValue(ini, "USpec", "DocFile") ; General Settings mansol := ini_getValue(ini, "Main", "Mansol") mjdpaste := ini_getValue(ini, "Main", "MJDPaste") caseformatter := ini_getValue(ini, "Main", "CaseFormatter") ; Replacement jdpn := ini_getValue(ini, "Replacement", "JDProductNames") glovar := ini_getValue(ini, "Replacement", "GloVar") ; Language ger := ini_getValue(ini, "Language", "German") ; Info d3k_version := ini_getValue(ini, "Info", "Version") d3k_version := RTrim(d3k_version, "0") ; it was returning the value with appended zeroes, that's not neccesary. ;------------------------------------------------------------------------------ ; Create GUI ;------------------------------------------------------------------------------ Gui, -MaximizeBox -MinimizeBox ; Remove the max+min buttons Gui, Add, GroupBox, x8 y2 w67 h37, RACF Gui, Add, Edit, x12 y15 w60 h20 vformRACF gRACF, %RACF% Gui, Add, GroupBox, x8 y40 w207 h37, Email Address Gui, Add, Edit, x12 y53 w200 h20 vformEmail gEmail, %Email% Gui, Add, GroupBox, x77 y2 w207 h37, Documentation File Gui, Add, Text, x81 y19 w200 h20 gDocFile, %docfile% Gui, Add, GroupBox, x8 y83 w107 h105, Main Gui, Add, CheckBox, x12 y95 w100 h30 vformMansol Checked%mansol% gMansol, ManSol Gui, Add, CheckBox, x12 y125 w100 h30 vformMJDPaste Checked%mjdpaste% gMJDPaste, MJDPaste Gui, Add, CheckBox, x12 y155 w100 h30 vformCaseFormatter Checked%caseformatter% gCaseFormatter, Case Formatter Gui, Add, GroupBox, x128 y83 w157 h75, Text Replacement Gui, Add, CheckBox, x132 y95 w150 h30 vformJdpn Checked%jdpn% gJdpn, JD Product Names Gui, Add, CheckBox, x132 y125 w150 h30 vformGlovar Checked%glovar% gGlovar, Global Variables Gui, Add, CheckBox, x12 y187 w100 h30 vformGer Checked%ger% gGer, DE ([ as prefix) Gui, Add, Button, x132 y190 w150 h23 gHelp, Click here for help (v%d3k_version%) Gui, Show, h225 w295, David 3000 Settings Return ;------------------------------------------------------------------------------ ; Edit ini ;------------------------------------------------------------------------------ /* Default ini, sections are in []: [USpec] RACF=LF01234 Email=LastnameFirstname@JohnDeere.com DocFile= [Main] Mansol=1 MJDPaste=1 CaseFormatter=1 [Replacement] JDProductNames=1 GloVar=0 [Language] German=0 [Info] Version=2.5 format for below: Button G-label (executes when clicked): Submit the gui so that it can change and don't hide it write the state of the check box (a 0 for unchecked, 1 for checked), to the file at %ini%, section with this name, line with this name */ RACF: Gui, Submit, NoHide ini_writeValue(ini, "RACF", formRACF) Return Email: Gui, Submit, NoHide ini_writeValue(ini, "Email", formEmail) Return DocFile: Gui, Submit FileSelectFile, SelectedFile, 3, , Open a file, Text Documents (*.txt; *.doc) if SelectedFile = MsgBox, You have not selected a file, this will break some things. else ini_writeValue(ini, "DocFile", SelectedFile) docfile := ini_getValue(ini, "USpec", "DocFile") Gui, Show, h225 w295, David 3000 Settings Return Mansol: Gui, Submit, NoHide ini_writeValue(ini, "Mansol", formMansol) Return MJDPaste: Gui, Submit, NoHide ini_writeValue(ini, "MJDPaste", formMJDPaste) Return CaseFormatter: Gui, Submit, NoHide ini_writeValue(ini, "CaseFormatter", formCaseFormatter) Return Jdpn: Gui, Submit, NoHide ini_writeValue(ini, "JDProductNames", formJdpn) Return Glovar: Gui, Submit, NoHide ini_writeValue(ini, "GloVar", formGlovar) Return Ger: Gui, Submit, NoHide ini_writeValue(ini, "German", formGer) Return Help: Gui, Submit Run, https://daviddaily.dev/david/d3k/wiki Return GuiClose: GuiEscape: Run D3K.ahk ExitApp ; Closes the app when escape or the exit button is pressed