ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
766
766
EMPFEHLEN
-
21.12.05 11:12 #1
- Registriert seit
- Jun 2005
- Beiträge
- 246
Hallo,
ich über gerade ein wenig verschiedene Arten von Einlesemöglichkeiten in VB.
Gerade möchte ich eine Textdatei direkt in Variablen einlesen!
Hier folgender Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Private Sub Command1_Click() 'On Error GoTo Fehler Dim Text As String Dim Min As Long Dim Text2 As String Dim U As Long Dim file As Integer file = FreeFile Open "C:\Textdatei_in_Variable_einlesen.txt" For Input As #1 Do While Not EOF(1) Input #1, Text, Min Text1.Text = Text & " " & Min Loop Msgbox Min Close file 'Fehler: MsgBox "Irgendwas stimmt nicht" End Sub
in meiner Datei steht:
Christkind
12
Nikolaus
13
Wenn ich die Daten so in die Datei schreibe funktioniert alles soweit
wenn aber drin steht:
Christkind 12
Nikolaus 13
gibt es die Ausgabe in der Textbox: Christkind 12 0 und dann kommt eine Fehlermeldung
Lauftzeitfehler 62 Einlesen nach dem Dateiende...
Warum ist das so?
wenn ich die beiden Werte gleich hinter einander schreibe:
Christkind 12 Nikolaus 13
kommt gleich die Fehlermeldung Einlesen nach dem Dateiende..
-> Warum muss mindestens ein Zeichen in der nächsten Zeile stehen damit das Auslesen wieder funktioniert?
-> dann wird aber das Zeichen in der nächsten Zeile auch noch mit ausgegeben
Und wann benötigt man dann eingentlich bei der Input-Anweisung eine Liste an Variablen
Input #1, Var1, Var2, Var3, Var4, Var5.........
Wenn das Auslesen von
Christkind 12 Nikolaus 13
schon mit einer Variablen
Input #1, Text
funktioniert. Meine andere Variable Min wird nämlich gar nicht befüllt
-
21.12.05 12:18 #2
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Hi.
Das Problem ist, das Input # wenn es einen String einliest immer die komplette Zeile einliest, außer der Text in Anführungszeichen eingeschlossen ist.
D.h. wenn du alle Daten auf eine Zeile schreibst, wird zuerst die komplette Zeile in den String text eingelesen und dann erst wird versucht noch eine Zahl einzulesen - was natürlich schief geht.
Du solltest diese Dateien immer mit dem Befehl write# erstellen - oder wenn du es manuell machst darauf achten alle Strings in Anführungszeichen zu setzen.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
22.12.05 09:05 #3
- Registriert seit
- Jun 2005
- Beiträge
- 246
Hi,
alles klar! Danke Dir, das bringt mich schon viel weiter
Grüße
-
23.12.05 09:49 #4
Die Funktion FreeFile liefert eine freie Dateinummer zurück.
Diese wird benötigt, um die richtige Datei anzusprechen.
Also solltest du in deinem Code statt #1 besser #file verwenden, sonst bekommst du spätestens ein Problem, wenn Du mehrere Dateien gleichzeitig öffnest.Allen ist das Denken erlaubt, vielen bleibt es erspart. (Kurt Goetz)
Ähnliche Themen
-
Textdatei (utf-8) einlesen, probleme mit vcl komponenten
Von xFile im Forum Borland CBuilder und VCLAntworten: 9Letzter Beitrag: 27.01.11, 11:20 -
Zwei leerzeilen beim Einlesen einer Textdatei
Von Matze im Forum JavaAntworten: 3Letzter Beitrag: 03.07.09, 11:43 -
Problem beim Einlesen von Textdatei mit UTF-8
Von DarthShader im Forum JavaAntworten: 7Letzter Beitrag: 26.03.08, 08:51 -
Variable speichern und beim nächsten Start wieder einlesen
Von MorDuwath im Forum Borland CBuilder und VCLAntworten: 4Letzter Beitrag: 13.10.05, 12:00 -
Probleme beim Einbinden von CSS aus Textdatei
Von Nyluz im Forum CSSAntworten: 11Letzter Beitrag: 25.10.04, 11:45





Zitieren
Login





