转delphi中nil的用法】的更多相关文章

转自:http://blog.csdn.net/haiou327/article/details/6666124 delphi中nil的用法 和C++中的NULL一样的意思,指空值,它和0值不一样--   nil就是空指针--    指针表示的就是内存的一个地址--(数据存放位置)--    nil就表示空地址--     例如:   说对一个TImage中的图片进行清空:    Image1.Picture:=nil;      对象也是指针,如上的Image1就是一个对象指针--     当…
Delphi中ClientDataSet的用法小结 TClientDataSet控件继承自TDataSet,其数据存储文件格式扩展名为 .cds,是基于文件型数据存储和操作的控件.该控件封装了对数据进行操作处理的接口和功能,而本身并不依赖上述几种数据库驱动程序,基本上能满足单机"瘦"数据库应用程序的需要. 一.TClientDataSet的基本属性和方法介绍 1.FieldDefs: 字段定义列表属性 开发者可通过单击属性编辑器中该属性编辑按钮,或在该控件上单击右键选择弹出菜单中的&q…
WebBrowser1.GoHome; //到浏览器默认主页 WebBrowser1.Refresh; //刷新 WebBrowser1.GoBack; //后退 WebBrowser1.GoForward; //前进 WebBrowser1.Navigate('...'); //打开指定页面 WebBrowser1.Navigate('about:blank'); //打开空页面 //打开空页面, 并写入... WebBrowser1.Navigate('about:<head><ti…
procedure Assert(expr : Boolean [; const msg: string]); 用法:   Assert(表达式,[显示信息]); 如果为假, assert会产生一个EAssertionFailed异常,显示信息为: Debugger Exception Notification Project  Project2.exe raised exception  class EAssertionFailed with Message'AAA (C:/Users/tan…
原型         function   paramstr(i:index):string         对于任何application paramstr(0)都默认代表的是应用程序的绝对路径.那么有paramstr(0),就肯定有paramstr(1),paramstr(2)...了.它们的值又是什么了?我试了下取出的是空值,又不能赋值.        delphi帮助中说Returns a specified parameter from the command-line.从命令行中返回…
MessageBox对话框 输入控件的   ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框. 1.函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer…
原型                function   paramstr(i:index):string        对于任何application paramstr(0)都默认代表的是应用程序的绝对路径.那么有paramstr(0),就肯定有paramstr(1),paramstr(2)...了.它们的值又是什么了?我试了下取出的是空值,又不能赋值.        delphi帮助中说Returns a specified parameter from the command-line.从…
nil:空指针,空地址,对象也是指针,可以object := nil;null:是一个未定义值的变量,既不是0也不代表空字符串,它是未定义的.…
MessageBox对话框 输入控件的   ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框. 1.函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer…
nil:空指针,空地址,对象也是指针,所以可以object := nil;null:null是一个未定义值的变量,既不是0也不代表空字符串,它是未定义的.http://www.delphibasics.co.uk/RTL.asp?Name=Null 判断对象为不为空用if assigned(object) then 和if object = nil then 都一样可以. nil是空指针,而NUll是空变量;http://blog.csdn.net/haiou327/article/detail…
Delphi在数据库操作是非常好用的,delphi把ADO一些方法属性都集成了,以下是我的一些总结:*******************************通过sql的存储过程来实现:添加With ADOQuery1 dobeginClose;SQL.Clear;SQL.Add(' Insert Into Table1(Field1,Field2)')SQL.Add(' Values(10,20)');ExecSQL;end; 修改With ADOQuery1 dobeginClose;S…
今天维护一个老项目是用delphi5 + BDE写的.为了更方便查询数据,就增加一个查询功能.由于数据量查询出来后就比较少,于是就想到Filter like 但 BDE并不支持 Filter = 'name like'  BDE的模糊查询只有' name = A*' 匹配只能从第一个字母开始,无法达到要求.后来在OnFilterRecord中解决 由于 TQuery.Filtered := False; TQuery.Filtered := True; 会触发OnFilterRecord事件 于…
unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls,TypInfo,ObjAuto; type  TForm1 = class(TForm)    btn1: TButton;    btn2: TButton;    btn3: TButton;    btn4: TButton;    btn5: TB…
Delphi中对XML文件的解析做的很好,比直接使用MS的MSXML2_TLB中的接口要方便很多,现称述于下面. 在讲之前先给出一个XML实例,在讲某些部分是要结合实例比较容易理解. 1<?xml version="1.0" encoding="gb2312"?><!--文档版本信息, 注释格式同HTML--> 2<XMLPackage> 3  <clinetinfo ip=”202.101.100.90”handler=”…
http://blog.csdn.net/dongyonggan/article/details/5780979 用法:ASSERT(表达式) 如果为假,ASSERT会产生一个EASSERTIONFAiled异常,显示为 Assertion Failed (C:/src/unit1.pas, [size=+0]line 34) 如果不想再使用这些检查时,可以使用($ASSERTIONS OFF)或($C-)编译指令 要想使Assert在整个项目中失效, 关闭Project Options | C…
Delphi中stringlist分割字符串的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 1.CommaText 2.Delimiter &DelimitedText 3.Names &Values &ValueFromIndex 先看第一个:CommaText.怎么用呢? const constr :String = 'aaa,bbb,ccc,ddd'; var strs :TStrin…
if MessageDlg('Welcome to my Delphi application. Exit now?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin   Close; end; MessageDlg用法 对话框类型:mtwarning——含有感叹号的警告对话框mterror——含有红色叉符号的错误对话框mtinformation——含有蓝色i符号的信息对话框mtconfirmation——含有绿色问号的确认对话框mtc…
Delphi中Spcomm使用属性及用法详解 Delphi是一种具有 功能强大.简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选择 Delphi作为开发工具编制各种应用程序.但是,美中不足之处是 Delphi没有自带的串口通信控件,在它的帮助文档里也没有提及串口通信,这就给编制通信程序的开发人员带来许多不便. 目前,利用 Delphi实现串口通信的常用的方法有 3种:一是利用控件,如 MSCOMM控件和 SPCOMM控件:二…
Delphi中 StrToIntDef函数的用法:比如我要判断一个文本框里输入的字符串能不能转换为integer类型,如果能,则返回转换后的整型数据,如果不能,则返回整数0,那么我就可以用strtointdef这个函数.写法如下:假设edit1.text:='1000';则strtointdef(edit1.text,0)返回值为1000.如果edit1.text:='fdafds',则返回值为0.(如果你用strtoint(edit1.text)当edit1.text:='fdads'时会报错…
delphi中Application.MessageBox函数用法详解 Application.MessageBox是TApplication的成员函数,声明如下:functionTApplication.MessageBox(constText,Caption:PChar;Flags:Longint):Integer;引数:1.Text:要显示的信息2.Caption:信息窗口的标题文字3.Flags:窗体标志(说明是何种类型的信息窗体)3.1.可指定信息窗体上的图标 3.2.可指定信息窗体上…
消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合. 1.最简单用法,不带图形 MessageBox(0,'不同意','提示',MB_OK); MessageBox(0,'不同意','提示',MB_OKCANCEL ); 2.警告对话框: MessageBox(0,'密码不能为空,请务必输入密码','警告',MB_ICONEXCLAMATION); 3.提示信息对话框: MessageBox(0,'密码不能为空,请务必输入密码','提示',MB_ICONAS…
在Delphi中使用ShellExecute(handle, 'open', PChar(fname),nil, nil, SW_HIDE)函数应注意的问题: 一.对一般vcl程序及isapi dll(apache isapi dll模块): ShellExecute涉及到的文件(包括执行程序和其他文件),其文件名必须使用全路径名,不能使用相对路径名! 二.对isapi dll(apache isapi dll模块): 对于在apache服务下的isapi dll模块,apache服务的属性要做…
Delphi中的Free和Nil 在Delphi中释放对象资源时一般用Obj.Free(Obj为一个实例名),不过程Delphi中还有一个FreeAndNil(对象名)函数,那么用哪个好呢?Free和Nil的本质又都是什么呢? 在Delphi中一个对象名只是一个指向该对象的指针,可以有多个指针指向同一个对象地址.Nil是将指针置空,而Free则将指针指向的对象销毁掉.如下所示: Obj.Free; //将Obj所指向的对象销毁. Obj:= nil; //将Obj指针置空.如果将上面的一句放在后…
Delphi中的提示框有 Application.MessageBox  ShowMessage messagedlg 个人认为 相对来说 Application.MessageBox 更加灵活 也相对好用 Application.MessageBox('错误信息!', '提示', MB_ICONERROR);Application.MessageBox('确认信息?', '提示', MB_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2); focus在No按…
转载:http://www.cnblogs.com/doit8791/archive/2012/05/08/2489471.html 以前写Delphi程序一直不注意异常处理,对其异常处理的机制总是一知半解,昨天程序中的一个bug ,让我对异常有了更深入的认识,必须要对可能产生异常的地方进行异常处理,否则可能给程序造成灾难. 就像昨天,因为写的 filecopy 函数没有做异常捕获处理,导致复制文件出错时整个程序崩溃,用户只能通过杀进程的方式重启程序再进行其他操作.后来对程序进行了异常处理,遇到…
接着上文介绍TThread. 现在开始说明 Synchronize和WaitFor 但是在介绍这两个函数之前,需要先介绍另外两个线程同步技术:事件和临界区 事件(Event) 事件(Event)与Delphi中的事件有所不同.从本质上讲,Event其实就相当于一个全局的布尔变量.它有两个赋值操作:Set和ReSet,相当于把它设置为 True或False.而检查它的值是通过WaitFor操作进行.对应在Windows平台上,是三个API函数:SetEvent.ResetEvent.WaitFor…
在了解多线程之前我们先了解一下进程和线程的关系 一个程序至少有一个主进程,一个进程至少有一个线程. 为了保证线程的安全性请大家看看下面介绍 Delphi多线程同步的一些处理方案大家可以参考:http://www.cr173.com/html/16747_1.html 主线程又程为UI线程. 进程和线程的主要差别在于它们是不同的操作系统资源管理方式.进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径.线程有自己的堆栈和局部变量,但线程之间没…
program onlyRunOne; uses Forms,Windows,SysUtils, Dialogs, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} var myMutex:HWND; begin myMutex:=CreateMutex(nil,false,'11111'); //名称只能全系统唯一. if WaitForSingleObject(myMutex,0)<>wait_TimeOut then begin Application.I…
Delphi中ShellExecute的妙用       ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件.打开一个目录.打印一个文件等等),并对外部程序有一定的控制.       一.ShellExecute常用方法       有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂.下面举例说明它的用法.   1.开始一个新的应用程序 ShellExecute(Handle, 'open', PChar(…
本文的内容取自网络,并重新加以整理,在此留存仅仅是方便自己学习和查阅.所有代码均亲自测试 delphi7下测试有效.图片均为自己制作. 多线程应该是编程工作者的基础技能, 但这个基础我从来没学过,所以仅仅是看上去会一些,明白了2+2的时候,其实我还不知道1+1. 开始本应该是一篇洋洋洒洒的文字, 不过我还是提倡先做起来, 在尝试中去理解.先试试这个: procedure TForm1.Button1Click(Sender: TObject); var   i: Integer; begin  …