Stian Søiland, IT 111, øvingsgruppe 15 (stud.ass. Kari Alvheim)
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) tinput: TEdit; toutput: TEdit; Label1: TLabel; Button1: TButton; Button2: TButton; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button2Click(Sender: TObject); begin tinput.clear; toutput.clear; end; procedure TForm1.Button1Click(Sender: TObject); var tall,temptall1,temptall2:integer; input,output:string; function ener(tall:integer):string; begin tall := tall mod 10; case tall of 0: ener := ''; 1: ener := 'én'; 2: ener := 'to'; 3: ener := 'tre'; 4: ener := 'fire'; 5: ener := 'fem'; 6: ener := 'seks'; 7: ener := 'sju'; 8: ener := 'åtte'; 9: ener := 'ni'; end; end; function lave(tall:integer):string; var temp:string; begin case tall of 10..19: case tall of 10: lave := 'ti'; 11: lave := 'elleve'; 12: lave := 'tolv'; 13: lave := 'tretten'; 14: lave := 'fjorten'; 15: lave := 'femten'; 16: lave := 'seksten'; 17: lave := 'sytten'; 18: lave := 'atten'; 19: lave := 'nitten'; end; else temp := ener(tall); if (tall > 19) and (temp <> '') then temp := '-' + temp; case tall of 0..9: lave := temp; 20..29: lave := 'tjue' + temp; 30..39: lave := 'tretti' + temp; 40..49: lave := 'førti' + temp; 50..59: lave := 'femti' + temp; 60..69: lave := 'seksti' + temp; 70..79: lave := 'søtti' + temp; 80..89: lave := 'åtti' + temp; 90..99: lave := 'nitti' + temp; end; end; end; begin input := tinput.text; tall := StrToInt(input); if tall < 0 then ShowMessage('Negative beløp er ikke tillatt') else if tall > 100000 then ShowMessage('Beløp ikke disponibelt på konto') else begin temptall1 := tall MOD 100; output := lave(temptall1); if (tall > 99) then begin temptall1 := tall MOD 1000; temptall2 := temptall1 DIV 100; if (temptall1 >0) and (output <> '') then output := '-og-' + output; case temptall2 of 1: output := 'ett-hundre' + output; 2..9: output := ener(temptall2) + '-hundre' + output; end; if (tall > temptall1) and (temptall2 > 0) and (output <> '') then output := '-og-' + output; temptall2 := tall DIV 1000; case temptall2 of 1: output := 'ett-tusen' + output; 2..99: output := lave(temptall2) + '-tusen' + output; 100: output := 'hundre-tusen' + output; end; end; toutput.text := output; end; end; end.