Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 09.06.2008, 19:10 Titel: Variablen aus einer Datei lesen |
|
|
Hi. Kann man Variablen aus einer Datei lesen, also ich meine z.B. so:
Datei:
Code: | Variable1 = 123
Variable2 = 321
|
Programm:
Code: | Dim As Integer Variable1, Variable2
Open "Datei" for input as #1
???
Close #1
|
Wie kann man das so machen das er die Variable (die zuvor durch eine Dim Anweisung deklariert wurde) ihren Wert zuweisen. Ich glaube bei Windows gibts .ini-Dateien, die das selbe bewirken, oder? |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 09.06.2008, 21:45 Titel: |
|
|
Das geht schon, aber nicht mit beliebigen Variablennamen, sondern nur mit bereits vom Programm vorgesehenen (jedenfalls ist das die einzige Möglichkeit, die ich mir vorstellen kann):
eine Zeile auslesen (LINE INPUT), nach dem "=" suchen (INSTR), dann den Variablennamen links vom "=" und den zugewiesenen Wert rechts vom "=" auslesen. Hier kann auch TRIM helfen. Wenn dann z. B. der Variablenname "Variable1" ist, dann weist du dieser Variablen den vorher ausgelesenen Wert zu. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 09.06.2008, 22:03 Titel: |
|
|
Eine sog. eval()-Funktion gibt es meines Wissens nicht in FreeBasic (und ist aus Sicht der IT-Security auch besser so! Sonst wären Angriffe auf unitialisierte Variablen ähnlich wie in PHP schnell einmal an der Tagesordnung..), aber alternativ kann sich eine Art Dictionary (stellt beispielsweise VBScript zur Verfügung und habe ich für ähnlich Fälle schon viel gebraucht). Muss vermutlich in FB ähnlich wie in QB auch durch normale Arrays simuliert werden. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 09.06.2008, 22:44 Titel: |
|
|
Ich habe das noch nach dem simplen Verfahren gemacht:
Code: | if variable="var1" then var1 = wert
if variable="var2" then var2 = wert
if variable="var3" then var3 = wert |
usw. Das erfordert aber für jede Variable eine eigene Zeile.
@dreael: Das mit den assoziativen Arrays hatte ich auch schon überlegt, aber ich habe keine Idee, wie ich das in FreeBASIC umsetzen könnte. Hast du da ein Beispiel für eine Simulation? _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 10.06.2008, 15:03 Titel: |
|
|
Ja Ok, das funktioniert, Danke! |
|
Nach oben |
|
 |
|