Enumeration
-
- Beiträge: 282
- Registriert: 03.01.2005 11:36
Enumeration
Einen guten Tag!
Als Anfänger fehlen einem leider immer die richtigen Lösungsansätze!
Ich habe folgendes Problem!
mit
Enumeration
#String_10
(#String_11
...
EndEnumeration
habe ich eine ganze Menge von
StringGadget(#String_10, 100, 40, 40, 20, "")
definiert.
Nun möchte ich mit einer Schleife die mittels Tastatur eingegebenen Werte mit einer Schleife einlesen (z.B. 10 "StringGadget").
Nun die zwei Fragen!
1)
Muss ich Nummerierung des Systemes verwenden
For i = i to 10
text$ = GetGadgetText(i)
Next i
oder kann ich anstelle von i in der Funktion GetGadgetText(i) auch so etwas wie "String_10" verwenden?
2) Wie speichere ich am besten die über die Tastatur eingegebenen Werte ab, um auf diese auch nach einem Neustart des Programmes oder auch des Rechners zugreifen zu können?
Danke für die Hilfe!
Martin
Als Anfänger fehlen einem leider immer die richtigen Lösungsansätze!
Ich habe folgendes Problem!
mit
Enumeration
#String_10
(#String_11
...
EndEnumeration
habe ich eine ganze Menge von
StringGadget(#String_10, 100, 40, 40, 20, "")
definiert.
Nun möchte ich mit einer Schleife die mittels Tastatur eingegebenen Werte mit einer Schleife einlesen (z.B. 10 "StringGadget").
Nun die zwei Fragen!
1)
Muss ich Nummerierung des Systemes verwenden
For i = i to 10
text$ = GetGadgetText(i)
Next i
oder kann ich anstelle von i in der Funktion GetGadgetText(i) auch so etwas wie "String_10" verwenden?
2) Wie speichere ich am besten die über die Tastatur eingegebenen Werte ab, um auf diese auch nach einem Neustart des Programmes oder auch des Rechners zugreifen zu können?
Danke für die Hilfe!
Martin
Also wie jetzt?
So wie ich es verstanden hab gibt der User irgend ne Zahl irgendwo ein und dann wilst du dadurch ermitteln welche Konsante er mein?
Also erstmal (weiß net ob dir das klar ist) sind Konstanten Dingens, die beim compilieren in die jeweiligen zugeordneten Werte umgewandelt werden.
Bei Enumeration wird der ersten Konstante 0 dem 2 Wert 1 usw zugeordnet.
Wenn du jetzt also durch einen im Stringgadget eingegebenen Wert die Konstante ermitteln willst, so musst du wissen von wo an Numerirt wurde.
Wenn du jetzt die erste Konstante mit 6 die 2 mit 7 usw füllen willst must du hinter Enumeration die Zahl 6 schreiben.
Also:
Enumeration 6
Also kannst du mit einer Schleife die gadgets durchgehen, wenn du weißt wo du angefangen hast.
Du könntest statt
For i = 1 to 10
aber zB auch
For i = #String_1 to #String_12
schreiben da die Konstanten ja durch Zahlen ersetzt werden.
Das mit dem "String_10" geht NICHT da wie schon gesagt Konstanten zahlen und keine Strings sind.
Abspeichern tust du die eingegebenen Werte am besten in ne Preference oder txt Datei und ließt sie mit Val() dann wieder aus.
So wie ich es verstanden hab gibt der User irgend ne Zahl irgendwo ein und dann wilst du dadurch ermitteln welche Konsante er mein?
Also erstmal (weiß net ob dir das klar ist) sind Konstanten Dingens, die beim compilieren in die jeweiligen zugeordneten Werte umgewandelt werden.
Bei Enumeration wird der ersten Konstante 0 dem 2 Wert 1 usw zugeordnet.
Wenn du jetzt also durch einen im Stringgadget eingegebenen Wert die Konstante ermitteln willst, so musst du wissen von wo an Numerirt wurde.
Wenn du jetzt die erste Konstante mit 6 die 2 mit 7 usw füllen willst must du hinter Enumeration die Zahl 6 schreiben.
Also:
Enumeration 6
Also kannst du mit einer Schleife die gadgets durchgehen, wenn du weißt wo du angefangen hast.
Du könntest statt
For i = 1 to 10
aber zB auch
For i = #String_1 to #String_12
schreiben da die Konstanten ja durch Zahlen ersetzt werden.
Das mit dem "String_10" geht NICHT da wie schon gesagt Konstanten zahlen und keine Strings sind.
Abspeichern tust du die eingegebenen Werte am besten in ne Preference oder txt Datei und ließt sie mit Val() dann wieder aus.
Zuletzt geändert von Konne am 27.12.2005 17:18, insgesamt 1-mal geändert.
Und zudem ein kleiner Tip von meiner Seite:
#string_10 soll welchen wert enthalten?
Ich weiß ja nicht, wofür du die Werte bzw die Gadgets nachher brauchst, aber ich würde dir vorschlagen, bessere bezeichnungen zu nehmen, sonst sitzt du nach spätestens 20 Stringgadgets und hast ka, welche nummer für welches gadget steht, bzw, wofür dieses Gadget wiederrum genutzt wird
Enthält das Gadget z.b. einen Namen: #string_name
Vorname: #string_vorname
#string_10 soll welchen wert enthalten?
Ich weiß ja nicht, wofür du die Werte bzw die Gadgets nachher brauchst, aber ich würde dir vorschlagen, bessere bezeichnungen zu nehmen, sonst sitzt du nach spätestens 20 Stringgadgets und hast ka, welche nummer für welches gadget steht, bzw, wofür dieses Gadget wiederrum genutzt wird

