Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Unicode Headline in Stringgrid (https://www.delphipraxis.net/74271-unicode-headline-stringgrid.html)

DGL-luke 1. Aug 2006 10:46

Re: Unicode Headline in Stringgrid
 
Ich hab da mal was vorbereitet™...

http://www.delphipraxis.net/internal...=587777#587777

Ydobon 1. Aug 2006 17:28

Re: Unicode Headline in Stringgrid
 
In einem Programmierforum gibt es natürlich auch eine einfache Methode für den kleinen Hunger zwischendurch.

Delphi-Quellcode:
function UniHexe(wstr: WideString): String;
var i: Integer;
begin
  i:=1;
  while i<=Length(wstr) do
  begin
    // falls ein paar Surrogates herumschwirren und der original Codepunkt gesucht ist
    //if (Ord(wstr[i])>$D800) and (Ord(wstr[i])<$DBFF) then
    //begin
    //  result:=result+' #$'+IntToHex((Ord(wstr[i]) shl 10) + Ord(wstr[i+1]) + $FCA02400, 6);
    //  Inc(i);
    //end else
    // zur direkten Eingabe müssen aber die Paare genommen werden
    result:=result+' #$'+IntToHex(Ord(wstr[i]), 4);
    Inc(i);
  end;
end;
Nebenbei, in Word den Cursor neben das interessierende Zeichen und Alt+C drücken zeigt den Code auch an.

DGL-luke 1. Aug 2006 18:13

Re: Unicode Headline in Stringgrid
 
Tja... nur wie kriegst due denn den wstring erst mal rein in die Funktion? ;)

Ydobon 1. Aug 2006 18:54

Re: Unicode Headline in Stringgrid
 
UTF8Decode(TStringList.Text) etc. ?

Ich gehe einfach einmal davon aus, dass wenn jemand die Zeichencodierung für eine Ausgabe in einem Delphi-Programm benötigt, auch Möglichkeiten zur Eingabe vorhanden sein dürften. Polondo sprach ja direkt von den TntUnicode Controls.

Wenn alle Stränge reißen
Delphi-Quellcode:
  hndl:=CreateWindowExW(WS_EX_CLIENTEDGE, 'Edit', Nil, WS_CHILD or WS_VISIBLE, 10, 10,
                      121, 21, Handle, 0, HInstance, Nil);
// Ctrl+V
len:=GetWindowTextLengthW(hndl);
SetLength(wstr, len);
GetWindowTextW(hndl, PWChar(wstr), len);
tut es auch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.
Seite 2 von 2     12   

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