помогите подправить задачу по ООП
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
-
- Сообщения: 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;
аналогичные процедуру/функцию про продолжительность
ПОМОЖЕТЕ?
.......
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;
аналогичные процедуру/функцию про продолжительность
А вообще, зачем здесь TDateTime?
Если речь идет о записи продолжительности песни(как я понял) то можно просто записать продолжительность в секундах(или в миллисекундах) в поле типа longint или int64.
На счет TDateTime.
Работа с этим типом ведется в основном через функции
DecodeDate, EncodeDate, DecodeTime и EncodeTime.
Если речь идет о записи продолжительности песни(как я понял) то можно просто записать продолжительность в секундах(или в миллисекундах) в поле типа longint или int64.
На счет TDateTime.
Работа с этим типом ведется в основном через функции
DecodeDate, EncodeDate, DecodeTime и EncodeTime.
Ни что так не ограничивает фантазию программиста, как компилятор...
-
- Сообщения: 375
- Зарегистрирован: 31 авг 2007, 03:06
XapD,
простите, а что это за глупость Вы написали? И какое отношение это имеет к конкретному топику?!" писал(а):TDateTime::TimeString()
Не буду обращаться "уважаемый", т.к. в вашем посте уважения не увидел.
Для несведущих:
это функция возвращает время в AnsiString в формате "hh:mm:ss", взята из Borland C++ Builder, который, к вашему сведению, является по сути аналогом Delphi, в иерархии классов в том числе.
Получив хелп по этой функции, можно перейти к хелпу по самому классу и хелпу конструктора, который в качестве параметра может воспринимать строку.
Надеюсь, теперь вам все ясно и в будущем у вас не возникнет глупых вопросов.
С пожеланиями удачи.
Для несведущих:
это функция возвращает время в AnsiString в формате "hh:mm:ss", взята из Borland C++ Builder, который, к вашему сведению, является по сути аналогом Delphi, в иерархии классов в том числе.
Получив хелп по этой функции, можно перейти к хелпу по самому классу и хелпу конструктора, который в качестве параметра может воспринимать строку.
Надеюсь, теперь вам все ясно и в будущем у вас не возникнет глупых вопросов.
С пожеланиями удачи.
На сколько мне известно, TDateTime не является объектным типом, и соответственно вообще не имеет методов.
Так что, Delphi и C++ не совсем идентичны.
Так что, Delphi и C++ не совсем идентичны.
Ни что так не ограничивает фантазию программиста, как компилятор...
Для начала, мы программисты, а это означает должны быть внимательными и точными.
Про идентичность речи не шло. речь шла про то, что это аналоги. Думаю, чувствуете разницу
Про необъектность TDateTime промолчу. man man, plz
Про идентичность речи не шло. речь шла про то, что это аналоги. Думаю, чувствуете разницу

Про необъектность TDateTime промолчу. man man, plz

-
- Сообщения: 375
- Зарегистрирован: 31 авг 2007, 03:06
1) из SYSTEM.pas (Delphi)
TDateTime = type Double;
2) XapD, не хотел Вас обижать, извините.
Но теперь Вы поняли, что Ваш совет к Дельфи никакого отношения не имеет?.. А, как мне кажется вопрос был как раз для Delphi...
Если для Вас будет открытием, но в Delphi нет метода (как впрочем и процедуры) TimeString. Учите матчасть ;-)))
Да и по сути - автору вопроса нужно было ДОБАВИТЬ методы по обработке в свой TRecord.
3) автор вопроса задал его же на другом форуме и там получил ответ..
Поэтому мы тут впустую сотрясаем воздух...
TDateTime = type Double;
2) XapD, не хотел Вас обижать, извините.
Но теперь Вы поняли, что Ваш совет к Дельфи никакого отношения не имеет?.. А, как мне кажется вопрос был как раз для Delphi...
Если для Вас будет открытием, но в Delphi нет метода (как впрочем и процедуры) TimeString. Учите матчасть ;-)))
Да и по сути - автору вопроса нужно было ДОБАВИТЬ методы по обработке в свой TRecord.
3) автор вопроса задал его же на другом форуме и там получил ответ..
Поэтому мы тут впустую сотрясаем воздух...
Не люблю признавать свою неправоту, но.. 
Насчет матчасти Delphi - истина, ибо пользую только Билдер из Борландовских продуктов. Примеры в Билдере уж слишком часто на Паскале...
Иногда вводит в заблуждение 
Рад, что все выяснилось (хоть и не в мою пользу
)...

Насчет матчасти Delphi - истина, ибо пользую только Билдер из Борландовских продуктов. Примеры в Билдере уж слишком часто на Паскале...


Рад, что все выяснилось (хоть и не в мою пользу

-
- Сообщения: 375
- Зарегистрирован: 31 авг 2007, 03:06
сорри за оффтоп.
XapD, молодца, уважаю!! ;-)
XapD, молодца, уважаю!! ;-)