I have declared global variables in the beginning of the code, then i have a couple of functions like userSettings, saveSettings, loadSettings, setDefaultSettings etc that should access those global variables. But the can't. For some reason the variables remain untouched and everything the functions does is local and then discarded once it returns.
Why??
Code: Select all
#SingleInstance force
;initial variables
settingsfile = %A_MyDocuments%\csc_helper-user_settings.ini
paused := false
global FirstName
global LastName
global TeliaID
global PersonalCompanyEmail
global PersonalCompanyPhone
global CarrierCSCemail
global NCMemail
global PrimaryBrowserProcess
global OutlookProcess
global INCApassword
global INCApath
global INCAprocess
global CallguideProcess
global CallguidePath
checkForSettingsFile(settingsfile)
;************************************************************************************************************************
checkForSettingsFile(settingsfile){
IfExist, %settingsfile%
loadSettings(settingsfile)
else {
MsgBox,,CSC Helper Scripts - Settings not found, No user settings found. Click OK to create and open settings file.
FileAppend,, %settingsfile%
sleep, 500
setDefaultSettings(settingsfile)
sleep, 100
userSettings(settingsfile)
}
return
}
mainMenu(settingsfile){
global
Gui, New,, CSC Helper Scripts - Menu
Gui, Add, Button, x12 y140 w140 h40 , User Settings
Gui, Add, Button, x12 y190 w140 h40 , Help
Gui, Add, Button, x12 y240 w140 h40 , Exit CSC Helper Scripts
Gui, Show
Return
GuiClose:
Gui, Cancel
return
ButtonUserSettings:
Gui, Cancel
userSettings(settingsfile)
return
ButtonHelp:
Gui, Cancel
help()
return
ButtonExitCSCHelperScripts:
ExitApp
return
}
userSettings(settingsfile){
global
Gui, New,, CSC Helper Scripts - User settings
Gui, Add, Text,, Firstname
Gui, Add, Text,, Lastname
Gui, Add, Text,, Telia ID/Username
Gui, Add, Text,, Personal email address (Telia)
Gui, Add, Text,, Personal phone number (Telia)
Gui, Add, Text,, INCA-password
Gui, Add, Text,, CSC email address
Gui, Add, Text,, NCM email address
Gui, Add, Text,, Primary browser process
Gui, Add, Text, w200 0x10 ;Horizontal Line > Etched Gray
Gui, Add, Text,, Local path to INCA (Advanced setting)
Gui, Add, Text,, INCA process name (Advanced setting)
Gui, Add, Text,, Outlook process name (Advanced setting)
Gui, Add, Text,, Callguide process name (Advanced setting)
Gui, Add, Text,, Local path to Callguide (Advanced setting)
Gui, Add, Edit, ym w350 vFirstName, %FirstName%
Gui, Add, Edit, w350 vLastName, %LastName%
Gui, Add, Edit, w350 vTeliaID, %TeliaID%
Gui, Add, Edit, w350 vPersonalCompanyEmail, %PersonalCompanyEmail%
Gui, Add, Edit, w350 vPersonalCompanyPhone, %PersonalCompanyPhone%
Gui, Add, Edit, Password w350 vINCApassword, %INCApassword%
Gui, Add, Edit, w350 vCarrierCSCemail, %CarrierCSCemail%
Gui, Add, Edit, w350 vNCMemail, %NCMemail%
Gui, Add, ComboBox, w350 vPrimaryBrowserProcess, chrome.exe|firefox.exe|iexplore.exe|microsoftedge.exe|%PrimaryBrowserProcess%||
Gui, Add, Text, w350 0x10 ;Horizontal Line > Etched Gray
Gui, Add, Edit, w350 vINCApath, %INCApath%
Gui, Add, Edit, w350 vINCAprocess, %INCAprocess%
Gui, Add, Edit, w350 vOutlookProcess, %OutlookProcess%
Gui, Add, Edit, w350 vCallguideProcess, %CallguideProcess%
Gui, Add, Edit, w350 vCallguidePath, %CallguidePath%
Gui, Add, Button, Default, Apply
Gui, Add, Button,, Cancel
Gui, Show
Return
ButtonApply:
saveSettings(settingsfile)
Gui, Submit
Return
ButtonCancel:
Gui, Cancel
Return
}
loadSettings(settingsfile){
global
IniRead, FirstName, %settingsfile%, standard, FirstName
IniRead, LastName, %settingsfile%, standard, LastName
IniRead, TeliaID, %settingsfile%, standard, TeliaID
IniRead, PersonalCompanyEmail, %settingsfile%, standard, PersonalCompanyEmail
IniRead, PersonalCompanyPhone, %settingsfile%, standard, PersonalCompanyPhone
IniRead, INCApassword, %settingsfile%, standard, INCApassword
IniRead, PrimaryBrowserProcess, %settingsfile%, standard, PrimaryBrowserProcess
IniRead, CarrierCSCemail, %settingsfile%, standard, CarrierCSCemail
IniRead, NCMemail, %settingsfile%, standard, NCMemail
IniRead, INCApath, %settingsfile%, advanced, INCApath
IniRead, INCAprocess, %settingsfile%, advanced, INCAprocess
IniRead, OutlookProcess, %settingsfile%, advanced, OutlookProcess
IniRead, CallguideProcess, %settingsfile%, advanced, CallguideProcess
IniRead, CallguidePath, %settingsfile%, advanced, CallguidePath
TrayTip, CSC Helper Scripts, User settings loaded., 6, 1
return
}
saveSettings(settingsfile){
global
IniWrite, %FirstName%, %settingsfile%, standard, FirstName
IniWrite, %LastName%, %settingsfile%, standard, LastName
IniWrite, %TeliaID%, %settingsfile%, standard, TeliaID
IniWrite, %PersonalCompanyEmail%, %settingsfile%, standard, PersonalCompanyEmail
IniWrite, %PersonalCompanyPhone%, %settingsfile%, standard, PersonalCompanyPhone
IniWrite, %INCApassword%, %settingsfile%, standard, INCApassword
IniWrite, %PrimaryBrowserProcess%, %settingsfile%, standard, PrimaryBrowserProcess
IniWrite, %CarrierCSCemail%, %settingsfile%, standard, CarrierCSCemail
IniWrite, %NCMemail%, %settingsfile%, standard, NCMemail
IniWrite, %INCApath%, %settingsfile%, advanced, INCApath
IniWrite, %INCAprocess%, %settingsfile%, advanced, INCAprocess
IniWrite, %OutlookProcess%, %settingsfile%, advanced, OutlookProcess
IniWrite, %CallguideProcess%, %settingsfile%, advanced, CallguideProcess
IniWrite, %CallguidePath%, %settingsfile%, advanced, CallguidePath
MsgBox,,CSC Helper Scripts, User settings saved
Return
}
help(){
Msgbox, Help is not available right now. Please try another time, maybe next year.
return
}