Difference between revisions of "Case/fi"
From Lazarus wiki
Jump to navigationJump to search (New page: {{Case}} category:Suomi Case aloittaa case-lauseen. Case-lauseessa verrataan muuttujan arvoa esitettyihin vakiona pysyviin arvoihin. Näitä vakiona pysyviä arvoja voi olla yksittäi...) |
(Use pascal highlighter) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Case}} [[category:Suomi]] | {{Case}} [[category:Suomi]] | ||
− | Case aloittaa case-lauseen. Case-lauseessa verrataan muuttujan arvoa esitettyihin vakiona pysyviin arvoihin. Näitä vakiona pysyviä arvoja voi olla yksittäinen [[Const/fi|vakio]], tietty vakioalue tai[[Comma|pilkulla]] erotettu joukko vakioita. Tietyn valinnan jälkeen suoretettavat lauseen on erotettu [[Colon| kaksoispisteellä]]. | + | Case aloittaa case-lauseen. Case-lauseessa verrataan muuttujan arvoa esitettyihin vakiona pysyviin arvoihin. Näitä vakiona pysyviä arvoja voi olla yksittäinen [[Const/fi|vakio]], tietty vakioalue tai [[Comma|pilkulla]] erotettu joukko vakioita. Tietyn valinnan jälkeen suoretettavat lauseen on erotettu [[Colon| kaksoispisteellä]]. |
Case-lause sisältää [[Reserved word|varatut sanat]] [[Of]] ja [[End]] sekä joskus myös [[Else]]. | Case-lause sisältää [[Reserved word|varatut sanat]] [[Of]] ja [[End]] sekä joskus myös [[Else]]. | ||
− | < | + | <syntaxhighlight lang=pascal> |
case place of | case place of | ||
Line 15: | Line 15: | ||
end; | end; | ||
− | </ | + | </syntaxhighlight> |
=== WhatIsChar === | === WhatIsChar === | ||
− | < | + | <syntaxhighlight lang=pascal> |
function WhatIsChar( c:char ):string; | function WhatIsChar( c:char ):string; | ||
Line 35: | Line 35: | ||
end; | end; | ||
− | </ | + | </syntaxhighlight> |
+ | |||
+ | == Case of merkkijonoissa == | ||
+ | |||
+ | Case of toimii myös merkkijonoissa. Pascal -kieli mahdollistaa "Case of" käytön string:llä. | ||
+ | |||
+ | <syntaxhighlight lang=pascal> | ||
+ | const | ||
+ | ISO_3166_1_ALPHA_3_ANDORRA = 'AND'; | ||
+ | ISO_3166_1_ALPHA_3_AUSTRALIA = 'AUS'; | ||
+ | ISO_3166_1_ALPHA_3_AUSTRIA = 'AUT'; | ||
+ | ISO_3166_1_ALPHA_3_BELGIUM = 'BEL'; | ||
+ | ISO_3166_1_ALPHA_3_BRAZIL = 'BRA'; | ||
+ | ISO_3166_1_ALPHA_3_CANADA = 'CAN'; | ||
+ | ISO_3166_1_ALPHA_3_CHINA = 'CHN'; | ||
+ | ISO_3166_1_ALPHA_3_CZECH_REPUBLIC = 'CZE'; | ||
+ | ISO_3166_1_ALPHA_3_CYPRUS = 'CYP'; | ||
+ | ISO_3166_1_ALPHA_3_GERMANY = 'DEU'; | ||
+ | ISO_3166_1_ALPHA_3_DENMARK = 'DNK'; | ||
+ | ISO_3166_1_ALPHA_3_SPAIN = 'ESP'; | ||
+ | ISO_3166_1_ALPHA_3_ESTONIA = 'EST'; | ||
+ | ISO_3166_1_ALPHA_3_FINLAND = 'FIN'; | ||
+ | ISO_3166_1_ALPHA_3_FRANCE = 'FRA'; | ||
+ | ISO_3166_1_ALPHA_3_GREECE = 'GRC'; | ||
+ | ISO_3166_1_ALPHA_3_INDIA = 'IND'; | ||
+ | ISO_3166_1_ALPHA_3_IRELAND = 'IRL'; | ||
+ | ISO_3166_1_ALPHA_3_ITALY = 'ITA'; | ||
+ | ISO_3166_1_ALPHA_3_JAPAN = 'JPN'; | ||
+ | ISO_3166_1_ALPHA_3_LITHUANIA = 'LTU'; | ||
+ | ISO_3166_1_ALPHA_3_LATVIA = 'LVA'; | ||
+ | ISO_3166_1_ALPHA_3_LUXEMBOURG = 'LUX'; | ||
+ | ISO_3166_1_ALPHA_3_MALTA = 'MLT'; | ||
+ | ISO_3166_1_ALPHA_3_MEXICO = 'MEX'; | ||
+ | ISO_3166_1_ALPHA_3_MONACO = 'MCO'; | ||
+ | ISO_3166_1_ALPHA_3_MONTENEGRO = 'MNE'; | ||
+ | ISO_3166_1_ALPHA_3_NAURU = 'NRU'; | ||
+ | ISO_3166_1_ALPHA_3_NETHERLANDS = 'NLD'; | ||
+ | ISO_3166_1_ALPHA_3_NORWAY = 'NOR'; | ||
+ | ISO_3166_1_ALPHA_3_POLAND = 'POL'; | ||
+ | ISO_3166_1_ALPHA_3_PORTUGAL = 'PRT'; | ||
+ | ISO_3166_1_ALPHA_3_REPUBLIC_OF_KOREA = 'KOR'; | ||
+ | ISO_3166_1_ALPHA_3_RUSSIAN_FEDERATION = 'RUS'; | ||
+ | ISO_3166_1_ALPHA_3_SAN_MARINO = 'SMR'; | ||
+ | ISO_3166_1_ALPHA_3_SLOVAKIA = 'SVK'; | ||
+ | ISO_3166_1_ALPHA_3_SLOVENIA = 'SVN'; | ||
+ | ISO_3166_1_ALPHA_3_SWEDEN = 'SWE' ; | ||
+ | ISO_3166_1_ALPHA_3_SWITZERLAND = 'CHE'; | ||
+ | ISO_3166_1_ALPHA_3_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND = 'GBR'; | ||
+ | ISO_3166_1_ALPHA_3_UNITED_STATES_OF_AMERICA = 'USA'; | ||
+ | |||
+ | |||
+ | ISO_4217_EURO = 'EUR'; | ||
+ | ISO_4217_AUSTRALIAN_DOLLAR = 'AUD'; | ||
+ | ISO_4217_BRAZILIAN_REAL = 'BRL'; | ||
+ | ISO_4217_CANADIAN_DOLLAR = 'CAD'; | ||
+ | ISO_4217_CHINESE_YUAN = 'CNY'; | ||
+ | ISO_4217_CZECH_KORUNA = 'CZK' ; | ||
+ | ISO_4217_DANISH_KRONE = 'DKK' ; | ||
+ | ISO_4217_INDIAN_RUPEE = 'INR'; | ||
+ | ISO_4217_POUND_STERLING = 'GBP' ; | ||
+ | ISO_4217_JAPANESE_YEN = 'JPY'; | ||
+ | ISO_4217_MEXICAN_PESO = 'MXN'; | ||
+ | ISO_4217_NORWEGIAN_KRONE = 'NOK' ; | ||
+ | ISO_4217_POLISH_ZLOTY = 'PLN' ; | ||
+ | ISO_4217_RUSSIAN_RUBLE = 'RUB' ; | ||
+ | ISO_4217_SOUTH_KOREAN_WON = 'KRW'; | ||
+ | ISO_4217_SWEDISH_KRONA = 'SEK' ; | ||
+ | ISO_4217_SWISS_FRANC = 'CHF' ; | ||
+ | ISO_4217_UNITED_STATES_DOLLAR = 'USD' ; | ||
+ | |||
+ | function ISO_4217_currency_name ( ISO_3166_1_alpha_3_code: string): string; | ||
+ | begin | ||
+ | Case ISO_3166_1_alpha_3_code of | ||
+ | // Euroalue | ||
+ | ISO_3166_1_ALPHA_3_ANDORRA, ISO_3166_1_ALPHA_3_AUSTRIA, | ||
+ | ISO_3166_1_ALPHA_3_BELGIUM,ISO_3166_1_ALPHA_3_CYPRUS, | ||
+ | ISO_3166_1_ALPHA_3_GERMANY, ISO_3166_1_ALPHA_3_SPAIN, | ||
+ | ISO_3166_1_ALPHA_3_ESTONIA, ISO_3166_1_ALPHA_3_FINLAND, | ||
+ | ISO_3166_1_ALPHA_3_FRANCE, ISO_3166_1_ALPHA_3_GREECE, | ||
+ | ISO_3166_1_ALPHA_3_IRELAND, ISO_3166_1_ALPHA_3_ITALY, | ||
+ | ISO_3166_1_ALPHA_3_LITHUANIA, ISO_3166_1_ALPHA_3_LATVIA, | ||
+ | ISO_3166_1_ALPHA_3_LUXEMBOURG, ISO_3166_1_ALPHA_3_MONACO, | ||
+ | ISO_3166_1_ALPHA_3_MALTA, ISO_3166_1_ALPHA_3_MONTENEGRO, | ||
+ | ISO_3166_1_ALPHA_3_NETHERLANDS, ISO_3166_1_ALPHA_3_PORTUGAL, | ||
+ | ISO_3166_1_ALPHA_3_SAN_MARINO, ISO_3166_1_ALPHA_3_SLOVAKIA, | ||
+ | ISO_3166_1_ALPHA_3_SLOVENIA : result := ISO_4217_EURO ; | ||
+ | |||
+ | ISO_3166_1_ALPHA_3_AUSTRALIA, ISO_3166_1_ALPHA_3_NAURU : | ||
+ | result := ISO_4217_AUSTRALIAN_DOLLAR; | ||
+ | ISO_3166_1_ALPHA_3_BRAZIL : result := ISO_4217_BRAZILIAN_REAL; | ||
+ | ISO_3166_1_ALPHA_3_CANADA : result := ISO_4217_CANADIAN_DOLLAR; | ||
+ | ISO_3166_1_ALPHA_3_CHINA : result := ISO_4217_CHINESE_YUAN; | ||
+ | ISO_3166_1_ALPHA_3_CZECH_REPUBLIC : result := ISO_4217_CZECH_KORUNA ; | ||
+ | ISO_3166_1_ALPHA_3_DENMARK : result := ISO_4217_DANISH_KRONE ; | ||
+ | ISO_3166_1_ALPHA_3_INDIA : result := ISO_4217_INDIAN_RUPEE; | ||
+ | ISO_3166_1_ALPHA_3_JAPAN : result := ISO_4217_JAPANESE_YEN; | ||
+ | ISO_3166_1_ALPHA_3_MEXICO : result := ISO_4217_MEXICAN_PESO; | ||
+ | ISO_3166_1_ALPHA_3_NORWAY : result := ISO_4217_NORWEGIAN_KRONE ; | ||
+ | ISO_3166_1_ALPHA_3_POLAND : result := ISO_4217_POLISH_ZLOTY ; | ||
+ | ISO_3166_1_ALPHA_3_REPUBLIC_OF_KOREA : result := ISO_4217_SOUTH_KOREAN_WON ; | ||
+ | ISO_3166_1_ALPHA_3_RUSSIAN_FEDERATION : result := ISO_4217_RUSSIAN_RUBLE ; | ||
+ | ISO_3166_1_ALPHA_3_SWEDEN : result := ISO_4217_SWEDISH_KRONA ; | ||
+ | ISO_3166_1_ALPHA_3_SWITZERLAND : result := ISO_4217_SWISS_FRANC ; | ||
+ | ISO_3166_1_ALPHA_3_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND : | ||
+ | result := ISO_4217_POUND_STERLING ; | ||
+ | ISO_3166_1_ALPHA_3_UNITED_STATES_OF_AMERICA : | ||
+ | result := ISO_4217_UNITED_STATES_DOLLAR ; | ||
+ | end; | ||
+ | end; | ||
+ | </syntaxhighlight> | ||
== Vaihteleva tietue == | == Vaihteleva tietue == | ||
Line 41: | Line 150: | ||
Case-sanaa käytetään myös vaihtelevassa [[Record|tietueessa]]. | Case-sanaa käytetään myös vaihtelevassa [[Record|tietueessa]]. | ||
− | < | + | <syntaxhighlight lang=pascal> |
type | type | ||
Line 55: | Line 164: | ||
end; | end; | ||
− | </ | + | </syntaxhighlight> |
== Lisätietoja == | == Lisätietoja == | ||
− | * [http://www.freepascal.org/docs-html/ref/ | + | * [http://www.freepascal.org/docs-html/ref/refsu52.html#x149-15900013.2.2 The Case statement] |
− | * [http://www.freepascal.org/docs-html/ref/ | + | * [http://www.freepascal.org/docs-html/ref/refsu19.html#x43-500003.3.2 Record types] |
* [http://lazarus-ccr.sourceforge.net/pascal/pas3cb.html Tao Yue: Learn Pascal!] Case | * [http://lazarus-ccr.sourceforge.net/pascal/pas3cb.html Tao Yue: Learn Pascal!] Case | ||
* [http://www.youtube.com/watch?v=pMr2xtUu3x0 Video: Free Pascal Tutorial 8 - Case Statements] | * [http://www.youtube.com/watch?v=pMr2xtUu3x0 Video: Free Pascal Tutorial 8 - Case Statements] | ||
* [[Dialog_Examples#ShowMessage|ShowMessage]] | * [[Dialog_Examples#ShowMessage|ShowMessage]] | ||
* [[Type]] | * [[Type]] |
Latest revision as of 23:23, 24 January 2020
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
русский (ru) │
Case aloittaa case-lauseen. Case-lauseessa verrataan muuttujan arvoa esitettyihin vakiona pysyviin arvoihin. Näitä vakiona pysyviä arvoja voi olla yksittäinen vakio, tietty vakioalue tai pilkulla erotettu joukko vakioita. Tietyn valinnan jälkeen suoretettavat lauseen on erotettu kaksoispisteellä.
Case-lause sisältää varatut sanat Of ja End sekä joskus myös Else.
case place of
1: ShowMessage('Kultamitali');
2: ShowMessage('Hopeamitali');
3: ShowMessage('Pronssimitali');
else ShowMessage('Parempi onni ensi kerralla');
end;
WhatIsChar
function WhatIsChar( c:char ):string;
var
s : string;
begin
s := '';
case c of
'0' .. '9' : s := 'Numero (0-9)';
'a' .. 'z' : s := 'Pieni kirjain (a-z)';
'A' .. 'Z' : s := 'Iso kirjain (A-Z)';
'+' , '-' : s := 'Etumerkki (+ or -)';
end;
result := s;
end;
Case of merkkijonoissa
Case of toimii myös merkkijonoissa. Pascal -kieli mahdollistaa "Case of" käytön string:llä.
const
ISO_3166_1_ALPHA_3_ANDORRA = 'AND';
ISO_3166_1_ALPHA_3_AUSTRALIA = 'AUS';
ISO_3166_1_ALPHA_3_AUSTRIA = 'AUT';
ISO_3166_1_ALPHA_3_BELGIUM = 'BEL';
ISO_3166_1_ALPHA_3_BRAZIL = 'BRA';
ISO_3166_1_ALPHA_3_CANADA = 'CAN';
ISO_3166_1_ALPHA_3_CHINA = 'CHN';
ISO_3166_1_ALPHA_3_CZECH_REPUBLIC = 'CZE';
ISO_3166_1_ALPHA_3_CYPRUS = 'CYP';
ISO_3166_1_ALPHA_3_GERMANY = 'DEU';
ISO_3166_1_ALPHA_3_DENMARK = 'DNK';
ISO_3166_1_ALPHA_3_SPAIN = 'ESP';
ISO_3166_1_ALPHA_3_ESTONIA = 'EST';
ISO_3166_1_ALPHA_3_FINLAND = 'FIN';
ISO_3166_1_ALPHA_3_FRANCE = 'FRA';
ISO_3166_1_ALPHA_3_GREECE = 'GRC';
ISO_3166_1_ALPHA_3_INDIA = 'IND';
ISO_3166_1_ALPHA_3_IRELAND = 'IRL';
ISO_3166_1_ALPHA_3_ITALY = 'ITA';
ISO_3166_1_ALPHA_3_JAPAN = 'JPN';
ISO_3166_1_ALPHA_3_LITHUANIA = 'LTU';
ISO_3166_1_ALPHA_3_LATVIA = 'LVA';
ISO_3166_1_ALPHA_3_LUXEMBOURG = 'LUX';
ISO_3166_1_ALPHA_3_MALTA = 'MLT';
ISO_3166_1_ALPHA_3_MEXICO = 'MEX';
ISO_3166_1_ALPHA_3_MONACO = 'MCO';
ISO_3166_1_ALPHA_3_MONTENEGRO = 'MNE';
ISO_3166_1_ALPHA_3_NAURU = 'NRU';
ISO_3166_1_ALPHA_3_NETHERLANDS = 'NLD';
ISO_3166_1_ALPHA_3_NORWAY = 'NOR';
ISO_3166_1_ALPHA_3_POLAND = 'POL';
ISO_3166_1_ALPHA_3_PORTUGAL = 'PRT';
ISO_3166_1_ALPHA_3_REPUBLIC_OF_KOREA = 'KOR';
ISO_3166_1_ALPHA_3_RUSSIAN_FEDERATION = 'RUS';
ISO_3166_1_ALPHA_3_SAN_MARINO = 'SMR';
ISO_3166_1_ALPHA_3_SLOVAKIA = 'SVK';
ISO_3166_1_ALPHA_3_SLOVENIA = 'SVN';
ISO_3166_1_ALPHA_3_SWEDEN = 'SWE' ;
ISO_3166_1_ALPHA_3_SWITZERLAND = 'CHE';
ISO_3166_1_ALPHA_3_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND = 'GBR';
ISO_3166_1_ALPHA_3_UNITED_STATES_OF_AMERICA = 'USA';
ISO_4217_EURO = 'EUR';
ISO_4217_AUSTRALIAN_DOLLAR = 'AUD';
ISO_4217_BRAZILIAN_REAL = 'BRL';
ISO_4217_CANADIAN_DOLLAR = 'CAD';
ISO_4217_CHINESE_YUAN = 'CNY';
ISO_4217_CZECH_KORUNA = 'CZK' ;
ISO_4217_DANISH_KRONE = 'DKK' ;
ISO_4217_INDIAN_RUPEE = 'INR';
ISO_4217_POUND_STERLING = 'GBP' ;
ISO_4217_JAPANESE_YEN = 'JPY';
ISO_4217_MEXICAN_PESO = 'MXN';
ISO_4217_NORWEGIAN_KRONE = 'NOK' ;
ISO_4217_POLISH_ZLOTY = 'PLN' ;
ISO_4217_RUSSIAN_RUBLE = 'RUB' ;
ISO_4217_SOUTH_KOREAN_WON = 'KRW';
ISO_4217_SWEDISH_KRONA = 'SEK' ;
ISO_4217_SWISS_FRANC = 'CHF' ;
ISO_4217_UNITED_STATES_DOLLAR = 'USD' ;
function ISO_4217_currency_name ( ISO_3166_1_alpha_3_code: string): string;
begin
Case ISO_3166_1_alpha_3_code of
// Euroalue
ISO_3166_1_ALPHA_3_ANDORRA, ISO_3166_1_ALPHA_3_AUSTRIA,
ISO_3166_1_ALPHA_3_BELGIUM,ISO_3166_1_ALPHA_3_CYPRUS,
ISO_3166_1_ALPHA_3_GERMANY, ISO_3166_1_ALPHA_3_SPAIN,
ISO_3166_1_ALPHA_3_ESTONIA, ISO_3166_1_ALPHA_3_FINLAND,
ISO_3166_1_ALPHA_3_FRANCE, ISO_3166_1_ALPHA_3_GREECE,
ISO_3166_1_ALPHA_3_IRELAND, ISO_3166_1_ALPHA_3_ITALY,
ISO_3166_1_ALPHA_3_LITHUANIA, ISO_3166_1_ALPHA_3_LATVIA,
ISO_3166_1_ALPHA_3_LUXEMBOURG, ISO_3166_1_ALPHA_3_MONACO,
ISO_3166_1_ALPHA_3_MALTA, ISO_3166_1_ALPHA_3_MONTENEGRO,
ISO_3166_1_ALPHA_3_NETHERLANDS, ISO_3166_1_ALPHA_3_PORTUGAL,
ISO_3166_1_ALPHA_3_SAN_MARINO, ISO_3166_1_ALPHA_3_SLOVAKIA,
ISO_3166_1_ALPHA_3_SLOVENIA : result := ISO_4217_EURO ;
ISO_3166_1_ALPHA_3_AUSTRALIA, ISO_3166_1_ALPHA_3_NAURU :
result := ISO_4217_AUSTRALIAN_DOLLAR;
ISO_3166_1_ALPHA_3_BRAZIL : result := ISO_4217_BRAZILIAN_REAL;
ISO_3166_1_ALPHA_3_CANADA : result := ISO_4217_CANADIAN_DOLLAR;
ISO_3166_1_ALPHA_3_CHINA : result := ISO_4217_CHINESE_YUAN;
ISO_3166_1_ALPHA_3_CZECH_REPUBLIC : result := ISO_4217_CZECH_KORUNA ;
ISO_3166_1_ALPHA_3_DENMARK : result := ISO_4217_DANISH_KRONE ;
ISO_3166_1_ALPHA_3_INDIA : result := ISO_4217_INDIAN_RUPEE;
ISO_3166_1_ALPHA_3_JAPAN : result := ISO_4217_JAPANESE_YEN;
ISO_3166_1_ALPHA_3_MEXICO : result := ISO_4217_MEXICAN_PESO;
ISO_3166_1_ALPHA_3_NORWAY : result := ISO_4217_NORWEGIAN_KRONE ;
ISO_3166_1_ALPHA_3_POLAND : result := ISO_4217_POLISH_ZLOTY ;
ISO_3166_1_ALPHA_3_REPUBLIC_OF_KOREA : result := ISO_4217_SOUTH_KOREAN_WON ;
ISO_3166_1_ALPHA_3_RUSSIAN_FEDERATION : result := ISO_4217_RUSSIAN_RUBLE ;
ISO_3166_1_ALPHA_3_SWEDEN : result := ISO_4217_SWEDISH_KRONA ;
ISO_3166_1_ALPHA_3_SWITZERLAND : result := ISO_4217_SWISS_FRANC ;
ISO_3166_1_ALPHA_3_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND :
result := ISO_4217_POUND_STERLING ;
ISO_3166_1_ALPHA_3_UNITED_STATES_OF_AMERICA :
result := ISO_4217_UNITED_STATES_DOLLAR ;
end;
end;
Vaihteleva tietue
Case-sanaa käytetään myös vaihtelevassa tietueessa.
type
ScaleKelvin = 223 .. 323;
ScaleCelsius = -50 .. 50;
TemperatureScale = ( celcius, kelvin ) ;
Temperature = record
case scale : TemperatureScale of
celcius : (celcius_value : ScaleCelsius);
kelvin : (kelvin_value : ScaleKelvin);
end;