Помогите пожалуйста решить задачу, уже несколько дней мучаюсь и никак не могу понять в чем проблема. У меня DBGrid визуализирует данные таблицы SOKPO, которая содержит 1 столбец с именем P_N, он содержит большое число записей( 93 000 ). Мне нужно чтобы по щелчку кнопки Button1 Итоговые значения записывались в txt файл.
(Я вывел данные по возрастанию "ORDER BY P_N");
Например.
В стоблце P_N, номер 224 встретился 10 раз, а номер 225 встретился 15 раз.
Надо что в текстовый файл попали такие значения :
224 10
225 15
(В итоги 93 000 строк должны превратиться в 69(без повторений))
Умоляю помогите..
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
d:textfile;
k,i,n:Integer;
v:integer;
PN,P_N:string;
begin
AssignFile(d,'Итог.txt');
Append(d);
DBGrid1.DataSource.DataSet.DisableControls;
DBGrid1.DataSource.DataSet.First;
n:=1;
k:=1;
with DBGrid1 do
begin
while not DataSource.DataSet.Eof do
begin
for v:=1 to Datasource.DataSet.RecordCount-1 do
begin
PN:=Fields[v].AsString;
Datasource.DataSet.Next;
P_N:=Fields[v].AsString;
if PN=P_N then
begin
n:=n+1;
DataSource.DataSet.Next;
end
else
begin
Write(d,PN,' ');
Write(d,n, ' ');
Writeln(d);
n:=0;
DataSource.DataSet.Next;
end;
DataSource.DataSet.Next;
end;
DataSource.DataSet.Next;
end;
CloseFile(d);
end;
DBGrid1.DataSource.DataSet.EnableControls;
end;
Админ: Пользуемся тегами для оформления кода!