?? saveas.pas
字號:
{
=====================================================================
* 軟件名稱:PC與數(shù)控機床通信程序
* 單元名稱:導(dǎo)出文件
* 單元作者:彭為 (pwzyp@fjsm.net)
* 備 注:用到了線程進行發(fā)送
* 開發(fā)平臺:PWin2000 SERVER + Delphi 7.0
* 兼容測試:PWin9X/2000/XP + Delphi 6/7
* 采用控件:Raize 3.12 ,SPCOMM
* 修改記錄:V1.0 by pengwei
=====================================================================
}unit SaveAs;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, RzTabs, RzButton, StdCtrls, RzLabel, RzBorder,
Grids, RzPrgres, ScktComp, DB, ADODB;
type
TSaveAsFrm = class(TForm)
Panel1: TPanel;
pgcMain: TRzPageControl;
TabSheet1: TRzTabSheet;
TabSheet2: TRzTabSheet;
Image1: TImage;
Panel2: TPanel;
btnFinish: TRzBitBtn;
btnNext: TRzBitBtn;
btnPrior: TRzBitBtn;
RzLabel1: TRzLabel;
RzLabel2: TRzLabel;
RzLabel3: TRzLabel;
Image2: TImage;
RzBorder1: TRzBorder;
RzLabel4: TRzLabel;
RzLabel5: TRzLabel;
RzLabel6: TRzLabel;
RzLabel8: TRzLabel;
RzLabel13: TRzLabel;
edtUser: TEdit;
edtMemo: TEdit;
cboChannel: TComboBox;
RzBorder2: TRzBorder;
Query: TADOQuery;
RzLabel7: TRzLabel;
RzLabel9: TRzLabel;
edtFile: TEdit;
RzBitBtn1: TRzBitBtn;
TabSheet3: TRzTabSheet;
Image3: TImage;
RzLabel10: TRzLabel;
RzLabel11: TRzLabel;
RzBorder3: TRzBorder;
RzLabel12: TRzLabel;
SaveDialog1: TSaveDialog;
procedure FormCreate(Sender: TObject);
procedure btnNextClick(Sender: TObject);
procedure btnPriorClick(Sender: TObject);
procedure btnFinishClick(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
Fid: Integer;
FileName, sPath: string;
Channel, iLength: Integer;
{ Private declarations }
public
procedure showForm(const id: Integer);
constructor Create(const id: Integer); reintroduce; overload;
{ Public declarations }
end;
var
SaveAsFrm: TSaveAsFrm;
implementation
uses Include, Mainfrm, ConfigFrm;
{$R *.dfm}
procedure TSaveAsFrm.FormCreate(Sender: TObject);
begin
Caption := sFileSaveasCaption;
end;
procedure TSaveAsFrm.btnNextClick(Sender: TObject);
var
sList: TStrings;
begin
case pgcmain.activepageindex of
0:
begin
cboChannel.Clear;
cboChannel.Items := Config.ChannelList;
edtFile.Clear;
with Query do
begin
Close;
SQL.Clear;
SQL.Add('Select * from Data where id=' + IntToStr(Fid));
Open;
FileName := FieldByName('filename').AsString;
if not FileExists(FileName) then //如果文件存在的話
begin //如果文件不存在
MessageBox(Self.Handle, PChar(sNotFile), PChar(sTitleErr), MB_OK +
MB_ICONERROR);
exit;
end;
edtUser.Text := FieldByName('Author').AsString;
edtMemo.Text := FieldByName('sMemo').AsString;
Channel := FieldByName('channel').AsInteger;
cboChannel.ItemIndex := Channel - 1;
Close;
end;
end;
1:
begin
sPath := Trim(edtFile.Text);
if sPath = '' then
begin
MessageBox(Self.Handle, PChar(sNotSaveasfile), PChar(sTitleInfo), MB_OK
+ mb_iconInformation);
Exit;
end;
sList := TStringList.Create;
try
sList.LoadFromFile(FileName);
iLength := Length(sList.Text);
Application.ProcessMessages;
sList.SaveToFile(sPath);
finally
sList.Free;
end;
btnFinish.Caption := '完成';
end;
else
;
end;
pgcMain.ActivePageIndex := pgcMain.ActivePageIndex + 1;
btnPrior.Enabled := True;
if pgcMain.ActivePageIndex = pgcMain.PageCount - 1 then
btnNext.Enabled := False;
end;
procedure TSaveAsFrm.btnPriorClick(Sender: TObject);
begin
pgcMain.ActivePageIndex := pgcMain.ActivePageIndex - 1;
btnNext.Enabled := True;
if pgcMain.ActivePageIndex = 0 then
btnPrior.Enabled := False;
end;
procedure TSaveAsFrm.showForm(const id: Integer);
begin
if SaveAsFrm = nil then
SaveAsFrm := TSaveAsFrm.Create(id);
SaveAsFrm.ShowModal;
end;
procedure TSaveAsFrm.btnFinishClick(Sender: TObject);
begin
Close;
end;
procedure TSaveAsFrm.RzBitBtn1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
edtFile.Text := SaveDialog1.FileName;
end;
end;
procedure TSaveAsFrm.FormShow(Sender: TObject);
begin
pgcMain.ActivePageIndex := 0;
pgcMain.ActivePageIndex := 0;
btnPrior.Enabled := False;
btnNext.Enabled := True;
btnFinish.Caption := '取消';
end;
constructor TSaveAsFrm.Create(const id: Integer);
begin
inherited Create(Application);
Fid := id;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -