Большой Воронежский Форум
» Программирование>помогите с Delphi7, а не то кирдык!!:
student1234 22:52 02.04.2008
у меня задача ее суть даны данные, различных типов . string, integer, TdateTime и TAge (последний определен: TAge=0..2008)и их надо сохр, вывести и т.д.
написано не плохо все, но, при компиляции выдает ошибку:
[Error] UIsp.pas(232): Incompatible types: 'TAge' and 'TDateTime'
в процедуре ввода с клавиатуры, тут код выглядит след.образом:
...writeln('год');
readln(str);
FAge:=strtoDate(str);...

и
процедуре загрузки из файла:
result := GetStrValue(f,str);
if result then FAge := StrTodate(str);

И при этом ввод и загрузка времени типа TdateTime производится аналогично - только при помощи функции StrToTime, у которой синтаксис такой же. Описаны переменные обоих типов в программе одинаково.
Что делать помогите?!!!!!!!
dn2k4 09:14 03.04.2008
Учится, учится, и, как говорил наш незабвенный - еще раз учится. А не то кирдык.

И доооолго медитировать на описание типа значения, возвращаемого StrToDate. Потом думать, чем один тип отличается от другого. Потом опять думать, как преобразовать одно в другое. А не то кирдык.
DWanek 09:59 04.04.2008

Сообщение от student1234:
Incompatible types: 'TAge' and 'TDateTime'

Это означает, что один тип не соответствует другому. Ты определил тип TAge в интервале от 0 до 2008, это значит что компилятор будет складывать туда как минимум только положительные и целочисленные числа. Функция StrToDate возвращает тип Double, а он объявлен в интервале от 5.0 x 10^–324 до 1.7 x 10^308, а значит может быть и отрицательным и дробным.

Чтобы не компилятор не выдавал ошибку, достаточно взять Trunc от StrToDate. Но в процессе выполнения кода может произойти "заворот" типа TAge, например когда ты записываешь в переменную этого пита например значение 2009 и получишь либо EConvertedError либо RangeCheckError. За этим нужно следить.
dn2k4 16:40 04.04.2008
Спасибо, что не три страницы Розенталя
Snusmumrik 23:06 06.04.2008
а у человека реальные траблы...
вот.
http://u-antona.vrn.ru/forum/showthread.php?t=276304
Печально все это... вынужден признать, не понимая программирования, на пмм-е делать нечего..
Akad 01:44 07.04.2008
Snusmumrik, Печально думать, что кто-то там действительно умный и может в принципе программировать, из-за людей, подобных форумцу student1234, работодатели все чаще предпочитают не людей с дипломом, а людей с головой. С одной стороны это правильно, но с другой ничего хорошего продажность образования, которая с сожалению уже докатилась и до вгу (от туда же наверное этот "программист") не несет.
Вверх