[4.6?] WriteStringFormat() und IDE

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

[4.6?] WriteStringFormat() und IDE

Beitrag von Batze »

Abend oder Morgen, je nachdem,

Habe unerklärliche und nicht reproduzierbare Fehler mit dem Erzeugen von Dateien in utf8. Mal kann z.B. die Datei nicht kompilieren, weil es angeblich in der ersten Zeile einen Fehler gibt, mal werden die Umlaute in der IDE nicht dargestellt.

Folgendes stellt in test2b.pb das € falsch dar. Mehr krieg ich leider nicht reproduziert, wirkt alles total willkürlich für mich. :freak:

unicode-test.pb

Code: Alles auswählen

; CreateFile(0, "test1b.pb")
;   WriteString(0, "Für 8 € säßen Kröten in der Sonne!")
; CloseFile(0)
  
CreateFile(0, "test2b.pb")
  WriteStringFormat(0, #PB_UTF8)
  WriteString(0, "debug "+#DQUOTE$+"Für 8 € säßen Kröten in der Sonne!"+#DQUOTE$)
CloseFile(0)
  
; CreateFile(0, "test3b.pb")
;   WriteString(0, "Für 8 € säßen Kröten in der Sonne!", #PB_Ascii)
; CloseFile(0)  
  
; CreateFile(0, "test4b.pb")
;   WriteString(0, "Für 8 € säßen Kröten in der Sonne!", #PB_UTF8)
; CloseFile(0)

; CreateFile(0, "test5b.pb")
;   WriteStringFormat(0, #PB_UTF8)
;   WriteString(0, "Für 8 € säßen Kröten in der Sonne!", #PB_UTF8)
; CloseFile(0)

IncludeFile "unicode-subtest.pb"
unicode-subtest.pb

Code: Alles auswählen

; CreateFile(0, "test1b.pb")
;   WriteString(0, "Für 8 € säßen Kröten in der Sonne!")
; CloseFile(0)
  
CreateFile(0, "test2b.pb")
  WriteStringFormat(0, #PB_UTF8)
  WriteString(0, "debug "+#DQUOTE$+"Für 8 € säßen Kröten in der Sonne!"+#DQUOTE$)
CloseFile(0)
  
; CreateFile(0, "test3b.pb")
;   WriteString(0, "Für 8 € säßen Kröten in der Sonne!", #PB_Ascii)
; CloseFile(0)  
  
; CreateFile(0, "test4b.pb")
;   WriteString(0, "Für 8 € säßen Kröten in der Sonne!", #PB_UTF8)
; CloseFile(0)

; CreateFile(0, "test5b.pb")
;   WriteStringFormat(0, #PB_UTF8)
;   WriteString(0, "Für 8 € säßen Kröten in der Sonne!", #PB_UTF8)
; CloseFile(0)
Kann das oder ähnliche Fehler irgendwer bestätigen?
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: [4.6?] WriteStringFormat() und IDE

Beitrag von STARGÅTE »

Also wenn ich folgende Sachen beachte, funktioniert die erstellte Datei ohne Probleme:
  • Die Datei zum erzeugen des Code selbst muss UTF-8 sein (damit das €-Zeichen nicht zerstört wird, bevor es geschrieben wird)
  • Beim Kompilieren muss Unicode aktiv sein, sonst wird das €-Zeichen zur Laufzeit zerstört.
Wenn du Unicode nicht aktiviert hast, dann würde halt der UTF-8 String aus dem Code als ASCII geschrieben -> zerstörung aller Zeichen über 127
Wenn du UTF-8 der Code-Datei nicht aktivierst, dann ist das € Zeichen halt schon vorher weg.

Ein Fehler in der 1. Zeile hatte ich nie, vermutlich wurde bei dir der BOM nicht richtig erkannt, warum auch immer.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Re: [4.6?] WriteStringFormat() und IDE

Beitrag von Batze »

OK, ich verwerfe meine Fehlermeldung, ich weiß jetzt woran das mit dem Fehler liegt. Hab ich irgendwie nicht mit gerechnet.
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Antworten