Autor Beitrag
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 09.11.07 13:57 
Hallo,

Ich möchte es meinem Programm ermöglichen, Unicode Zeichen (♠♣♥♦) zu nutzen und zwar in einem TEdit und
möchte diese dann entweder mit Write in eine Datei schreiben, oder auf ein Canvas zeichnen.

Was brauche ich dafür ?


mfg
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 480

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 09.11.07 14:35 
Dafür sind z.B. die TNT Unicode Controls da. Sind seit kurzem kommerziell, die alten Fassungen gibts aber nach wie vor, z.B. hier.

_________________
We are, we were and will not be.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 09.11.07 16:18 
hi,

danke, mit den controls, sowie widestring und widechar kann ich jetzt programmintern mit unicode charakteren arbeiten und diese auch in den controls benutzen. Allerdings erhalte ich, wenn ich diese auf ein TCanvas zeichnen oder in eine Datei (html) schreiben will, immernoch Fragezeichen. Wie löse ich dieses Problem ?

mfg
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 480

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 09.11.07 16:25 
TCanvas kann kein Unicode, dafür musst du das TNTCanvas nehmen ;-). Als Paintbox dann die TntPaintbox, als Image nen TntImage usw. Quasi vor allem aus der VCL ein TNT vorsetzen. Text schreiben geht dann nicht mit TextOut, sondern mit WideCanvasTextOut usw. usf. Die meisten Delphi-Funktionen nehmen halt nur Strings, und wenn man denen einen Widestring übergibt, wird automatisch konvertiert, wobei dann ??? rauskommen.

Wie das mit html ist, weiß ich nicht. Damit kenne ich mich nicht so aus :nixweiss:. Geht das über UTF-8-Kodierung? Keine Ahnung.

_________________
We are, we were and will not be.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 09.11.07 16:48 
ja, allerdings werden die zeichen schon als Fragezeichen gespeichert, also liegts an Write, gibt es TntWrite ? ;)
Ich benutze ein TBitmap und dessen Canvas zum zeichnen, wenn ich jetzt TNTCanvas nehme, wie speichere ich dann das bild ?

Mit
ausblenden Delphi-Quelltext
1:
 DrawTextW(OBMP.Canvas.Handle, @achar, 1, aRect, DT_CALCRECT);					

klappts auch net so wirklich :(


mfg
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: So 11.11.07 11:32 
mir würde schon reichen, wenn es klappen würde einen Widechar mittels write (o.Ä.) in eine Datei zu schreiben.


mfg
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 480

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 11.11.07 11:40 
Ich kenne Write nicht so gut und weiß nicht, obs da WriteW oder WideWrite oder was ähnliches gibt. Mit Hilfe von Streams lässt sich das aber auf jeden Fall erledigen. Im Zweifel könnte
Ansonsten könnte man noch den Umweg über TTntStringlist nehmen, aber das dürfte nicht das optimale sein.

Aber bist du dir sicher, dass du ne gültige html-Datei erzeugst, wenn da WideStrings drin stehen? Das würde ich nämlich stark anzweifeln...

_________________
We are, we were and will not be.
F34r0fTh3D4rk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: So 11.11.07 11:43 
ich kann mir die html datei ja auch im editor angucken und da sehe ich, dass dort ebenfalls keine unicode zeichen sind. Außerdem habe ich Unicode in dem Dokument aktiviert.

mfg