PureBasic 4.00 Beta7 released.
Verfasst: 16.03.2006 02:02
http://www.purebasic.com/securedownload ... anguage=DE
Einige Änderungen dieses mal:
OpenWindow()
- Das "default flag" when nixhts angegeben wird ist nur noch #PB_Window_SystemMenu.
(hat wirklich nicht richtig Sinn gemacht per default das x/y zu ignorieren)
- Wenn #PB_Default im X oder Y parameter vorkommt und kein Center
flag gegeben ist wird die Positionierung des Fensters Windows überlassen.
Neue Befehle:
- StringByteLength(String$ [, Format]) - gibt länge des Strings in bytes im gegebenen forma zurück (nützlich vorallem für UTF8)
- ReadStringFormat(#File) - liest einen eventuellen BOM (Byte Order Mark) header ein und gibt das format zurück (#PB_Ascii, #PB_UTF8, ...)
- WriteStringFormat(#File, Format) - schreibt einen BOM header für das format
Die englischen docs zu den Befehlen sind schon dabei, also mal reinlesen...
IDE/Compiler:
Der Compiler erwartet nicht länger automatisch eine UTF-8 Datei im unicode modus.
Statdessen wird das auch über einen solchen BOM header erkannt.
(das schreiben die meisten Programme in eine Datei wenn man UTF-8 Dateien erzeugt)
Damit ist der UTF-8 modus total unabhängig vom Unicode modus. Man kann
Ascii-Sources zu einem Unicode Programm compilieren und UTF-8 Sources
zu Ascii-Programm. Man kann sogar den Typ innerhalb eines projektes
variieren.
Die IDE hat daher nicht mehr die globale UTF-8 option. Das encoding kann
für jede Datei im "Compiler Optionen" Dialog gesetzt werden (So wie das Zeilenumbruch format)
Natürlich kann man das default für neue Sourcen in den Preferencen festlegen.
Wichtig: Weil alte Sourcen ja noch keinen BOM header haben werden sie
zunächst als Ascii erkannt. Wer also viele UTF-8 codierte strings im code
hat sollte vielleicht zuerst manuell einen solchen header einfügen (bytes EF BB BF ganz am Start)
Kann man ja gut über ein kleines PB Program machen wenn es viele sind.
Einige Änderungen dieses mal:
OpenWindow()
- Das "default flag" when nixhts angegeben wird ist nur noch #PB_Window_SystemMenu.
(hat wirklich nicht richtig Sinn gemacht per default das x/y zu ignorieren)
- Wenn #PB_Default im X oder Y parameter vorkommt und kein Center
flag gegeben ist wird die Positionierung des Fensters Windows überlassen.
Neue Befehle:
- StringByteLength(String$ [, Format]) - gibt länge des Strings in bytes im gegebenen forma zurück (nützlich vorallem für UTF8)
- ReadStringFormat(#File) - liest einen eventuellen BOM (Byte Order Mark) header ein und gibt das format zurück (#PB_Ascii, #PB_UTF8, ...)
- WriteStringFormat(#File, Format) - schreibt einen BOM header für das format
Die englischen docs zu den Befehlen sind schon dabei, also mal reinlesen...
IDE/Compiler:
Der Compiler erwartet nicht länger automatisch eine UTF-8 Datei im unicode modus.
Statdessen wird das auch über einen solchen BOM header erkannt.
(das schreiben die meisten Programme in eine Datei wenn man UTF-8 Dateien erzeugt)
Damit ist der UTF-8 modus total unabhängig vom Unicode modus. Man kann
Ascii-Sources zu einem Unicode Programm compilieren und UTF-8 Sources
zu Ascii-Programm. Man kann sogar den Typ innerhalb eines projektes
variieren.
Die IDE hat daher nicht mehr die globale UTF-8 option. Das encoding kann
für jede Datei im "Compiler Optionen" Dialog gesetzt werden (So wie das Zeilenumbruch format)
Natürlich kann man das default für neue Sourcen in den Preferencen festlegen.
Wichtig: Weil alte Sourcen ja noch keinen BOM header haben werden sie
zunächst als Ascii erkannt. Wer also viele UTF-8 codierte strings im code
hat sollte vielleicht zuerst manuell einen solchen header einfügen (bytes EF BB BF ganz am Start)
Kann man ja gut über ein kleines PB Program machen wenn es viele sind.