![]() |
Hexstring vb to Delphi
Hallo
möchte gerne wissen wie dieser string "&H200000" in delphi geschrieben wird. %H200000 ?? oder wie? EDIT: oder anders wie wird der Hexstring von dieser Const ausgegeben WS_VISIBLE := ?? gruss |
Re: Hexstring vb to Delphi
:gruebel:
Als String ?
Delphi-Quellcode:
// Edit: :-D
s := '$200000';
Delphi-Quellcode:
Allerdings ist WS_VISIBLE in der Unit Windows schon deklariert und da hat es den Wert $10000000 .
const
WS_VISIBLE := $200000; |
Re: Hexstring vb to Delphi
Zitat:
Also alles vor den nummerischen wert mit % ersetzen. wie wäre dann der wert bei WS_VISIBLE := %10000000 ? gruss |
Re: Hexstring vb to Delphi
&H = hexadezimal in VB = $ in Delphi
% = ??? in VB Ist letzteres eine Binärschreibweise (also duales System?)?? |
Re: Hexstring vb to Delphi
Zitat:
Dann müßte das ja stimmen ....
Delphi-Quellcode:
will nur sicher gehen ;)
WStyleList.Add('WS_ACTIVECAPTION,%1');
WStyleList.Add('WS_BORDER,%800000'); WStyleList.Add('WS_CAPTION,%C00000'); WStyleList.Add('WS_CHILD,%40000000'); WStyleList.Add('WS_CLIPCHILDREN,%2000000'); WStyleList.Add('WS_CLIPSIBLINGS,%4000000'); WStyleList.Add('WS_DISABLED,%8000000'); WStyleList.Add('WS_DLGFRAME,%400000'); WStyleList.Add('WS_EX_ACCEPTFILES,%10'); WStyleList.Add('WS_EX_APPWINDOW,%40000'); WStyleList.Add('WS_EX_CLIENTEDGE,%200'); WStyleList.Add('WS_EX_CONTEXTHELP,%400'); WStyleList.Add('WS_EX_CONTROLPARENT,%10000'); WStyleList.Add('WS_EX_DLGMODALFRAME,%1'); WStyleList.Add('WS_EX_LAYERED,%80000'); WStyleList.Add('WS_EX_LAYOUTRTL,%400000'); WStyleList.Add('WS_EX_LEFT,%0'); WStyleList.Add('WS_EX_LEFTSCROLLBAR,%4000'); WStyleList.Add('WS_EX_LTRREADING,%0'); WStyleList.Add('WS_EX_MDICHILD,%40'); WStyleList.Add('WS_EX_NOACTIVATE,%8000000'); WStyleList.Add('WS_EX_NOINHERITLAYOUT,%100000'); WStyleList.Add('WS_EX_NOPARENTNOTIFY,%4'); WStyleList.Add('WS_EX_OVERLAPPEDWINDOW,%300'); WStyleList.Add('WS_EX_PALETTEWINDOW,%188'); WStyleList.Add('WS_EX_RIGHT,%1000'); WStyleList.Add('WS_EX_RIGHTSCROLLBAR,%0'); WStyleList.Add('WS_EX_RTLREADING,%2000'); WStyleList.Add('WS_EX_STATICEDGE,%20000'); WStyleList.Add('WS_EX_TOOLWINDOW,%80'); WStyleList.Add('WS_EX_TOPMOST,%8'); WStyleList.Add('WS_EX_TRANSPARENT,%20'); WStyleList.Add('WS_EX_WINDOWEDGE,%100'); WStyleList.Add('WS_GROUP,%20000'); WStyleList.Add('WS_GT,%30000'); WStyleList.Add('WS_HSCROLL,%100000'); WStyleList.Add('WS_ICONIC,%20000000'); WStyleList.Add('WS_MAXIMIZE,%1000000'); WStyleList.Add('WS_MAXIMIZEBOX,%10000'); WStyleList.Add('WS_MINIMIZE,%20000000'); WStyleList.Add('WS_MINIMIZEBOX,%20000'); WStyleList.Add('WS_OVERLAPPED,%0'); WStyleList.Add('WS_OVERLAPPEDWINDOW,%CF0000'); WStyleList.Add('WS_POPUP,%80000000'); WStyleList.Add('WS_POPUPWINDOW,%80880000'); WStyleList.Add('WS_SIZEBOX,%40000'); WStyleList.Add('WS_SYSMENU,%80000'); WStyleList.Add('WS_TABSTOP,%10000'); WStyleList.Add('WS_THICKFRAME,%40000'); WStyleList.Add('WS_TILED,%0'); WStyleList.Add('WS_TILEDWINDOW,%CF0000'); WStyleList.Add('WS_VISIBLE,%10000000'); WStyleList.Add('WS_VSCROLL,%200000'); gruß |
Re: Hexstring vb to Delphi
Zitat:
|
Re: Hexstring vb to Delphi
Du kannst das ganze noch mit
Delphi-Quellcode:
abkürzen.
with WStyleList do
begin Add('blar...'); end; |
Re: Hexstring vb to Delphi
Machs mal so und drück F1. :mrgreen:
Delphi-Quellcode:
WStyleList.Add( format('%s = $%8.8x', ['WS_CAPTION', WS_CAPTION]) );
|
Re: Hexstring vb to Delphi
Zitat:
Dieser soll dann mit einem realen wert eines fensters verglichen werden wenn dieses über 'WS_VISIBLE' verfügt. Anschließend theoretisch soll dieses verändert werden das es meinen ansprüchen entspricht. Dafür brauche ich aber den realen wert so wie er bei Delphi binär oder Hexadezimal übergeben wird wenn ich ihn abfrage. % ist bei VB zum beispiel 'Test%' eine variable welche test als integer declariert. & wäre als Beispiel 'Test&' ein string @turboPASCAL
Delphi-Quellcode:
wird damit der reale wert in die liste addiert welche bei einer rückfrage mit dem originalen übereinstimmt ?
WStyleList.Add( format('%s = $%8.8x', ['WS_CAPTION', WS_CAPTION]) );
Quasi WStyleList.Add('WS_CAPTION', dein mit format errechnete wert?) Nur dauert das formatieren nicht länger als wenn man den wert direkt übergibt wenn bekannt? Oder was wolltest du mir damit zeigen? gruss |
Re: Hexstring vb to Delphi
Ok, nun habe ich verstanden was du willst. Aber eine Frage: Warum fügst du die Werte der Konstanten als String ein? Dann hättest du danach bei jedem Eintrag wieder aufwändig den String schneiden müssen und wieder zurück wandeln müssen. Ich empfehle lieber die Konstanten in der Objekteigenschaften abzulegen.
lList -> TStringList;
Delphi-Quellcode:
Ok, nun zur Abfrage bezüglich eines Fensterhandles:
With lList Do
Begin AddObject('WS_ACTIVECAPTION', TObject(WS_ACTIVECAPTION)); AddObject('WS_BORDER', TObject(WS_BORDER)); AddObject('WS_CAPTION', TObject(WS_CAPTION)); .... AddObject('WS_VSCROLL', TObject(WS_VSCROLL)); End; lWinStyle = Windows Style des Fenster welches analysiert werden soll i = Integer lConst = Cardinal ListBox1 = AusgabeListBox
Delphi-Quellcode:
Wenn du in der Liste auch noch den konstanten Wert haben willst, dann nutze die Format() Angabe von turboPASCAL.
For i := 0 To Pred(lList.Count) Do
Begin lConst := Cardinal(lList.Objects[i]); If ( lWinStyle And lConst ) = lConst Then ListBox1.Items.Add(lList[i]); End; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr. |
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