![]() |
|
|
#1
|
|||
|
|||
|
1) мне нужно сделать что то типа напоминалки.... те ввожу данные в поле мемо1 (какую то инфу) едит1 и едит 2 дату ( день месяц) нажимаю бутон1 и у меня всё добавляется в существующей файл (допустим текстовый).... как мне теперь оттуда вытащить данные ? те нужно чтобы он вытащил данные конкретной записи
те скажем там записанно было 11.12 день рождение васи пупкина.... 31.12 запой итд.... вот нужно чтоб он вытащил тока первую запись (дату и слова при этом строк может быть много)... сравнил дату с текущей датой и выдал мне в мемо2 это сообщение..... сохранение сделал... а вот как потом сравнить то что в файле с текущей датой не знаю как сделать ((( подскажите плиззз 2) и ещё маленький вопросик как мне из 2ух дат получить дни ( я сделал это но у меня с ошибками получилось тк не считает високосный год) и из даты и дней получить дату подскажите плиззз |
|
#2
|
|||
|
|||
|
Ну как пишешь в файл, так и читаешь.
Тут проблема в другом. Ты априори не знаешь какая из записей тебе нужна. поэтому придется читать все. А дальше дело вкуса. Можно все держать в памяти, а можно в памяти оставить только те, что на "сегодня". во втором случае затраты памяти меньше, но придется перечитывать данные при наступлении нового дня. По второму вопросу. Есть функция в модуле DateUtils - DaysBeteen. Возвращает кол-во дней между датами с учетом всех возможных поправок. |
|
#3
|
|||
|
|||
|
а можеш примерно написать как это должно быть? (я просто вывожу всё в поле мемо3 (что записаннов фаил) потом у меня проблема возникает как взять инфу с массива (в самоучители об этом что то хреново написанно а на сайтах чёто толкового ничего не нашёл)
и как работать с DateUtils - DaysBeteen я вообще ниразу с датами не работал.... зарание спасибо |
|
#4
|
|||
|
|||
|
Код:
var f: textfile; begin assignfile(f, 'lalala.txt'); rewrite(f); writeln(f, '32.13'); writeln(f, 'День рождение Васи Пупкина'); closefile(f); end; это мы пишем.. теперь читаем Код:
var f: textfile; tmp: string; begin assignfile(f, 'lalala.txt'); reset(f); readln(f, tmp); edit1.text := tmp; readln(f, tmp); edit2.text := tmp; closefile(f); end; для мемо используешь цикл. чтение: while not eof(f) do // запись: for i:=0 to memo1.lines.count-1 do разбирайся... |
|
#5
|
|||
|
|||
|
респект....
|
|
#6
|
||||
|
||||
|
Цитата:
Код:
uses
DateUtils; // не забываем указать этот модуль
procedure TForm1.Button1Click(Sender: TObject);
var
DateNow, DateOld: TDateTime;
i: Integer;
begin
DateNow:= Date; // получаем текущую дату
DateOld:= StrToDate('01.02.2009'); // задаем произвольную дату
i:= DaysBetween(DateNow, DateOld); // узнаем временной промежуток
ShowMessage(IntToStr(i) + ' дней.'); // показываем результат
end; |
|
#7
|
|||
|
|||
|
Огромное спасибо! выручили... а тоб ещё неделю угробил бы на то чтоб с этим разобраться
![]() |
|
#8
|
|||
|
|||
|
Ой ещё чутка побесспокою
как мне сделать хелп простенький без ухищерений? или хотябы сделать так чтоб открывал сайт (офлайновский) Последний раз редактировалось GeG, 04.03.2009 в 21:47. |