Страница 1 из 1

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

Добавлено: 16 фев 2008, 15:57
student1234
вот основный проуедуры, в которые надо добавить тип 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;

аналогичные процедуру/функцию про продолжительность

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

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

На счет TDateTime.
Работа с этим типом ведется в основном через функции
DecodeDate, EncodeDate, DecodeTime и EncodeTime.

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

Добавлено: 23 фев 2008, 10:26
XapD
TDateTime::TimeString()

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

Добавлено: 24 фев 2008, 09:19
Serge_Bliznykov
XapD,
&quot писал(а):TDateTime::TimeString()
простите, а что это за глупость Вы написали? И какое отношение это имеет к конкретному топику?!

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

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

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

С пожеланиями удачи.

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

Добавлено: 24 фев 2008, 15:20
MOTOCoder
На сколько мне известно, TDateTime не является объектным типом, и соответственно вообще не имеет методов.
Так что, Delphi и C++ не совсем идентичны.

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

Добавлено: 24 фев 2008, 16:27
XapD
Для начала, мы программисты, а это означает должны быть внимательными и точными.
Про идентичность речи не шло. речь шла про то, что это аналоги. Думаю, чувствуете разницу ;)
Про необъектность TDateTime промолчу. man man, plz ;)

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

Добавлено: 24 фев 2008, 20:17
Serge_Bliznykov
1) из SYSTEM.pas (Delphi)
TDateTime = type Double;

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

3) автор вопроса задал его же на другом форуме и там получил ответ..
Поэтому мы тут впустую сотрясаем воздух...

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

Добавлено: 24 фев 2008, 21:08
XapD
Не люблю признавать свою неправоту, но.. :)
Насчет матчасти Delphi - истина, ибо пользую только Билдер из Борландовских продуктов. Примеры в Билдере уж слишком часто на Паскале... :) Иногда вводит в заблуждение :)
Рад, что все выяснилось (хоть и не в мою пользу ;) )...

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

Добавлено: 24 фев 2008, 21:28
Serge_Bliznykov
сорри за оффтоп.
XapD, молодца, уважаю!! ;-)