Sign in Join
Wiki copytemporary

Case/fi: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1+```
2+category:Suomi
3+```
4+
15Case 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ä]].
26
37Case-lause sisältää [[Reserved word|varatut sanat]] [[Of]] ja [[End]] sekä joskus myös [[Else]].
48
59``` pascal
610
711 case place of
812 1: ShowMessage('Kultamitali');
913 2: ShowMessage('Hopeamitali');
1014 3: ShowMessage('Pronssimitali');
1115 else ShowMessage('Parempi onni ensi kerralla');
1216 end;
1317```
1418
1519### WhatIsChar
1620
1721``` pascal
1822
1923 function WhatIsChar( c:char ):string;
2024 var
2125 s : string;
2226 begin
2327 s := '';
2428 case c of
2529 '0' .. '9' : s := 'Numero (0-9)';
2630 'a' .. 'z' : s := 'Pieni kirjain (a-z)';
2731 'A' .. 'Z' : s := 'Iso kirjain (A-Z)';
2832 '+' , '-' : s := 'Etumerkki (+ or -)';
2933 end;
3034 result := s;
3135 end;
3236```
3337
3438## Case of merkkijonoissa
3539
3640Case of toimii myös merkkijonoissa. Pascal -kieli mahdollistaa "Case of" käytön string:llä.
3741
3842``` pascal
3943const
4044 ISO_3166_1_ALPHA_3_ANDORRA = 'AND';
4145 ISO_3166_1_ALPHA_3_AUSTRALIA = 'AUS';
4246 ISO_3166_1_ALPHA_3_AUSTRIA = 'AUT';
4347 ISO_3166_1_ALPHA_3_BELGIUM = 'BEL';
4448 ISO_3166_1_ALPHA_3_BRAZIL = 'BRA';
4549 ISO_3166_1_ALPHA_3_CANADA = 'CAN';
4650 ISO_3166_1_ALPHA_3_CHINA = 'CHN';
4751 ISO_3166_1_ALPHA_3_CZECH_REPUBLIC = 'CZE';
4852 ISO_3166_1_ALPHA_3_CYPRUS = 'CYP';
4953 ISO_3166_1_ALPHA_3_GERMANY = 'DEU';
5054 ISO_3166_1_ALPHA_3_DENMARK = 'DNK';
5155 ISO_3166_1_ALPHA_3_SPAIN = 'ESP';
5256 ISO_3166_1_ALPHA_3_ESTONIA = 'EST';
5357 ISO_3166_1_ALPHA_3_FINLAND = 'FIN';
5458 ISO_3166_1_ALPHA_3_FRANCE = 'FRA';
5559 ISO_3166_1_ALPHA_3_GREECE = 'GRC';
5660 ISO_3166_1_ALPHA_3_INDIA = 'IND';
5761 ISO_3166_1_ALPHA_3_IRELAND = 'IRL';
5862 ISO_3166_1_ALPHA_3_ITALY = 'ITA';
5963 ISO_3166_1_ALPHA_3_JAPAN = 'JPN';
6064 ISO_3166_1_ALPHA_3_LITHUANIA = 'LTU';
6165 ISO_3166_1_ALPHA_3_LATVIA = 'LVA';
6266 ISO_3166_1_ALPHA_3_LUXEMBOURG = 'LUX';
6367 ISO_3166_1_ALPHA_3_MALTA = 'MLT';
6468 ISO_3166_1_ALPHA_3_MEXICO = 'MEX';
6569 ISO_3166_1_ALPHA_3_MONACO = 'MCO';
6670 ISO_3166_1_ALPHA_3_MONTENEGRO = 'MNE';
6771 ISO_3166_1_ALPHA_3_NAURU = 'NRU';
6872 ISO_3166_1_ALPHA_3_NETHERLANDS = 'NLD';
6973 ISO_3166_1_ALPHA_3_NORWAY = 'NOR';
7074 ISO_3166_1_ALPHA_3_POLAND = 'POL';
7175 ISO_3166_1_ALPHA_3_PORTUGAL = 'PRT';
7276 ISO_3166_1_ALPHA_3_REPUBLIC_OF_KOREA = 'KOR';
7377 ISO_3166_1_ALPHA_3_RUSSIAN_FEDERATION = 'RUS';
7478 ISO_3166_1_ALPHA_3_SAN_MARINO = 'SMR';
7579 ISO_3166_1_ALPHA_3_SLOVAKIA = 'SVK';
7680 ISO_3166_1_ALPHA_3_SLOVENIA = 'SVN';
7781 ISO_3166_1_ALPHA_3_SWEDEN = 'SWE' ;
7882 ISO_3166_1_ALPHA_3_SWITZERLAND = 'CHE';
7983 ISO_3166_1_ALPHA_3_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND = 'GBR';
8084 ISO_3166_1_ALPHA_3_UNITED_STATES_OF_AMERICA = 'USA';
8185
8286 ISO_4217_EURO = 'EUR';
8387 ISO_4217_AUSTRALIAN_DOLLAR = 'AUD';
8488 ISO_4217_BRAZILIAN_REAL = 'BRL';
8589 ISO_4217_CANADIAN_DOLLAR = 'CAD';
8690 ISO_4217_CHINESE_YUAN = 'CNY';
8791 ISO_4217_CZECH_KORUNA = 'CZK' ;
8892 ISO_4217_DANISH_KRONE = 'DKK' ;
8993 ISO_4217_INDIAN_RUPEE = 'INR';
9094 ISO_4217_POUND_STERLING = 'GBP' ;
9195 ISO_4217_JAPANESE_YEN = 'JPY';
9296 ISO_4217_MEXICAN_PESO = 'MXN';
9397 ISO_4217_NORWEGIAN_KRONE = 'NOK' ;
9498 ISO_4217_POLISH_ZLOTY = 'PLN' ;
9599 ISO_4217_RUSSIAN_RUBLE = 'RUB' ;
96100 ISO_4217_SOUTH_KOREAN_WON = 'KRW';
97101 ISO_4217_SWEDISH_KRONA = 'SEK' ;
98102 ISO_4217_SWISS_FRANC = 'CHF' ;
99103 ISO_4217_UNITED_STATES_DOLLAR = 'USD' ;
100104
101105function ISO_4217_currency_name ( ISO_3166_1_alpha_3_code: string): string;
102106begin
103107 Case ISO_3166_1_alpha_3_code of
104108 // Euroalue
105109 ISO_3166_1_ALPHA_3_ANDORRA, ISO_3166_1_ALPHA_3_AUSTRIA,
106110 ISO_3166_1_ALPHA_3_BELGIUM,ISO_3166_1_ALPHA_3_CYPRUS,
107111 ISO_3166_1_ALPHA_3_GERMANY, ISO_3166_1_ALPHA_3_SPAIN,
108112 ISO_3166_1_ALPHA_3_ESTONIA, ISO_3166_1_ALPHA_3_FINLAND,
109113 ISO_3166_1_ALPHA_3_FRANCE, ISO_3166_1_ALPHA_3_GREECE,
110114 ISO_3166_1_ALPHA_3_IRELAND, ISO_3166_1_ALPHA_3_ITALY,
111115 ISO_3166_1_ALPHA_3_LITHUANIA, ISO_3166_1_ALPHA_3_LATVIA,
112116 ISO_3166_1_ALPHA_3_LUXEMBOURG, ISO_3166_1_ALPHA_3_MONACO,
113117 ISO_3166_1_ALPHA_3_MALTA, ISO_3166_1_ALPHA_3_MONTENEGRO,
114118 ISO_3166_1_ALPHA_3_NETHERLANDS, ISO_3166_1_ALPHA_3_PORTUGAL,
115119 ISO_3166_1_ALPHA_3_SAN_MARINO, ISO_3166_1_ALPHA_3_SLOVAKIA,
116120 ISO_3166_1_ALPHA_3_SLOVENIA : result := ISO_4217_EURO ;
117121
118122 ISO_3166_1_ALPHA_3_AUSTRALIA, ISO_3166_1_ALPHA_3_NAURU :
119123 result := ISO_4217_AUSTRALIAN_DOLLAR;
120124 ISO_3166_1_ALPHA_3_BRAZIL : result := ISO_4217_BRAZILIAN_REAL;
121125 ISO_3166_1_ALPHA_3_CANADA : result := ISO_4217_CANADIAN_DOLLAR;
122126 ISO_3166_1_ALPHA_3_CHINA : result := ISO_4217_CHINESE_YUAN;
123127 ISO_3166_1_ALPHA_3_CZECH_REPUBLIC : result := ISO_4217_CZECH_KORUNA ;
124128 ISO_3166_1_ALPHA_3_DENMARK : result := ISO_4217_DANISH_KRONE ;
125129 ISO_3166_1_ALPHA_3_INDIA : result := ISO_4217_INDIAN_RUPEE;
126130 ISO_3166_1_ALPHA_3_JAPAN : result := ISO_4217_JAPANESE_YEN;
127131 ISO_3166_1_ALPHA_3_MEXICO : result := ISO_4217_MEXICAN_PESO;
128132 ISO_3166_1_ALPHA_3_NORWAY : result := ISO_4217_NORWEGIAN_KRONE ;
129133 ISO_3166_1_ALPHA_3_POLAND : result := ISO_4217_POLISH_ZLOTY ;
130134 ISO_3166_1_ALPHA_3_REPUBLIC_OF_KOREA : result := ISO_4217_SOUTH_KOREAN_WON ;
131135 ISO_3166_1_ALPHA_3_RUSSIAN_FEDERATION : result := ISO_4217_RUSSIAN_RUBLE ;
132136 ISO_3166_1_ALPHA_3_SWEDEN : result := ISO_4217_SWEDISH_KRONA ;
133137 ISO_3166_1_ALPHA_3_SWITZERLAND : result := ISO_4217_SWISS_FRANC ;
134138 ISO_3166_1_ALPHA_3_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND :
135139 result := ISO_4217_POUND_STERLING ;
136140 ISO_3166_1_ALPHA_3_UNITED_STATES_OF_AMERICA :
137141 result := ISO_4217_UNITED_STATES_DOLLAR ;
138142 end;
139143end;
140144```
141145
142146## Vaihteleva tietue
143147
144148Case-sanaa käytetään myös vaihtelevassa [[Record|tietueessa]].
145149
146150``` pascal
147151
148152 type
149153
150154 ScaleKelvin = 223 .. 323;
151155 ScaleCelsius = -50 .. 50;
152156
153157 TemperatureScale = ( celcius, kelvin ) ;
154158 Temperature = record
155159 case scale : TemperatureScale of
156160 celcius : (celcius_value : ScaleCelsius);
157161 kelvin : (kelvin_value : ScaleKelvin);
158162 end;
159163```
160164
161165## Lisätietoja
162166
163167- [The Case statement](http://www.freepascal.org/docs-html/ref/refsu52.html#x149-15900013.2.2)
164168- [Record types](http://www.freepascal.org/docs-html/ref/refsu19.html#x43-500003.3.2)
165169- [Tao Yue: Learn Pascal!](http://lazarus-ccr.sourceforge.net/pascal/pas3cb.html) Case
166170- [Video: Free Pascal Tutorial 8 - Case Statements](http://www.youtube.com/watch?v=pMr2xtUu3x0)
167171- [[Dialog Examples|ShowMessage]]
168172- [[Type]]
169173
170174---
171175*From the Free Pascal wiki, page "Case/fi", as it stood on 2020-01-24 after a change by Bart, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
172-Category: Suomi

Back to history