

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本人今天把自已以前的一些delphi编程经验进行个小总结,总结完后突有一个这样的想法:如果我把这些总结发给网上的delphi朋友,而他们如果也有些自已的delphi编程小结,也发给我(如果愿意的话),这样大家的进步肯定是很快的。(1)按下ctrl和其它键之后发生一事件。procedureTForm1.FormKeyDown(Sender:TObject;varKey:Word;Shift:TShiftState);beginif(ssCtrlinShift)and(key=67)thenshowmessage(keydownCtrl+C);end;(2).Dbgrid中用Enter键代替Tab
2、键.procedureTForm1.DBGrid1KeyPress(Sender:TObject;varKey:Char);beginifKey=#13thenifActiveControl=DBGrid1thenbeginTDBGrid(ActiveControl).SelectedIndex:=TDBGrid(ActiveControl).SelectedIndex+1;Key:=#0;end;end;(3).Dbgrid中选择多行发生一事件。procedureTForm1.Button1Click(Sender:TObject);vari:integer;bookmarklist:Tbo
3、okmarklist;bookmark:tbookmarkstr;beginbookmark:=adoquery1.Bookmark;bookmarklist:=dbgrid1.SelectedRows;trybeginfori:=0tobookmarklist.Count-1dobeginadoquery1.Bookmark:=bookmarklisti;withadoquery1dobeginedit;fieldbyname(mdg).AsString:=edit2.Text;post;end;end;end;finallyadoquery1.Bookmark:=bookmark;end;
4、end;(4).Form的一个出现效果。procedureTForm1.Button1Click(Sender:TObject);varr:thandle;i:integer;beginfori:=1totrunc(width/1.414)dobeginr:=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).用Ent
5、er代替Tab在编辑框中移动隹点。procedureTForm1.FormKeyPress(Sender:TObject;varKey:Char);beginifkey=#13thenbeginifnot(ActivecontrolisTmemo)thenbeginkey:=#0;keybd_event(vk_tab,mapvirtualkey(vk_tab,0),0,0);end;end;end;(6).Progressbar加上色彩。const$EXTERNALSYMPBS_MARQUEEPBS_MARQUEE=08;varForm1:TForm1;implementation$R*.df
6、musesCommCtrl;procedureTForm1.Button1Click(Sender:TObject);begin/SettheBackgroundcolortotealProgressbar1.Brush.Color:=clTeal;/SetbarcolortoyellowSendMessage(ProgressBar1.Handle,PBM_SETBARCOLOR,0,clYellow);end;(7).住点移动时编辑框色彩不同。procedureTForm1.Edit1Enter(Sender:TObject);begin(senderastedit).Color:=clr
7、ed;end;procedureTForm1.Edit1Exit(Sender:TObject);begin(senderastedit).Color:=clwhite;end;(8).备份和恢复procedureTForm1.Button1Click(Sender:TObject);beginifOpenDialog1.Executethenbegintryadoconnection1.Connected:=False;adoconnection1.ConnectionString:=Provider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=s
8、a;InitialCatalog=master;DataSource=FRIEND-YOFZKSCO;+UseProcedureforPrepare=1;AutoTranslate=True;PacketSize=4096;WorkstationID=FRIEND-YOFZKSCO;UseEncryptionforData=False;Tagwithcolumncollationwhenpossible=False;adoconnection1.Connected:=True;withadoQuery1dobeginClose;SQL.Clear;SQL.Add(BackupDataBases
9、fatodisk=+opendialog1.FileName+);ExecSQL;end;exceptShowMessage(?Y);Exit;end;end;Application.MessageBox(1?2?y?Y?Y31|,?,MB_OK+MB_ICONINFORMATION);end;procedureTForm1.Button2Click(Sender:TObject);beginifOpenDialog1.Executethenbegintryadoconnection1.Connected:=false;adoconnection1.ConnectionString:=Prov
10、ider=SQLOLEDB.1;PersistSecurityInfo=False;UserID=sa;InitialCatalog=master;DataSource=FRIEND-YOFZKSCO;+UseProcedureforPrepare=1;AutoTranslate=True;PacketSize=4096;WorkstationID=FRIEND-YOFZKSCO;UseEncryptionforData=False;Tagwithcolumncollationwhenpossible=False;adoconnection1.Connected:=true;withadoQu
11、ery1dobeginClose;SQL.Clear;SQL.Add(RestoreDataBasesfafromdisk=+opendialog1.FileName+);ExecSQL;end;exceptShowMessage(?);Exit;end;end;Application.MessageBox(1?2?y?Y?31|,?,MB_OK+MB_ICONINFORMATION);end;(9).查找局域网上的sqlserver报务器。usesComobj;procedureTForm1.Button1Click(Sender:TObject);varSQLServer:Variant;
12、ServerList:Variant;i,nServers:integer;sRetValue:String;beginSQLServer:=CreateOleObject(SQLDMO.Application);ServerList:=SQLServer.ListAvailableSQLServers;nServers:=ServerList.Count;fori:=1tonserversdoListBox1.Items.Add(ServerList.Item(i);SQLServer:=NULL;serverList:=NULL;end;(10).窗体打开时的淡入效果。procedureT
13、Form1.FormCreate(Sender:TObject);beginAnimateWindow(Handle,400,AW_CENTER);end;(11).动态创建窗体。procedureTForm1.Button1Click(Sender:TObject);begintryform2:=Tform2.Create(self);form2.ShowModal;finallyform2.Free;end;end;procedureTForm1.FormClose(Sender:TObject;varAction:TCloseAction);beginaction:=cafree;end
14、;procedureTForm1.FormDestroy(Sender:TObject);beginform1:=nil;end;(12).复制文件。procedureTForm1.Button1Click(Sender:TObject);begintrycopyfileA(pchar(C:AAA.txt),pchar(D:AAA.txt),false);exceptshowmessage(sfdsdf);end;end;(13).复制文件夹。usesshellAPI;procedureTForm1.Button1Click(Sender:TObject);varlpFileOp:TSHFil
15、eOpStruct;beginwithlpFileOpdobeginWnd:=Self.Handle;wfunc:=FO_COPY;pFrom:=pchar(C:AAA);pTo:=pchar(D:AAA);fFlags:=FOF_ALLOWUNDO;hNameMappings:=nil;lpszProgressTitle:=nil;fAnyOperationsAborted:=True;end;ifSHFileOperation(lpFileOp)0thenShowMessage(删除失败);end;(14).改变Dbgrid的选定色。procedureTForm1.DBGrid1DrawD
16、ataCell(Sender:TObject;constRect:TRect;Field:TField;State:TGridDrawState);beginifgdSelectedinstatethenSetBkColor(dbgrid1.canvas.handle,clgreen)elsesetbkcolor(dbgrid1.canvas.handle,clwhite);dbgrid1.Canvas.TextRect(rect,0,0,field.AsString);dbgrid1.Canvas.Textout(rect.Left,rect.Top,field.AsString);end;
17、(15).检测系统是否已安装了ADO。usesregistry;functionTform1.ADOInstalled:Boolean;varr:TRegistry;s:string;beginr:=TRegistry.create;trywithrdobeginRootKey:=HKEY_CLASSES_ROOT;OpenKey(ADODB.ConnectionCurVer,false);s:=ReadString();ifsthenResult:=TrueelseResult:=False;CloseKey;end;finallyr.free;end;end;procedureTForm1
18、.Button1Click(Sender:TObject);beginifADOInstalledthenshowmessage(thiscomputerhasinstalledADO);end;(16).取利主机的ip地址。useswinsock;procedureTForm1.Button1Click(Sender:TObject);varIP:string;IPstr:String;buffer:array1.32ofchar;i:integer;WSData:TWSAdata;Host:PHostEnt;beginifWSAstartup(2,WSData)0thenbeginshow
19、message(WS2_32.DLL3?.);exit;end;tryifGetHostname(buffer1,32)0thenbeginshowmessage(?D?.);exit;end;exceptshowmessage(?D31|?);exit;end;Host:=GetHostbyname(buffer1);ifHost=nilthenbeginshowmessage(IP?a?.);exit;endelsebeginedit2.Text:=Host.h_name;edit3.Text:=chr(host.h_addrtype+64);fori:=1to4dobeginIP:=in
20、ttostr(ord(host.h_addri-1);ifi4thenipstr:=ipstr+IP+.elseedit1.Text:=ipstr+ip;end;end;WSACleanup;end;(17).取得计算机名。functiontform1.get_name:string;varComputerName:PChar;size:DWord;beginGetMem(ComputerName,255);size:=255;ifGetComputerName(ComputerName,size)=Falsethenresult:=elseresult:=ComputerName;FreeM
21、em(ComputerName);end;procedureTForm1.Button1Click(Sender:TObject);beginlabel1.Caption:=get_name;end;(18).取得硬盘序列号。functiontform1.GetHDSerialNumber:LongInt;$IFDEFWIN32varpdw:pDWord;mc,fl:dword;$ENDIFbegin$IfDefWIN32New(pdw);GetVolumeInformation(c:,nil,0,pdw,mc,fl,nil,0);Result:=pdw;dispose(pdw);$ELSER
22、esult:=GetWinFlags;$ENDIFend;procedureTForm1.Button1Click(Sender:TObject);beginedit1.Text:=inttostr(gethdserialnumber);end;(19).限定光标移动范围。procedureTForm1.Button1Click(Sender:TObject);varrect1:trect;beginrect1:=button2.BoundsRect;mapwindowpoints(handle,0,rect1,2);clipcursor(rect1);end;procedureTForm1.
23、Button2Click(Sender:TObject);varscreenrect:trect;beginscreenrect:=rect(0,0,screen.Width,screen.Height);clipcursor(screenrect);end;(20).限制edit框只能输入数字。procedureTForm1.Edit1KeyPress(Sender:TObject;varKey:Char);beginifnot(keyin0.9,.,#8)thenbeginkey:=#0;Messagebeep(0);end;end;(21).dbgrid中根据任一条件某一格变色。proc
24、edureTForm_main.DBGridEh1DrawColumnCell(Sender:TObject;constRect:TRect;DataCol:Integer;Column:TColumnEh;State:TGridDrawState);beginif(trim(DataModule1.ADOQuery1.FieldByName(dczt).AsString)=OK)thenbeginifdatacol=6thenbeginDbGrideh1.Canvas.Brush.Color:=clGradientActiveCaption;DbGrideh1.DefaultDrawColu
25、mnCell(Rect,datacol,column,state);end;end;end;(22).打开word文件。procedureTfjfsglForm.SpeedButton4Click(Sender:TObject);varMSWord:Variant;str:string;beginiftrim(DataModule1.adoquery27.fieldbyname(fjmc).asstring)thenbeginstr:=trim(DataModule1.ADOQuery27.fieldbyname(fjmc).AsString);MSWord:=CreateOLEObject(
26、Word.Application);/MSWord.Documents.Open(d:ProgramFilesCommonFilesSfa+str,True);/MSWord.Visible:=1;/str:=;MSWord.ActiveDocument.Range(0,0);/MSWord.ActiveDocument.Range.InsertAfter(str);/?Word?D?TitleMSWord.ActiveDocument.Range.InsertParagraphAfter;endelseshowmessage();end;23).word文件传入和传出数据库。usesIdGl
27、obal;procedureTdjhyForm.SpeedButton2Click(Sender:TObject);varsfilename:string;functionBlobContentTostring(constFilename:string):string;beginwithTfilestream.Create(filename,fmopenread)dotrysetlength(result,size);read(pointer(result),size);finallyfree;end;end;beginifopendialog1.Executethenbeginsfilename:=opendialog1.FileName;DataModule1.ADOQuery14.Edit;DataModule1.ADOQuery14.FieldByName(word).AsString:=blob
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度竞业协议失效一个月竞业限制解除补偿合同
- 二零二五年度大型商场装修合同(含室内外环境美化)
- 二零二五年度特色主题展台设计制作安装一体化合同
- 二零二五年度纹身技艺培训与加盟合作协议
- 二零二五年度新能源产业临时研发人员服务协议
- 2025年度网络安全防护合同价款调整与网络安全事件应对
- 二零二五年度虚拟现实产业利润分配协议书
- 二零二五年度搏击教练员免责责任书
- 农业现代化技术推广合作协议
- 智能建筑系统合同
- 新生儿肠道病毒感染
- 2025年度专业酒店装修承揽合同
- 2025年度5G基站建设劳务合同范本
- (完整版)班主任量化考核细则
- 2025年中国铁路郑州局集团有限公司招聘笔试参考题库含答案解析
- 2025年上半年永春县农文旅发展集团限公司公开招聘若干名工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 家庭康复服务的商业价值与发展趋势
- 2025年危化企业安全教育培训计划
- 《HR的成长之路》课件
- 装修完成情况报告范文
- 2024-2024年上海市高考英语试题及答案
评论
0/150
提交评论