|
#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; Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра. |
#7
|
|||
|
|||
Огромное спасибо! выручили... а тоб ещё неделю угробил бы на то чтоб с этим разобраться
|
#8
|
|||
|
|||
Ой ещё чутка побесспокою
как мне сделать хелп простенький без ухищерений? или хотябы сделать так чтоб открывал сайт (офлайновский) Последний раз редактировалось GeG, 04.03.2009 в 21:47. |