Datei Einträge aktualisieren
Übersicht

Holger123Betreff: Datei Einträge aktualisieren |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Leute,
ich möchte gerne eine Datei Erweitern in dem ich weitere drei Datenfelder in EINER Reihe in die eine Datei schreibe bzw ranhänge. Leider wird die Datei immer wieder neu mit den letzten Einträgen überschrieben, ausserdem sind die drei immer untereinander, sie sollen zb. mit einem Komma getrennt werden. Ich habe schon in Tuts gesucht, leider ist auch seit gestern robsite.de offline, heute läuft sie auch nicht richtig. Was mache ich da falsch ? Hier mal ein Beispiel was ich meine. Code: [AUSKLAPPEN] .Prog a=a+1 Name$=Input$("Name? ") Strasse$=Input$("Strasse? ") Telefon$=Input$("Telefon? ") file= OpenFile("C:/Programme/Blitz3D/EIGEN/SPIEL-DATEi-/mydata.dat") WriteLine(file, Name$) WriteLine(file, Strasse$) WriteLine(file, Telefon$) CloseFile(file) If a<3 Then Goto Prog So soll die Datei dann nach den drei durchläufen aussehen. Code: [AUSKLAPPEN] Dieter, Hauptstrasse, 0176-345434 Klaus, Zellstrasse, 0176-34543453453 Rainer, Nassstrasse, 0176-3445345334 Danke für eure Hilfe |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] WriteLine(file, Name$+", "+Strasse$+", "+Telefon$)
Was das überschreiben betrifft: ql:filepos, ql:seekfile |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Holger123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok Danke, ich werde mal danach schauen !
Gruß Holger |
||
Holger123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So ganz verstehe ich die Sache aber noch nicht, wenn ich jetzt die Zählvariable (a) nehme die pro Durchgang eins hochzählt, müsste das doch eigentlich funktionieren..?
Code: [AUSKLAPPEN] .Prog a=a+1 Name$=Input$("Name? ") Strasse$=Input$("Strasse? ") Telefon$=Input$("Telefon? ") file= OpenFile("mydata.dat") SeekFile(file, a) WriteLine(file, Name$+", "+Strasse$+", "+Telefon$) CloseFile(file) If a<3 Then Goto Prog |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, tut es nicht, denn Du erhöhst die Position dann um 1 BYTE, sprich um ein Zeichen. Was Du brauchst ist das Ende der Datei, und das findest du mit Filesize. Dann wird der nächste Eintrag ans Ende angehängt.
Eine weitere Alternative wäre es die Datei erst zu schliessen wenn alle Einträge erfolgt sind. Das birgt aber die Gefahr des Datenverlustes, sollte dein Programm aus irgendeinem Grund abschmieren. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
seekfile brauch eine byteangabe dh. pro buchstabe +1 und pro "Enter" +2 | ||
Holger123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bitte entschuldigt, ich stelle mich wohl ein bischen blöd an !?
Jetzt habe ich es so probiert, funktioniert aber nicht : Code: [AUSKLAPPEN] .Prog a=a+1 Name$=Input$("Name? ") Strasse$=Input$("Strasse? ") Telefon$=Input$("Telefon? ") file= OpenFile("C:/Programme/Blitz3D/EIGEN/SPIEL-DATEi-/mydata.dat") SeekFile file,FileSize(file) WriteLine(file, Name$+", "+Strasse$+", "+Telefon$) CloseFile(file) If a<3 Then Goto Prog |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
OnlineHilfe hat Folgendes geschrieben: Achtung! Falls diese Ausgabedatei noch nicht existiert, dann kommt es bei einem Schreib-/Leseversuch zu einem Fehler. OPENFILE ist darum besonders für Änderungen gut geeignet. Neue Dateien können sofort mit WRITEFILE geschrieben werden.
Du bmusst initial prüfen ob die Datei schon existiert. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group