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

Code: Alles auswählen

RunProgram("datei.txt")
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 :allright:

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 :lol: 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