Rijswijker Posted August 8, 2015 Posted August 8, 2015 (edited) Hi,Is it possible to reduce the code below?What I do now is keep repeating the same code, when creating the GUI, I always count 25 pixels down for the next line.When create the TraceLevels.properties file I check whether it meets the conditions, if not i set the tracelevel to default 0. (Checking user input)I am now 300+ lines of codes further and actually have i have nothing done yet.Later when the script is finally off and I continue this way I'm on the thousands of lines of code. That is not what i want.Is it possible to create a function with an Array or something like that for doing the same?And what is the best way to read TraceLevels.properties without doing the same thing multiple times? (Read the values of the TraceLevels.properties file and write the values to the correct inputbox).expandcollapse popup#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <FileConstants.au3> #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> #include <Array.au3> #include <File.au3> #include <MsgBoxConstants.au3> Local $traceLevels[] = ['MAIN', 'EMMAIN', 'KEYDETECTOR', 'PRINTATHOME', 'OEMREADER', 'BARRIER', 'CODER', 'IO', 'SCREEN', 'SIOPORT', 'SERIALPORT', 'USB', 'THREADING', 'TIMER', 'ETHERNET', 'SERVICETOOL', 'SDSERIAL'] ;~ _ArrayDisplay($traceLevels) #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("SET TRACE LEVELS", 300, 495, 1064, 450) $Label1 = GUICtrlCreateLabel("MAIN", 10, 15, 150, 17) Local $MAIN = GUICtrlCreateInput("0", 150, 13, 35, 20) $Level1 = GUICtrlCreateUpdown($MAIN) GUICtrlSetLimit($Level1, 8, 0) $Label2 = GUICtrlCreateLabel("EMMAIN", 10, 40, 150, 17) Local $EMMAIN = GUICtrlCreateInput("0", 150, 37, 35, 20) $Level2 = GUICtrlCreateUpdown($EMMAIN) GUICtrlSetLimit($Level2, 8, 0) $Label3 = GUICtrlCreateLabel("KEYDETECTOR", 10, 65, 150, 17) Local $KEYDETECTOR = GUICtrlCreateInput("0", 150, 62, 35, 20) $Level3 = GUICtrlCreateUpdown($KEYDETECTOR) GUICtrlSetLimit($Level3, 8, 0) $Label4 = GUICtrlCreateLabel("PRINTATHOME", 10, 90, 150, 17) Local $PRINTATHOME = GUICtrlCreateInput("0", 150, 87, 35, 20) $Level4 = GUICtrlCreateUpdown($PRINTATHOME) GUICtrlSetLimit($Level4, 8, 0) $Label5 = GUICtrlCreateLabel("OEMREADER", 10, 115, 150, 17) Local $OEMREADER = GUICtrlCreateInput("0", 150, 112, 35, 20) $Level5 = GUICtrlCreateUpdown($OEMREADER) GUICtrlSetLimit($Level5, 8, 0) $Label6 = GUICtrlCreateLabel("BARRIER", 10, 140, 150, 17) Local $BARRIER = GUICtrlCreateInput("0", 150, 137, 35, 20) $Level6 = GUICtrlCreateUpdown($BARRIER) GUICtrlSetLimit($Level6, 8, 0) $Label7 = GUICtrlCreateLabel("CODER", 10, 165, 150, 17) Local $CODER = GUICtrlCreateInput("0", 150, 163, 35, 20) $Level7 = GUICtrlCreateUpdown($CODER) GUICtrlSetLimit($Level7, 8, 0) $Label8 = GUICtrlCreateLabel("IO", 10, 190, 150, 17) Local $IO = GUICtrlCreateInput("0", 150, 187, 35, 20) $Level8 = GUICtrlCreateUpdown($IO) GUICtrlSetLimit($Level8, 8, 0) $Label9 = GUICtrlCreateLabel("SCREEN", 10, 215, 150, 17) Local $SCREEN = GUICtrlCreateInput("0", 150, 212, 35, 20) $Level9 = GUICtrlCreateUpdown($SCREEN) GUICtrlSetLimit($Level9, 8, 0) $Label10 = GUICtrlCreateLabel("SIOPORT", 10, 240, 150, 17) Local $SIOPORT = GUICtrlCreateInput("0", 150, 237, 35, 20) $Level10 = GUICtrlCreateUpdown($SIOPORT) GUICtrlSetLimit($Level10, 8, 0) $Label11 = GUICtrlCreateLabel("SERIALPORT", 10, 265, 150, 17) Local $SERIALPORT = GUICtrlCreateInput("0", 150, 262, 35, 20) $Level11 = GUICtrlCreateUpdown($SERIALPORT) GUICtrlSetLimit($Level11, 8, 0) $Label12 = GUICtrlCreateLabel("USB", 10, 290, 150, 17) Local $USB = GUICtrlCreateInput("0", 150, 287, 35, 20) $Level12 = GUICtrlCreateUpdown($USB) GUICtrlSetLimit($Level12, 8, 0) $Label13 = GUICtrlCreateLabel("THREADING", 10, 315, 150, 17) Local $THREADING = GUICtrlCreateInput("0", 150, 312, 35, 20) $Level13 = GUICtrlCreateUpdown($THREADING) GUICtrlSetLimit($Level13, 8, 0) $Label14 = GUICtrlCreateLabel("TIMER", 10, 340, 150, 17) Local $TIMER = GUICtrlCreateInput("0", 150, 337, 35, 20) $Level14 = GUICtrlCreateUpdown($TIMER) GUICtrlSetLimit($Level14, 8, 0) $Label15 = GUICtrlCreateLabel("ETHERNET", 10, 365, 150, 17) Local $ETHERNET = GUICtrlCreateInput("0", 150, 362, 35, 20) $Level15 = GUICtrlCreateUpdown($ETHERNET) GUICtrlSetLimit($Level15, 8, 0) $Label16 = GUICtrlCreateLabel("SERVICETOOL", 10, 390, 150, 17) Local $SERVICETOOL = GUICtrlCreateInput("0", 150, 387, 35, 20) $Level16 = GUICtrlCreateUpdown($SERVICETOOL) GUICtrlSetLimit($Level16, 8, 0) $Label17 = GUICtrlCreateLabel("SDSERIAL", 10, 415, 150, 17) Local $SDSERIAL = GUICtrlCreateInput("0", 150, 413, 35, 20) $Level17 = GUICtrlCreateUpdown($SDSERIAL) GUICtrlSetLimit($Level17, 8, 0) $Label18 = GUICtrlCreateLabel("MAX TRACE FILE COUNT", 10, 440, 150, 17) Local $MAX_TRACE_FILE_COUNT = GUICtrlCreateInput("0", 150, 437, 35, 20) $Level18 = GUICtrlCreateUpdown($MAX_TRACE_FILE_COUNT) GUICtrlSetLimit($Level18, 9, 1) $Label19 = GUICtrlCreateLabel("MAX TRACE FILE SIZE", 10, 465, 150, 17) Local $MAX_TRACE_FILE_SIZE = GUICtrlCreateInput("0", 150, 462, 35, 20) $Level19 = GUICtrlCreateUpdown($MAX_TRACE_FILE_SIZE) GUICtrlSetLimit($Level19, 4, 1) $Button1 = GUICtrlCreateButton("Get current", 206, 11, 83, 21) $Button2 = GUICtrlCreateButton("Set tracelevels", 206, 37, 83, 21) $Button3 = GUICtrlCreateButton("Set all to 0", 206, 63, 83, 21) $Button4 = GUICtrlCreateButton("Set all to 8", 206, 89, 83, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 ;~ Get current tracelevels Local $aArray = 0 If Not _FileReadToArray(@ScriptDir & "\TraceLevels.properties", $aArray, 0, '=') Then MsgBox($MB_SYSTEMMODAL, "", "There was an error reading the file. @error: " & @error) ; An error occurred reading the current script file. EndIf ; Display the array in _ArrayDisplay. _ArrayDisplay($aArray) Case $Button2 ;~ Set tracelevels setTraceLevels8() Case $Button3 ;~ Set all tracelevels to 0 Case $Button4 ;~ Set all tracelevels to 8 EndSwitch WEnd Func setTraceLevels8() Local const $sFilePath = @ScriptDir & "\TraceLevels.properties" FileDelete($sFilePath) Local $hFileOpen = FileOpen($sFilePath, $FO_APPEND) If $hFileOpen = -1 Then MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.") EndIf Switch GUICtrlRead($MAIN) Case 1 to 8 FileWriteLine($hFileOpen, "MAIN=" & GUICtrlRead($MAIN)) ConsoleWrite("MAIN=" & GUICtrlRead($MAIN)) Case Else FileWriteLine($hFileOpen, "MAIN=0") ConsoleWrite("MAIN=0") EndSwitch Switch GUICtrlRead($EMMAIN) Case 1 to 8 FileWriteLine($hFileOpen, "EMMAIN=" & GUICtrlRead($EMMAIN)) ConsoleWrite("EMMAIN=" & GUICtrlRead($EMMAIN)) Case Else FileWriteLine($hFileOpen, "EMMAIN=0") ConsoleWrite("EMMAIN=0") EndSwitch Switch GUICtrlRead($KEYDETECTOR) Case 1 to 8 FileWriteLine($hFileOpen, "KEYDETECTOR=" & GUICtrlRead($KEYDETECTOR)) ConsoleWrite("KEYDETECTOR=" & GUICtrlRead($KEYDETECTOR)) Case Else FileWriteLine($hFileOpen, "KEYDETECTOR=0") ConsoleWrite("KEYDETECTOR=0") EndSwitch Switch GUICtrlRead($PRINTATHOME) Case 1 to 8 FileWriteLine($hFileOpen, "PRINTATHOME=" & GUICtrlRead($PRINTATHOME)) ConsoleWrite("PRINTATHOME=" & GUICtrlRead($PRINTATHOME)) Case Else FileWriteLine($hFileOpen, "PRINTATHOME=0") ConsoleWrite("PRINTATHOME=0") EndSwitch Switch GUICtrlRead($OEMREADER) Case 1 to 8 FileWriteLine($hFileOpen, "OEMREADER=" & GUICtrlRead($OEMREADER)) ConsoleWrite("OEMREADER=" & GUICtrlRead($OEMREADER)) Case Else FileWriteLine($hFileOpen, "OEMREADER=0") ConsoleWrite("OEMREADER=0") EndSwitch Switch GUICtrlRead($BARRIER) Case 1 to 8 FileWriteLine($hFileOpen, "BARRIER=" & GUICtrlRead($BARRIER)) ConsoleWrite("BARRIER=" & GUICtrlRead($BARRIER)) Case Else FileWriteLine($hFileOpen, "BARRIER=0") ConsoleWrite("BARRIER=0") EndSwitch Switch GUICtrlRead($CODER) Case 1 to 8 FileWriteLine($hFileOpen, "CODER=" & GUICtrlRead($CODER)) ConsoleWrite("CODER=" & GUICtrlRead($CODER)) Case Else FileWriteLine($hFileOpen, "CODER=0") ConsoleWrite("CODER=0") EndSwitch Switch GUICtrlRead($IO) Case 1 to 8 FileWriteLine($hFileOpen, "IO=" & GUICtrlRead($IO)) ConsoleWrite("IO=" & GUICtrlRead($IO)) Case Else FileWriteLine($hFileOpen, "IO=0") ConsoleWrite("IO=0") EndSwitch Switch GUICtrlRead($SCREEN) Case 1 to 8 FileWriteLine($hFileOpen, "SCREEN=" & GUICtrlRead($SCREEN)) ConsoleWrite("SCREEN=" & GUICtrlRead($SCREEN)) Case Else FileWriteLine($hFileOpen, "SCREEN=0") ConsoleWrite("SCREEN=0") EndSwitch Switch GUICtrlRead($SIOPORT) Case 1 to 8 FileWriteLine($hFileOpen, "SIOPORT=" & GUICtrlRead($SIOPORT)) ConsoleWrite("SIOPORT=" & GUICtrlRead($SIOPORT)) Case Else FileWriteLine($hFileOpen, "SIOPORT=0") ConsoleWrite("SIOPORT=0") EndSwitch Switch GUICtrlRead($SERIALPORT) Case 1 to 8 FileWriteLine($hFileOpen, "SERIALPORT=" & GUICtrlRead($SERIALPORT)) ConsoleWrite("SERIALPORT=" & GUICtrlRead($SERIALPORT)) Case Else FileWriteLine($hFileOpen, "SERIALPORT=0") ConsoleWrite("SERIALPORT=0") EndSwitch Switch GUICtrlRead($USB) Case 1 to 8 FileWriteLine($hFileOpen, "USB=" & GUICtrlRead($USB)) ConsoleWrite("USB=" & GUICtrlRead($USB)) Case Else FileWriteLine($hFileOpen, "USB=0") ConsoleWrite("USB=0") EndSwitch Switch GUICtrlRead($THREADING) Case 1 to 8 FileWriteLine($hFileOpen, "THREADING=" & GUICtrlRead($THREADING)) ConsoleWrite("THREADING=" & GUICtrlRead($THREADING)) Case Else FileWriteLine($hFileOpen, "THREADING=0") ConsoleWrite("THREADING=0") EndSwitch Switch GUICtrlRead($TIMER) Case 1 to 8 FileWriteLine($hFileOpen, "TIMER=" & GUICtrlRead($TIMER)) ConsoleWrite("TIMER=" & GUICtrlRead($TIMER)) Case Else FileWriteLine($hFileOpen, "TIMER=0") ConsoleWrite("TIMER=0") EndSwitch Switch GUICtrlRead($ETHERNET) Case 1 to 8 FileWriteLine($hFileOpen, "ETHERNET=" & GUICtrlRead($ETHERNET)) ConsoleWrite("ETHERNET=" & GUICtrlRead($ETHERNET)) Case Else FileWriteLine($hFileOpen, "ETHERNET=0") ConsoleWrite("ETHERNET=0") EndSwitch Switch GUICtrlRead($SERVICETOOL) Case 1 to 8 FileWriteLine($hFileOpen, "SERVICETOOL=" & GUICtrlRead($SERVICETOOL)) ConsoleWrite("SERVICETOOL=" & GUICtrlRead($SERVICETOOL)) Case Else FileWriteLine($hFileOpen, "SERVICETOOL=0") ConsoleWrite("SERVICETOOL=0") EndSwitch Switch GUICtrlRead($SDSERIAL) Case 1 to 8 FileWriteLine($hFileOpen, "SDSERIAL=" & GUICtrlRead($SDSERIAL)) ConsoleWrite("SDSERIAL=" & GUICtrlRead($SDSERIAL)) Case Else FileWriteLine($hFileOpen, "SDSERIAL=0") ConsoleWrite("SDSERIAL=0") EndSwitch Switch GUICtrlRead($MAX_TRACE_FILE_COUNT) Case 1 to 9 FileWriteLine($hFileOpen, "MAX_TRACE_FILE_COUNT=" & GUICtrlRead($MAX_TRACE_FILE_COUNT)) ConsoleWrite("MAX_TRACE_FILE_COUNT=" & GUICtrlRead($MAX_TRACE_FILE_COUNT)) Case Else FileWriteLine($hFileOpen, "MAX_TRACE_FILE_COUNT=2") ConsoleWrite("MAX_TRACE_FILE_COUNT=2") EndSwitch Switch GUICtrlRead($MAX_TRACE_FILE_SIZE) Case 1 to 4 FileWriteLine($hFileOpen, "MAX_TRACE_FILE_SIZE=" & GUICtrlRead($MAX_TRACE_FILE_SIZE)) ConsoleWrite("MAX_TRACE_FILE_SIZE=" & GUICtrlRead($MAX_TRACE_FILE_SIZE)) Case Else FileWriteLine($hFileOpen, "MAX_TRACE_FILE_SIZE=1") ConsoleWrite("MAX_TRACE_FILE_SIZE=1") EndSwitch ; Close the handle returned by FileOpen. FileClose($hFileOpen) ; Display the contents of the file passing the filepath to FileRead instead of a handle returned by FileOpen. MsgBox($MB_SYSTEMMODAL, "", "Contents of the file:" & @CRLF & FileRead($sFilePath)) EndFunc# First Draft Local $traceLevels[] = ['MAIN', 'EMMAIN', 'KEYDETECTOR', 'PRINTATHOME', 'OEMREADER', 'BARRIER', 'CODER', 'IO', 'SCREEN', 'SIOPORT', 'SERIALPORT', 'USB', 'THREADING', 'TIMER', 'ETHERNET', 'SERVICETOOL', 'SDSERIAL'] Local $traceLevelMax = 8 ;~ minimum 0 Local $maxTraceFileSize = 4 ;~ minimum 1 Local $maxTraceFileCount = 9 ;~ minimum 1 Func createGUI() ... EndFunc Func setTraceLevels() ... EndFunc Func getTraceLevels() ... EndFunc Func setTraceLevelsto0() ... EndFunc Func setTraceLevelsto8() ... EndFunc # TraceLevels.Properties Example MAIN=0 EMMAIN=0 KEYDETECTOR=0 PRINTATHOME=0 OEMREADER=0 BARRIER=0 CODER=0 IO=0 SCREEN=0 SIOPORT=0 SERIALPORT=0 USB=0 THREADING=0 TIMER=0 ETHERNET=5 SERVICETOOL=0 SDSERIAL=0 MAX_TRACE_FILE_COUNT=2 MAX_TRACE_FILE_SIZE=1Thanks in advance,Sorry for my bad english.. Edited August 8, 2015 by Rijswijker Case $Button1 (Updated)
guinness Posted August 8, 2015 Posted August 8, 2015 Look into arrays, though maybe you should look at reading about DRY (don't repeat yourself). UDF List: Reveal hidden contents _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
Danyfirex Posted August 8, 2015 Posted August 8, 2015 As guinness says using array will be better. expandcollapse popup#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <FileConstants.au3> #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> #Region ### START Koda GUI section ### Form= Global $aoLabels[19],$aoInputs[19] $Form1 = GUICreate("SET TRACE LEVELS", 300, 495, 400, 450) Global $sFileProperties="TraceLevels.Properties" Local $sLine="" Local $sName="" For $i=0 to UBound($aoInputs)-1 $sLine=FileReadLine($sFileProperties,$i+2) $sName=StringMid($sLine,1,StringInStr($sLine,"=")-1) $aoLabels[$i] = GUICtrlCreateLabel($sName, 10, 15+(25*$i), 140, 17) $aoInputs[$i]= GUICtrlCreateInput("0", 150, 13+(25*$i), 35, 20) GUICtrlCreateUpdown($aoInputs[$i]) GUICtrlSetLimit(-1, 8, 0) Next $Button1 = GUICtrlCreateButton("Get current", 206, 11, 83, 21) $Button2 = GUICtrlCreateButton("Set tracelevels", 206, 37, 83, 21) $Button3 = GUICtrlCreateButton("Set all to 0", 206, 63, 83, 21) $Button4 = GUICtrlCreateButton("Set all to 8", 206, 89, 83, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 ;~ Get current tracelevels Case $Button2 ;~ Set tracelevels FileDelete($sFileProperties) FileWrite($sFileProperties,"# TraceLevels.Properties Example" & @CRLF) For $i=0 to UBound($aoInputs)-1 ConsoleWrite(GUICtrlRead($aoLabels[$i]) & "=" & GUICtrlRead($aoInputs[$i]) & @CRLF) FileWrite($sFileProperties,GUICtrlRead($aoLabels[$i]) & "=" & GUICtrlRead($aoInputs[$i]) & @CRLF) Next Case $Button3 ;~ Set all tracelevels to 0 Case $Button4 ;~ Set all tracelevels to 8 EndSwitch WEndSaludos Danysys.com AutoIt... Reveal hidden contents UDFs: VirusTotal API 2.0 UDF - libZPlay UDF - Apps: Guitar Tab Tester - VirusTotal Hash Checker Examples: Text-to-Speech ISpVoice Interface - Get installed applications - Enable/Disable Network connection PrintHookProc - WINTRUST - Mute Microphone Level - Get Connected NetWorks - Create NetWork Connection ShortCut
Rijswijker Posted August 8, 2015 Author Posted August 8, 2015 Thanks, it almost perfect!Only the line MAX_TRACE_FILE_COUNT is missing.I can't find the error...
Danyfirex Posted August 8, 2015 Posted August 8, 2015 Probably does not exist in tracelevels.properties file the code load from it. But you can rewrite better it's just an example. I think a better way should be declare your array of field as you've done in your fisrt post. Saludos Danysys.com AutoIt... Reveal hidden contents UDFs: VirusTotal API 2.0 UDF - libZPlay UDF - Apps: Guitar Tab Tester - VirusTotal Hash Checker Examples: Text-to-Speech ISpVoice Interface - Get installed applications - Enable/Disable Network connection PrintHookProc - WINTRUST - Mute Microphone Level - Get Connected NetWorks - Create NetWork Connection ShortCut
Rijswijker Posted August 8, 2015 Author Posted August 8, 2015 Thanks for your help, I'll figuring it out.
Rijswijker Posted August 8, 2015 Author Posted August 8, 2015 (edited) On 8/8/2015 at 7:20 PM, Danyfirex said: Probably does not exist in tracelevels.properties file the code load from it. But you can rewrite better it's just an example. I think a better way should be declare your array of field as you've done in your fisrt post. SaludosI am almost there where i want to be.The only problem is read-out the file and update the values in the input boxes (Get current button)expandcollapse popup#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <FileConstants.au3> #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> #include <Array.au3> #include <File.au3> Global $aoLabels[19],$aoInputs[19] Global $traceLevels[] = ['MAIN', 'EMMAIN', 'KEYDETECTOR', 'PRINTATHOME', 'OEMREADER', 'BARRIER', 'CODER', 'IO', 'SCREEN', 'SIOPORT', 'SERIALPORT', 'USB', 'THREADING', 'TIMER', 'ETHERNET', 'SERVICETOOL', 'SDSERIAL'] #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("SET TRACE LEVELS", 300, (UBound($traceLevels)*25)+70, 400, 450) Global $sFileProperties="TraceLevels.Properties" Local $sLine="" Local $sName="" For $i=0 to UBound($traceLevels)-1 $aoLabels[$i] = GUICtrlCreateLabel($traceLevels[$i], 10, 15+(25*$i), 140, 17) $aoInputs[$i]= GUICtrlCreateInput("0", 150, 13+(25*$i), 35, 20) GUICtrlCreateUpdown($aoInputs[$i]) GUICtrlSetLimit(-1, 8, 0) Next $fileCountLabel = GUICtrlCreateLabel("MAX_TRACE_FILE_COUNT", 10, 15+(25*$i), 150, 17) $fileCountInput = GUICtrlCreateInput("0", 150, 13+(25*$i), 35, 20) GUICtrlCreateUpdown($fileCountInput) GUICtrlSetLimit(-1, 9, 1) $fileSizeLabel = GUICtrlCreateLabel("MAX_TRACE_FILE_SIZE", 10, 40+(25*$i), 150, 17) $fileSizeInput = GUICtrlCreateInput("0", 150, 38+(25*$i), 35, 20) GUICtrlCreateUpdown($fileSizeInput) GUICtrlSetLimit(-1, 4, 1) $Button1 = GUICtrlCreateButton("Get current", 206, 11, 83, 21) $Button2 = GUICtrlCreateButton("Set tracelevels", 206, 37, 83, 21) $Button3 = GUICtrlCreateButton("Set all to 0", 206, 63, 83, 21) $Button4 = GUICtrlCreateButton("Set all to 8", 206, 89, 83, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 ;~ Get current tracelevels Local $aArray = 0 If Not _FileReadToArray(@ScriptDir & "\TraceLevels.properties", $aArray, 0, '=') Then MsgBox($MB_SYSTEMMODAL, "", "There was an error reading the file. @error: " & @error) ; An error occurred reading the current script file. EndIf ;~ GUICtrlSetData($MAIN, '3') ; Display the array in _ArrayDisplay. _ArrayDisplay($aArray) Case $Button2 ;~ Set tracelevels FileDelete($sFileProperties) FileWrite($sFileProperties,"# TraceLevels.Properties Example" & @CRLF) For $i=0 to UBound($traceLevels)-1 ConsoleWrite(GUICtrlRead($aoLabels[$i]) & "=" & GUICtrlRead($aoInputs[$i]) & @CRLF) FileWrite($sFileProperties,GUICtrlRead($aoLabels[$i]) & "=" & GUICtrlRead($aoInputs[$i]) & @CRLF) Next Case $Button3 ;~ Set all tracelevels to 0 FileDelete($sFileProperties) FileWrite($sFileProperties,"# TraceLevels.Properties Reset" & @CRLF) For $i=0 to UBound($traceLevels)-1 ConsoleWrite(GUICtrlRead($aoLabels[$i]) & "=0" & @CRLF) FileWrite($sFileProperties,GUICtrlRead($aoLabels[$i]) & "=0" & @CRLF) Next writeFileConditions() Case $Button4 ;~ Set all tracelevels to 8 FileDelete($sFileProperties) FileWrite($sFileProperties,"# TraceLevels.Properties Set all to 8" & @CRLF) For $i=0 to UBound($traceLevels)-1 ConsoleWrite(GUICtrlRead($aoLabels[$i]) & "=8" & @CRLF) FileWrite($sFileProperties,GUICtrlRead($aoLabels[$i]) & "=8" & @CRLF) Next writeFileConditions() EndSwitch WEnd Func writeFileConditions() Switch GUICtrlRead($fileCountInput) Case 1 to 9 FileWriteLine($sFileProperties, "MAX_TRACE_FILE_COUNT=" & GUICtrlRead($fileCountInput)) ConsoleWrite("MAX_TRACE_FILE_COUNT=" & GUICtrlRead($fileCountInput) & @CRLF) Case Else FileWriteLine($sFileProperties, "MAX_TRACE_FILE_COUNT=2") ConsoleWrite("MAX_TRACE_FILE_COUNT=2" & @CRLF) EndSwitch Switch GUICtrlRead($fileSizeInput) Case 1 to 4 FileWriteLine($sFileProperties, "MAX_TRACE_FILE_SIZE=" & GUICtrlRead($fileSizeInput)) ConsoleWrite("MAX_TRACE_FILE_SIZE=" & GUICtrlRead($fileSizeInput) & @CRLF) Case Else FileWriteLine($sFileProperties, "MAX_TRACE_FILE_SIZE=1") ConsoleWrite("MAX_TRACE_FILE_SIZE=1" & @CRLF) EndSwitch EndFuncNow i get an Array with the values, but how can i update the fields created by the script? ----- EDIT -----Problem SolvedCase $Button1 ;~ Get current tracelevels Local $aArray = 0 If Not _FileReadToArray(@ScriptDir & "\TraceLevels.properties", $aArray, 0, '=') Then MsgBox($MB_SYSTEMMODAL, "", "There was an error reading the file. @error: " & @error) ; An error occurred reading the current script file. EndIf For $i=0 to UBound($traceLevels)-1 $aoSearch = _ArraySearch($traceLevels, $traceLevels[$i], 0, 0, 0, 0, 1, 2) GUICtrlSetData($aoInputs[$aoSearch], $aArray[$i][1]) Next Case $Button2 ;~ Set tracelevels Edited August 8, 2015 by Rijswijker
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now