Earthquake Posted July 19, 2006 Share Posted July 19, 2006 (edited) Hi Snipez, I want to create a combo, which gets it contents from a .ini file like this: Name of file: Scriptregister.ini [START] Count=3 Script1=App Exec1=c:\app.exe Script2=Appl Exec2=c:\appl.exe Script3=Apple Exec3=c:\apple.exe I can load the content of the .ini into the combo, thats not the problem. #include <GUIConstants.au3> $ScriptFilename=("C:\Scriptregister.ini") $CountTemplates = IniRead($ScriptFilename, "Start", "Count","1") for $i = 1 to $CountTemplates $ComboText = IniRead($ScriptFilename, "Start", "Script"& $i , $i) if ($i = 1) then $combo = GUICtrlCreateCombo ($ComboText , 32 , 2 , 200 , 25 , $CBS_DROPDOWNLIST) else GUICtrlSetData($combo, $ComboText) endif next How can I get the marked item of the .ini and start the application, which belongs to it??? I have no more ideas... P.S. Please no replies like "you're such a noob", I know I am and I'm simply asking for help! Edited July 19, 2006 by Earthquake Yes, I am a noob! But at least I try to learn!Moddingtech.de - Home of the german Modding-Scene! Link to comment Share on other sites More sharing options...
rakudave Posted July 20, 2006 Share Posted July 20, 2006 (edited) porbably the easiest way to do this is not to call the exe's "Execl1". take the name instead: [START] Count=3 Script1=App App=c:\app.exe Script2=Appl Appl=c:\appl.exe Script3=Apple Apple=c:\apple.exe then read the dir from the .ini, and run it: run(IniRead($ScriptFilename, "Start", GUICtrlRead($combo) , "") Edited July 20, 2006 by rakudave Pangaea Ruler new, UDF: _GUICtrlCreateContainer(), Pangaea Desktops, Pangaea Notepad, SuDoku, UDF: Table Link to comment Share on other sites More sharing options...
Earthquake Posted July 20, 2006 Author Share Posted July 20, 2006 And it works! Thank you, oh you gods of AutoIt programminggggg..... Yes, I am a noob! But at least I try to learn!Moddingtech.de - Home of the german Modding-Scene! Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted July 20, 2006 Moderators Share Posted July 20, 2006 EarthQuake, that avatar is a bit distasteful, my kids walk around me from time to time when I'm on my computer. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
Xenobiologist Posted July 20, 2006 Share Posted July 20, 2006 Hi, I had a quick & dirty solution for this: :"> #Include <GUIConstants.au3> #include <GuiCombo.au3> #include <Array.au3> $var = IniReadSection(@ScriptDir & "\scripts.ini", "start") If @error Then MsgBox(4096, "", "Error occurred, probably no INI file.") Global $a For $i=1 To $var[0][0] $a = $a & ($var[$i][0] & '|') Next GUICreate("My GUI") $combo = GUICtrlCreateCombo("Applications" , 32 , 2 , 200 , 25 , $CBS_DROPDOWNLIST) $start_B = GUICtrlCreateButton ("Start" , 32 , 200 , 200 , 25 ) GUICtrlSetData($combo, $a) GUISetState (@SW_SHOW) While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop Global $index = _GUICtrlComboGetCurSel($combo) If $msg = $start_B Then RunWait(@ComSpec & ' /c start ' & $var[$index][1], '', @SW_HIDE) Wend With this ini [START] App=c:\app.exe Appl=c:\appl.exe Apple=c:\apple.exe So long, Mega Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
Earthquake Posted July 20, 2006 Author Share Posted July 20, 2006 (edited) EarthQuake, that avatar is a bit distasteful, my kids walk around me from time to time when I'm on my computer. Ok, no problem, I'll change it! $Exec = IniRead($ScriptFilename, "Start", $combo,"") Select Case $MsgBoxAnswer = 6 run($Exec) Case $MsgBoxAnswer = 7 EndSelect Thats my code now and it works just fine. First I tried a while loop, to determine, wich number of the "Script" entry in the .ini is meant. <- Horrible! Edited July 20, 2006 by Earthquake Yes, I am a noob! But at least I try to learn!Moddingtech.de - Home of the german Modding-Scene! Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted July 20, 2006 Moderators Share Posted July 20, 2006 Ok, no problem, I'll change it! Thank you! Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
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