Вверх ↑
Ответов: 16884
Рейтинг: 1239
#1: 2016-08-24 09:35:20 ЛС | профиль | цитата
Окончательный вариант.
Перезалил на чужой файлообменник age_ok.rar
При попытке скачать из нашего файлообменника и открыть файл (после "исправлено" от Dilma) : Архив поврежден или файл имеет неизвестный формат
Размер скачанного файла соответствует размеру загруженного = 1.5 кб
Выкладываю здесь в тегах code
age_ok

Add(MainForm,2953706,105,140)
{
Width=337
Height=109
Caption="Возраст (до дней)."
BorderStyle=1
Position=1
}
Add(InlineCode,8511652,154,189)
{
@Hint=#7:Возраст|16:лет-месяцев-дней|
WorkPoints=#6:doCalc|
EventPoints=#8:onResult|
DataPoints=#7:DateINT|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses windows,kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|20: ST: TSystemTime;|9: public|33: DateInt, onResult:THI_Event;|51: procedure doCalc(var _Data:TData; Index:Word);|0:|5: end;|0:|14:implementation|0:|29:procedure THiAsmClass.doCalc;|20:var Birth : Integer;|27: Y, M, D, pD, pM : word;|24: sY, sM, sD : string;|5:begin|35: Birth:= toIntegerEvent(DateInt);|33: If Trunc(Date()) < Birth then |10: begin|51: _hi_OnEvent(onResult, 'Вы ещё не родились');|12: Exit;|10: end; |33: GetLocalTime(ST); //Текущая дата|43: DecodeDate(Birth,Y,M,D); // Дата рождения|66:// Вычисляем дни. ================================================|54:If (ST.wDay<D) Then // если дней текущих меньше дней|7: Begin|59: D := MonthDays[IsLeapYear(Y),ST.wMonth] + St.wDay - D;|20: dec(ST.wMonth);|5: end|25: else D := ST.wDay - D;|11: case D of|27: 1,21,31: sd := ' день';|32: 2..4,22..24: sd := ' дня'; |26: else sD := ' дней'; |6: end;|24: sD := int2str(d) + sD;|66:// число месяцев =================================================|23: IF (ST.wMonth<M) then|9: begin|31: M := 12 + ST.wMonth - M;|21: dec(St.wYear);|7: end|26: else M := ST.wMonth - M;|13: case M of|26: 1: sM := ' месяц ';|31: 2..4 : sM := ' месяца ';|33: else sM := ' месяцев '; |8: end;|24: sM := int2str(M)+sM;|0:|66:// Число лет =====================================================|23: Y := St.wYear - Y;|39: If Y in [0,5..20] then sY:=' лет '|10: else |21: case Y mod 10 of|25: 1: sY := ' год ';|29: 2..4: sY := ' года ';|24: else sY := ' лет ';|9: end;|27: sY := int2str(Y) + sY;|71:// Вывод результата ============================================== |47: _hi_OnEvent(onResult, 'Вам ' + sY + sM + sd);|4:end;|4:end.|
link(onResult,4824216:doWork3,[(200,195)])
link(DateINT,8438771:DateInt,[])
AddHint(-20,45,91,26,@Hint)
}
Add(DatePicker,8438771,154,140)
{
Left=120
Top=5
Width=110
Height=21
Font=[MS Sans Serif,8,1,0,1]
DateMode=1
Point(DateInt)
Point(onSetFocus)
link(onSetFocus,4824216:doWork1,[(200,153)])
}
Add(Button,12347084,105,189)
{
Left=235
Top=5
Width=80
Font=[Courier New,8,1,0,204]
Caption="ВЫЧИСЛИТЬ"
link(onClick,8511652:doCalc,[])
}
Add(Label,14611709,217,189)
{
Left=5
Top=40
Width=310
Height=28
Font=[MS Sans Serif,14,1,255,1]
Caption=""
AutoSize=1
Alignment=2
}
Add(HubEx,4824216,196,189)
{
link(onEvent,14611709:doText,[])
}
Add(Label,3423548,217,140)
{
Left=5
Top=7
Width=110
Font=[MS Sans Serif,8,1,16711680,1]
Caption="Дата рождения : "
AutoSize=1
Alignment=1
}


--- Добавлено в 2016-08-25 12:02:54

Начала работать загрузка файлов
http://forum.hiasm.com/getfile/37711
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1age_ok.rar [1.5KB] [509]
Редактировалось 16 раз(а), последний 2016-08-25 12:07:17