Sign in Join
Wiki copytemporary

Case/fi: what changed

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

OldNewLine
1-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ä]].
1+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ä]].
22
3-Case-lause sisältää [[Reserved word|varatut sanat]] [[Of]] ja [[End]] sekä joskus myös [[Else]].
3+Case-lause sisältää [[Reserved word|varatut sanat]] [[Of]] ja [[End]] sekä joskus myös [[Else]].
44
5-
5+``` pascal
66
7-```
8-case place of
9- 1: ShowMessage('Kultamitali');
10- 2: ShowMessage('Hopeamitali');
11- 3: ShowMessage('Pronssimitali');
12- else ShowMessage('Parempi onni ensi kerralla');
13- end;
7+ case place of
8+ 1: ShowMessage('Kultamitali');
9+ 2: ShowMessage('Hopeamitali');
10+ 3: ShowMessage('Pronssimitali');
11+ else ShowMessage('Parempi onni ensi kerralla');
12+ end;
1413```
1514
16-## Contents
15+### WhatIsChar
1716
18- * 1 WhatIsChar
19- * 2 Case of merkkijonoissa
20- * 3 Vaihteleva tietue
21- * 4 Lisätietoja
17+``` pascal
2218
23-### WhatIsChar
24-```
25-function WhatIsChar( c:char ):string;
26- var
27- s : string;
28- begin
29- s := '';
30- case c of
31- '0' .. '9' : s := 'Numero (0-9)';
32- 'a' .. 'z' : s := 'Pieni kirjain (a-z)';
33- 'A' .. 'Z' : s := 'Iso kirjain (A-Z)';
34- '+' , '-' : s := 'Etumerkki (+ or -)';
35- end;
36- result := s;
37- end;
19+ function WhatIsChar( c:char ):string;
20+ var
21+ s : string;
22+ begin
23+ s := '';
24+ case c of
25+ '0' .. '9' : s := 'Numero (0-9)';
26+ 'a' .. 'z' : s := 'Pieni kirjain (a-z)';
27+ 'A' .. 'Z' : s := 'Iso kirjain (A-Z)';
28+ '+' , '-' : s := 'Etumerkki (+ or -)';
29+ end;
30+ result := s;
31+ end;
3832```
3933
4034## Case of merkkijonoissa
4135
42-Case of toimii myös merkkijonoissa. Pascal -kieli mahdollistaa "Case of" käytön string:llä.
43-```
36+Case of toimii myös merkkijonoissa. Pascal -kieli mahdollistaa "Case of" käytön string:llä.
37+
38+``` pascal
4439const
45- ISO_3166_1_ALPHA_3_ANDORRA = 'AND';
46- ISO_3166_1_ALPHA_3_AUSTRALIA = 'AUS';
47- ISO_3166_1_ALPHA_3_AUSTRIA = 'AUT';
48- ISO_3166_1_ALPHA_3_BELGIUM = 'BEL';
49- ISO_3166_1_ALPHA_3_BRAZIL = 'BRA';
50- ISO_3166_1_ALPHA_3_CANADA = 'CAN';
51- ISO_3166_1_ALPHA_3_CHINA = 'CHN';
52- ISO_3166_1_ALPHA_3_CZECH_REPUBLIC = 'CZE';
53- ISO_3166_1_ALPHA_3_CYPRUS = 'CYP';
54- ISO_3166_1_ALPHA_3_GERMANY = 'DEU';
55- ISO_3166_1_ALPHA_3_DENMARK = 'DNK';
56- ISO_3166_1_ALPHA_3_SPAIN = 'ESP';
57- ISO_3166_1_ALPHA_3_ESTONIA = 'EST';
58- ISO_3166_1_ALPHA_3_FINLAND = 'FIN';
59- ISO_3166_1_ALPHA_3_FRANCE = 'FRA';
60- ISO_3166_1_ALPHA_3_GREECE = 'GRC';
61- ISO_3166_1_ALPHA_3_INDIA = 'IND';
62- ISO_3166_1_ALPHA_3_IRELAND = 'IRL';
63- ISO_3166_1_ALPHA_3_ITALY = 'ITA';
64- ISO_3166_1_ALPHA_3_JAPAN = 'JPN';
65- ISO_3166_1_ALPHA_3_LITHUANIA = 'LTU';
66- ISO_3166_1_ALPHA_3_LATVIA = 'LVA';
67- ISO_3166_1_ALPHA_3_LUXEMBOURG = 'LUX';
68- ISO_3166_1_ALPHA_3_MALTA = 'MLT';
69- ISO_3166_1_ALPHA_3_MEXICO = 'MEX';
70- ISO_3166_1_ALPHA_3_MONACO = 'MCO';
71- ISO_3166_1_ALPHA_3_MONTENEGRO = 'MNE';
72- ISO_3166_1_ALPHA_3_NAURU = 'NRU';
73- ISO_3166_1_ALPHA_3_NETHERLANDS = 'NLD';
74- ISO_3166_1_ALPHA_3_NORWAY = 'NOR';
75- ISO_3166_1_ALPHA_3_POLAND = 'POL';
76- ISO_3166_1_ALPHA_3_PORTUGAL = 'PRT';
77- ISO_3166_1_ALPHA_3_REPUBLIC_OF_KOREA = 'KOR';
78- ISO_3166_1_ALPHA_3_RUSSIAN_FEDERATION = 'RUS';
79- ISO_3166_1_ALPHA_3_SAN_MARINO = 'SMR';
80- ISO_3166_1_ALPHA_3_SLOVAKIA = 'SVK';
81- ISO_3166_1_ALPHA_3_SLOVENIA = 'SVN';
82- ISO_3166_1_ALPHA_3_SWEDEN = 'SWE' ;
83- ISO_3166_1_ALPHA_3_SWITZERLAND = 'CHE';
84- ISO_3166_1_ALPHA_3_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND = 'GBR';
85- ISO_3166_1_ALPHA_3_UNITED_STATES_OF_AMERICA = 'USA';
86-
87-
88- ISO_4217_EURO = 'EUR';
89- ISO_4217_AUSTRALIAN_DOLLAR = 'AUD';
90- ISO_4217_BRAZILIAN_REAL = 'BRL';
91- ISO_4217_CANADIAN_DOLLAR = 'CAD';
92- ISO_4217_CHINESE_YUAN = 'CNY';
93- ISO_4217_CZECH_KORUNA = 'CZK' ;
94- ISO_4217_DANISH_KRONE = 'DKK' ;
95- ISO_4217_INDIAN_RUPEE = 'INR';
96- ISO_4217_POUND_STERLING = 'GBP' ;
97- ISO_4217_JAPANESE_YEN = 'JPY';
98- ISO_4217_MEXICAN_PESO = 'MXN';
99- ISO_4217_NORWEGIAN_KRONE = 'NOK' ;
100- ISO_4217_POLISH_ZLOTY = 'PLN' ;
101- ISO_4217_RUSSIAN_RUBLE = 'RUB' ;
102- ISO_4217_SOUTH_KOREAN_WON = 'KRW';
103- ISO_4217_SWEDISH_KRONA = 'SEK' ;
104- ISO_4217_SWISS_FRANC = 'CHF' ;
105- ISO_4217_UNITED_STATES_DOLLAR = 'USD' ;
106-
107- function ISO_4217_currency_name ( ISO_3166_1_alpha_3_code: string): string;
108- begin
109- Case ISO_3166_1_alpha_3_code of
110- // Euroalue
111- ISO_3166_1_ALPHA_3_ANDORRA, ISO_3166_1_ALPHA_3_AUSTRIA,
112- ISO_3166_1_ALPHA_3_BELGIUM,ISO_3166_1_ALPHA_3_CYPRUS,
113- ISO_3166_1_ALPHA_3_GERMANY, ISO_3166_1_ALPHA_3_SPAIN,
114- ISO_3166_1_ALPHA_3_ESTONIA, ISO_3166_1_ALPHA_3_FINLAND,
115- ISO_3166_1_ALPHA_3_FRANCE, ISO_3166_1_ALPHA_3_GREECE,
116- ISO_3166_1_ALPHA_3_IRELAND, ISO_3166_1_ALPHA_3_ITALY,
117- ISO_3166_1_ALPHA_3_LITHUANIA, ISO_3166_1_ALPHA_3_LATVIA,
118- ISO_3166_1_ALPHA_3_LUXEMBOURG, ISO_3166_1_ALPHA_3_MONACO,
119- ISO_3166_1_ALPHA_3_MALTA, ISO_3166_1_ALPHA_3_MONTENEGRO,
120- ISO_3166_1_ALPHA_3_NETHERLANDS, ISO_3166_1_ALPHA_3_PORTUGAL,
121- ISO_3166_1_ALPHA_3_SAN_MARINO, ISO_3166_1_ALPHA_3_SLOVAKIA,
122- ISO_3166_1_ALPHA_3_SLOVENIA : result := ISO_4217_EURO ;
123-
124- ISO_3166_1_ALPHA_3_AUSTRALIA, ISO_3166_1_ALPHA_3_NAURU :
125- result := ISO_4217_AUSTRALIAN_DOLLAR;
126- ISO_3166_1_ALPHA_3_BRAZIL : result := ISO_4217_BRAZILIAN_REAL;
127- ISO_3166_1_ALPHA_3_CANADA : result := ISO_4217_CANADIAN_DOLLAR;
128- ISO_3166_1_ALPHA_3_CHINA : result := ISO_4217_CHINESE_YUAN;
129- ISO_3166_1_ALPHA_3_CZECH_REPUBLIC : result := ISO_4217_CZECH_KORUNA ;
130- ISO_3166_1_ALPHA_3_DENMARK : result := ISO_4217_DANISH_KRONE ;
131- ISO_3166_1_ALPHA_3_INDIA : result := ISO_4217_INDIAN_RUPEE;
132- ISO_3166_1_ALPHA_3_JAPAN : result := ISO_4217_JAPANESE_YEN;
133- ISO_3166_1_ALPHA_3_MEXICO : result := ISO_4217_MEXICAN_PESO;
134- ISO_3166_1_ALPHA_3_NORWAY : result := ISO_4217_NORWEGIAN_KRONE ;
135- ISO_3166_1_ALPHA_3_POLAND : result := ISO_4217_POLISH_ZLOTY ;
136- ISO_3166_1_ALPHA_3_REPUBLIC_OF_KOREA : result := ISO_4217_SOUTH_KOREAN_WON ;
137- ISO_3166_1_ALPHA_3_RUSSIAN_FEDERATION : result := ISO_4217_RUSSIAN_RUBLE ;
138- ISO_3166_1_ALPHA_3_SWEDEN : result := ISO_4217_SWEDISH_KRONA ;
139- ISO_3166_1_ALPHA_3_SWITZERLAND : result := ISO_4217_SWISS_FRANC ;
140- ISO_3166_1_ALPHA_3_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND :
141- result := ISO_4217_POUND_STERLING ;
142- ISO_3166_1_ALPHA_3_UNITED_STATES_OF_AMERICA :
143- result := ISO_4217_UNITED_STATES_DOLLAR ;
144- end;
145- end;
40+ ISO_3166_1_ALPHA_3_ANDORRA = 'AND';
41+ ISO_3166_1_ALPHA_3_AUSTRALIA = 'AUS';
42+ ISO_3166_1_ALPHA_3_AUSTRIA = 'AUT';
43+ ISO_3166_1_ALPHA_3_BELGIUM = 'BEL';
44+ ISO_3166_1_ALPHA_3_BRAZIL = 'BRA';
45+ ISO_3166_1_ALPHA_3_CANADA = 'CAN';
46+ ISO_3166_1_ALPHA_3_CHINA = 'CHN';
47+ ISO_3166_1_ALPHA_3_CZECH_REPUBLIC = 'CZE';
48+ ISO_3166_1_ALPHA_3_CYPRUS = 'CYP';
49+ ISO_3166_1_ALPHA_3_GERMANY = 'DEU';
50+ ISO_3166_1_ALPHA_3_DENMARK = 'DNK';
51+ ISO_3166_1_ALPHA_3_SPAIN = 'ESP';
52+ ISO_3166_1_ALPHA_3_ESTONIA = 'EST';
53+ ISO_3166_1_ALPHA_3_FINLAND = 'FIN';
54+ ISO_3166_1_ALPHA_3_FRANCE = 'FRA';
55+ ISO_3166_1_ALPHA_3_GREECE = 'GRC';
56+ ISO_3166_1_ALPHA_3_INDIA = 'IND';
57+ ISO_3166_1_ALPHA_3_IRELAND = 'IRL';
58+ ISO_3166_1_ALPHA_3_ITALY = 'ITA';
59+ ISO_3166_1_ALPHA_3_JAPAN = 'JPN';
60+ ISO_3166_1_ALPHA_3_LITHUANIA = 'LTU';
61+ ISO_3166_1_ALPHA_3_LATVIA = 'LVA';
62+ ISO_3166_1_ALPHA_3_LUXEMBOURG = 'LUX';
63+ ISO_3166_1_ALPHA_3_MALTA = 'MLT';
64+ ISO_3166_1_ALPHA_3_MEXICO = 'MEX';
65+ ISO_3166_1_ALPHA_3_MONACO = 'MCO';
66+ ISO_3166_1_ALPHA_3_MONTENEGRO = 'MNE';
67+ ISO_3166_1_ALPHA_3_NAURU = 'NRU';
68+ ISO_3166_1_ALPHA_3_NETHERLANDS = 'NLD';
69+ ISO_3166_1_ALPHA_3_NORWAY = 'NOR';
70+ ISO_3166_1_ALPHA_3_POLAND = 'POL';
71+ ISO_3166_1_ALPHA_3_PORTUGAL = 'PRT';
72+ ISO_3166_1_ALPHA_3_REPUBLIC_OF_KOREA = 'KOR';
73+ ISO_3166_1_ALPHA_3_RUSSIAN_FEDERATION = 'RUS';
74+ ISO_3166_1_ALPHA_3_SAN_MARINO = 'SMR';
75+ ISO_3166_1_ALPHA_3_SLOVAKIA = 'SVK';
76+ ISO_3166_1_ALPHA_3_SLOVENIA = 'SVN';
77+ ISO_3166_1_ALPHA_3_SWEDEN = 'SWE' ;
78+ ISO_3166_1_ALPHA_3_SWITZERLAND = 'CHE';
79+ ISO_3166_1_ALPHA_3_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND = 'GBR';
80+ ISO_3166_1_ALPHA_3_UNITED_STATES_OF_AMERICA = 'USA';
81+
82+ ISO_4217_EURO = 'EUR';
83+ ISO_4217_AUSTRALIAN_DOLLAR = 'AUD';
84+ ISO_4217_BRAZILIAN_REAL = 'BRL';
85+ ISO_4217_CANADIAN_DOLLAR = 'CAD';
86+ ISO_4217_CHINESE_YUAN = 'CNY';
87+ ISO_4217_CZECH_KORUNA = 'CZK' ;
88+ ISO_4217_DANISH_KRONE = 'DKK' ;
89+ ISO_4217_INDIAN_RUPEE = 'INR';
90+ ISO_4217_POUND_STERLING = 'GBP' ;
91+ ISO_4217_JAPANESE_YEN = 'JPY';
92+ ISO_4217_MEXICAN_PESO = 'MXN';
93+ ISO_4217_NORWEGIAN_KRONE = 'NOK' ;
94+ ISO_4217_POLISH_ZLOTY = 'PLN' ;
95+ ISO_4217_RUSSIAN_RUBLE = 'RUB' ;
96+ ISO_4217_SOUTH_KOREAN_WON = 'KRW';
97+ ISO_4217_SWEDISH_KRONA = 'SEK' ;
98+ ISO_4217_SWISS_FRANC = 'CHF' ;
99+ ISO_4217_UNITED_STATES_DOLLAR = 'USD' ;
100+
101+function ISO_4217_currency_name ( ISO_3166_1_alpha_3_code: string): string;
102+begin
103+ Case ISO_3166_1_alpha_3_code of
104+ // Euroalue
105+ ISO_3166_1_ALPHA_3_ANDORRA, ISO_3166_1_ALPHA_3_AUSTRIA,
106+ ISO_3166_1_ALPHA_3_BELGIUM,ISO_3166_1_ALPHA_3_CYPRUS,
107+ ISO_3166_1_ALPHA_3_GERMANY, ISO_3166_1_ALPHA_3_SPAIN,
108+ ISO_3166_1_ALPHA_3_ESTONIA, ISO_3166_1_ALPHA_3_FINLAND,
109+ ISO_3166_1_ALPHA_3_FRANCE, ISO_3166_1_ALPHA_3_GREECE,
110+ ISO_3166_1_ALPHA_3_IRELAND, ISO_3166_1_ALPHA_3_ITALY,
111+ ISO_3166_1_ALPHA_3_LITHUANIA, ISO_3166_1_ALPHA_3_LATVIA,
112+ ISO_3166_1_ALPHA_3_LUXEMBOURG, ISO_3166_1_ALPHA_3_MONACO,
113+ ISO_3166_1_ALPHA_3_MALTA, ISO_3166_1_ALPHA_3_MONTENEGRO,
114+ ISO_3166_1_ALPHA_3_NETHERLANDS, ISO_3166_1_ALPHA_3_PORTUGAL,
115+ ISO_3166_1_ALPHA_3_SAN_MARINO, ISO_3166_1_ALPHA_3_SLOVAKIA,
116+ ISO_3166_1_ALPHA_3_SLOVENIA : result := ISO_4217_EURO ;
117+
118+ ISO_3166_1_ALPHA_3_AUSTRALIA, ISO_3166_1_ALPHA_3_NAURU :
119+ result := ISO_4217_AUSTRALIAN_DOLLAR;
120+ ISO_3166_1_ALPHA_3_BRAZIL : result := ISO_4217_BRAZILIAN_REAL;
121+ ISO_3166_1_ALPHA_3_CANADA : result := ISO_4217_CANADIAN_DOLLAR;
122+ ISO_3166_1_ALPHA_3_CHINA : result := ISO_4217_CHINESE_YUAN;
123+ ISO_3166_1_ALPHA_3_CZECH_REPUBLIC : result := ISO_4217_CZECH_KORUNA ;
124+ ISO_3166_1_ALPHA_3_DENMARK : result := ISO_4217_DANISH_KRONE ;
125+ ISO_3166_1_ALPHA_3_INDIA : result := ISO_4217_INDIAN_RUPEE;
126+ ISO_3166_1_ALPHA_3_JAPAN : result := ISO_4217_JAPANESE_YEN;
127+ ISO_3166_1_ALPHA_3_MEXICO : result := ISO_4217_MEXICAN_PESO;
128+ ISO_3166_1_ALPHA_3_NORWAY : result := ISO_4217_NORWEGIAN_KRONE ;
129+ ISO_3166_1_ALPHA_3_POLAND : result := ISO_4217_POLISH_ZLOTY ;
130+ ISO_3166_1_ALPHA_3_REPUBLIC_OF_KOREA : result := ISO_4217_SOUTH_KOREAN_WON ;
131+ ISO_3166_1_ALPHA_3_RUSSIAN_FEDERATION : result := ISO_4217_RUSSIAN_RUBLE ;
132+ ISO_3166_1_ALPHA_3_SWEDEN : result := ISO_4217_SWEDISH_KRONA ;
133+ ISO_3166_1_ALPHA_3_SWITZERLAND : result := ISO_4217_SWISS_FRANC ;
134+ ISO_3166_1_ALPHA_3_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND :
135+ result := ISO_4217_POUND_STERLING ;
136+ ISO_3166_1_ALPHA_3_UNITED_STATES_OF_AMERICA :
137+ result := ISO_4217_UNITED_STATES_DOLLAR ;
138+ end;
139+end;
146140```
147141
148142## Vaihteleva tietue
149143
150-Case-sanaa käytetään myös vaihtelevassa [[Record|tietueessa]].
151-```
152-type
153-
154- ScaleKelvin = 223 .. 323;
155- ScaleCelsius = -50 .. 50;
156-
157- TemperatureScale = ( celcius, kelvin ) ;
158- Temperature = record
159- case scale : TemperatureScale of
160- celcius : (celcius_value : ScaleCelsius);
161- kelvin : (kelvin_value : ScaleKelvin);
162- end;
144+Case-sanaa käytetään myös vaihtelevassa [[Record|tietueessa]].
145+
146+``` pascal
147+
148+ type
149+
150+ ScaleKelvin = 223 .. 323;
151+ ScaleCelsius = -50 .. 50;
152+
153+ TemperatureScale = ( celcius, kelvin ) ;
154+ Temperature = record
155+ case scale : TemperatureScale of
156+ celcius : (celcius_value : ScaleCelsius);
157+ kelvin : (kelvin_value : ScaleKelvin);
158+ end;
163159```
164160
165161## Lisätietoja
166162
167- * [The Case statement](<http://www.freepascal.org/docs-html/ref/refsu52.html#x149-15900013.2.2>)
168- * [Record types](<http://www.freepascal.org/docs-html/ref/refsu19.html#x43-500003.3.2>)
169- * [Tao Yue: Learn Pascal!](<http://lazarus-ccr.sourceforge.net/pascal/pas3cb.html>) Case
170- * [Video: Free Pascal Tutorial 8 - Case Statements](<http://www.youtube.com/watch?v=pMr2xtUu3x0>)
171- * [[Dialog Examples|ShowMessage]]
172- * [[Type]]
163+- [The Case statement](http://www.freepascal.org/docs-html/ref/refsu52.html#x149-15900013.2.2)
164+- [Record types](http://www.freepascal.org/docs-html/ref/refsu19.html#x43-500003.3.2)
165+- [Tao Yue: Learn Pascal!](http://lazarus-ccr.sourceforge.net/pascal/pas3cb.html) Case
166+- [Video: Free Pascal Tutorial 8 - Case Statements](http://www.youtube.com/watch?v=pMr2xtUu3x0)
167+- [[Dialog Examples|ShowMessage]]
168+- [[Type]]
173169
174170---
175-*From the Free Pascal wiki, page "Case/fi", as the Internet Archive kept it on 2025-03-16. 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).*
171+*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