Queryi while döngüsü ile next yaparak her satırı tek tek dosyaya yazdırıyorum.
Her field arasına ise kullanıcının comboboxdan seçtiği ayıracı koyuyorum ('|',',',';',tab)
Kod şu şekilde:
Kod: Tümünü seç
if (sd.Execute) then
begin
try
Assignfile(dosya,sd.FileName);
Rewrite(dosya);
for I := 0 to DBGrid1.FieldCount - 1 do
begin
if i=0 then baslik := DBGrid1.Fields[I].DisplayName
else baslik := baslik +ayirac[cb_ayirac.itemindex]+ DBGrid1.Fields[I].DisplayName;
end;
qry_select.First;
writeln(dosya,baslik);
writeln(dosya,'');
while not(qry_select.Eof) do
begin
satir := '';
satir := qry_select.Fields[0].AsString + ayirac[cb_ayirac.itemindex] +qry_select.Fields[1].AsString + qry_select.Fields[2].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[3].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[4].AsString + ayirac[cb_ayirac.itemindex] +
qry_select.Fields[5].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[6].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[7].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[8].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[9].AsString + ayirac[cb_ayirac.itemindex] +
qry_select.Fields[10].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[11].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[12].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[13].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[14].AsString + ayirac[cb_ayirac.itemindex] +
qry_select.Fields[15].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[16].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[17].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[18].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[19].AsString + ayirac[cb_ayirac.itemindex] +
qry_select.Fields[20].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[21].AsString + ayirac[cb_ayirac.itemindex] + qry_select.Fields[22].AsString;
writeln(dosya,satir);
qry_select.Next;
end;
CloseFile(dosya);
except CloseFile(dosya); end;
end;
