怎样在下面的函数里实现不出现对话框,及保存到默认盘符和文件名不重复。求教!procedure TForm1.printToExcel(dataset:Tdataset);
var
i:integer;
s:Tstringlist;
tmp:string;
begin
if not dataset.Active then
begin
MessageDlg('请打开数据!',mtinformation,[mbYes],0);
exit;
end; if not SaveDialog1.Execute then
begin
exit;
end; s:=tstringlist.create;
dataset.DisableControls;
Screen.Cursor:=crHourGlass;
try
tmp:=''; for i:=0 to dataset.fields.count-1 do
tmp:=tmp+dataset.fields[i].DisplayLabel+#9;
s.add(tmp);
dataset.first;
while not dataset.eof do
begin
tmp:='';
for i:=0 to dataset.fields.count-1 do
tmp:=tmp+(dataset.fields[i].asstring)+#9;
s.Add(tmp); dataset.next;
end;
s.savetofile(SaveDialog1.filename); MessageDlg('导出数据成功!',mtinformation,[mbYes],0); finally
s.free;
dataset.EnableControls;
Screen.Cursor:=crArrow; end;
END;
var
i:integer;
s:Tstringlist;
tmp:string;
begin
if not dataset.Active then
begin
MessageDlg('请打开数据!',mtinformation,[mbYes],0);
exit;
end; if not SaveDialog1.Execute then
begin
exit;
end; s:=tstringlist.create;
dataset.DisableControls;
Screen.Cursor:=crHourGlass;
try
tmp:=''; for i:=0 to dataset.fields.count-1 do
tmp:=tmp+dataset.fields[i].DisplayLabel+#9;
s.add(tmp);
dataset.first;
while not dataset.eof do
begin
tmp:='';
for i:=0 to dataset.fields.count-1 do
tmp:=tmp+(dataset.fields[i].asstring)+#9;
s.Add(tmp); dataset.next;
end;
s.savetofile(SaveDialog1.filename); MessageDlg('导出数据成功!',mtinformation,[mbYes],0); finally
s.free;
dataset.EnableControls;
Screen.Cursor:=crArrow; end;
END;
var
i:integer;
s:Tstringlist;
tmp:string;
begin
if not dataset.Active then
begin
//MessageDlg('请打开数据!',mtinformation,[mbYes],0);
exit;
end; if not SaveDialog1.Execute then
begin
exit;
end; s:=tstringlist.create;
dataset.DisableControls;
Screen.Cursor:=crHourGlass;
try
tmp:=''; for i:=0 to dataset.fields.count-1 do
tmp:=tmp+dataset.fields[i].DisplayLabel+#9;
s.add(tmp);
dataset.first;
while not dataset.eof do
begin
tmp:='';
for i:=0 to dataset.fields.count-1 do
tmp:=tmp+(dataset.fields[i].asstring)+#9;
s.Add(tmp); dataset.next;
end;
if not FileExists(SaveDialog1.filename) then //判断是否文件已经存在,如果不存在,保存
s.savetofile(SaveDialog1.filename); //MessageDlg('导出数据成功!',mtinformation,[mbYes],0); finally
s.free;
dataset.EnableControls;
Screen.Cursor:=crArrow; end;
END;把对话框屏蔽掉。
-------------------------------------
这个不行吗?
if not FileExists(SaveDialog1.filename) then //判断是否文件已经存在,如果不存在,保存
s.savetofile(SaveDialog1.filename)