自己记忆力比较差,经常记不住命令,注意不是般差,是太差了,另外也比较懒惰,所以想写个小东西,释放下劳动力.于是有了个想法,写个导入导出数据库小工具,免得每次敲命令麻烦,尤其是文件路径,在cmd下面修改很费劲.
十在家没事做,时机来了,起初想用脚本语言来写,比如批处理vbs,vbs利用ie做GUI,后来发现单调vbs脚本可以,但是用批处理调vbs,ie就起不来了,而且效果也不是很好,干脆写个小算了(java就免了不够麻烦),庆幸我还懂点delphi 就会点皮毛,不过由于delphi比较简单,虽然我大学接触了 3年c(基本和没学样),但是我仍然觉得比不上我根本没学过delphi简单.这就是差距了,自己太菜了,只能使用些比较容易上手语言了.vb还是算了,机器上没有开发环境.前几天正好下了个精简版delphi,这年头,连开发工具都玩起了精简绿化,不得不寒啊...
估计来看我博客都是搞java,对源码不感兴趣,但是我还是准备贴出来,以防不时的需,利用ShellExecute可以启动java噢,有兴趣可以看看.没兴趣看源码,就试用下这个小工具吧,Delphi牛人来了就当路过好了...
这是我第个完整delphi,处女作啊,具有纪念价值.
下载地址(我csdn资源):http://download.csdn.net/source/657522
unit Unit2;
erface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,shellapi, CustomizeDlg;
type
TForm1 = (TForm)
execButton: TButton;
userNameEdit: TEdit;
userNameLabel: TLabel;
impRadio: TRadioButton;
expRadio: TRadioButton;
databaseEdit: TEdit;
databaseLabel: TLabel;
fromUserLabel: TLabel;
passwordLabel: TLabel;
passwordEdit: TEdit;
fromUserEdit: TEdit;
toUserLabel: TLabel;
toUserEdit: TEdit;
OpenDialog1: TOpenDialog;
extCmdLineEdit: TEdit;
Button3: TButton;
FileLabel: TLabel;
extCmdLabel: TLabel;
fileEdit: TEdit;
cmdLineEdit: TEdit;
blogLabel: TLabel;
procedure execButtonClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure blogLabelMouseEnter(Sender: TObject);
procedure blogLabelMouseLeave(Sender: TObject);
procedure blogLabelClick(Sender: TObject);
procedure databaseEditChange(Sender: TObject);
procedure chgCmdLine;
procedure FormCreate(Sender: TObject);
procedure impRadioClick(Sender: TObject);
procedure expRadioClick(Sender: TObject);
procedure userNameEditChange(Sender: TObject);
procedure passwordEditChange(Sender: TObject);
procedure fromUserEditChange(Sender: TObject);
procedure toUserEditChange(Sender: TObject);
procedure extCmdLineEditChange(Sender: TObject);
procedure fileEditChange(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
batFile:textfile;
implementation
{$R *.dfm}
procedure TForm1.execButtonClick(Sender: TObject);
begin
assignfile(batFile,'temp.bat');
rewrite(batFile);
writeln(batFile,'%~1'+#10+'pause');
closefile(batFile);
ShellExecute(Application.Handle, 'open', 'temp.bat', pchar('"'+cmdLineEdit.text+'"'), nil, SW_SHOW);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
OpenDialog1.Filter:= '备份文件|*.dmp|所有文件|*.*';
OpenDialog1.Execute then
begin
fileEdit.text:=OpenDialog1.FileName;
end;
end;
procedure TForm1.blogLabelMouseEnter(Sender: TObject);
begin
blogLabel.Font.style:=[fsUnderline];
end;
procedure TForm1.blogLabelMouseLeave(Sender: TObject);
begin
blogLabel.Font.Style:=;
end;
procedure TForm1.blogLabelClick(Sender: TObject);
begin
ShellExecute(Handle, 'Open', 'http://blog.csdn.net/sunyujia/', '', '', SW_SHOWNORMAL);
end;
procedure TForm1.databaseEditChange(Sender: TObject);
begin
chgCmdLine;
extCmdLineEdit.Text:='log='+databaseEdit.Text+'.log';
fileEdit.Text:=databaseEdit.Text+'.dmp';
end;
procedure TForm1.chgCmdLine;
begin
cmdLineEdit.text:=userNameEdit.text+'/'+passwordEdit.text+'@'+databaseEdit.text;
impRadio.Checked=true then
begin
cmdLineEdit.text:='imp '+cmdLineEdit.text+' fromuser='+fromuserEdit.text+' '+'touser='+touserEdit.text+' ';
end
begin
cmdLineEdit.text:='exp '+cmdLineEdit.text+' owner='+fromuserEdit.text+' ';
end;
cmdLineEdit.text:=cmdLineEdit.text+' file="'+fileEdit.text+'" '+extCmdLineEdit.text;
end;
procedure TForm1.userNameEditChange(Sender: TObject);
begin
chgCmdLine;
fromuserEdit.text:=usernameEdit.text;
touserEdit.text:=usernameEdit.text;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DeleteFile('temp.bat');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
chgCmdLine;
end;
procedure TForm1.impRadioClick(Sender: TObject);
begin
chgCmdLine;
end;
procedure TForm1.expRadioClick(Sender: TObject);
begin
chgCmdLine;
end;
procedure TForm1.passwordEditChange(Sender: TObject);
begin
chgCmdLine;
end;
procedure TForm1.fromUserEditChange(Sender: TObject);
begin
chgCmdLine;
end;
procedure TForm1.toUserEditChange(Sender: TObject);
begin
chgCmdLine;
end;
procedure TForm1.extCmdLineEditChange(Sender: TObject);
begin
chgCmdLine;
end;
procedure TForm1.fileEditChange(Sender: TObject);
begin
chgCmdLine;
end;
end.
原文网址:http://blog.csdn.net/sunyujia/archive/2008/09/29/2996688.aspx
最新评论