ich hab da mal eine grosse Frage oder besser ein Problem. Und zwar Folgendes:
Wie schaffe ich es, eine Zahl, aus einer externen Datei auch als Zahl auszulesen Gespeichert wird sie folgender Maßen:
----------------------------------------
Dim DateiNr As Integer
DateiNr = FreeFile
Kill App.Path & logname //App.Path und logname sind die Pfadangabe und der Dateiname in Variablen
Open App.Path & logname For Output As DateiNr
Print #DateiNr, "Text der geschrieben wird."
Close DateiNr
-----------------------------------------
Soweit funktiniert das Ganze auch noch. Es wird jetzt (falls nicht vorhanden) eine Datei, mit dem Namen des Wertes der Variable logfile geschrieben und falls vorhanden wird sie überschrieben.
Ausgelesen wir die Variable dann folgender Maßen:
------------------------------------------
DateiNr = FreeFile
Open App.Path & "\username.txt" For Input As DateiNr
Line Input #DateiNr, Temp
Close DateiNr
------------------------------------------
Jetzt ist praktisch der Inhalt der Textdatei in der Variable Temp gespeichert. Wenn ich jetzt aber schreibe dim Temp as Integer oder so etwas und will dann Temp eben als Zahl ausgeben, erscheint nur Null. Lasse ich es jedoch so wie es ist, die gespeicherte Zahl, aber nur als Text, bzw. ich kann nicht damit rechnen, weil ansonsten gleich wieder eine Null erscheint. Ich habs auch schon mit einem Ersatz versucht wie "Temp=zahl" und dann Dim zahl as Integer, aber auch dann kommt der selbe Fehler, den ich einfach nicht finden kann. Ich bin mir auch nicht sicher, ob ich beim Speichern (eigentlich unwahrscheinlich, aber wer weiss?) oder beim Laden einen Fehler hab.
Ich hoffe (bete), dass ihr mir helfen könnt.
Viele Grüsse,
Andre
_________________
Zuletzt bearbeitet von AndreThief am 06.06.2002, 14:29, insgesamt einmal bearbeitet
AndreThief Newbie
Anmeldedatum: 06.06.2002 Beiträge: 2
Verfasst am: 06.06.2002, 14:44
Hallo nochmal,
sorry - ich hab den Fehler jetzt selber gefunden
War nur ein winzig kleiner logischer Fehler.
Für alle, die vielleicht den Quelltext nutzen wollen hier der Fehler (vielleicht auch als Übung ):
DateiNr = FreeFile
Open App.Path & "\username.txt" For Input As DateiNr
Line Input #DateiNr, Temp
Text1.text = Temp - 4
Close DateiNr
Der Fehler liegt bei dem Line Input. Ich hab wohl beim Programmieren vergessen, dass bei Line Input automatisch alles String ist. Und weil das ein Ausnahmefall ist, kam auch kein Fehler mit falscher Datentyp.
Um es richtig zu machen, muss man wohl input #DateiNr, Temp benutzen. Jetzt klappt es auch.
Danke nochmal, irgendwie habt ihr mir doch geholfen, weil es mir hier gerade beim Eingeben des Topics aufgefallen ist
Grüsse,
Andre
Hanno Coder
Anmeldedatum: 22.08.2001 Beiträge: 82
Verfasst am: 07.06.2002, 11:08
na dann ist ja gut - Ausserdem musst du die datei nicht mit "Kill ..." löschen, weil dateien, die mit output geöffnet werden automatisch erst gelöscht werden