Hier ist ein Ausschnitt, der das Problem zeigt. Ich dachte, dass INIREAD keine vorhandene Variable überschreibt, aber das dürfte es auch nicht sein ..
Danke im Voraus!
Code: Select all
#SingleInstance Force
#NoEnv
SetWorkingDir %A_ScriptDir%
SetBatchLines -1
stopflag := 0
basispfad = %A_Temp%
; INI-File definieren. Wenn fehlt, leer erzeugen
inifile = %basispfad%\combobox.ini
If !FileExist(inifile)
FileAppend , `n, %inifile%
if ErrorLevel ; i.e. it's not blank or zero.
{
MsgBox , 16, combobox, Die INI-Datei %inifile% fehlt und konnte auch nicht erzeugt werden. Der Programmlauf wird abgebrochen.
ExitApp
}
Gosub, GUI_Call
return
;; ********** GUI ***************************
GUI_Call:
; Listen
IniRead, list_projektnummern, %inifile%, Listen, Projektnummern, ----
Gui, Add, Text, x20 yp+20 w80 h22 +0x200, Projektnummer
Gui, Add, Combobox, x120 yp w120 vinp_projektnummer Choose1 , %list_projektnummern%
Gui, Add, Button, x20 yp+30 w180 h55 vstartenbutton gStarten, &Starten
Gui, Add, Button, xp+200 yp+30 w120 h22 gBeenden, &Beenden
Gui, Show, w500 h550, combobox
Return
;; ********** Starten - Prüfen ***************************
Starten:
Gui, Submit
; Pflichtfelder prüfen
if (inp_projektnummer = "" or inp_projektnummer = "----")
{
stopflag = 1
MsgBox Projektnummer ist nicht korrekt ausgefüllt.
}
if (stopflag = 0)
{
list_projektnummern:= list_projektnummern "|" inp_projektnummer
sort, list_projektnummern, u D|
list_projektnummern := StrReplace(list_projektnummern, "----|" )
; Listen
IniWrite, %list_projektnummern%, %inifile%, Listen, Projektnummern
; Hauptprogramm starten
Gosub, ablauf
}
Else
{
stopflag = 0
Gui, Show
}
return
;; ********** Ablauf ***************************
ablauf:
MsgBox, Ersatztext für Hauptprogramm.
Gui, Show
Return
;; ********** Ende ***************************
Beenden:
GuiEscape:
GuiClose:
ExitApp