Seite 1 von 2
4 Fragen zu txt-Dateien
Verfasst: 24.10.2004 13:43
von KeyKon
Also hier vier Fragen zu txt:
1. Wie kann man mit PB eine Leere txt-Datei öffnen?
2. Wie kann man in diese neue txt-Datei etwas mit PB eingeben wie in der Console Print()?
3. Wie kann man den Inhalt einer txt-Datei einlesen?
4. Wie kann man eine txt-Datei abspeichern?
So das die Fragen. Danke schon mal!
KeyKon
Verfasst: 24.10.2004 13:48
von Franky
1.) OpenFile(,1,"Dateiname.txt")
2.) WriteString("Das steht auch in der Hilfe ") oder WriteStringN("Zeilenumbruch")
3.)
Code: Alles auswählen
ReadFile(1,"Dateiname.txt")
while loc()<lof()
debug Readstring()
wend
closefile(1)
4.)CloseFile, dann wird alles, was man an der datei geändert hat gespeichert.
Verfasst: 24.10.2004 14:18
von KeyKon
Danke!
OpenFile(,1,"Dateiname.txt")
Das Fette Komma ist wahrscheinlich nur ein Tippfehler
Aber irgendwie funktioniert das nicht so wie ich mir das vorgestellt hab, vielleicht ist die Frage dumm vormuliert, aber mit OpenFile() wird bei mir nur eine Datei erstellt, nicht geöffnet.
Also die Datei soll nicht nur für das Programm offen sein sondern man soll sie auch sehen und bearbeiten können, sie soll sprich im Text-Editor oder wie das ding auch immer heißt geöffnet werden!
KeyKon
Verfasst: 24.10.2004 14:58
von Justy
Wenn du aber selbst einen Texteditor schreiben willst, ist das ein bisschen mehr arbeit...
mfg. Justy
Verfasst: 24.10.2004 15:10
von Justy
Code: Alles auswählen
file$=OpenFileRequester("Suchen Sie eine Textdatei:","","Textdatei (*.txt)|*.txt",0)
If file$<>""
If OpenWindow(0, 229, 111, 500, 500, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar , "Texteditor")
If CreateGadgetList(WindowID())
EditorGadget(0, 0, 0, 500, 500)
EndIf
If OpenFile(0,file$)
Repeat
text$=ReadString()
If text$
AddGadgetItem(0,-1,text$)
EndIf
Until Eof(0)
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
CloseFile(0)
EndIf
EndIf
EndIf
so in etwa sollte das ausschauen
mfg. Justy
Verfasst: 24.10.2004 15:15
von KeyKon
Danke
KeyKon
Verfasst: 24.10.2004 15:22
von DarkDragon
Franky hat geschrieben:3.)
Code: Alles auswählen
ReadFile(1,"Dateiname.txt")
while loc()<lof()
debug Readstring()
wend
closefile(1)
Was zum Teufel soll das "loc()<lof()" ? Da nimmt man EOF
Code: Alles auswählen
ReadFile(1,"Dateiname.txt")
while eof(1) = 0
debug Readstring()
wend
closefile(1)
Verfasst: 24.10.2004 15:59
von KeyKon
4.)CloseFile, dann wird alles, was man an der datei geändert hat gespeichert.
und wie kann man dann das ganze schließen ohne das es speichert?
KeyKon
Verfasst: 24.10.2004 16:00
von MVXA
garnicht erst öffnen o_O ?
Verfasst: 24.10.2004 16:05
von PMV
KeyKon hat geschrieben:4.)CloseFile, dann wird alles, was man an der datei geändert hat gespeichert.
und wie kann man dann das ganze schließen ohne das es speichert?
KeyKon
CloseFile() schließt die datei nur ...
Alles was du mit einer Datei machst, ist natürlich dann auch sofort gegeben. Oder änderst du den Wert einer Variablen und wunderst dich dann, warum die Variable diese änderung "speichert" ... ist doch klar, das beim Programmieren nicht bei jeder aktion ala Window erst mal nachgefragt wird, ob man das denn auch wirklich machen will

wäre aber doch mal was

Wenn dann müsstest du so was scho selber programmieren für den User, der dein Programm benutzten soll, fals es das ist, was du meinst. Dann müssteste halt die Sachen, die der User ändert, irgend wo speichern und erst wenn der User auf "Speichern" drückt, diese änderungen in die Datei schreiben.
MFG PMV