CommandLink Button

Für allgemeine Fragen zur Programmierung mit PureBasic.
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

CommandLink Button

Beitrag 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
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8838
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: CommandLink Button

Beitrag von NicTheQuick »

"Note" Zeile? CommandLink-Button?

Von was redest du? :?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: CommandLink Button

Beitrag 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!
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.
Bild
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: CommandLink Button

Beitrag 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?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: CommandLink Button

Beitrag 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 :wink:
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.
Bild
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: CommandLink Button

Beitrag 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. :|
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: CommandLink Button

Beitrag 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.
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.
Bild
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: CommandLink Button

Beitrag 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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: CommandLink Button

Beitrag 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.
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.
Bild
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: CommandLink Button

Beitrag 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.
Antworten