1.我在一个程序中看到这样的一句语句
if Form1.ActiveControl.tag=3 then
   ...
  ...
Form1.ActiveControl.tag=3 是什么意思呀?
2.在一个按钮的单击事件如下程序:
  procedure TForm1.button1click(sender:TObject);
  var
    ???opt:tlocateoptions;
  begin
    ???opt:=[lopartialkey];
   问号后面的语句是什么意思呀?请哪位大侠给解释一下越清楚越好因为我在书上没有看到这样的东东
3.procedure TForm1.Formclosequery(sender:TObject;var CanClose:Boolean);
  begin
  if table1.state in[dsedit,dsinsert] then
    begin
     showmessage('提示:结果没有保存请保存对数据所做修改后执行此操作!’);
     CanClose:=false;
     exit;
     end;
     end;
Formclosequery 是个什么事件在什么情况下触发?
CanClose 参数是怎么用的,请给解释清楚一下。
4.procedure TForm1.Formclose(sender:TObject;var action:TcloseAction);
  begin
  action:=cafree;
  end;
  action 参数是干什么用的,给它赋 cafree又是什么意思是否还有别的值可以赋。
5.有这样一条语句
  if <条件>  then
    speedbutton1click(self)
  else
   ...
   这里的speedbutton1click(self) 是怎么回事呀看不懂呀书上没有讲呀没有钱再买书了呀

解决方案 »

  1.   

    1、tag 属性没什么特别含义。但你可以赋给它一些含义.
    2、?好像没什么特殊含义。
    3、在窗口关闭之前触发
    4、action 参数用来让你可以操作要关闭的窗口(关闭并释放窗体、隐藏、什么都不做等)
       action := caHide;
       action := caFree;
       action := caNone;
    5、self相当c++的this.一般代表某个对象本身
       with form1 do
       begin
         send(self);//self代表form1.  
       end;
      

  2.   

    1.Form1.ActiveControl是指Form1上获得焦点的控件,tag是一个保留字段,正常情况下没有意义
      

  3.   

    2.opt:tlocateoptions;
      tlocateoptions是一个集合,用于Locate函数的搜索选项,具体见帮助
    type
      TLocateOption = (loCaseInsensitive, loPartialKey);
      TLocateOptions = setof TLocateOption;
      

  4.   

    1.Tag是TComponent类的一个属性,凡是从继承来的组件类都有此属性。通常我们可以改变此属性值来特别表明该组件。属性ActiveControl返回了当前获得焦点的TWinControl类。
    2.参考happyzsl(学习) 
    3.Formclosequery事件是在调用了TForm的Close方法时触发,
    4.Action参数传递了在调用了TForm的Close方法的时候要干的一些事情,比如Action := caFree ,当Form关闭后,会释放该资源内存,指向nil。
      

  5.   

    大家继续努力呀解释得越清越好。
     happyzsl 说得很好但是我是个初学者还是看不懂,而且我的英文不好别让我看帮助呀。
    还是请各位大侠给好好解释一下吧
    另外在delphi 中 nil  与 null 有什么不同呀各代表什么意义呀?
      

  6.   

    http://expert.csdn.net/Expert/topic/1132/1132824.xml?temp=.8259394
      

  7.   

    TO: happyzsl(学习) 
    六级报四次名考了两次,两次总得分才80左右,你是不是有一次考了0分呀?:)TO:楼主
    1、改变窗体一个被激活控件(如:Edit获得了焦点就是被激活)的tag值
    2、??opt:tlocateoptions;为TDateSet.Locate(象Table,Query控件)函数的查询条件。
    function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean; override;
    如:
    Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '831-431-1000']), [loPartialKey]);
    3、OnCloseQuery事件是在当用户关闭你的窗体时,或关闭系统(当系统将被关闭,系统会给每一个应用程序发一个WM_QUERYENDSESSION消息,在VCL中就用OnCloseQuery事件封装了这个消息的处理过程)时会激发这个事件 。
    CanClose事件就是用来决定到底让不让系统退出或窗体关闭。
    4、
      Action:=caFree,是决定窗体关闭时释放窗体资源。
    5、呵呵,这个就是执行一下一个过程序,这个过程名叫:
    procedure SpeedButton1Click(Sender:TObject);
    用Self作为参数传进去而已。