0/5 (5 avis)
Vue 19 806 fois - Téléchargée 701 fois
function HexToInt(Hex: String): Integer; var z: Integer; x: Integer; v: Integer; p: Integer; b: Variant; h: Integer; n: Integer; begin Hex := UpperCase(Hex); x := Length(Hex); v := x; p := 0; n := 0; b := 0; while v >= 1 do begin z := Ord(Hex[v]); case z of 48: h := 0; 49: h := 1; 50: h := 2; 51: h := 3; 52: h := 4; 53: h := 5; 54: h := 6; 55: h := 7; 56: h := 8; 57: h := 9; 65: h := 10; 66: h := 11; 67: h := 12; 68: h := 13; 69: h := 14; 70: h := 15; end; b := exp(p * ln(16)) * h; p := p + 1; v := v - 1; n := n + b; end; Result := n; end; function GetKeyBoardLanguage: String; // Retourne le langage du clavier var P: PChar; begin Result := 'Indéterminé'; if GetKeyboardLayoutName(P) then Case HexToInt(P) of $00000436: Result := 'Afrikaans'; $0000041c: Result := 'Albanian'; $00000401: Result := 'Arabic Saudi Arabia'; $00000801: Result := 'Arabic Iraq'; $00000c01: Result := 'Arabic Egypt'; $00001001: Result := 'Arabic Libya'; $00001401: Result := 'Arabic Algeria'; $00001801: Result := 'Arabic Morocco'; $00001c01: Result := 'Arabic Tunisia'; $00002001: Result := 'Arabic Oman'; $00002401: Result := 'Arabic Yemen'; $00002801: Result := 'Arabic Syria'; $00002c01: Result := 'Arabic Jordan'; $00003001: Result := 'Arabic Lebanon'; $00003401: Result := 'Arabic Kuwait'; $00003801: Result := 'Arabic UAE'; $00003c01: Result := 'Arabic Bahrain'; $00004001: Result := 'Arabic Qatar'; $0000042b: Result := 'Armenian'; $0000042c: Result := 'Azeri Latin'; $0000082c: Result := 'Azeri Cyrillic'; $0000042d: Result := 'Basque'; $00000423: Result := 'Belarusian'; $00000402: Result := 'Bulgarian'; $00000403: Result := 'Catalan'; $00000404: Result := 'Chinese Taiwan'; $00000804: Result := 'Chinese PRC'; $00000c04: Result := 'Chinese Hong Kong'; $00001004: Result := 'Chinese Singapore'; $00001404: Result := 'Chinese Macau'; $0000041a: Result := 'Croatian'; $00000405: Result := 'Czech'; $00000406: Result := 'Danish'; $00000465: Result := 'Divehi'; $00000413: Result := 'Dutch Standard'; $00000813: Result := 'Dutch Belgian'; $00000409: Result := 'English United States'; $00000809: Result := 'English United Kingdom'; $00000c09: Result := 'English Australian'; $00001009: Result := 'English Canadian'; $00001409: Result := 'English New Zealand'; $00001809: Result := 'English Ireland'; $00001c09: Result := 'English South Africa'; $00002009: Result := 'English Jamaica'; $00002409: Result := 'English Caribbean'; $00002809: Result := 'English Belize'; $00002c09: Result := 'English Trinidad'; $00003009: Result := 'English Zimbabwe'; $00003409: Result := 'English Philippines'; $00000425: Result := 'Estonian'; $00000438: Result := 'Faeroese'; $00000429: Result := 'Farsi'; $0000040b: Result := 'Finnish'; $0000040c: Result := 'French Standard'; $0000080c: Result := 'French Belgian'; $00000c0c: Result := 'French Canadian'; $0000100c: Result := 'French Swiss'; $0000140c: Result := 'French Luxembourg'; $0000180c: Result := 'French Monaco'; $00000437: Result := 'Georgian'; $00000456: Result := 'Galician'; $00000407: Result := 'German Standard'; $00000807: Result := 'German Swiss'; $00000c07: Result := 'German Austrian'; $00001007: Result := 'German Luxembourg'; $00001407: Result := 'German Liechtenstein'; $00000408: Result := 'Greek'; $00000447: Result := 'Gujarati'; $0000040d: Result := 'Hebrew'; $00000439: Result := 'Hindi'; $0000040e: Result := 'Hungarian'; $0000040f: Result := 'Icelandic'; $00000421: Result := 'Indonesian'; $00000410: Result := 'Italian Standard'; $00000810: Result := 'Italian Swiss'; $00000411: Result := 'Japanese'; $0000044b: Result := 'Kannada'; $0000043f: Result := 'Kazakh'; $00000457: Result := 'Konkani'; $00000412: Result := 'Korean'; $00000440: Result := 'Kyrgyz'; $00000426: Result := 'Latvian'; $00000427: Result := 'Lithuanian'; $0000042f: Result := 'Macedonian'; $0000043e: Result := 'Malay Malaysia'; $0000083e: Result := 'Malay Brunei Darussalam'; $0000044e: Result := 'Marathi'; $00000450: Result := 'Mongolian'; $00000414: Result := 'Norwegian Bokmal'; $00000814: Result := 'Norwegian Nynorsk'; $00000415: Result := 'Polish'; $00000416: Result := 'Portuguese Brazilian'; $00000816: Result := 'Portuguese Standard'; $00000446: Result := 'Punjabi'; $00000418: Result := 'Romanian'; $00000419: Result := 'Russian'; $0000044f: Result := 'Sanskrit'; $0000081a: Result := 'Serbian Latin'; $00000c1a: Result := 'Serbian Cyrillic'; $0000041b: Result := 'Slovak'; $00000424: Result := 'Slovenian'; $0000040a: Result := 'Spanish Traditional Sort'; $0000080a: Result := 'Spanish Mexican'; $00000c0a: Result := 'Spanish Modern Sort'; $0000100a: Result := 'Spanish Guatemala'; $0000140a: Result := 'Spanish Costa_Rica'; $0000180a: Result := 'Spanish Panama'; $00001c0a: Result := 'Spanish Dominican Republic'; $0000200a: Result := 'Spanish Venezuela'; $0000240a: Result := 'Spanish Colombia'; $0000280a: Result := 'Spanish Peru'; $00002c0a: Result := 'Spanish Argentina'; $0000300a: Result := 'Spanish Ecuador'; $0000340a: Result := 'Spanish Chile'; $0000380a: Result := 'Spanish Uruguay'; $00003c0a: Result := 'Spanish Paraguay'; $0000400a: Result := 'Spanish Bolivia'; $0000440a: Result := 'Spanish El Salvador'; $0000480a: Result := 'Spanish Honduras'; $00004c0a: Result := 'Spanish Nicaragua'; $0000500a: Result := 'Spanish Puerto Rico'; $00000441: Result := 'Swahili'; $0000041d: Result := 'Swedish'; $0000081d: Result := 'Swedish Finland'; $0000045a: Result := 'Syriac'; $00000449: Result := 'Tamil'; $00000444: Result := 'Tatar'; $0000044a: Result := 'Telugu'; $0000041e: Result := 'Thai'; $0000041f: Result := 'Turkish'; $00000422: Result := 'Ukrainian'; $00000420: Result := 'Urdu'; $00000443: Result := 'Uzbek Latin'; $00000843: Result := 'Uzbek Cyrillic'; $0000042a: Result := 'Vietnamese'; end; end; procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := GetKeyBoardLanguage; end;
26 mars 2009 à 12:52
23 juil. 2007 à 19:28
Merci d'avance.
10 nov. 2005 à 22:32
mais nous cherchons comment basculer d'une langue à une autre sans passer par le clavier (exp si j'ai 02 edit l'un je vais ecrir en arabe et l'autre en france ) j'aimrai bien quand je passe à edit en arabe le clavien se mais derectement en arabe et si je passe à edit 2 le clavier passe en francais et vis vi
rca
4 avril 2004 à 00:07
Je vérifie tout ça, Delphiprog, et je réagirai plus tard >:(
Sinon, les commentaires dans le zip peuvent toujours être utiles... j'espère... à titre documentaire... sob (sanglots)
Je me suis bien amusé quand même, quoi qu'il en soit :)
Pfff ce décalage horaire, à qui le dis-tu ;)
3 avril 2004 à 23:04
Pour connaitre les langues installées ou utilisées, le code source suivant s'appuie sur les API fournies par Windows : http://www.swissdelphicenter.ch/torry/showcode.php?id=1471
En plus, il permet de basculer la langue du clavier à partir d'une application Delphi dis donc !
Le tout en si peu de code que tu vas regretter d'avoir loupé des heures de sommeil. Déjà que le week-end dernier on a dormi une heure de moins...;o)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.