[gelöst] Zeilenumbruch im EditorGadget

Für allgemeine Fragen zur Programmierung mit PureBasic.
MenschMarkus
Beiträge: 220
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

[gelöst] Zeilenumbruch im EditorGadget

Beitrag von MenschMarkus »

Hi,
Ich versuche gerade einen Text mit Steuerzeichen im Editor Gadget dar zu stellen. Solange ich die Eingabe direkt im Editor Gadget vornehme und Tabs "CHR(9)" oder Zeilenvorschung "CHR(10)" oder CHR(13) eingebe wird das alles auch schön dargestellt. Jetzt speichere ich diese Information in eine Datei. Soweit so gut. Schaue ich mir die Datei im Notepad an, ist alles auch genau so wie im Editor Gadget eingegeben.
Öffne ich die Datei und möchte die Information wieder darstellen sind alle CHR(10), CHR(13) oder #CRLF$ verloren gegangen. Tabs CHR(9) werden aber korrekt dargestellt.
Hat jemand einen Tipp wie ich auch Zeilenumbrüche wieder darstellen kann?

Mit folgendem Beispiel kann man den Effekt schön sehen. In der Textdatei ist alles so wie es sein sollte und das Editor Ergebnis schaut halt nicht so aus.

Code: Alles auswählen

Procedure EditorTest()
  Define text.s
  OpenFile(0,"test.txt")
  WriteStringN(0,"Dies ist ein Text" + Chr(10) + Chr(13) + Chr(9) + "und hier eine zweite Zeile")
  CloseFile(0)
  OpenWindow(0,100,100,320,200,"EditorGadget")
  EditorGadget(0,2,2,316,176)
  OpenFile(0,"test.txt")
  While Not Eof(0)
    text + ReadString(0)
  Wend
  CloseFile(0)
  SetGadgetText(0,text)
  Repeat
    WaitWindowEvent()
  Until WindowEvent() = #PB_Event_CloseWindow
EndProcedure
EditorTest()
Zuletzt geändert von MenschMarkus am 23.09.2021 09:40, insgesamt 1-mal geändert.
Wissen schadet nur dem, der es nicht hat !
matbal
Beiträge: 246
Registriert: 30.03.2011 20:53

Re: Zeilenumbruch im EditorGadget

Beitrag von matbal »

ReadString() liest bis zum Zeilenumbruch. Der Dateizeiger wird anschließend am Anfang der nächsten Zeile gesetzt, so daß nach jedem ReadString() immer der Inhalt einer Zeile gelesen wird.

Wenn du den Zeilenumbruch brauchst, mußt du ihn wieder anhängen.
Benutzeravatar
Kiffi
Beiträge: 10620
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Zeilenumbruch im EditorGadget

Beitrag von Kiffi »

ReadString() hat einen Parameter #PB_File_IgnoreEOL. Damit kannst Du den gesamten Inhalt der Datei in einem Rutsch lesen. Die Zeilenumbrüche bleiben dabei erhalten.

Code: Alles auswählen

OpenFile(0,"test.txt")
text = ReadString(0, #PB_File_IgnoreEOL)
CloseFile(0)
Hygge
MenschMarkus
Beiträge: 220
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: Zeilenumbruch im EditorGadget

Beitrag von MenschMarkus »

Danke Kiffi, das wars was ich gesucht hatte. :allright:
Wissen schadet nur dem, der es nicht hat !
Antworten