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.