Auslesen aus Datei (*Erledigt*)
Übersicht

![]() |
DamienXBetreff: Auslesen aus Datei (*Erledigt*) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo zusammen....
Wollte nur "schnell" eine simple Funktion zum auslesen einer Datei schreiben und kann auf biegen und brechen keinen Fehler finden. Die Variable bleibt leer und ich rätsel seit ner geschlagenen Stunde warum! Schätze es muss irgendwas mit der Rückgabe oder dem Gültigkeitsbereich der Variablen zu tun haben... Code: [AUSKLAPPEN] SuperStrict Graphics 800,600,0 Function GetTextOutOfFile:String (path:String) Local File:TStream = ReadStream (path:String) 'Öffnet Filestream If File = Null Then RunTimeError( "Konnte Datei nicht finden" ) Local FileData:String 'Variable zum Speichern der einzelnen Strings While Not Eof 'Schleife zum abarbeiten der kompletten Datei Local CurrentLine:String = ReadLine (File:TStream) 'Temporäre Variable speichert wert der der Zeile Local FileData:String = Filedata:String + CurrentLine:String 'Anhängen der ausgelesenen Zeile Wend CloseStream (File:TStream) 'schliessen des Streams nach Beendigung des Vorgangs Return Filedata:String 'Rückgabe des Dateiinhalts an die Funktion End Function Global Data:String = GetTextOutOfFile:String("txt\File.txt") 'Füllen der Data Variable mit dem Datei inhalt '!!!Variable bleibt leer!!! While Not KeyDown (key_escape) DrawText Data:String,0,0 'gibt leider nichts aus! Flip Wend Bevor die Frage kommt... das File existiert! Grüße DX |
||
Lets make things better... |
- Zuletzt bearbeitet von DamienX am Mi, Jul 18, 2007 8:18, insgesamt 2-mal bearbeitet
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] While Not Eof
Nur Eof geht nicht. Es muss in deinem Fall glaub ich Code: [AUSKLAPPEN] While Not File.Eof()
heißen |
||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
![]() |
DamienX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schon mal danke für den Denkanstoss...
Habe "While Not Eof" durch "While Not Eof (File)" ersetzt damit hab ich einen Fehler schon mal behoben... das traurige ist nur dass trotzdem die Variable leer bleibt ![]() |
||
Lets make things better... |
![]() |
rema |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nach dem öffnen der Datei musst du noch testen ob dies auch wirklich geschehen ist.
Code: [AUSKLAPPEN] ... Local File:TStream = ReadStream (path:String) 'Öffnet Filestream If File = Null Then RunTimeError( "Konnte Datei nicht finden" ) ... |
||
![]() |
DamienX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Geändert... aber kein Fehler.
Alles beim alten! |
||
Lets make things better... |
klepto2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ganz einfach, du deklarierst jedesmal in der Schleife filedata neu.
Code: [AUSKLAPPEN] While Not Eof 'Schleife zum abarbeiten der kompletten Datei Local CurrentLine:String = ReadLine (File:TStream) 'Temporäre Variable speichert wert der der Zeile FileData = Filedata:String + CurrentLine:String 'Anhängen der ausgelesenen Zeile Wend Dadurch ist am ende der Schleife Filedata immer Currentline, und eine auf die Schleife beschränkte lokale Variable. Das heißt, du gibst immer die leere erste lokale filedata zurück hängst den text aber an die 2. ,in der Schleife deklarierten Variable an. |
||
Matrix Screensaver
Console Modul für BlitzMax KLPacker Modul für BlitzMax HomePage : http://www.brsoftware.de.vu |
![]() |
DamienX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Den Wald vor lauter Bäumen nicht gesehen ![]() Dankesehr Grüße |
||
Lets make things better... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group