delphi编写代码(delphi编程技巧大全)
admin 发布:2022-12-19 03:04 108
本篇文章给大家谈谈delphi编写代码,以及delphi编程技巧大全对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、delphi怎样编写服务程序
- 2、delphi编辑已有代码
- 3、关于delphi开发工具如何写代码
- 4、delphi的简单代码
- 5、用delphi编写登录代码
- 6、delphi中如何自己编写代码,生成可执行的程序?就是不要太多的组件的那种
delphi怎样编写服务程序
Windows NT服务程序不同于一般的运行程序,它不需要NT登录进去,只需要开机进入NT系统便可以运行,一般用于系统服务方面的应用,学会编写NT服务程序对网络管理人员而言是非常重要的,Delphi作为一种高效、快速、强大的开发语言,为开发NT服务程序提供了非常便捷的方法,加上其可视化界面以及与数据库的完美结合,使我们开发与数据库有关的NT服务程序变得非常简单,下面以编写一个NT定期备份程序为例,介绍如何运用Delphi编写Windows NT的服务程序。
打开Delphi编辑器,选择菜单中的File|New,在New Item中选择Service Application项,Delphi便自动为你建立一个基于TServiceApplication的新工程,TServiceApplication是一个封装NT服务程序的类,它包含一个TService1对象以及服务程序的装卸、注册、取消方法。
将TService1对象的属性做下列更改:
DisplayName与Name改为:DataBackup,ServiceStartName属性改为系统管理员用户(如DOMAIN\Administrator)和Password则输入用户密码
这样,服务程序运行时将自己以该用户的权限操作NT。
这样,一个NT服务程序编写已经完成,在Delphi编辑器中选择菜单Run|Parameters,在Parameters中输入/install,程序编译运行后,一个名为DataBackup的NT服务程序已经安装好,你可以双击控制面板中的服务项目,将会看到此服务程序,只是此服务程序没有任何东西而已;在Delphi编辑器中选择菜单Run|Parameters,在Parameters中输入/uninstall,程序编译运行后,系统将会将此服务程序卸掉。
服务程序是通过控制一个线程的生成、暂停、继续、停止来达到服务目的的,因此我们必须加入一个TSession对象来编写文件自动备份代码,在Delphi编辑器中选择菜单中的File|New,在New Item中选择Thread Object项,Delphi会提示你为该TSession对象输入一个名称(输入DataCopy),Delphi便生成了一个基于TSession的DataCopy对象,并提供了一个Execute过程供重载,我们要Execute过程中输入以下程序:
var
Hour, Min, Sec, MSec: Word;
TimeStamp, DirectoryEdit1, DirectoryEdit2: String;
SearchRec: TSearchRec;
Source, Temp, Dest: Pchar;
F, F1: THandle;
FF, FF1: WIN32_FIND_DATA;
Begin
// 每次文件备份执行时间
TimeStamp:= '12:00';
// 文件备份源目录
DirectoryEdit1:= 'C:\temp';
// 文件备份目录
DirectoryEdit2:= 'C:\temp1';
While True do
Begin
DecodeTime(Time, Hour, Min, Sec, MSec);
IF Trim(TimeStamp) = Format('%-2.2d:%-2.2d',[Hour, Min]) then
Begin
GetMem(Source, 250);
GetMem(Dest, 250);
GetMem(Temp, 250);
StrPcopy(Dest, DirectoryEdit2 + '\' + FormatDateTime('YYYYMMDD', Date));
CreateDirectory(Dest, Nil);
IF FindFirst(DirectoryEdit1 + '\*.*', faAnyFile, SearchRec) = 0 then
Begin
Repeat
StrPcopy(Source, DirectoryEdit1 + '\' + SearchRec.Name);
StrPcopy(Dest, DirectoryEdit2+'\' + FormatDateTime('YYYYMMDD', Date) + '\' + SearchRec.Name);
CopyFile(Source, Dest, False);
Until FindNext(SearchRec) 0;
end;
SysUtils.FindClose(SearchRec);
FindClose(F);
FreeMem(Source, 250);
FreeMem(Dest, 250);
FreeMem(Temp, 250);
end;
Sleep(60000);
end;
end;
此线程执行时每隔一分钟将检查一次时间,看是否到了备份时间,如果是则将DirectoryEdit1中的所有文件拷到DirectoryEdit2目录中去。
现在编写服务控制DataCopy线程的代码,在TdataBackup对象中的OnStart、OnStop、OnPause、OnContinue事件中分别输入如下代码:
Procedure TDataBackup.DataBackupStart(Sender: TService;
var Started: Boolean);
begin
DataThread:= TDataCopy.Create(False);
Started := True;
end;
procedure TDataBackup.DataBackupStop(Sender: TService;
var Stopped: Boolean);
begin
DataThread.Terminate;
Stopped := True;
end;
procedure TDataBackup.DataBackupPause(Sender: TService;
var Paused: Boolean);
begin
DataThread.Suspend;
Paused := True;
end;
procedure TDataBackup.DataBackupContinue(Sender: TService;
var Continued: Boolean);
begin
DataThread.Resume;
Continued := True;
end;
这样一个文件自动备份程序已经完成,编译好后,加上/install参数执行程序,系统会将此服务程序安装,由于服务程序中StartType属性为stAuto,NT每次启动时,此程序自动执行,你可以在控制面板中的服务项目来启动、暂停、恢复、停止它,也可以加上/uninstall参数执行程序来卸掉它。通过上述例子我们可以看到,用Delphi编写NT服务器程序十分方便,而且你也可以在TService对象上加许多非可视化控件来与数据库关联,实现很多复杂的功能。
delphi编辑已有代码
delphi的主要文件有.pas,.dcu,.dpr,.dfm,pas文件是单元文件,就是代码,dpr是工程文件,dfm是窗体文件,dcu文件不知是什么文件,反正也打不开,也不用编辑,是Delphi编译是自动形成的文件,不过要用别人的单元文件,你得把DCU和DFM及PAS文件都复制到文件夹,否则会报找不到DCU文件的错误.DPR,PAS,DFM三个文件可以编辑,也就是改写代码.打开一个工程是选择DPR文件好了,然后再在视图菜单中打开单元文件或打开窗体及其单元文件.另外,pas文件可以有窗体,也可以没有窗体,没有窗体的单元文件多放一些公用的类\函数什么的.
关于delphi开发工具如何写代码
Procedure TForm1.BitBtn1Click(Sender: TObject);
Var
packstandard, quantity, unfullquantity: Double;
fullquantity: Integer;
Begin
packstandard := 20.59;
quantity := 91.4523;
fullquantity := Trunc(quantity / packstandard);
unfullquantity := quantity - fullquantity * packstandard;
Caption := Format('%d箱 剩%.4f ', [fullquantity, unfullquantity]);
End;
delphi的简单代码
以下提示供参考:
1、在 delphi 语法中,参数的定义格式如: 变量名:变量类型;可以添加 const 或是 var 指示。
因此,上面的代码中,函数的定义修改示例如:
function Test(const cPData: PChar; const cSize: DWORD): PChar;
2、在 Test 函数中,主要是调用 MoveMemory 函数,该函数定义于 Winapi.Windows 单元文件,其函数原型定义如下:
procedure MoveMemory(Destination: Pointer; Source: Pointer; Length: NativeUInt);
begin
Move(Source^, Destination^, Length);
end;
此函数与 CopyMemory 函数完全一致:
procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: NativeUInt);
begin
Move(Source^, Destination^, Length);
end;
用delphi编写登录代码
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select * from users');
SQL.Add('where name='''+edit1.Text+''' ');
Open;
end;
if adoquery1.RecordCount=0 then
begin
application.MessageBox('帐户名不正确','提示信息',mb_ok+mb_iconinformation);
edit1.SetFocus;
exit; //用户名是否存在
end
else
begin
with adoquery2 do
begin
close;
sql.Clear;
sql.Add('select * from users where name='''+edit1.Text+''' and pass='''+edit2.Text+'''');
open; //用户名存在情况下查看密码是否正确
end;
if adoquery2.RecordCount=0 then
begin
application.MessageBox('密码不正确','提示信息',mb_ok+mb_iconinformation);
edit2.SetFocus;
exit;
end
else
begin
Edit1.Clear;
Edit2.Clear;
login.Hide;
main.ShowModal;
end;
end;
delphi中如何自己编写代码,生成可执行的程序?就是不要太多的组件的那种
比如你不要写什么复杂的东西, 而只是实现一些小工具的功能,又希望体积小。 /////////////////////////////////program xxx;uses
Windows;begin begin
winexec('cmd.exe',sw_show); //程序段, 这里打开一个cmd窗口////.............................
end;end.///////////////////////////////////////////////把上面一段保存为 xxx.dpr 然后用delphi打开直接编译, 就可以得到一个只有 14k左右的程序了,运行后会打开cmd.exe.
delphi编写代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于delphi编程技巧大全、delphi编写代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-14交易链接大全,交易链接是什么意思
- 05-13网络推广教程,网络推广技巧大全
- 05-13比较有名的个人网站,个人网站取名大全
- 05-12优秀软文营销范文,优秀软文营销范文大全
- 05-09网页代码,网页代码快捷键
- 05-06单页网站的代码(完整的网页代码)[20240506更新]
- 05-06个人主页图片代码(个人主页图片代码怎么弄)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
- 05-06php后台权限管理代码(php管理员权限)[20240506更新]
- 05-06付费观看代码php(付费观看代码)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接