因为自己记忆力比较差,经常记不住命令,注意不是一般的差,是太差了,另外也比较懒惰,所以想写个小东西,释放下劳动力.于是有了个想法,写个导入导出数据库的小工具,免得每次敲命令麻烦,尤其是文件路径,在cmd下面修改很费劲.
十一在家没事做,时机来了,起初想用脚本语言来写,比如批处理调用vbs,vbs利用ie做GUI,后来发现单调vbs脚本可以,但是用批处理调vbs,ie就起不来了,而且效果也不是很好,干脆写个小程序算了(java就免了不够麻烦的),庆幸我还懂点delphi 就会点皮毛,不过由于delphi比较简单,虽然我大学接触了三年的c++(基本和没学一样),但是我仍然觉得比不上我根本没学过的delphi简单.这就是差距了,自己太菜了,只能使用些比较容易上手的语言了.vb还是算了,机器上没有开发环境.前几天正好下了个精简版的delphi,这年头,连开发工具都玩起了精简绿化,不得不寒啊...
估计来看我博客的都是搞java的,对源码不感兴趣,但是我还是准备贴出来,以防不时之需,利用ShellExecute可以启动java噢,有兴趣的可以看看.没兴趣看源码的,就试用下这个小工具吧,Delphi牛人来了就当路过好了...
这是我的第一个完整的delphi程序,处女作啊,具有纪念价值.
下载地址(我的csdn资源):http://download.youkuaiyun.com/source/657522
- unit Unit2;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls,shellapi, CustomizeDlg;
- type
- TForm1 = class(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|所有文件|*.*';
- if 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.youkuaiyun.com/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;
- if impRadio.Checked=true then
- begin
- cmdLineEdit.text:='imp '+cmdLineEdit.text+' fromuser='+fromuserEdit.text+' '+'touser='+touserEdit.text+' ';
- end else
- 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.