Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Variablen aus einer Datei lesen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 09.06.2008, 19:10    Titel: Variablen aus einer Datei lesen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4701
Wohnort: ~/

BeitragVerfasst am: 09.06.2008, 21:45    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 09.06.2008, 22:03    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4701
Wohnort: ~/

BeitragVerfasst am: 09.06.2008, 22:44    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 10.06.2008, 15:03    Titel: Antworten mit Zitat

Ja Ok, das funktioniert, Danke!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz