unit Unit_XZDCMS;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls, ExtCtrls, Db, DBClient, ShellApi;type
TForm_XZDCMS = class(TForm)
RadioGroup1: TRadioGroup;
cbUser: TComboBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
cdsTemp: TClientDataSet;
SaveDialog1: TSaveDialog;
sbOK: TSpeedButton;
sbCancel: TSpeedButton;
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure sbOKClick(Sender: TObject);
procedure sbCancelClick(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
LogFileName: string;
end;var
Form_XZDCMS: TForm_XZDCMS;implementation
uses SystemDM, unit_pub, Unit_XZDCB;
{$R *.DFM}procedure TForm_XZDCMS.FormShow(Sender: TObject);
var
strCurDir: string;
strFileName: string;
begin
with cdsTemp do
begin
Close;
CommandText := 'SELECT DISTINCT OWNER FROM ALL_TABLES';
Open;
while not Eof do
begin
cbUser.Items.Add(Fields[0].AsString);
Next;
end;
Close;
CommandText := ' SELECT USERNAME FROM USER_USERS';
Open;
cbUser.ItemIndex := cbUser.Items.IndexOf(Fields[0].AsString);
end;
strCurDir := ExtractFilePath(Paramstr(0));
strFileName := strCurDir + 'EXP' + DateTimeToStr(Date);
SaveDialog1.FileName := strFileName;
edit1.Text := strFileName;end;procedure TForm_XZDCMS.SpeedButton1Click(Sender: TObject);
begin
with SaveDialog1 do
if Execute then
begin
edit1.Text := FileName;
end;
end;procedure TForm_XZDCMS.sbOKClick(Sender: TObject);
var
strCom: string;
user: variant;
sCommandLine: string;
bCreateProcess: boolean;
lpStartupInfo: TStartupInfo;
lpProcessInformation: TProcessInformation;begin
// LogFileName := GetTmpFileName();
LogFileName := ChangeFileExt(edit1.Text, '.log');
user := DmSystem.SocketConnection.AppServer.GetUserAndPass;
case RadioGroup1.ItemIndex of
0:
begin
sCommandLine := 'EXP ' + user[0] + '/' + user[1] + '@LZRL FULL=Y CONSISTENT=Y FILE=' + Edit1.Text + ' LOG=' + LogFileName;
// ShellExecute(Self.Handle, nil, 'EXP', Pchar(strCom), nil, sw_shownormal);
end;
1:
begin
sCommandLine := 'EXP ' + user[0] + '/' + user[1] + '@LZRL OWNER=' + cbUser.Text + ' CONSISTENT=Y FILE=' + Edit1.Text + ' LOG=' + LogFileName;
end;
2:
begin
TForm_XZDCB.Create(self);
try
Form_XZDCB.UserName := cbUser.Text;
Form_XZDCB.ShowModal;
if Form_XZDCB.ModalResult = mrOK then
begin
sCommandLine := 'EXP ' + user[0] + '/' + user[1] + '@LZRL TABLES=(' + Form_XZDCB.Tables + ') CONSISTENT=Y FILE=' + Edit1.Text + ' LOG=' + LogFileName;
end;
finally
Form_XZDCB.Free;
end;
end;
end;
lpStartupInfo.dwFlags := STARTF_USESHOWWINDOW;
lpStartupInfo.wShowWindow := SW_SHOWNORMAL;
bCreateProcess := CreateProcess(nil,
PChar(sCommandLine), nil, nil, True,
HIGH_PRIORITY_CLASS, nil,
nil, lpStartupInfo, lpProcessInformation);
if bCreateProcess then
WaitForSingleObject(lpProcessInformation.hProcess, INFINITE); ModalResult := mrOK;
end;procedure TForm_XZDCMS.sbCancelClick(Sender: TObject);
begin
ModalResult := mrCancel;
end;procedure TForm_XZDCMS.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 0 then
begin
Label1.Enabled := False;
cbUser.Enabled := False;
end
else
begin
Label1.Enabled := True;
cbUser.Enabled := True;
//DmSystem.SocketConnection.AppServer.
end;
end;end.
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls, ExtCtrls, Db, DBClient, ShellApi;type
TForm_XZDCMS = class(TForm)
RadioGroup1: TRadioGroup;
cbUser: TComboBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
cdsTemp: TClientDataSet;
SaveDialog1: TSaveDialog;
sbOK: TSpeedButton;
sbCancel: TSpeedButton;
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure sbOKClick(Sender: TObject);
procedure sbCancelClick(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
LogFileName: string;
end;var
Form_XZDCMS: TForm_XZDCMS;implementation
uses SystemDM, unit_pub, Unit_XZDCB;
{$R *.DFM}procedure TForm_XZDCMS.FormShow(Sender: TObject);
var
strCurDir: string;
strFileName: string;
begin
with cdsTemp do
begin
Close;
CommandText := 'SELECT DISTINCT OWNER FROM ALL_TABLES';
Open;
while not Eof do
begin
cbUser.Items.Add(Fields[0].AsString);
Next;
end;
Close;
CommandText := ' SELECT USERNAME FROM USER_USERS';
Open;
cbUser.ItemIndex := cbUser.Items.IndexOf(Fields[0].AsString);
end;
strCurDir := ExtractFilePath(Paramstr(0));
strFileName := strCurDir + 'EXP' + DateTimeToStr(Date);
SaveDialog1.FileName := strFileName;
edit1.Text := strFileName;end;procedure TForm_XZDCMS.SpeedButton1Click(Sender: TObject);
begin
with SaveDialog1 do
if Execute then
begin
edit1.Text := FileName;
end;
end;procedure TForm_XZDCMS.sbOKClick(Sender: TObject);
var
strCom: string;
user: variant;
sCommandLine: string;
bCreateProcess: boolean;
lpStartupInfo: TStartupInfo;
lpProcessInformation: TProcessInformation;begin
// LogFileName := GetTmpFileName();
LogFileName := ChangeFileExt(edit1.Text, '.log');
user := DmSystem.SocketConnection.AppServer.GetUserAndPass;
case RadioGroup1.ItemIndex of
0:
begin
sCommandLine := 'EXP ' + user[0] + '/' + user[1] + '@LZRL FULL=Y CONSISTENT=Y FILE=' + Edit1.Text + ' LOG=' + LogFileName;
// ShellExecute(Self.Handle, nil, 'EXP', Pchar(strCom), nil, sw_shownormal);
end;
1:
begin
sCommandLine := 'EXP ' + user[0] + '/' + user[1] + '@LZRL OWNER=' + cbUser.Text + ' CONSISTENT=Y FILE=' + Edit1.Text + ' LOG=' + LogFileName;
end;
2:
begin
TForm_XZDCB.Create(self);
try
Form_XZDCB.UserName := cbUser.Text;
Form_XZDCB.ShowModal;
if Form_XZDCB.ModalResult = mrOK then
begin
sCommandLine := 'EXP ' + user[0] + '/' + user[1] + '@LZRL TABLES=(' + Form_XZDCB.Tables + ') CONSISTENT=Y FILE=' + Edit1.Text + ' LOG=' + LogFileName;
end;
finally
Form_XZDCB.Free;
end;
end;
end;
lpStartupInfo.dwFlags := STARTF_USESHOWWINDOW;
lpStartupInfo.wShowWindow := SW_SHOWNORMAL;
bCreateProcess := CreateProcess(nil,
PChar(sCommandLine), nil, nil, True,
HIGH_PRIORITY_CLASS, nil,
nil, lpStartupInfo, lpProcessInformation);
if bCreateProcess then
WaitForSingleObject(lpProcessInformation.hProcess, INFINITE); ModalResult := mrOK;
end;procedure TForm_XZDCMS.sbCancelClick(Sender: TObject);
begin
ModalResult := mrCancel;
end;procedure TForm_XZDCMS.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 0 then
begin
Label1.Enabled := False;
cbUser.Enabled := False;
end
else
begin
Label1.Enabled := True;
cbUser.Enabled := True;
//DmSystem.SocketConnection.AppServer.
end;
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货