Hi. Ich bins wieder mit meinem altbekannten Programm, zu dem ich schon 2 oder 3 mal Hilfe gebraucht habe.
Diesmal hab ich ebenfalls keinen blassen Schimmer, wie ich das anstellen könnte bzw. steh voll aufm Schlauch
Es geht, wie oben im Titel ebschrieben, um die Stelle in der While 1-Schleife der GUI, die sich um die Combobox kümmert.
Hier der Quellcode:
Spoiler anzeigen
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=icon.ico
;#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Comment=AutoItstall
#AutoIt3Wrapper_Res_Description=Installationsmenü
#AutoIt3Wrapper_Res_Fileversion=0.0.0.1
#AutoIt3Wrapper_Res_Language=1031
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
AutoitSetOption("TrayIconHide" ,1)
[/autoit] [autoit][/autoit] [autoit]#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <GuiTab.au3>
#include <array.au3>
If(IniRead("settings.ini", "Einstellungen", "Hinweise", "ja")="ja") Then
MsgBox(48,"Wichtige Hinweise","1.) Sie sollten Hardwaretreiber vor der Software installieren! Die Hardwaretreiber finden Sie auf den Installationsmedien, die der Hardware beim Kauf beiliegen." & @CRLF & @CRLF & "2.) Sie sollten ihre Virenschutzsoftware während den automatische Installationen unbedingt deaktivieren! Es wird nur installiert und keine Anwendung gestartet. Überprüfen Sie gegebenenfalls nach Abschluss aller Installationen ihren Computer durch einen manuellen Suchvorgang nach Viren." & @CRLF & @CRLF & "3.) Es werden Administratorrechte benötigt, unter Windows Vista und neueren Windows-Betriebssystemen muss UAC (User Account Control) deaktiviert werden, dies kann nach diesem Hinweis über den Konfigurieren-Button rechts oben im Menü geschehen." & @CRLF & @CRLF & "4.) Während den automatischen Installationen sollten Sie nicht am Computer arbeiten!" & @CRLF & @CRLF & "5.) Nach Abschluss aller automatischen Installationen erfolgt ein automatischer Neustart.")
EndIf
Dim $onlineoffline
$ping = Ping("www.google.com")
If $ping > 0 then
$onlineoffline = "data\website_online.jpg"
Else
$onlineoffline = "data\website_offline.jpg"
EndIf
$Form2 = GUICreate("AutoItstall", 1024, 650, -1, -1)
$Pic15 = GUICtrlCreatePic("data\header.jpg", 0, 0, 174, 48)
;GUICtrlSetTip(-1, "Website im Browser öffnen")
GUICtrlSetCursor (-1, 0)
$Pic16 = GUICtrlCreatePic("data\background.jpg", 174, 0, 706, 48)
$Help = GUICtrlCreatePic("data\background_thin.jpg", 880, 0, 48, 48)
$About = GUICtrlCreatePic("data\about.jpg", 928, 0, 48, 48)
GUICtrlSetTip(-1, "Über dieses Programm")
GUICtrlSetCursor (-1, 4)
$Combo1 = GUICtrlCreateCombo("benutzerdefiniert", 648, 56, 369, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST))
$Label33 = GUICtrlCreateLabel("Fertige Zusammenstellung auswählen", 464, 61, 181, 17)
$Install_Markierte = GUICtrlCreateButton("Installiere markierte Software jetzt!", 8, 56, 193, 25)
$Settings = GUICtrlCreatePic("data\settings.jpg", 976, 0, 48, 48)
GUICtrlSetTip(-1, "Einstellungen")
GUICtrlSetCursor (-1, 0)
$PageControl1 = GUICtrlCreateTab(8, 88, 1012, 557)
GUICtrlSetFont(-1, 8, 400, 0, "MS Sans Serif")
$AnzKategorien=IniRead("settings.ini","Einstellungen","Kategorien","1")
$AnzZusammenstellungen=IniRead("settings.ini","Einstellungen","Zusammenstellungen","1")
; An Stelle [n][1] im Array steht ein Name, an Stelle [n+1][1] steht der Pfad zur Konfigurationsdatei, für alle ungeraden n.
$Kategorien=IniReadSection("settings.ini","Kategorien")
; An Stelle [n][1] im Array steht ein Name, an Stelle [n+1][1] steht die Auswahl der Daten
$tempZusammenstellungen=IniReadSection("settings.ini","Zusammenstellungen")
; Legt die Kategorien als Reiter-Array an.
Dim $TabSheetKategorien[($AnzKategorien*2)-1]
; Legt die in jedem Reiter vorhandenen Elemente an...
Dim $AktuellBildBox[$AnzKategorien]
Dim $AktuellBild[$AnzKategorien]
Dim $Software[$AnzKategorien]
Dim $AktuellBeschreibungBox[$AnzKategorien]
Dim $AktuellBeschreibung[$AnzKategorien]
Dim $Beschreibung[$AnzKategorien]
Dim $Grafik[$AnzKategorien]
Dim $AktuellWebsite[$AnzKategorien]
Dim $AktuellSprache[$AnzKategorien]
Dim $AktuellInstall[$AnzKategorien]
Dim $AktuellFreeware[$AnzKategorien]
Dim $AktuellParameter[$AnzKategorien]
Dim $AnzElemente[$AnzKategorien]
Dim $AktuellWebsiteGrafik[$AnzKategorien]
Dim $AktuellInstallGrafik[$AnzKategorien]
;$IchbaumirmeinenStringfuerdieComboboxhaltselber
Dim $IbmmSfdCbhs
$IbmmSfdCbhs=""
;[X][0]=Name, [X][1]=Daten
Dim $Zusammenstellungen[$AnzZusammenstellungen][2]
;26 mögliche Elemente je Kategorie sollten reichen - passen ja eh nur 26 auf eine Seite...
Dim $Checkboxen[$AnzKategorien][26]
Dim $Icons[$AnzKategorien][26]
Dim $Titel[$AnzKategorien][26]
Dim $Hersteller[$AnzKategorien][26]
Dim $ElementeBeschreibung[$AnzKategorien][26]
Dim $ElementeBild[$AnzKategorien][26]
Dim $ElementeWebsite[$AnzKategorien][26]
Dim $ElementeSprache[$AnzKategorien][26]
Dim $ElementeFreeware[$AnzKategorien][26]
Dim $ElementeInstall[$AnzKategorien][26]
Dim $ElementeParameter[$AnzKategorien][26]
$lw1=0
$lw2=0
While ($lw1 < ($AnzKategorien*2))
$TabSheetKategorien[$lw1] = GUICtrlCreateTabItem($Kategorien[$lw1+1][1])
$inifile=$Kategorien[$lw1+2][1]
$Beschreibung[$lw2] = GUICtrlCreateEdit("", 16, 120, 489, 65, BitOR($ES_AUTOVSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
$file0 = FileOpen(IniRead($inifile,"Daten","Beschreibung","fehlt.txt"), 0)
GUICtrlSetData($Beschreibung[$lw2], FileRead($file0))
FileClose($file0)
$Grafik[$lw2] = GuiCtrlCreatePic(IniRead($inifile, "Daten", "Grafik", ""), 512, 120, 64, 64)
[/autoit] [autoit][/autoit] [autoit]$Software[$lw2] = GUICtrlCreateGroup("Software", 16, 191, 561, 442)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$AktuellBildBox[$lw2] = GUICtrlCreateGroup("Logo/Bild", 592, 120, 337, 277)
$AktuellBild[$lw2] = GUICtrlCreatePic("", 600, 144, 320, 240)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$AktuellBeschreibungBox[$lw2] = GUICtrlCreateGroup("Beschreibung", 592, 416, 417, 217)
$AktuellBeschreibung[$lw2] = GUICtrlCreateEdit("", 600, 433, 401, 193, BitOR($ES_AUTOVSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
GUICtrlCreateGroup("", -99, -99, 1, 1)
$AktuellWebsiteGrafik[$lw2] = GUICtrlCreatePic($onlineoffline, 950, 130, 48, 48)
GUICtrlSetTip(-1, "Website im Browser öffnen")
GUICtrlSetCursor (-1, 0)
GUICtrlSetState(-1, $GUI_HIDE)
$AktuellSprache[$lw2] = GUICtrlCreatePic("data\german.jpg", 950, 200, 48, 48)
GUICtrlSetTip(-1, "Sprache: deutsch")
GUICtrlSetState(-1, $GUI_HIDE)
$AktuellFreeware[$lw2] = GUICtrlCreatePic("data\freeware.jpg", 950, 270, 48, 48)
GUICtrlSetTip(-1, "Keine Freeware!")
GUICtrlSetCursor (-1, 4)
GUICtrlSetState(-1, $GUI_HIDE)
$AktuellInstallGrafik[$lw2] = GUICtrlCreatePic("data\install.jpg", 950, 340, 48, 48)
GUICtrlSetTip(-1, "Jetzt installieren!")
GUICtrlSetCursor (-1, 0)
GUICtrlSetState(-1, $GUI_HIDE)
;Eintragen der Elemente in die Softwareliste
$AnzElemente[$lw2] = IniRead($inifile, "Daten", "Elemente", 0)
$lw3=0
While ($lw3 < $AnzElemente[$lw2])
;...
$temp = Mod($lw3, 2)
If ($temp == 0) Then
;linke Spalte
$Checkboxen[$lw2][$lw3] = GUICtrlCreateCheckbox("", 24, Floor(223+40*($lw3/2)), 16, 16)
;GUICtrlSetState(-1, $GUI_HIDE)
$Icons[$lw2][$lw3] = GUICtrlCreateIcon(IniRead($inifile, "Element"&$lw3+1, "Icon", "data\setup.ico"), -1, 40, Floor(215+40*($lw3/2)), 32, 32)
$Hersteller[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element"&$lw3+1, "Hersteller", "unbekannter Hersteller"), 80, Floor(215+40*($lw3/2)))
$Titel[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element"&$lw3+1, "Name", "?")&" v"&IniRead($inifile, "Element"&$lw3+1, "Version", "1"), 80, Floor(231+40*($lw3/2)))
Else
;Rechte Spalte
$Checkboxen[$lw2][$lw3] = GUICtrlCreateCheckbox("", 296, 203+40*($lw3/2), 16, 16)
;GUICtrlSetState(-1, $GUI_HIDE)
$Icons[$lw2][$lw3] = GUICtrlCreateIcon(IniRead($inifile, "Element"&$lw3+1, "Icon", "data\setup.ico"), -1, 296, 195+40*($lw3/2), 32, 32)
$Hersteller[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element"&$lw3+1, "Hersteller", "unbekannter Hersteller"), 352, 195+40*($lw3/2))
$Titel[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element"&$lw3+1, "Name", "?")&" v"&IniRead($inifile, "Element"&$lw3+1, "Version", "1"), 352, Floor(211+40*($lw3/2)))
EndIf
$file1 = FileOpen(IniRead($inifile, "Element"&$lw3+1, "Beschreibung", "fehlt.txt"), 0)
$ElementeBeschreibung[$lw2][$lw3] = FileRead($file1)
FileClose($file1)
$ElementeBild[$lw2][$lw3] = IniRead($inifile, "Element"&$lw3+1, "Grafik", "")
$ElementeWebsite[$lw2][$lw3] = IniRead($inifile, "Element"&$lw3+1, "URL", "http://www.autoit.de")
$ElementeSprache[$lw2][$lw3] = IniRead($inifile, "Element"&$lw3+1, "Sprache", "en")
$ElementeFreeware[$lw2][$lw3] = IniRead($inifile, "Element"&$lw3+1, "Freeware", "ja")
$ElementeInstall[$lw2][$lw3] = IniRead($inifile, "Element"&$lw3+1, "Setupdatei", "data\dummy.exe")
$ElementeParameter[$lw2][$lw3] = IniRead($inifile, "Element"&$lw3+1, "Parameter", "")
;Laufvariable für die Elemente erhöhen
$lw3=$lw3+1
WEnd
;übriger Code für die einzelnen Kategorien
;Erhöhen der Laufvariablen, $lw1 zählt im Auslesearray, $lw2 zählt in den Zielarrays, beide zählen in den Kategorien hoch.
$lw1=$lw1+2
$lw2=$lw2+1
WEnd
GUICtrlCreateTabItem("")
;Combobox-Daten auslesen
$lw1=0 ;geht bis Anzahl Zusammenstellungen mal 2 (Siehe ini-Struktur)
$lw2=0 ;geht bis tatsächliche Anzahl Zusammenstellungen
; An Stelle [n][1] im Array steht ein Name, an Stelle [n+1][1] steht die Auswahl der Daten
while ($lw1 < ($AnzZusammenstellungen*2))
;String für die Combobox bauen
$IbmmSfdCbhs = $IbmmSfdCbhs & $tempZusammenstellungen[$lw1][1] & "|"
;Daten einlesen zur späteren bequemeren Verwendung...
$Zusammenstellungen[$lw2][0] = $$tempZusammenstellungen[$lw1][1]
$Zusammenstellungen[$lw2][1] = $$tempZusammenstellungen[$lw1+1][1]
$lw1=$lw1+2
$lw2=$lw2+1
WEnd
;Den letzten | entfernen...
$temp1 = StringLeft($IbmmSfdCbhs,StringLen($IbmmSfdCbhs))
GUICtrlSetData($Combo1, $temp1, "benutzerdefiniert")
GUISetState(@SW_SHOW)
$iAktTab = 0
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Install_Markierte
_InstallNow()
Case $Combo1
Switch $Combo1
Case "benutzerdefiniert"
; nix machen
Case $Zusammenstellungen[0][0] To $Zusammenstellungen[$AnzZusammenstellungen-1][0]
; Haken (Checkboxen) setzen, aber wie?
EndSwitch
Case $PageControl1
$iAktTab = _GUICtrlTab_GetCurSel($PageControl1)
Case $Checkboxen[$iAktTab][0] To $Titel[$iAktTab][$AnzElemente[$iAktTab] - 1]
ConsoleWrite("Ksg-ID: " & $nMsg & @TAB)
if mod($nMsg - $Checkboxen[$iAktTab][0],4) Then
$iAktCheckBox = -1 ;es kann keine Checkbox sein
else
$iAktCheckBox = ($nMsg - $Checkboxen[$iAktTab][0]) /4
GUICtrlSetData($Combo1, "benutzerdefiniert")
EndIf
ConsoleWrite("Checkbox: " & $iAktCheckBox & @TAB)
if mod($nMsg - $Icons[$iAktTab][0],4) Then
$iAktIcon = -1 ;es kann kein Icon sein
else
$iAktIcon = ($nMsg - $Icons[$iAktTab][0]) /4
_UnMarkAll($iAktTab, $AnzElemente[$iAktTab])
_SelectOne($iAktTab, $iAktIcon)
EndIf
ConsoleWrite("Icon: " & $iAktIcon & @TAB)
if mod($nMsg - $Hersteller[$iAktTab][0],4) Then
$iAktHersteller = -1 ;es kann kein Hersteller sein
else
$iAktHersteller = ($nMsg - $Hersteller[$iAktTab][0]) /4
_UnMarkAll($iAktTab, $AnzElemente[$iAktTab])
_SelectOne($iAktTab, $iAktHersteller)
EndIf
ConsoleWrite("Hersteller: " & $iAktHersteller & @TAB)
if mod($nMsg - $Titel[$iAktTab][0],4) Then
$iAktTitel = -1 ;es kann kein Titel sein
else
$iAktTitel = ($nMsg - $Titel[$iAktTab][0]) /4
_UnMarkAll($iAktTab, $AnzElemente[$iAktTab])
_SelectOne($iAktTab, $iAktTitel)
EndIf
ConsoleWrite("Titel: " & $iAktTitel & @CRLF)
case $AktuellInstallGrafik[$iAktTab]
GUISetState(@SW_HIDE)
RunWait($AktuellInstall[$iAktTab]&" "&$AktuellParameter[$iAktTab])
GUISetState(@SW_SHOW)
case $AktuellWebsiteGrafik[$iAktTab]
ShellExecute($AktuellWebsite[$iAktTab])
case $AktuellFreeware[$iAktTab]
MsgBox(64,"Keine Freeware!","Die (dauerhafte) Benutzung dieser Software ist kostenpflichtig!"&@CRLF&"Sie können Ihre Registrierungsinformationen beim ersten Programmstart eingeben.")
EndSwitch
WEnd
Func _UnMarkAll($cat, $anzelements)
$temp=0
While ($temp < $anzelements+1)
GUICtrlSetBkColor($Hersteller[$cat][$temp], $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetBkColor($Titel[$cat][$temp], $GUI_BKCOLOR_TRANSPARENT)
$temp=$temp+1
WEnd
GUICtrlSetState($AktuellFreeware[$cat], $GUI_HIDE)
GUICtrlSetState($AktuellSprache[$cat], $GUI_HIDE)
EndFunc
Func _SelectOne($cat, $element)
GUICtrlSetBkColor($Hersteller[$cat][$element], 0x7A96DF)
GUICtrlSetBkColor($Titel[$cat][$element], 0x7A96DF)
GUICtrlSetData($AktuellBeschreibung[$cat], $ElementeBeschreibung[$cat][$element])
GUICtrlSetImage($AktuellBild[$cat], $ElementeBild[$cat][$element])
$AktuellInstall[$cat] = $ElementeInstall[$cat][$element]
$AktuellWebsite[$cat] = $ElementeWebsite[$cat][$element]
$AktuellParameter[$cat] = $ElementeParameter[$cat][$element]
If ($ElementeFreeware[$cat][$element] <> "ja") Then
GUICtrlSetState($AktuellFreeware[$cat], $GUI_SHOW)
EndIf
If (StringCompare($ElementeSprache[$cat][$element], "de")=0) Then
GUICtrlSetImage($AktuellSprache[$cat], "data\german.jpg")
GUICtrlSetState($AktuellSprache[$cat], $GUI_SHOW)
GUICtrlSetTip($AktuellSprache[$cat], "Sprache: deutsch")
EndIf
If (StringCompare($ElementeSprache[$cat][$element], "en")=0) Then
GUICtrlSetImage($AktuellSprache[$cat], "data\english.jpg")
GUICtrlSetState($AktuellSprache[$cat], $GUI_SHOW)
GUICtrlSetTip($AktuellSprache[$cat], "Sprache: englisch")
EndIf
GUICtrlSetState($AktuellInstallGrafik[$cat], $GUI_SHOW)
GUICtrlSetState($AktuellWebsiteGrafik[$cat], $GUI_SHOW)
EndFunc
Func _InstallNow()
; Schön aufbereiten in der Darstellung
$lw1=0 ; Laufvariable für Kategorien
$lw2=0 ; Laufvariable für Programme
While ($lw1 < $AnzKategorien)
While ($lw2 < $AnzElemente[$lw1])
If (GUICtrlRead($Checkboxen[$lw1][$lw2]) = $GUI_CHECKED) Then
; Farbe ändern auf rot
GUICtrlSetData($Icons[$lw1][$lw2], "data\not_installed.ico")
GUICtrlSetColor($Titel[$lw1][$lw2], 0xff0000)
GUICtrlSetColor($Hersteller[$lw1][$lw2], 0xff0000)
GUICtrlSetState($Checkboxen[$lw1][$lw2], $GUI_DISABLE)
Else;If (GUICtrlRead($Checkboxen[$lw1][$lw2]) = $GUI_UNCHECKED) Then
; ausgrauen
GUICtrlSetData($Icons[$lw1][$lw2], "data\not_install.ico")
GUICtrlSetColor($Titel[$lw1][$lw2], 0xe2e2e2)
GUICtrlSetColor($Hersteller[$lw1][$lw2], 0xe2e2e2)
GUICtrlSetState($Checkboxen[$lw1][$lw2], $GUI_DISABLE)
EndIf
$lw2 = $lw2 + 1
WEnd
$lw1 = $lw1+1
$lw2 = 0
WEnd
; Nun wird installiert!
$lw1=0 ; Reinitialisierung Laufvariable für Kategorien
$lw2=0 ; Reinitialisierung Laufvariable für Programme
While ($lw1 < $AnzKategorien)
GUISwitch($Form2, $TabSheetKategorien[$lw1])
if ($lw1 <> 1) Then
While ($lw2 < $AnzElemente[$lw1])
If (GUICtrlRead($Checkboxen[$lw1][$lw2]) = $GUI_CHECKED) Then
RunWait($ElementeInstall[$lw1][$lw2]&" "&$ElementeParameter[$lw1][$lw2])
; Farbe ändern auf grün
GUICtrlSetData($Icons[$lw1][$lw2], "data\installed.ico")
GUICtrlSetColor($Titel[$lw1][$lw2], 0x00ff00)
GUICtrlSetColor($Hersteller[$lw1][$lw2], 0x00ff00)
EndIf
$lw2 = $lw2 + 1
WEnd
ElseIf ($lw1 = 1) Then
; nix machen, wird erst als letzte durchlaufen
EndIf
$lw1 = $lw1+1
$lw2 = 0
WEnd
; Nun wird die oben ausgelassene Kategorie nachgeholt.
$lw1 = 1
While ($lw2 < $AnzElemente[$lw1])
If (GUICtrlRead($Checkboxen[$lw1][$lw2]) = $GUI_CHECKED) Then
RunWait($ElementeInstall[$lw1][$lw2]&" "&$ElementeParameter[$lw1][$lw2])
; Farbe ändern auf grün
GUICtrlSetData($Icons[$lw1][$lw2], "data\installed.ico")
GUICtrlSetColor($Titel[$lw1][$lw2], 0x00ff00)
GUICtrlSetColor($Hersteller[$lw1][$lw2], 0x00ff00)
EndIf
$lw2 = $lw2 + 1
WEnd
GUISetState(@SW_HIDE, $Form2)
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Neustart", 186, 82, -1, -1)
$Form1Label1 = GUICtrlCreateLabel("Installationen abgeschlossen.", 8, 8, 143, 17)
$Form1Label2 = GUICtrlCreateLabel("Der Computer wird in", 8, 32, 102, 17)
$Form1Label3 = GUICtrlCreateLabel("25", 112, 32, 16, 17)
$Form1Label4 = GUICtrlCreateLabel("Sekunden", 128, 32, 53, 17)
$Form1Label5 = GUICtrlCreateLabel("heruntergefahren und neu gestartet!", 8, 56, 174, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$countdown = 25
While ($countdown > 0)
sleep(999)
GUICtrlSetData($Form1Label3, $countdown&"")
$countdown = $countdown - 1
WEnd
GUISetState(@SW_HIDE, $Form1)
Shutdown(6)
;While 1
;$nMsg = GUIGetMsg()
;Switch $nMsg
; Case $GUI_EVENT_CLOSE
; Exit
;
;EndSwitch
;WEnd
EndFunc
So sehen die Daten der Ini-Datei aus:
;Elemente der Kategorie, mit ; voneinander getrennt. Kategorien mit | voneinander getrennt.
Zusammenstellung1Name=Alle Freeware
Zusammenstellung1Auswahl=1;2;3;4;5|3;6
Meine erste Idee war mit StringSplit, was vermutlich auch gehen würde, wenn ich wüsste, welcher Eintrag in der Combobox ausgewählt ist und welcher Zahl das in meinem Array entspricht, das ja so aufgebaut ist: ;[X][0]=Name, [X][1]=Daten Vielleicht tuts mir irgend einer Suche, dass ich den Index rausbekomme, aber ich habe ja nicht mal den Namen, also was in der Combobox gerade ausgewählt ist
PS: Kleine Orientierungshilfe in dem langen Code:
Zeilen 1-95: Deklarationen etc.
Zeilen 95-195: Initialisierung der Variablen
Zeilen 195-255: While 1-Teil der GUI
Ab zeile 255: Hilfsroutinen