Add(MainForm,8394616,196,112)
{
Left=20
Top=105
Width=498
Height=146
}
Add(InlineCode,4917906,259,168)
{
WorkPoints=#7:Convert|
EventPoints=#6:Result|
DataPoints=#4:Data|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|21: Data: THI_Event;|23: Result: THI_Event;|53: procedure Convert (var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|39:function DateNum(num: integer): string;|5:const|68: tens: array [0..3] of string = ('', '', 'двадцать ', 'тридцать ');|70: tens_0: array [0..3] of string = ('', '', 'двадцатое', 'тридцатое');|100: ones: array [0..19] of string = ('', 'первое', 'второе', 'третье', 'четвертое', 'пятое', 'шестое',|63: 'седьмое', 'восьмое', 'девятое', 'десятое', 'одиннадцатое',|65: 'двенадцатое', 'тринадцатое', 'четырнадцатое', 'пятнадцатое',|69: 'шестнадцатое', 'семнадцатое', 'восемнадцатое', 'девятнадцатое');|3:var|21: t: byte; // десятки|21: o: byte; // единицы|5:begin|15: result := '';|39: if (num = 0) or (num > 99) then Exit;|18: t := num div 10;|18: o := num mod 10;|29: if (o = 0) and (t > 1) then|24: result := tens_0[t]|24: else if t > 2 then |41: result := tens[t] + ones[num mod 30]|9: else |42: result := tens[t] + ones[num mod 20];|4:end;|0:|39:function YearNum(num: integer): string;|5:const|105: razryad: array [0..4] of string = ('', ' одна тысяча', ' две тысячи', ' три тысячи', ' четыре тысячи');|117: razryad_0: array [0..4] of string = ('', ' однотысячного', ' двухтысячного', ' трехтысячного', ' четырехтысяного');|71: hundreds: array [0..9] of string = ('', ' сто', ' двести', ' триста',|68: ' четыреста', ' пятьсот', ' шестьсот', ' семьсот', ' восемьсот',|18: ' девятьсот');|84: hundreds_0: array [0..9] of string = ('', ' сотого', ' двухсотого', ' трехсотого',|84: ' четырехсотого', ' пятисотого', ' шестисотого', ' семисотого', ' восьмисотого',|21: ' девятисотого');|67: tens: array [0..9] of string = ('', '', ' двадцать', ' тридцать',|72: ' сорок', ' пятьдесят', ' шестьдесят', ' семьдесят', ' восемьдесят',|18: ' девяносто');|73: tens_0: array [0..9] of string = ('', '', ' двадцатого', ' тридцатого',|89: ' сорокового', ' пятидесятого', ' шестидесятого', ' семидесятого', ' восьмидесятого',|20: ' девяностого');|114: ones: array [0..19] of string = ('', ' первого', ' второго' , ' третьего', ' четвертого', ' пятого', ' шестого',|73: ' седьмого', ' восьмого', ' девятого', ' десятого', ' одиннадцатого',|73: ' двенадцатого', ' тринадцатого', ' четырнадцатого', ' пятнадцатого',|77: ' шестнадцатого', ' семнадцатого', ' восемнадцатого', ' девятнадцатого');|3:var|20: r: byte; // тысячи|19: m: byte; // сотни|21: t: byte; // десятки|21: o: byte; // единицы|5:begin|15: result := '';|23: if num = 0 then Exit;|20: r := num div 1000;|30: m := (num mod 1000) div 100;|28: t := (num mod 100) div 10;|18: o := num mod 10;|25: if (m + t + o) = 0 then|27: result := razryad_0[r]|12: else begin|25: if (t + o) = 0 then |44: result := razryad[r] + hundreds_0[m]|15: else begin|40: if (o = 0) and (t > 1) then |57: result := razryad[r] + hundreds[m] + tens_0[t]|26: else if t < 2 then|73: result := razryad[r] + hundreds[m] + ones[num mod 20] |16: else |66: result := razryad[r] + hundreds[m] + tens[t] + ones[o];|9: end;|14: end; |4:end;|0:|30:procedure THiAsmClass.Convert;|34:var str,date,month,year: string;|5:begin|13: str := '';|95: year := Date2StrFmt('dd.MMMM.yyyy', Str2DateTimeFmt('dd.MM.yyyy', ReadString(_Data, Data)));|28: if year <> '' then begin |32: date := GetTok(year, '.');|33: month := GetTok(year, '.');|85: str := DateNum(str2int(date)) + ' ' + month + YearNum(str2int(year)) + ' года';|7: end;|42: _hi_CreateEvent(_Data, @Result, str); |5:end; |0:|4:end.|
link(Result,9399025:doText,[])
link(Data,3479417:Text,[])
}
Add(Edit,3479417,259,112)
{
Left=175
Top=20
Width=145
Text="31.10.1961"
}
Add(Label,9399025,315,168)
{
Left=5
Top=80
Width=475
Height=20
Caption=""
AutoSize=1
Alignment=2
}
Add(Button,10566411,196,168)
{
Left=220
Top=45
Caption="Convert"
link(onClick,4917906:Convert,[])
}
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Новый, вот, просил, получи
|
|||
карма: 22 |
|