Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Alpha Zeichen auf Label machen (https://www.delphipraxis.net/94902-alpha-zeichen-auf-label-machen.html)

Christian18 27. Jun 2007 21:20


Alpha Zeichen auf Label machen
 
Hallo,

wie kann ich ein Alpha zeichen (ich meine den griech. Buchstaben, womit man Winkel kennzeichnet) als Caption eines Labels machen?

LG Chris

SirThornberry 27. Jun 2007 21:22

Re: Alpha Zeichen auf Label machen
 
du musst eine Schriftart finden welche das Zeichen unterstützt. Am besten schaust du da in der Zeischentabelle noch (Startmenü->Programme->Zubehör->Systemprogramme->Zeichentabelle)

Christian18 27. Jun 2007 21:25

Re: Alpha Zeichen auf Label machen
 
Hallo,

so schlau bin ich auch schon gewesen. hat abeer leider nichts gebracht. Ich kann das Alpha Zeichen in der Schrift Arial finden. Wenn ich versuche es zu kopieren, erscheint aber ein ?

Was kann ich nun tun? Ich brauche dieses Zeichen dringend und kann auch leider nicht Alpha hinschreiben.

LG Chris

3_of_8 27. Jun 2007 21:29

Re: Alpha Zeichen auf Label machen
 
Nimm Symbol. In Arial gibts das Alpha nur in Unicode, und da die VCL kein Unicode unterstützt, kannst du das vergessen.

mkinzler 27. Jun 2007 21:31

Re: Alpha Zeichen auf Label machen
 
Zitat:

Zitat von 3_of_8
Nimm Symbol. In Arial gibts das Alpha nur in Unicode, und da die VCL kein Unicode unterstützt, kannst du das vergessen.

Höchstens er nimmt Unicode-Komponenten von TNT/TMS oder EiPack

3_of_8 27. Jun 2007 21:45

Re: Alpha Zeichen auf Label machen
 
Wenn das nicht etwas Overkill ist. ;)

mkinzler 27. Jun 2007 21:47

Re: Alpha Zeichen auf Label machen
 
Nur für diesen Fall. Könnte sich aber langfristig lohnen. Oder er wartet bis nächstes jahr.

Christian18 27. Jun 2007 22:13

Re: Alpha Zeichen auf Label machen
 
hi,

ich habe das problem schon ein bisschen anders gelöst. ist bestimmt nicht die eleganteste variante, aber es funktioniert auch. Ich habe einfach einen Screenshot gemacht, dann habe ich mir das zeichen ausgeschnitten und dann als Image in mein Projekt hinzugefügt.

PS: Trotzdem vielen dank für die zahlreichen antworten. Das mir einem Jahr waren überlege ich mir nochmal in ruhe :D

LG Chris

bitsetter 27. Jun 2007 23:00

Re: Alpha Zeichen auf Label machen
 
Hi,

eventuell könntest mit TextOutW oder DrawTextW den Text selber zeichnen.
Delphi-Quellcode:
var
  WText: PWideChar;
begin
  GetMem(WText, 20);
  StringToWideChar(' = 3°',WText, 6);
  PWidechar(WText)^:= WideChar($03B1);//Alpha Zeichen
  canvas.Font.Name := 'Arial';
  TextOutW(canvas.Handle, 10, 10, WText, 5);
  FreeMem(WText, 20);

SirThornberry 28. Jun 2007 08:08

Re: Alpha Zeichen auf Label machen
 
@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]


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz