Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Newbie-Frage: Wie binde ich Windows API Funktionen ein ? (https://www.delphipraxis.net/6943-newbie-frage-wie-binde-ich-windows-api-funktionen-ein.html)

Tyrael Y. 28. Jul 2003 10:24


Newbie-Frage: Wie binde ich Windows API Funktionen ein ?
 
Ich möchte gerne die Windows API Funktion
LANGIDFROMLCID(lcid) benutzen. In der Hilfe steht es sei in der Headerdatei Winnt.h, aber dies ist ja eine c++ Headerdatei.
Wie kann ich diese API Funktion jetzt in Delphi einbinden und nutzen ???

Danke schon mal im voraus.

LG Tyrael

MathiasSimmack 28. Jul 2003 10:40

Re: Newbie-Frage: Wie binde ich Windows API Funktionen ein ?
 
Guck doch einfach in die Code-Library: Infos aus der Locale ID (zweites Posting).

Chewie 28. Jul 2003 10:41

Re: Newbie-Frage: Wie binde ich Windows API Funktionen ein ?
 
Borland hat die meisten C-Header nach Delphi übersetzt. Die von dir gewünschte Funktion dürfte sich in der windows.pas befinden.

Tyrael Y. 28. Jul 2003 10:46

Re: Newbie-Frage: Wie binde ich Windows API Funktionen ein ?
 
ähm, hab gerade in der windows.pas nachgeguckt, da is es nicht....

Tyrael Y. 28. Jul 2003 10:48

Re: Newbie-Frage: Wie binde ich Windows API Funktionen ein ?
 
@mathias, aber in der code library steht doch nicht die unit die ich einbinden sollte, oder guck ich falsch ?

MathiasSimmack 28. Jul 2003 10:54

Re: Newbie-Frage: Wie binde ich Windows API Funktionen ein ?
 
Normalerweise ist keine Unit notwendig. Die Datentypen müssten bekannt sein, und wenn doch ein Fehler kommt, dann liegt´s bestenfalls an der fehlenden Windows.pas. Da die aber in 99% aller Programme sowieso benutzt wird, dürfte der Fall als vernachlässigbar gelten.

Ich habe nichts weiter gemacht, als die Funktionen aus der Headerdatei nach Delphi zu übersetzen. War nicht so schwer, da sie ja direkt in der H-Datei definiert und nicht Teil irgendeiner System-DLL sind:
Code:
#define LANGIDFROMLCID(lcid)  ((WORD )(lcid))
usw.

Tyrael Y. 28. Jul 2003 11:49

Re: Newbie-Frage: Wie binde ich Windows API Funktionen ein ?
 
Ähm, ich bin wohl auf jeden Fall ein Newbie,
ich habe es jetzt mehrere mal ausprobiert und komm nicht zum Ergebnis.

Also.. ich erzähl mal ausführlich was ich erreichen möchte...

1. Ich lese aus einer ini Datei den Wert für die Sprache im Format z.B "0409" <- das ist ein string

2. Jetzt möchte ich gerne das "0409" umgewandelt wird in, in diesem Fall "English"

mehr wollte ich eigentlich nicht erreichen und wollte auch nicht ne Liste von Konstanten Strings zum vergleichen anlegen.

Für ein ausführliches Codebeispiel dafür wäre ich zutiefst dankbar.

LG Tyrael.

Tyrael Y. 28. Jul 2003 12:54

Re: Newbie-Frage: Wie binde ich Windows API Funktionen ein ?
 
oh, mann, man kann sich manchaml auch selten dumm anstellen :wink:

ich habe es jetzt

GetLocaleInfo(StrToInt(GeoID), LOCALE_SENGLANGUAGE , @request, sizeof(request));

liefert genau das was ich wollte.

schönen dank nochmal


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 Uhr.

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