ich hab da mal wieder ein Problem und komme nicht auf die Lösung.
Ich habe eine Adressverwaltung
hier habe ich für die Anrede ein
ComboBoxGadget = #com_AdresseAnrede
das Gadget hat den Flag #PB_ComboBox_Editable also beschreibbar
ich lese aus einer Anrede.txt Datei die Anreden aus und füge diese in das ComboBoxGadget.
bis hier her alles gut.
So jetzt kommts.
Wenn ich nun eine neue Anrede eingebe die noch nicht in der ComboBox bzw. in der Anrede.txt enthalten ist
möchte ich diese in die Combobox aufnehmen und in der Anrede.txt schreiben, damit ich beim nächsten mal
diese Anrede auch in der Box wieder habe.
Jede Anrede soll nur einmal vorhanden sein.
ich bekomme es einfach nicht hin.
Meine Schritte:
ich habe eine neue Liste Global NewList AdresseAnrede.s()
beim speichern der Adresse lese ich die Combobox-Einträge und füge diese in meine Liste
weiter kommt in die Liste immer noch die Anrede über getgadgettext(#com_AdresseAnrede)
dann vergleiche ich die Liste mit den Combobox-Einträge
Code: Alles auswählen
z=0
ForEach AdresseAnrede.s()
If AdresseAnrede.s()=GetGadgetText(#com_AdresseAnrede)
z+1
EndIf
Next
ForEach AdresseAnrede.s()
If AdresseAnrede.s()=GetGadgetText(#com_AdresseAnrede)
If z>1
DeleteElement(AdresseAnrede.s(),1)
z-1
EndIf
EndIf
Next
ClearGadgetItems(#com_AdresseAnrede)
SortList(AdresseAnrede.s(),#PB_Sort_Ascending)
ForEach AdresseAnrede.s()
AddGadgetItem(#com_AdresseAnrede,-1,AdresseAnrede.s())
Next
DeleteFile(DateiAdresseAnrede.s)
If CreateFile(0,DateiAdresseAnrede.s)
ForEach AdresseAnrede.s()
WriteStringN(0,AdresseAnrede.s())
Next
CloseFile(0)
EndIf
SetGadgetText(#com_AdresseAnrede,AndresseAnrede.s)
Debug AndresseAnrede.s
Danach sortiere mir die Liste nach ABC.
Das ganze sieht mir zu aufwändig aus, hat da jemand etwas besseres.
Gruß
gnaps