1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54:
| function ConvIntToTextWord(Anzahl : Integer): String; var inWorten, Einer, Endung : String; Zehner, intEiner : Integer; const MaxZWort : Integer = 13; und : String = 'und'; s : String = 's'; en : String = 'en'; e : String = 'e'; ZWort : Array[1..13] of String = ('null','ein','zwei','drei','vier','fünf','sech','sieb','acht','neun','zehn','elf','zwölf'); Dekade : Array[1..9] of String = ('zehn','zwanzig','dreißig','vierzig','fünfzig','sechzig','siebzig','achtzig','neunzig'); begin inWorten := InttoStr(Anzahl); If Anzahl < MaxZWort then begin inWorten := ZWort[Anzahl+1]; case Anzahl of 1: Insert(e,inWorten,length(inWorten)+1); 6: Insert(s,inWorten,length(inWorten)+1); 7: Insert(en,inWorten,length(inWorten)+1); end; end else begin If length(inWorten) = 2 then begin Zehner := StrtoInt(Copy(inWorten,1,1)); Einer := Copy(inWorten,2,1); If Einer = '0' then inWorten := Dekade[Zehner] else begin intEiner := StrtoInt(Einer); Einer := ZWort[intEiner+1]; Endung := Dekade[Zehner]; If Zehner > 1 then begin Case intEiner of 6: inWorten := Einer + s + und + Endung; 7: inWorten := Einer + en + und + Endung; else inWorten := Einer + und + Endung; end; end else inWorten := Einer + Endung; end; end; end; Result := inWorten; end; |