[ MatezYU @ 18.01.2007. 09:18 ] @
Interesuje me kako mogu prilikom pokretanja programa da mi se uvek (ako vec nije) postavi na regional setings na srpski latinica, da bude valuta din. vreme 24h i tako to... Radim sa bazom pa kada mi regional podesavanja stoje drugacije pojavi se $ umesto din a isto tako prvo ide godina, mesec pa dan umesto dan mesec godina..
Pozrav
[ obucina @ 18.01.2007. 11:14 ] @
Nadji u helpu "Currency and date/time formatting variables"
[ Miloš Baić @ 18.01.2007. 11:29 ] @
Nešto slično sam uspeo odraditi sa JclLocales (JCL &JVCL).
[ MatezYU @ 18.01.2007. 12:05 ] @
Moze li malo konkretnije sa JclLocales.. Ne mogu da nadjem komponentu.. Jesi li mislio na komponentu? Imam instaliran (JCL &JVCL).
[ Miloš Baić @ 18.01.2007. 12:30 ] @
Davno sam to isprobavao, ako imaš instaliran JCL & JVCL, pogledaj primer JVCL320CompleteJCL197Build2172-jcl-examples-windows-locales, tu imaš sve. Stavio sam "-", jer ne mogu kosu crtu, ne dozvoljava iz nekog razloga, odnosno upišem je ali se ne vidi!?!
JVCL320CompleteJCL197Build2172\ ovako je po defaultu, ne znam kako si ti nazvao folder, ako si skinuo folder koji sadrži i primere.

p.s. evo i source code ako nemaš primer.

[Ovu poruku je menjao loshmiscg dana 18.01.2007. u 13:49 GMT+1]
[ MatezYU @ 25.05.2007. 08:57 ] @
Da li mogu ovako preko windowsovog apija?

setlocaleinfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SENGLANGUAGE,'Serbia and Montenegro');
[ Miloš Baić @ 25.05.2007. 12:50 ] @
Code:
 setlocaleinfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SENGLANGUAGE,'Serbian(Latin)');
[ Miloš Baić @ 25.05.2007. 14:21 ] @
Postoji verovatno više načina da se to odradi, možeš dozvoliti korisniku da sam izabere language koji će koristiti. Učitaš, npr., u TListBox vrednosti(keyboard layouts) koje si postavio u ControlPanel-u:
Code:
...
procedure GetKLList(List: TStrings);
var
  AList : array [0..9] of Hkl;
  AklName: array [0..255] of Char;
  i: Longint;
begin
  List.Clear;
  for i := 0 to GetKeyboardLayoutList(SizeOf(AList), AList) - 1 do
    begin
      GetLocaleInfo(LoWord(AList[i]), LOCALE_SLANGUAGE, AklName, SizeOf(AklName));
      List.AddObject(AklName, Pointer(AList[i]));
    end;
end;
...

Potom pri pokretanju aplikacije pozoveš proceduru:
Code:
GetKLList(ListBox1.Items);

Zatim, selektuješ vrednost iz TListBox -a(OnClick):
Code:
...
  with Sender as TListBox do
    ActivateKeyboardLayout(Hkl(Items.Objects[ItemIndex]), 0);
...

E, sad, osmisli kako ćeš upamtiti vrednost da korisnik ne bi morao svaki put po pokretanju programa podešavati keyboard layouts , hoćeš sa .ini fajlom ili slično.

Ima još jedna varijanta, za koju znam:
Code:
...
var
  LangIdentifier: String;
begin
  LangIdentifier := '0000081A'; //Serbian(Latin)
  LoadKeyboardLayout(PChar(LangIdentifier), KLF_ACTIVATE);
end;
...

Nadam se da ćeš bar nešto moći iskoristiti!?!