Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Alpha Zeichen auf Label machen

  Alt 28. Jun 2007, 09:08
@bitsetter: Welchen Sinn hat es das du 20 Byte speicher anforderst obwohl du nicht soviel nutzt. Und warum schreibst du ' = 3°' in den WideChar? Und warum castest du WText zu PWideChar wenn es doch schon von dem Typ ist? Das ist jetzt keine blose Kritik sondern sind ernst gemeinte Fragen da ich micht mit der Handhabung von Unicode nicht so recht auskenne und man ja nur dazu lernen kann wenn man auch versteht was man tippt.

[Edit]
ok, das mit dem ' = 3°' versteh ich jetzt. Da wird das erste Zeichen (Leerzeichen) dann durch's Alphazeichen ersetzt.

Anstelle der festen 5 bei TextOutW kann man auch mit Length arbeiten

Nach meinem Verständnis wäre das ganze doch so am besten (zwecks einfacher Änderung des Textes ohne die Zahlen für die Länge gesondert anpassen zu müssen)
Delphi-Quellcode:
var
  WText : PWideChar;
  lStr : String;
begin
  lStr := ' = 3°';
  GetMem(WText, Length(lStr) * 2);
  StringToWideChar(lStr, WText, Length(lStr) + 1);
  PWidechar(WText)^:= WideChar($03B1);//Alpha Zeichen
  canvas.Font.Name := 'Arial';
  TextOutW(canvas.Handle, 10, 10, WText, Length(WText));
  FreeMem(WText);
[/Edit]
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat