Ich habs mir mal installiert und bin ehrlich gesagt positiv ueberrascht.
Das ganze ist sehr vorbildlich strukturiert und die vielen Beispiele machen es
einem einfach schnell durchzusteigen. Nicht dass ich jetzt OOP in PB verwenden
wuerde (dafuer hab ich C++), aber das ist echt mal lobenswert!
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
1. UTF-8 Sourcen werden nicht also solche erkannt, somit gibts nen Fehler
(verstehe nicht, wie man noch Plain Text nutzen kann)
2. Die Draw-Beispiele erzeugen alle ein IMA.
Da mußte wohl noch mal ran
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
If ReadFile(0, "bla.txt")
format = ReadStringFormat(0)
If format = #PB_Ascii
format = #PB_Ascii
Else
format = #PB_UTF8
EndIf
blub.s = ReadString(0, format)
....
CloseFile(0)
EndIf
Das mit draw könnte auch an was anderem liegen, x64 hab ich noch nicht
getestet, da muß ich wohl manuell nachhelfen bevor ich testen kann.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
If ReadFile(0, "bla.txt")
format = ReadStringFormat(0)
If format = #PB_Ascii
format = #PB_Ascii
Else
format = #PB_UTF8
EndIf
blub.s = ReadString(0, format)
....
CloseFile(0)
EndIf
Ich würde auch #PB_Unicode berücksichtigen, z.B. so:
; Identify the string encoding used in the file
format = ReadStringFormat(0)
Select format
Case #PB_Ascii, #PB_UTF8, #PB_Unicode
Default
CloseFile(0)
Debug "Invalid string format"
EndSelect
> Ich würde auch #PB_Unicode berücksichtigen, z.B. so:
Das würde ich nicht, hat schon seinen Grund! PB-Dateien gibts auch nur
als #PB_ACII oder #PB_UTF8, alles andere ist garnicht möglich.
Das mit Draw hat was mit den AlphaLibs zu tun, die ich teste, ansonsten
Funzt es!
X64 geht auch!
Aber: Da Du alles ohne Pfade einträgst, funktioniert erstmal nur noch ein
PB Version, alle anderen sind anzupassen, das ist nicht so gut, da PB eine
Tools.prefs für alle Installationen benutzt. Das sollte also auf komplette
Pfade geändert werden, wobei dann noch das Problem mit dem Debugger
bleibt!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
ts-soft hat geschrieben:> Ich würde auch #PB_Unicode berücksichtigen, z.B. so:
Das würde ich nicht, hat schon seinen Grund! PB-Dateien gibts auch nur
als #PB_ACII oder #PB_UTF8, alles andere ist garnicht möglich.
Du liest jetzt zwar den BOM aus, schreibst ihn aber nicht zurück! Das könnte
Datenverlust für Unicode-Strings bedeuten!
Vielleicht hab ich die Stelle auch nur nicht gefunden
Kommt eine Fehlermeldung im Unicode-Modus, solange SimpleOOP aktiviert
ist, ohne gehts.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
WriteStringFormat(0, Format); z.B. #PB_UTF8
WriteStringN(0, "bla", Format)
Obiges Beispiel funktioniert nur, wenn die IDE auf UTF-8 steht und die
Compileroptionen auf Unicode. Schon erscheint der Text in der MsgBox.
Deshalb ist PlainText in der IDE auch überflüssig, weil UTF-8 unterstützt
beides voll.
Format das beim lesen gefunden wurde, unbedingt wiederherstellen beim schreiben!
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.