Seite 1 von 2
CommandLink Button
Verfasst: 02.11.2012 12:55
von Lambda
Nachdem Sprachdateien in eine ZIP verlagert wurden gibt es Probleme in der "Note" Zeile des CommandLink Buttons.
Die Unicode Executable liest den Text (mit Unicode Codierung). Wie muss der String nun konvertiert werden?
Code: Alles auswählen
CompilerIf #PB_Compiler_Unicode = #False
sNote = Space(255)
MultiByteToWideChar_ ( #CP_ACP, 0, @Note$, Len(Note$), @sNote, Len(sNote))
PokeL( @sNote + Len(Note$) * 2, 0)
CompilerElse
sNote = Note$
CompilerEndIf
Re: CommandLink Button
Verfasst: 02.11.2012 13:05
von NicTheQuick
"Note" Zeile? CommandLink-Button?
Von was redest du?

Re: CommandLink Button
Verfasst: 02.11.2012 14:07
von ts-soft
Code: Alles auswählen
Define.s sNote, Note
sNote = Space(StringByteLength(Note, #PB_Unicode) + 2)
PokeS(@sNote, Note, -1, #PB_Unicode)
Allerdings wäre es ratsam statt sNote einen Memory zu nutzen!
Re: CommandLink Button
Verfasst: 02.11.2012 14:58
von Lambda
Hm, durch die manuelle "Preference" Datei gibt sich ein ganz anderes Problem.
PureZIP unterstützt keine Unicode Namen, mit der Preference-Library gab es keine Probleme, aber auch wenn ich UTF-8 als Sprachdatei nutze, gibt es hier Probleme mit den Namen. Die Namen werden bei unbenannten Dateien aus der Sprachdatei zusammengesetzt. (z.B Datei0.txt)
In welchem Format sollte ich eine Sprachdatei also am besten speichern?
Re: CommandLink Button
Verfasst: 02.11.2012 15:13
von ts-soft
Preference-Dateien werden automatisch in UTF-8 gespeichert, wenn Unicode an ist.
MiniZip unterstützt auch UTF-8, wenn ich mich recht erinnere

Re: CommandLink Button
Verfasst: 02.11.2012 15:20
von Lambda
Deshalb hab ich die Sprachdatei mit UTF-8 Codierung gespeichert (mit dem Windows Editor), und mit PeekS(..., -1, #PB_UTF8) aus dem Speicher gefangen. Kann scheinbar so nicht richtig sein, da der CommandLink Button damit dann auch zurecht kommen sollte.

Re: CommandLink Button
Verfasst: 02.11.2012 15:37
von ts-soft
cOoki3druqs hat geschrieben:mit PeekS(..., -1, #PB_UTF8) aus dem Speicher gefangen
Du solltest mit Memory arbeiten, das Ergebnis von PeekS ist ein String im Format der
Exe! PB Stringvariablen halten immer das Format, in welchem Compiliert wurde! Andere
Formate lassen sich nur im Speicher halten.
Re: CommandLink Button
Verfasst: 02.11.2012 15:59
von Lambda
Wie stellt es die Preference-Library an? Ich speichere alle Texte direkt in eine Map, auch mit einer Preference-Datei, wobei es mit der Library keine Probleme gibt.
Re: CommandLink Button
Verfasst: 02.11.2012 16:26
von ts-soft
Ich verstehe Deine Probleme nicht, Exe im Unicode-Format kompilieren, Source in
UTF-8 speichern und dann brauchst Du doch nichts mehr beachten.
Preference-Datei wird bei Unicode-Programm autom. in UTF-8 gespeichert, bei
ASCII-Programm in ASCII. Beim Lesen braucht man nichts beachten, Format wird
anhand des BOM autom. erkannt.
Re: CommandLink Button
Verfasst: 02.11.2012 17:05
von Lambda
Das Problem liegt im Zusammenhang mit der PureZIP Library. Egal mit welcher Formatierung/ohne verrumpelt es die Namen der Dateien innerhalb der ZIP.