помогите подправить задачу по ООП

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
student1234
Сообщения: 9
Зарегистрирован: 05 янв 2008, 23:15

вот основный проуедуры, в которые надо добавить тип TTime:TDateTime, а я не умею работать с этим типом.... так задача правильная - только нужно добавить по аналогии
ПОМОЖЕТЕ?

.......
procedure TRecord.Input;
writeln('введите продолжительность'); readln('........')
writeln('Введите имя исполнителя'); readln(FIspolnitel);
writeln('Введите название песни'); readln(FChanson);
end;

procedure TRecord.Print;
begin
writeln('Исполнитель: ', FIspolnitel);
writeln('Песня: ', FChanson);
writeln('продолжительность:', ....)
end;

function TRecord.LoadFromTFile(var f : Textfile): boolean;
var str : string;

begin
Result:=GetStrValue(f, str);
if Result then FIspolnitel := str;

Result := GetStrValue(f, str);
if Result then FChanson := str;

Result := GetStrValue(f, str);
//продолжительность


end;

procedure TRecord.SaveToTFile(var f : TextFile);
begin
writeln(f, 'Исполнитель: ', FIspolnitel);
writeln(f, 'Песня : ', Fchanson);
writeln(f,'прожолжительность:', !!!!!!!!)
end;

procedure TRecord.SetIspolnitel (AIspolnitel : string);
begin
if Ispolnitel <> ''
then FIspolnitel := Ispolnitel;
end;

function TRecord.GetIspolnitel : string;
begin
Result := FIspolnitel
end;

procedure TRecord.SetChanson(AChanson : string);
begin
if Chanson > ''
then FChanson := Chanson;
end;

function TRecord.Getchanson : string;
begin
Result := FChanson;
end;

аналогичные процедуру/функцию про продолжительность
MOTOCoder
Сообщения: 548
Зарегистрирован: 14 янв 2008, 20:27
Откуда: Россия, Псков

А вообще, зачем здесь TDateTime?
Если речь идет о записи продолжительности песни(как я понял) то можно просто записать продолжительность в секундах(или в миллисекундах) в поле типа longint или int64.

На счет TDateTime.
Работа с этим типом ведется в основном через функции
DecodeDate, EncodeDate, DecodeTime и EncodeTime.
Ни что так не ограничивает фантазию программиста, как компилятор...
XapD
Сообщения: 5
Зарегистрирован: 20 фев 2008, 23:06

TDateTime::TimeString()
Serge_Bliznykov
Сообщения: 375
Зарегистрирован: 31 авг 2007, 03:06

XapD,
&quot писал(а):TDateTime::TimeString()
простите, а что это за глупость Вы написали? И какое отношение это имеет к конкретному топику?!
XapD
Сообщения: 5
Зарегистрирован: 20 фев 2008, 23:06

Не буду обращаться "уважаемый", т.к. в вашем посте уважения не увидел.
Для несведущих:
это функция возвращает время в AnsiString в формате "hh:mm:ss", взята из Borland C++ Builder, который, к вашему сведению, является по сути аналогом Delphi, в иерархии классов в том числе.
Получив хелп по этой функции, можно перейти к хелпу по самому классу и хелпу конструктора, который в качестве параметра может воспринимать строку.

Надеюсь, теперь вам все ясно и в будущем у вас не возникнет глупых вопросов.

С пожеланиями удачи.
MOTOCoder
Сообщения: 548
Зарегистрирован: 14 янв 2008, 20:27
Откуда: Россия, Псков

На сколько мне известно, TDateTime не является объектным типом, и соответственно вообще не имеет методов.
Так что, Delphi и C++ не совсем идентичны.
Ни что так не ограничивает фантазию программиста, как компилятор...
XapD
Сообщения: 5
Зарегистрирован: 20 фев 2008, 23:06

Для начала, мы программисты, а это означает должны быть внимательными и точными.
Про идентичность речи не шло. речь шла про то, что это аналоги. Думаю, чувствуете разницу ;)
Про необъектность TDateTime промолчу. man man, plz ;)
Serge_Bliznykov
Сообщения: 375
Зарегистрирован: 31 авг 2007, 03:06

1) из SYSTEM.pas (Delphi)
TDateTime = type Double;

2) XapD, не хотел Вас обижать, извините.
Но теперь Вы поняли, что Ваш совет к Дельфи никакого отношения не имеет?.. А, как мне кажется вопрос был как раз для Delphi...
Если для Вас будет открытием, но в Delphi нет метода (как впрочем и процедуры) TimeString. Учите матчасть ;-)))
Да и по сути - автору вопроса нужно было ДОБАВИТЬ методы по обработке в свой TRecord.

3) автор вопроса задал его же на другом форуме и там получил ответ..
Поэтому мы тут впустую сотрясаем воздух...
XapD
Сообщения: 5
Зарегистрирован: 20 фев 2008, 23:06

Не люблю признавать свою неправоту, но.. :)
Насчет матчасти Delphi - истина, ибо пользую только Билдер из Борландовских продуктов. Примеры в Билдере уж слишком часто на Паскале... :) Иногда вводит в заблуждение :)
Рад, что все выяснилось (хоть и не в мою пользу ;) )...
Serge_Bliznykov
Сообщения: 375
Зарегистрирован: 31 авг 2007, 03:06

сорри за оффтоп.
XapD, молодца, уважаю!! ;-)
Ответить