ورود

View Full Version : سوال: نحوه ذخیره اطلاعات DBgrid دریک فایل Text



mehdi_moosavi
دوشنبه 06 شهریور 1385, 07:58 صبح
سلام
آیا دستوری وجود داره که اطلاعات نمایش داده شده در یک DBGrid و یا یک Table رو داخل یک فایل Text روی هارد ذخیره کنه؟
با تشکر

فرزاد دلفی باز
دوشنبه 06 شهریور 1385, 12:29 عصر
در صورت استفاده از کوانتوم گرید و کامپوننت پرینتش میشه اطلاعات اون گرید رو به پرینتر فرستاد . به یک فایل تکست رو نمی دونم

SoftDevCo
دوشنبه 06 شهریور 1385, 13:13 عصر
این کد تبدیل به html می کنه، تغییراتش با خودت:


Procedure ToHTML(GridName: TDBGrid; Title, SaveTo: ShortString);
{-------------------------------------------}
Procedure ToHTML(GridName: TDBGrid; Title, SaveTo: ShortString);
var col,row:integer;
HTML:TStringList;
begin
GridName.DataSource.DataSet.DisableControls;
HTML:=TStringList.Create;
HTML.Clear;
HTML.Add('<html dir="rtl">'+
'<head>'+
'<meta name="Author" content="SoftDev Corporation. Html ">'+
'<meta name="Copyright" content="Tahesab">'+
'<meta http-equiv="Content-Type" Content="text/html; charset=UTF8">'+
'<title>'+Title+'</title></head><body>');
HTML.Add('<h1 align="center"><font face="tahoma"><u>'+Title+'</font></u></h1>');
HTML.Add('<table rows="'+
inttostr(GridName.DataSource.DataSet.RecordCount)+
'" bgColor="#ffffff" border="1" Bordercolor="#000000"'+
' cellpadding="2" cellspacing="0" Align="center" bordercolorlight="#FFFFFF">');
HTML.Add('<body><tr>');
GridName.DataSource.DataSet.First;
for col := GridName.FieldCount-1 Downto 0 do //create table header
begin
Application.ProcessMessages;
HTML.Add('<th bgcolor="#CCFFFF" ><B><font size="2" face="Tahoma">'+
GridName.Columns[col].Title.Caption+'</B></font></th>');
end;
HTML.Add('</tr>');

Waiting.ProgressBar1.Max:=GridName.DataSource.Data Set.RecordCount;
for row :=GridName.DataSource.DataSet.RecordCount-1 Downto 0 do //create table detail
begin
Application.ProcessMessages;
Waiting.ProgressBar1.Position:=Waiting.ProgressBar 1.Position+1;
HTML.Add('<tr>');
for col := GridName.FieldCount-1 Downto 0 do
begin
if GridName.Fields[col].AsString ='' then
HTML.Add('<td wrap><font size="2" face="Tahoma">'+
'&nbsp'+'</font></td>');
HTML.Add('<td wrap align="Right" ><font size="2" face="Tahoma">'+GridName.Columns[Col].Field.DisplayText+'</font></td>');
end;
HTML.Add('</tr>');
GridName.DataSource.DataSet.Next;
end;
HTML.Add('</table></body></html>');
HTML.SaveToFile(SaveTo);
HTML.Free;
Waiting.ProgressBar1.Max:=100;
Waiting.ProgressBar1.Position:=0;
GridName.DataSource.DataSet.EnableControls;
end;
{-------------------------------------------}

اَرژنگ
دوشنبه 06 شهریور 1385, 18:43 عصر
سلام
آیا دستوری وجود داره که اطلاعات نمایش داده شده در یک DBGrid و یا یک Table رو داخل یک فایل Text روی هارد ذخیره کنه؟
با تشکر
منظور از فایل تکست کدوم یکی از پاینیهاست؟
CSV, Tab Delimted, Fixed Length ....?

mehdi_moosavi
سه شنبه 14 شهریور 1385, 11:20 صبح
منظور از فایل تکست کدوم یکی از پاینیهاست؟
CSV, Tab Delimted, Fixed Lengt

منظورم همون حالتی هست که در یک Memo وجود داره مثل دستور زیر:



Memo1.Lines.SaveToFile(c:\a1.txt);

Mojgan110
سه شنبه 14 شهریور 1385, 12:16 عصر
با این مشکلتون حل میشه آیا ؟

ADOTable1.SaveToFile

mehdi_moosavi
سه شنبه 14 شهریور 1385, 13:44 عصر
بله درسته دقیقا همون چیزیه که لازم داشتم