Seite 1 von 2
Splitten
Verfasst: 01.08.2005 16:05
von Pridastin
Hallo, ich bin neu hier und habe gleich mal eine frage:
wie genau geht das mit dem splitten in PureBasic ?
wie kann ich in eine datei schreiben, ohne das diese datei überschrieben wird, es soll lediglich (bspw.) text hinzugefügt werden?
vielen dank
mfg
prida
Verfasst: 01.08.2005 16:16
von sen-me
öffne datei, lies sie aus
und hängs an deinem neuen text einfach vorne dran
Code: Alles auswählen
ReadFile(0,"test.txt")
Ziel$=ReadString()
CloseFile(0)
Text$="Neuer Text"
OpenFile(0,"test.txt")
WriteString(Ziel$+Text$)
CloseFile(0)
Verfasst: 01.08.2005 17:04
von unix
Oder: am Ende der Datei einfügen
repeat
read..(BlaBla)
until BlaBla = 0 bzw. ""
write..(BlaBla)
Verfasst: 01.08.2005 17:07
von Jake
Einfach die Datei mit OpenFile() öffnen. Du befindest dich jetzt jedoch am Anfang des Files, weshalb alles was du neu reinschreibst das alte überschreibt.
Also mit SeekFile() zum Ende der Datei springen und erst dann in die Datei schreiben.
Code: Alles auswählen
OpenFile(0, DateiName$)
FileSeek(Lof()-3);springt zum ende der Datei
WriteString(...
Verfasst: 01.08.2005 17:41
von Pridastin
vielen dank leutz
das funktioniert schonmal.
nun brauch ich noch ein paar informationen zum splitten
kann ich eigentlich eine seite (openwindow...) öffnen, dort einen button hinmachen und es so einstellen, das wenn er gedrückt wird eine konsole geöffnet wird?
Verfasst: 01.08.2005 18:50
von sen-me
Code: Alles auswählen
If OpenWindow(0, 0, 0, 285, 43, #PB_Window_ScreenCentered, "Test", 0)
If CreateGadgetList(WindowID())
ButtonGadget(0, 0, 0, 24, 24, "")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_EventGadget
If EventGadgetID()=0
OpenConsole()
Input()
CloseConsole()
EndIf
EndIf
Until EventID=#PB_Event_CloseWindow
EndIf
EndIf
Verfasst: 01.08.2005 20:21
von Pridastin
sen-me hat geschrieben:Code: Alles auswählen
If OpenWindow(0, 0, 0, 285, 43, #PB_Window_ScreenCentered, "Test", 0)
If CreateGadgetList(WindowID())
ButtonGadget(0, 0, 0, 24, 24, "")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_EventGadget
If EventGadgetID()=0
OpenConsole()
Input()
CloseConsole()
EndIf
EndIf
Until EventID=#PB_Event_CloseWindow
EndIf
EndIf
dankeschön,
soweit hatte ich das aber auch schon. wenn man jetzt auf den button klickt, öffnet sich die konsole und das interface (die seite) lädt ununterbrochen
kann man das irgendwie ändern?
Verfasst: 01.08.2005 20:57
von benpicco
Das liegt am fehlenden WindowEvent(), wenn du das Fenster nichtmehr brauchst, kannst du es auch schließen (closewindow(0)).
Verfasst: 01.08.2005 21:27
von Pridastin
benpicco hat geschrieben:Das liegt am fehlenden WindowEvent(), wenn du das Fenster nichtmehr brauchst, kannst du es auch schließen (closewindow(0)).
naja das fenter soll ja permanent offen bleiben, habe vor eine art "client" für einen chat zu progammieren.dort soll es verschiedene buttons geben, für text versenden einloggen etc.
daher sollte eig. beides gleichzeitig laufen.
Verfasst: 01.08.2005 21:33
von Batze
Dann mach am besten einen Thread für die Events.
Aber warum benutzt du dann eine Console?
Editorgadget und Stringgadget() sind doch vile komfortabler.