- 浏览: 2071143 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
(1).按下ctrl和其它键之后发生一事件。
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (key =67) then
showmessage("keydown Ctrl+C");
end;
(2).Dbgrid中用Enter键代替Tab键.
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
if ActiveControl = DBGrid1 then
begin
TDBGrid(ActiveControl).SelectedIndex := TDBGrid(ActiveControl).SelectedIndex + 1;
Key := #0;
end;
end;
(3).Dbgrid中选择多行发生一事件。
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
bookmarklist:Tbookmarklist;
bookmark:tbookmarkstr;
begin
bookmark:=adoquery1.Bookmark;
bookmarklist:=dbgrid1.SelectedRows;
try
begin
for i:=0 to bookmarklist.Count-1 do
begin
adoquery1.Bookmark:=bookmarklist;
with adoquery1 do
begin
edit;
fieldbyname("mdg").AsString:=edit2.Text;
post;
end;
end;
end;
finally
adoquery1.Bookmark:=bookmark;
end;
end;
(4).Form的一个出现效果。
procedure TForm1.Button1Click(Sender: TObject);
var
r:thandle;
i:integer;
begin
for i:=1 to trunc(width/1.414) do
begin
r:=CreateEllipticRgn(trunc(width/2)-i,trunc(height/2)-i,trunc(width/2)+i,trunc(height/2)+i);
SetWindowRgn(handle,r,true);
Application.ProcessMessages;
sleep(1);
end;
end;
(5).用Enter代替Tab在编辑框中移动隹点。
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if not (Activecontrol is Tmemo) then
begin
key:=#0;
keybd_event(vk_tab,mapvirtualkey(vk_tab,0),0,0);
end;
end;
end;
(6).Progressbar加上色彩。
const
{$EXTERNALSYM PBS_MARQUEE}
PBS_MARQUEE = 08;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
CommCtrl;
procedure TForm1.Button1Click(Sender: TObject);
begin
// Set the Background color to teal
Progressbar1.Brush.Color := clTeal;
// Set bar color to yellow
SendMessage(ProgressBar1.Handle, PBM_SETBARCOLOR, 0, clYellow);
end;
(7).住点移动时编辑框色彩不同。
procedure TForm1.Edit1Enter(Sender: TObject);
begin
(sender as tedit).Color:=clred;
end;
procedure TForm1.Edit1Exit(Sender: TObject);
begin
(sender as tedit).Color:=clwhite;
end;
(8).备份和恢复
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
try
adoconnection1.Connected:=False;
adoconnection1.ConnectionString:="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=FRIEND-YOFZKSCO;"+
"Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FRIEND-YOFZKSCO;Use Encryption for Data=False;Tag with column collation when possible=False";
adoconnection1.Connected:=True;
with adoQuery1 do
begin
Close;
SQL.Clear;
SQL.Add("Backup DataBase sfa to disk ="""+opendialog1.FileName+"""");
ExecSQL;
end;
except
ShowMessage("±?·Y꧰ü");
Exit;
end;
end;
Application.MessageBox("1§?2?ú£?êy?Y±?·Y3é1|","ìáê?",MB_OK + MB_ICONINFORMATION);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
try
adoconnection1.Connected:=false;
adoconnection1.ConnectionString:="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=FRIEND-YOFZKSCO;"+
"Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=FRIEND-YOFZKSCO;Use Encryption for Data=False;Tag with column collation when possible=False";
adoconnection1.Connected:=true;
with adoQuery1 do
begin
Close;
SQL.Clear;
SQL.Add("Restore DataBase sfa from disk ="""+opendialog1.FileName+"""");
ExecSQL;
end;
except
ShowMessage("???′꧰ü");
Exit;
end;
end;
Application.MessageBox("1§?2?ú£?êy?Y???′3é1|","ìáê?",MB_OK + MB_ICONINFORMATION);
end;
问题点数:0、回复次数:206Top
1 楼delphiyesterday(郑康益)回复于 2003-06-05 14:39:33 得分 0
(9).查找局域网上的sqlserver报务器。
uses Comobj;
procedure TForm1.Button1Click(Sender: TObject);
var
SQLServer:Variant;
ServerList:Variant;
i,nServers:integer;
sRetValue:String;
begin
SQLServer := CreateOleObject("SQLDMO.Application");
ServerList:= SQLServer.ListAvailableSQLServers;
nServers:=ServerList.Count;
for i := 1 to nservers do
ListBox1.Items.Add(ServerList.Item(i));
SQLServer:=NULL;
serverList:=NULL;
end;
(10).窗体打开时的淡入效果。
procedure TForm1.FormCreate(Sender: TObject);
begin
AnimateWindow (Handle, 400, AW_CENTER);
end;
(11).动态创建窗体。
procedure TForm1.Button1Click(Sender: TObject);
begin
try
form2:=Tform2.Create(self);
form2.ShowModal;
finally
form2.Free;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
form1:=nil;
end;
(12).复制文件。
procedure TForm1.Button1Click(Sender: TObject);
begin
try
copyfileA(pchar("C:\AAA.txt"),pchar("D:\AAA.txt"),false);
except
showmessage("sfdsdf");
end;
end;
(13).复制文件夹。
uses shellAPI;
procedure TForm1.Button1Click(Sender: TObject);
var
lpFileOp: TSHFileOpStruct;
begin
with lpFileOp do
begin
Wnd:=Self.Handle;
wfunc:=FO_COPY;
pFrom:=pchar("C:\AAA");
pTo:=pchar("D:\AAA");
fFlags:=FOF_ALLOWUNDO;
hNameMappings:=nil;
lpszProgressTitle:=nil;
fAnyOperationsAborted:=True;
end;
if SHFileOperation(lpFileOp)<>0 then
ShowMessage("删除失败");
end;
(14).改变Dbgrid的选定色。
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if gdSelected in state then
SetBkColor(dbgrid1.canvas.handle,clgreen)
else
setbkcolor(dbgrid1.canvas.handle,clwhite);
dbgrid1.Canvas.TextRect(rect,0,0,field.AsString);
dbgrid1.Canvas.Textout(rect.Left,rect.Top,field.AsString);
end;
(15).检测系统是否已安装了ADO。
uses registry;
function Tform1.ADOInstalled:Boolean;
var
r:TRegistry;
s:string;
begin
r := TRegistry.create;
try
with r do
begin
RootKey := HKEY_CLASSES_ROOT;
OpenKey( "\ADODB.Connection\CurVer", false );
s := ReadString("");
if s <> "" then Result := True
else Result := False;
CloseKey;
end;
finally
r.free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if ADOInstalled then showmessage("this computer has installed ADO");
end;
(16).取利主机的ip地址。
uses winsock;
procedure TForm1.Button1Click(Sender: TObject);
var
IP:string;
IPstr:String;
buffer:array of char;
i:integer;
WSData:TWSAdata;
Host:PHostEnt;
begin
if WSAstartup(2,WSData)<>0 then
begin
showmessage("WS2_32.DLL3?ê??ˉ꧰ü.");
exit;
end;
try
if GetHostname(@buffer,32)<>0 then
begin
showmessage("??óDμ?μ??÷?ú??.");
exit;
end;
except
showmessage("??óD3é1|·μ???÷?ú??");
exit;
end;
Host:=GetHostbyname(@buffer);
if Host=nil then
begin
showmessage("IPμ??·?a??.");
exit;
end
else
begin
edit2.Text:=Host.h_name;
edit3.Text:=chr(host.h_addrtype+64);
for i:=1 to 4 do
begin
IP:=inttostr(ord(host.h_addr^));
if i<4 then
ipstr:=ipstr+IP+"."
else
edit1.Text:=ipstr+ip;
end;
end;
WSACleanup;
end;
(17).取得计算机名。
function tform1.get_name:string;
var ComputerName: PChar; size: DWord;
begin
GetMem(ComputerName,255);
size:=255;
if GetComputerName(ComputerName,size)=False then
result:=""
else
result:=ComputerName;
FreeMem(ComputerName);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption:=get_name;
end;
Top
2 楼delphiyesterday(郑康益)回复于 2003-06-05 14:40:53 得分 0
(18).取得硬盘序列号。
function tform1.GetHDSerialNumber: LongInt;
{$IFDEF WIN32}
var
pdw : pDWord;
mc, fl : dword;
{$ENDIF}
begin
{$IfDef WIN32}
New(pdw);
GetVolumeInformation("c:\",nil,0,pdw,mc,fl,nil,0);
Result := pdw^;
dispose(pdw);
{$ELSE}
Result := GetWinFlags;
{$ENDIF}
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:=inttostr(gethdserialnumber);
end;
(19).限定光标移动范围。
procedure TForm1.Button1Click(Sender: TObject);
var
rect1:trect;
begin
rect1:=button2.BoundsRect;
mapwindowpoints(handle,0,rect1,2);
clipcursor(@rect1);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
screenrect:trect;
begin
screenrect:=rect(0,0,screen.Width,screen.Height);
clipcursor(@screenrect);
end;
(20).限制edit框只能输入数字。
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ) then
begin
key:=#0;
Messagebeep(0);
end;
end;
(21).dbgrid中根据任一条件某一格变色。
procedure TForm_main.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if (trim(DataModule1.ADOQuery1.FieldByName("dczt").AsString)="OK") then
begin
if datacol=6 then
begin
DbGrideh1.Canvas.Brush.Color:=clGradientActiveCaption;
DbGrideh1.DefaultDrawColumnCell(Rect,datacol,column,state);
end;
end;
end;
(22).打开word文件。
procedure TfjfsglForm.SpeedButton4Click(Sender: TObject);
var
MSWord: Variant;
str:string;
begin
if trim(DataModule1.adoquery27.fieldbyname("fjmc").asstring)<>"" then
begin
str:=trim(DataModule1.ADOQuery27.fieldbyname("fjmc").AsString);
MSWord:= CreateOLEObject("Word.Application");//
MSWord.Documents.Open("d:\Program Files\Common Files\Sfa\"+str, True);//
MSWord.Visible:=1;//
str:="";
MSWord.ActiveDocument.Range(0, 0);//
MSWord.ActiveDocument.Range.InsertAfter(str);//?úWord?D???ó×?·?"Title"
MSWord.ActiveDocument.Range.InsertParagraphAfter;
end
else
showmessage("");
end;
(23).word文件传入和传出数据库。
uses IdGlobal;
procedure TdjhyForm.SpeedButton2Click(Sender: TObject);
var
sfilename:string;
function BlobContentTostring(const Filename:string):string;
begin
with Tfilestream.Create(filename,fmopenread) do
try
setlength(result,size);
read(pointer(result)^,size);
finally
free;
end;
end;
begin
if opendialog1.Execute then
begin
sfilename:=opendialog1.FileName;
DataModule1.ADOQuery14.Edit;
DataModule1.ADOQuery14.FieldByName("word").AsString:=blobcontenttostring(sfilename);
DataModule1.ADOQuery14.Post;
end;
end;
procedure TdjhyForm.SpeedButton1Click(Sender: TObject);
var
sfilename:string;
bs:Tadoblobstream;
begin
bs:=Tadoblobstream.Create(TBLOBfield(DataModule1.ADOQuery14.FieldByName("word")),bmread);
try
sfilename:=extractfilepath(application.ExeName)+trim(DataModule1.adoquery14.fieldbyname("hybh").AsString);
sfilename:=sfilename+"."+"doc";
bs.SaveToFile(sfilename);
try
djhyopenform:=Tdjhyopenform.Create(self);
djhyopenform.olecontainer1.CreateObjectFromFile(sfilename,false);
djhyopenform.OleContainer1.Iconic:=true;
djhyopenform.ShowModal;
finally
djhyopenform.Free;
end;
finally
bs.free;
end;
end;
(24).中文标题的提示框。
procedure TdjhyForm.SpeedButton5Click(Sender: TObject);
begin
if Application.MessageBox("", Mb_YesNo + Mb_IconWarning) =Id_yes then DataModule1.ADOQuery14.Delete;
end;
(25).运行一应用程序文件。
WinExec("HH.EXE D:\Program files\common files\MyshipperCRM e-sales help\MyshipperCRM e-sales help.chm",SW_NORMAL);
Top
发表评论
-
form打开时的关闭代码
2011-10-25 20:29 1593摘自:http://topic.csdn.n ... -
TUpdateSQL更新问题 提示Update Failed
2011-08-29 20:26 1247摘自:http://topic.csdn.net/u/200 ... -
图解如何用Eurekalog跟踪程序错误
2011-08-12 07:28 951图解如何用Eurekalog跟踪程序错误 摘自:h ... -
VirtualBox 复制VDI 并能创建新的虚拟机
2011-07-21 11:14 2751摘自:http://www.nonabyte.net/how- ... -
截获所有异常 不报错
2011-07-12 16:52 1249摘自:http://media.ccidnet.c ... -
delphi exe程序以及DLL程序如何在模块内部获得各自的路径
2011-07-11 16:38 1312delphi Exe程序以及DLL程序如何在模块内部获得各自的 ... -
Delphi文本文件读写
2011-07-11 14:55 1270Delphi文本文件读写 (2008-10-31 1 ... -
Delphi自定义的消息的使用
2011-05-31 14:12 2323阅:已验证,可通过; 摘自:http://blog.1 ... -
怎么查看OutputDebugString输出的信息?debugview
2011-05-25 16:02 3842网上很多说用debugview查看,我自己写了一个程序,里面用 ... -
Delphi里查看该变量的内存值
2011-05-25 13:32 1137Delphi里查看该变量的内存值:Run==>Evalu ... -
注册表操作 写入autorun启动项,键值为本程序的全路径
2011-05-20 15:40 1835procedure TForm4.Button2Click ... -
报说包frx7和frxdb7都包含了某个单元的错误
2011-05-11 09:59 10441. 问题描述:在安装FastReport3的时候,安装到- ... -
Delphi中使用ListView和TreeView的Item中的Data可能被忽略的内存泄漏
2011-05-03 14:34 1473摘自:http://blog.csdn.net/g ... -
WM_USER的说明 用户消息ID
2011-04-28 10:46 1699WM_USER 摘自:http://baike.bai ... -
ToolButton不能改变大小
2011-04-28 10:38 3471问题描述:ToolButton不能改变大小? 问 ... -
Delphi里TOOLBAR 上的button的caption为什么显示不出来啊
2011-04-20 17:55 1781Delphi里TOOLBAR 上的button的caption ... -
delphi指针简单入门
2011-04-11 21:42 1164摘自:http://topic.csdn.net/t/2003 ... -
Delphi中paramstr的用法 应用程序间传递数据
2011-04-01 14:33 2118Delphi中paramstr的用法 应用程序间传递数据 ... -
Delphi中的THashedStringList对象 --大数据量时
2011-04-01 13:54 5167Delphi中的THashedStringLi ... -
inherited Create(AOwner); 和直接写inherited有区别吗
2011-03-26 15:44 1331摘自:http://zhidao.baidu.com/que ...
相关推荐
在本文中,我们将深入探讨Delphi编程的一些关键知识点,总结经验并提供实用技巧。 1. **VCL框架**:Delphi的Visual Component Library(VCL)是一套丰富的组件库,包含用于构建用户界面和实现常见功能的控件。...
### Delphi模式编程知识点概述 #### 一、Delphi简介 Delphi是一种基于Object Pascal的集成开发环境(IDE),主要用于Windows平台的应用程序开发。它由Borland公司于1995年推出,并在随后的几年里迅速成为Windows应用...
- 模式是一种在特定情境下解决常见问题的经验总结,它提供了一种可复用的设计方案。 - 在编程领域,设计模式是软件设计中经过验证的通用解决方案,可以提高代码的可读性和可维护性。 2. **Delphi编程基础**: - ...
Delphi Socket编程是Delphi开发中用于实现网络通信的重要技术,尤其在构建客户端-服务器应用时,它扮演着核心角色。Socket,源自英文"套接字",是网络编程的基本接口,提供了进程间的网络通信能力。本文将深入探讨...
总结来说,Delphi编程技术在构建学生管理系统中发挥了重要作用,它的高效性能、强大的组件库和数据库支持,以及友好的开发环境,都使得这类系统的开发更为高效和便捷。无论是对于初学者还是经验丰富的开发者,Delphi...
### Delphi COM深入编程 #### 一、COM技术概述 组件对象模型(Component Object Model, COM)是Microsoft在20世纪90年代推出的一种面向对象的软件设计标准和技术规范。它提供了一种定义软件组件的方式,并且允许这些...
总结来说,这个Delphi网络编程示例展示了如何利用TServerSocket和TClientSocket组件构建一个简单的聊天应用,涵盖了网络连接的建立、数据传输和用户界面的集成。通过研究这个示例,开发者可以深入了解Delphi在网络...
总结,Delphi编程环境提供了一套完整的工具集,使得开发者能够高效地构建Windows应用程序。从理解Object Pascal语法到熟练掌握VCL组件,再到利用ORM进行数据库操作,每一个环节都有丰富的学习资源和支持。对于想要...
《Delphi 深度编程及其项目应用开发》 作 者: 李存斌 汪兵 编著 丛书名: 万水软件项目应用与实例开发丛书 出版社: 中国水利水电出版社 出 版: 2002-9----------简 介 本书是在总结作者多年Delphi开发经验的基础上...
4.3.2 范例小结 第5章 抽象工厂模式(Abstract Factory) 5.1 模式解说 5.2 结构和用法 5.2.1 模式结构 5.2.2 代码模板 5.3 范例与实践 5.3.1 用抽象工厂模式动态构造界面风格 5.3.2 WebSnap的Web Module...
设计模式并不是具体的代码或库,而是一种经验总结,能够帮助开发者在遇到类似问题时快速找到解决方案。 在Delphi中,常见的设计模式包括工厂模式、单例模式、观察者模式、策略模式等。例如,工厂模式提供了一种创建...
在Delphi编程环境中,设计模式的应用同样广泛。Delphi是一种基于Object Pascal语言的集成开发环境,以其高效、快速和跨平台的能力深受程序员喜爱。设计模式不仅适用于Java、C++等其他语言,同样适用于Delphi,能够...
《Delphi模式编程》是面向Delphi开发者的经典著作,主要探讨了在Delphi编程中应用设计模式的理念和实践。设计模式是软件工程中的一个重要概念,它代表了在特定上下文中解决问题的经过验证的通用解决方案。这本书的...
设计模式是解决常见软件设计问题的经验总结。在Delphi编程中,如单例模式、工厂模式、观察者模式等,都是提升代码可读性、可维护性和可复用性的有效工具。了解并灵活运用设计模式,可以使你的代码结构更加清晰,更...
4.3.2 范例小结 第5章 抽象工厂模式(Abstract Factory) 5.1 模式解说 5.2 结构和用法 5.2.1 模式结构 5.2.2 代码模板 5.3 范例与实践 5.3.1 用抽象工厂模式动态构造界面风格 5.3.2 WebSnap的Web ...
总结,Delphi编程基础语法的学习包括理解Pascal语言基础、掌握对象和类的使用、熟悉VCL组件库以及事件驱动编程。通过个人学习集锦中的工程实例,可以更深入地了解Delphi在实际工程中的应用,从而提升编程技能。
Delphi编程技巧大全 chm版 Delphi编程技巧大全 chm版,小册子,但内容包括有Delphi编程的方方面面,都是挺基础的,这些技巧有的是编者从网上找的,有的是自己的经验总结,总之还是有一定参考价值的。
总结来说,Delphi编程控制摄像头主要依赖于AVICAP32.DLL库,通过定义常量和调用`capCreateCaptureWindowA`及`SendMessage`函数,可以实现摄像头的连接、预览、捕获等操作。这不仅能够帮助开发者理解底层的摄像头控制...
### Delphi网络编程知识点 #### 一、Delphi下的网络编程基础 在Delphi中进行网络编程主要依赖于Socket编程技术。**Socket**是一种在不同计算机之间进行通信的方法,它基于传输层协议(主要是TCP和UDP)之上。通过...
### Delphi 接口编程详解 #### 一、引言 在面向对象编程(Object-Oriented Programming,简称 OOP)领域中,继承是构建软件系统的重要机制之一。继承允许新类从现有类那里获得成员变量和方法,从而实现代码复用。...