4 Fragen zu txt-Dateien

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

4 Fragen zu txt-Dateien

Beitrag 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
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag 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.
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag 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
Benutzeravatar
Justy
Beiträge: 131
Registriert: 10.09.2004 13:31
Wohnort: Feldbach / Steiermark / Österreich
Kontaktdaten:

Beitrag 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
Benutzeravatar
Justy
Beiträge: 131
Registriert: 10.09.2004 13:31
Wohnort: Feldbach / Steiermark / Österreich
Kontaktdaten:

Beitrag 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
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Danke :allright:

KeyKon
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag 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)  
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag 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
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

garnicht erst öffnen o_O ?
Bild
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag 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
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Antworten