Enthält das Gadget z.b. einen Namen: #string_name
Vorname: #string_vorname
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden 

- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Ja, aber dann sind doch die For-Schleifen Sinnlos.
Mit #String_Name und #String_Vorname kann man doch nicht so "Komfortabel" wie mit ner For-Schleife die Gadget analysieren (auch wenn ich den Sinn dahinter ned verstehe...
).
Mit #String_Name und #String_Vorname kann man doch nicht so "Komfortabel" wie mit ner For-Schleife die Gadget analysieren (auch wenn ich den Sinn dahinter ned verstehe...

OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
For I = #String_Name To #String_Vorname
; weiterer Code
Next
So in etwas kannste es auch lösen
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Und was ist, wenn die Enumeration vorne so aussieht:
?
Dann werden mit deiner For-Schleife die anderen Gagdets einfach nicht mit angesprochen.
Das heisst, seine Enumeration müsste (bei vielen Gadgets) gut durchdacht sein.
Also Gruppieren wär ne gute Möglichkeit.
Gr33tz
Tafkadasom2k5
Code: Alles auswählen
Enumeration
#String_Name
#String_Vorname
#String_Alter
#String_Wohnort
EndEnumeration
Dann werden mit deiner For-Schleife die anderen Gagdets einfach nicht mit angesprochen.
Das heisst, seine Enumeration müsste (bei vielen Gadgets) gut durchdacht sein.
Also Gruppieren wär ne gute Möglichkeit.
Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Noch mal zur Verdeutlichung:
Enumeration 0 ; StringGadgets
#String_Name
#String_Vorname
#String_Wohnort
EndEnumeration
Enumeration #PB_Compiler_EnumerationValue ; Buttons
#btnOk
#btnCancel
EndEnumeration
Enumeration #PB_Compiler_EnumerationValue ; Options
#optKlar
#optUnKlar
EndEnumeration
Debug #optUnKlar
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Jup, so meinte ich das mit dem Gruppieren.
Danke TS
Brauch öfter jemanden, der mir meine Ideen in Code umwandelt
Gr33tz
Tafkadasom2k5
Danke TS

Brauch öfter jemanden, der mir meine Ideen in Code umwandelt



Gr33tz
Tafkadasom2k5

OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Ich find bei Gadgets sind eigendlich Konstanten verdammt unnützlich.
Es wäre viel geiler wenn man ansetelle davon die hwnds usw in nen extra "GadgetVariablenTyp" oder so speichern könnte. Vorallem bei dlls wäre das ein Traum. Da das aber nicht so ist und in 4.0 glaube ich net geändert wird werde ich mich wohl weiterhin mit dem doofen #PB_any usw rumschlagen müssen
Es wäre viel geiler wenn man ansetelle davon die hwnds usw in nen extra "GadgetVariablenTyp" oder so speichern könnte. Vorallem bei dlls wäre das ein Traum. Da das aber nicht so ist und in 4.0 glaube ich net geändert wird werde ich mich wohl weiterhin mit dem doofen #PB_any usw rumschlagen müssen

> Ich find bei Gadgets sind eigendlich Konstanten verdammt unnützlich.
Geschmackssache. Ich finde Konstanten bei Gadgets unverzichtbar.
Somit kann ich sofort sehen, um welches Gadget es sich handelt:
Grüße ... Kiffi
Geschmackssache. Ich finde Konstanten bei Gadgets unverzichtbar.
Somit kann ich sofort sehen, um welches Gadget es sich handelt:
Code: Alles auswählen
Select EventGadgetID
Case #frmMain_cmdAdd
[...]
Case #frmMain_cmdEdit
[...]
Case #frmMain_cmdDelete
[...]
Grüße ... Kiffi