A. delphi编程
var
N: Integer = 1;
procere TForm1.Button1Click(Sender: TObject);
begin
if UpperCase(Edit1.Text) = 'ABC123' then
begin
N := 1;
Edit2.Text := '正确';
end
else
begin
N := N + 1;
Edit2.Text := '错误';
end;
if N > 3 then
begin
Edit1.Text := '';
Edit1.Enabled := False;
Button1.Enabled := False;
Edit2.Text := '你无权使用';
end;
end;
B. DELPHI编程指的是什么
由Borland公司推出的Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft
Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented
Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。
Delphi是Borland公司研制的新一代可视化开发工具,可在Windows3.x、Windows95、WindowsNT等环境下使用。当前,DELPHI
也可以为LINUX平台上开发应用,其在LINUX上的对应产品Kylix。
DELPHI
拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi它提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。主要特点如下:
(1)直接编译生成可执行代码,编译速度快。由于Delphi编译器采用了条件编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度更快。在处理速度和存取服务器方面,Delphi的性能远远高于其他同类产品。
(2)支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。
(3)提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。利用项目模板和专家生成器可以很快建立项目的构架,然后根据用户的实际需要逐步完善。
(4)具有可重用性和可扩展性。开发人员不必再对诸如标签、按钮及对话框等Windows的常见部件进行编程。Delphi包含许多可以重复使用的部件,允许用户控制Windows的开发效果。
(5)具有强大的数据存取功能。它的数据处理工具BDE(BorlandDatabaseEngine)是一个标准的中介软件层,可以用来处理当前流行的数据格式,如xBase、Paradox等,也可以通过BDE的SQLLink直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。
Delphi既可用于开发系统软件,也适合于应用软件的开发。
(6)拥有强大的网络开发能力,能够快速的开发B/S应用,它内置的IntraWeb和ExpressWeb使得对于网络的开发效率超过了其他任何的开发工具。
(7)Delphi使用独特的VCL类库,使得编写出的程序显得条理清晰,VCL是现在最优秀的类库,它使得Delphi在软件开发行业处于一个绝对领先的地位。用户可以按自己的需要,任意的构建、扩充、甚至是删减VCL,以满足不同的需要。
(8)从Delphi8开始Delphi也支持.Net框架下程序开发。
当前DELPHI
已经成为一个品牌,而不仅仅是一个开发平台或开发语言的名称。
当前DELPHI产品已经由CodeGear公司继续发展,该公司是BORLAND公司的全资子公司。
C. DELPHI编程
1.类似于vb.中的doevents功能。
大家或许发现,在Delphi中没有类似于vb.中的doevents函数,这样有的时候,我们将无法使Windows响应多个同时发生的事件。其实,在Delphi的application对象中包括类似的一个方法:ProcessMessage,你可以通过调用Application.ProcessMessage来完成象vb.中的doevents一样的功能。
2.在Delphi中调用NetscapeNavigator。
随着Internet的火爆,有没有想过在你的Delphi程序中启动Netscape浏览器,显示出你指定的WWW地址的主页。下面这个程序能够完成这一功能。
programNetscape;
usesDDEMan;
procereGotoURL(sURL:string);
var
dde:TDDEClientConv;
begin
dde:=TDDEClientConv.Create(nil);
withddedo
begin
//specifythelocationofnetscape.exe
ServiceApplication:=′c:\ns32\program\netscape.exe′;
//activatetheNetscapeNavigator
SetLink(′Netscape′,′WWW—Activate′);
RequestData(′0xFFFFFFFF′);
//gotothespecifiedURL
SetLink(′Netscape′,′WWW—OpenURL′);
RequestData(sURL+′,,0xFFFFFFFF,0x3,,,′);
CloseLink;
end;
dde.Free;
end;
begin
GotoURL(′http://www.yahoo.com/′);
end.
3.格式化整数输出。
比较大的数字在输出时会显得不易阅读,在Delphi中显示带分节号的数字是相当简单的一件事,如下即可:xxxxx.caption:ΚFormatFloat(′#′,524667500)。
4.在编译时获得提示。
在Delphi2.0中,编译时,可以让编译器告诉你一些提示,比如哪些变量声明了,却从来没有使用过。我们知道,可以通过菜单中的选项来控制是否要Delphi这样做,但如果由于一些特殊需要,你只要在指定的代码段需要Delphi这样的提示,怎么办呢?请参考如下的程序。
{$HINTON}
procereTform1.Button1Click(Sender:TObject);
var
X:integer;
begin
end;
{$HINTOFF}
5.更改Windows95的墙纸。
在Delphi中你可以很方便地更改墙纸,请参考以下的程序。
procereChangeIt;
var
Reg:TregIniFile;
begin
Reg:ΚTRegIniFile.Create(′ControlPanel′)
;
Reg.WriteString(′desktop′,′Wallpaper′,
′c:\pwin95\forest.bmp′);
Reg.WriteString(′desktop′,′TileWallpaper
′,′1′);
Reg.Free;
SystemParametersInfo(SPI—SETDESKWALLPAPER,0
,nil,SPIF—SENDWININICHANGE);
end;
6.获得最后使用文件的日期。
在Win95中有一项新的功能,就是可以获得访问文件的最后日期。着名的CleanSweapforWin95软件中就是靠这一功能来作为判断某个文件是否被经常访问的依据之一。在Delphi中,我们可以通过下面的程序来达到此功能。
functionGetFileLastAccessTime(sFileName:string):TDateTime;
var
ffd:TWin32FindData;
dft:DWord;
lft:TFileTime;
h:THandle;
begin
//getfileinformation
h:ΚWindows.FindFirstFile(PChar(sFileName),ffd);
if(INVALID—HANDLE—VALUEΙΛh)then
begin
//we′relookingforjustonefile,socloseour″find″
Windows.FindClose(h);
//
FileTimeToLocalFileTime(ffd.ftLastAccessTime,lft);
//convertFILETIMEtoDOStime
FileTimeToDosDateTime(lft,LongRec(dft).Hi,LongRec(dft).Lo);
//finally,′snativedate/timefunctions
Result:ΚFileDateToDateTime(dft);
end;
end;
GetFileLastAccessTime()将会以Delphi的TdateTime格式返回你所指定的文件的最后访问日期。
D. delphi编程
用dcc32.exe编译, 你的菜单调用这个exe 编译选择的工程文件或者文件夹就可以了
E. Delphi编程
我的理解是这样的:
当点击自动移动时,需要采用Timer组件来实现。您可以在Timer组件中添加如下代码:
form1.Label1.Left:=form1.Label1.Left+1;//向右移动
form1.Label1.Left:=form1.Label1.Left-1;//向左移动
然后再加上左右边距的判断,使其循环左右移动。
你增加一个button按钮,命名为【自动移动】,如果点击该按钮,则激活Timer组件(timer1.Enabled:=true;)。
再增加一个按钮button组件,命名为【手动移动】,如果点击该按钮,则停止Timer组件(timer1.Enabled:=false;)。
然后将【自动移动】中的命令写到快捷组合键中即可。
F. delphi编程
delphi对于管理非常好,你做完delphi,不行用了,也可以编程C++或者VB之类的,这些可delphi一样,不过VB还好点,C++有点难,你要谨慎,我现在就是开始学delphi..
G. delphi 编程
function TForm1.fgetfiletime(sfilename:string;timetype:Integer):TDateTime;
var
ffd:TWin32FindData;// Win32的数据结构
{_WIN32_FIND_DATAA = record
dwFileAttributes: DWORD;
ftCreationTime: TFileTime;
ftLastAccessTime: TFileTime;
ftLastWriteTime: TFileTime;
nFileSizeHigh: DWORD;
nFileSizeLow: DWORD;
dwReserved0: DWORD;
dwReserved1: DWORD;
cFileName: array[0..MAX_PATH - 1] of AnsiChar;
cAlternateFileName: array[0..13] of AnsiChar;
end;}
dft:DWORD;
lft,time:TFileTime;//文件的时间
{同 TDateTime 一样大小, 但结构原理完全不同:
TFileTime = record
dwLowDateTime: DWORD;
dwHighDateTime: DWORD;
end;
TFileTime 记录的是从 1601-1-1 起的时间值, 以 100 纳秒(也就是万分之一毫秒)为单位
//DOS 时间就是一个 32 位(4字节)的整数(Integer), 好像没有专门的结构, 可用 LongRec 等代为解析.
DOS 时间的尺寸是 TFileTime、TDateTime 的 1/2, 是 TSystemTime 的 1/4; 因此不很精确.
它只能表示从 1980-2107 之间的时间, 且只能精确到 2 秒.
}
H:THandle;//句柄
begin
{//返回一个搜索句柄。如果出错,返回一个INVALID_HANDLE_VALUE常数,一旦不再需要,应该用FindClose函数关闭这个句柄}
h:=Windows.FindFirstFile(PChar(sfilename),ffd);
case timetype of
0:time:=ffd.ftCreationTime; //文件的创建时间
1:time:=ffd.ftLastWriteTime;//上次写入时间
2:time:=ffd.ftLastAccessTime ;//上次访问时间
end;
if (h<>invalid_handle_value)then //成功则进行下操作
begin
Windows.FindClose(h);//关闭
//转换成本地时间
FileTimeToLocalFileTime(time,lft);
//将一个 win32 FILETIME 值转换成DOS日期和时间值
FileTimeToDosDateTime(lft,longrec(dft).hi,longrec(dft).lo);
{//当用FileAge获取文件整数时间表示后,要用FileDateToDateTime转化为本地时间}
Result:=FileDateToDateTime(dft);
end
else
Result:=0;
end;
H. 高分delphi编程
path:=ExtractFileDir(Application.ExeName)+'\';
Wini:=Tinifile.Create(path+'db.ini');
//读取ip
ip:=Wini.ReadString('sysdb','server','127.0.0.1');
//读取密码
pass:=Wini.ReadString('sysdb','pass','');
try
str_conn:='Provider=SQLOLEDB.1;Password='+pass+';Persist Security Info=True;User ID=sa;Initial Catalog=JMJ;Data Source='+ip;
conn.Connected:=false;
conn.ConnectionString:=str_conn;
conn.Connected:=true;
except
on E: Exception do
begin
showmessage('数据库设置异常,请检查db.ini文件:'+E.Message);
exit;
end;
end;
conn 为TAdoConnection 组件
配置文件这么写
[sysdb]
server=192.168.1.100
pass=sa
I. 用DELPHI编程的请进
D7 和 D2006 都很好!D2006改进了很多!
不过,编程在于思想,VC,Delphi只是工具而已!
我以前也用Delphi,Delphi 中的 VCL 相对于 MFC 是非常先进的,现在的.net框架都很VCL几分神似,因为微软挖了宝蓝的天才。
宝蓝好像是要把Delphi等一起卖调了吧!听高手们说,在.net上再进行封装已经没有什么意义了,于是在相同功能上,选择MS的VC比用宝蓝的Delphi心理上更舒服一点。毕竟是老大的东东嘛!
最好还是从VC学起,毕竟它更能使你接触到基础的东西,Delphi封装得太完美了,随便动动鼠标就可以写出个功能齐全的小程序!应对订单,Delphi的快速开发还是可以节约不少开发时间的!
J. Delphi编程。。。
会用findfirst不 加一个deletefile
procere find(str:string);
var
f,sum:integer;
rec:Tsearchrec;
begin
sum := 0;
f := findfirst('C:\Temp\'+'*',faanyfile,rec);
while f=0 do
begin
if (rec.Name<>'.') and (rec.Name<>'..') then
begin
if (rec.Attr and fadirectory)=fadirectory then
find('C:\Temp\'+rec.Name)
else
begin
list.add('C:\Temp\'+rec.Name);
inc(sum);
memo1.lines.add('C:\Temp\'+rec.Name);
DeleteFile('C:\Temp\'+rec.Name);
end;
end;
f:=findnext(rec);
end;
findclose(rec);
showmessage('已经删除'+inttostr(sum)+'个');
end;
OK 解决