Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Как вытянуть из тхт запись по дате


Автор: zhefran 2.11.2007, 11:22
У меня такакя проблема: мне нужно из файла выводить данные по текущей дате.
Пробывал сделать так:
Код

for k:=0 to f.Count-1 do begin
      r:=copy(f.Strings[k],1,10);
      if r=datetostr(date)
      then begin
      for m:=k to f.Count-1 do
      Memo1.Lines.add(f.Strings[m]);
      end;
      break;
      end;

Подскажите подход.
При том, как пробую я - если только сегоднешняя дата в файле, все выводит. Если добавить в файл вчерашнюю дату, то ничего не выводиться!

Автор: Alix 2.11.2007, 12:13
если я правильно понял вопрос, то должно быть так и никаких проблем...
Код
for k:=0 to f.Count-1 do
  if copy(f.Strings[k],1,10) = datetostr(date) then
    Memo1.Lines.add(f.Strings[k]);

идет по всем строкам файла (я так понимаю что f - это TStrings в которые загрузили файл, так?), если первые 10 символов, которые содержат дату - соответствуют текущей, то выводим строку в memo.  Если все записи идут последовательно, то все как у тебя, только break надо внести в begin/end if'a (я вообще не понимаю как он у тебя работает иначе...)
Код
for k:=0 to f.Count-1 do
  if copy(f.Strings[k],1,10) = datetostr(date) then begin
    for m:=k to f.Count-1 do
      Memo1.Lines.add(f.Strings[m]);
    break; 
  end;

Автор: zhefran 2.11.2007, 13:00
Alix, спасибо!
Все пипчит!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)