У меня есть вопрос. Что я делаю нетак? Прога должна открыть типизированый файл, взять из определенного столбца дату, сравнить с заданым периодом времени и если выполняется условие записать в новый файл. Она работает, только: 1. Не перекидает записи при условии с сегодня по сегодня. 2. Если задавать диапазон например с 12:05:2007 по 16:05:2007 то перекидываются все кроме тех, которые 16 числа 3. Если задавать фильтрацию по дате и по времени одновременно, то вообще ничего неотбирает, хотя записи есть.
Код:
Код | procedure TForm8.BitBtn1Click(Sender: TObject); begin
AssignFile(f,ARM.katalog + '\Podii.dat'); Reset(f); AssignFile(f1,ARM.katalog + '\Podii1.dat'); Rewrite(f1); n:=FileSize(f); i:=0; if Form8.CheckBox1.Checked=False then Begin data1:=Form8.DateTimePicker1.Date; data2:=Form8.DateTimePicker2.Date; While i<n do Begin Read(f,zm1); i:=i+1; if ((zm1.dat>=data1) and (zm1.dat<=data2)) then Begin zm1.zapus:=FilePos(f); Write(f1,zm1); end; end; end else Begin Data1:=Form8.DateTimePicker1.Date; Data2:=Form8.DateTimePicker2.Date; Chass1:=Form8.DateTimePicker3.Time; Chass2:=Form8.DateTimePicker4.Time; While i<n do Begin Read(f,zm1); i:=i+1; if ((zm1.chas>=chass1) and (zm1.chas<=chass2)) and ((zm1.dat>=data1) and (zm1.dat<=data2)) then Begin zm1.zapus:=FilePos(f); Write(f1,zm1); end; end; end; zf:=True; CloseFile(f1); CloseFile(f); Form5.Visible:=True; Form8.Visible:=False; end;
|
|