StringGadgets auslesen bzw. zurückschreiben

Für allgemeine Fragen zur Programmierung mit PureBasic.
mipooh
Beiträge: 226
Registriert: 12.12.2004 04:49
Kontaktdaten:

StringGadgets auslesen bzw. zurückschreiben

Beitrag von mipooh »

Ich habe in einem Window eine Menge StringGadgets, die ich gern in je eine Datei schreiben (ein Gadget enthält einen Namen, eins bzw. zwei eine Option, der Rest Zahlenwerte) und bei Bedarf zurückschreiben möchte, wobei es halt später viele verschiedene Dateien unter verschiedenen Namen aber mit derselben Struktur geben soll. Davon wird aber jeweils nur eine benutzt.

Ich hatte versucht über Dim person.s(33) und einlesen der Werte mit beispielsweise GetGadgetText(#Gadget_personform_String63) , in dem ich 63 durch eine Variable ersetzen wollte. Etliche der Gadgets unterscheiden sich durch fortlaufende Nummern, weshalb ich hoffte das in drei kleinen Schleifen erledigen zu können. Nur lässt PB scheinbar nicht zu, dass ich die Konstanten als Ausdruck darstelle. (zumindest ist es mir nicht gelungen, entweder haben sie "" oder es wird bemängelt, dass die Konstante nicht existiert)

Zur Not müsste ich sie alle einzeln einlesen, aber ich vermute, es gibt Möglichkeiten, die ich noch nicht überschaue. Evtl alle Gadgets aus einem Fenster, die sich doch sicher sowieso schon in einem konkreten Speicherbereich befinden zusammen abzuspeichern. Wenn dann dabei ein paar überflüssige Inhalte wie die der Textgadgets wären, wär das bei der geringen Gesamtmenge unerheblich.
Hat wer nen Tip, wie ich das ohne alle 34 Gadgets einzeln auszulesen durchführen kann?

Gruss
Mipooh
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

So vielleicht?

Code: Alles auswählen

Enumeration
  #Gadget_personform_String00
  #Gadget_personform_String01
  #Gadget_personform_String02
  #Gadget_personform_String03
  ... 
  #Gadget_personform_String33
  #Gadget_personform_String34
EndEnumeration

For i = #Gadget_personform_String00 To #Gadget_personform_String34
  Debug "#Gadget_personform_String"+Str(i-#Gadget_personform_String00)+": "+GetGadgetText(i)
Next
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
mipooh
Beiträge: 226
Registriert: 12.12.2004 04:49
Kontaktdaten:

Beitrag von mipooh »

So gehts nicht, das gibt gleich die Fehlermeldung, dass diese Konstante bereits mit einem anderen Wert vorhanden ist.

Ich habe jetzt mal alle Gadgets per Hand eingegeben zum ein- und auslesen...ist vielleicht nicht elegant, aber funktioniert...

Danke
Mipooh
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Du musst natürlich die Deklaration der anderen Konstanten rausnehmen :roll:

Fals du natürlich die Gadgets 0 bis 34 anders benutzen willst musst nach Enumeration noch die Anfangs Konstante hinschreiben. Wenn du also alle gadgets sowieso durchnummeriert hast kannst du auch den ursprünglichen Wert von #Gadget_personform_String00 nehmen.
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Antworten