Tilbake til startsida IKT i praksis - Pascal

Meny
 
 
 
 
 
 
 
• Lokal tilpassing
 
 
 

Tilpassing til valuta, desimalteikn og liknande

Av og til støyter eg på problem fordi vi på norsk for eksempel brukar komma som desimalskilje medan Pascal brukar punktum. Funksjonen GetLocaleInfo() kan plukke ut ein heil del data om kva innstillingar datamaskinen er sett opp med, også om datamskinen er sett opp til å bruke komma eller punktum som desimalskiljeteikn.

Eg har berre utforska dette for Windows, men eg går ut frå at det fist ein liknande funksjon til bruk i andre operativsystem.

Bruk av GetLocaleInfo()

Funksjonen brukar unit Windows. Du må altså føye denne til under «uses».

Oppbygginga er slik: GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, flag, utdata, nr); der variablane er sett slik:
var
resultat: String
flag, nr: Integer
utdata: array[0..20] of char
Variabelen flag bestemmer kva data som skal hentast, nr ser ut til å kunne vere kva tal som helst.

Ønskjer eg å henta desimalteiknet som er brukt i datamaskinen, skriv eg
var
resultat: String;
flag, nr: Integer;
utdata: array[0..20] of char;
desimalteikn: String;
begin
flag := 14
GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, flag, utdata, nr);
desimalteikn := utdata;
end;

Funksjonen returnerer også ein talverdi frå 0 til 15, men eg har ikkje fune ut kva denne kan brukast til.
talverdi: Integer;
talverdi := GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, flag, utdata, nr);

Kva data som skal hentast ut blir altså bestemt av verdien for flag. Eg har fune 132 ulike verdiar i bruk. Dei viktigaste eg har hatt bruk for er:
4: namnet på språket maskinen er sett opp med
12: skiljeteikn brukt i lister (semikolon for norsk)
13: målesystem. 0 = metrisk, 1 = USA
14: skiljeteikn for desimal (komma for norsk)
15: skiljeteikn for tusen (mellomrom for norsk)
29: skiljeteikn for datoar (punktum for norsk)
30: skiljeteikn for timar, minutt … (kolon for norsk)
89: ISO språkkode (nb for bokmål, nn for nynorsk)
90: ISO landkode (NO for Noreg. Merk at NO er ikkje språkkode, sjølv om mange oppfattar det slik).
4099: formatstreng for klokkeslett (HH:mm:ss for norsk)
4106: papirformat, 1 = letter, 5 = legal, 8 = A3, 9 = A4


Send melding

© Innhald og design:  Kolbjørn StuestølStuestøl heimesideSist endra 9. august 2017