您的位置:首页 > 编程语言 > Delphi

Delphi中建议使用的语句

2010-04-16 11:45 197 查看

Delphi中建议使用的语句

楼主zswang(伴水清清)(专家门诊清洁工)2002-05-15 13:37:54 在 Delphi / VCL组件开发及应用 提问
No.1   判断逻辑类型  
  var   B:   Boolean;  
  begin  
      B   :=   Boolean(2);   //这样只是为了调试//B   :=   True;  
      if   B   =   True   then   ShowMessage('B   =   True');   //不建议//不安全  
  ///////  
      if   B   then   ShowMessage('B');   //建议//简短  
  end;  
   
  var   B:   Boolean;  
  begin  
      if   Edit1.Text   =   '是'   then   //不建议//烦琐  
          B   :=   True  
      else   B   :=   False;  
  ///////  
      B   :=   Edit1.Text   =   '是';   //建议//简短  
  end;  
   
  No.2   临时SQL查询  
  begin  
      QueryTemp.Close;  
      QueryTemp.SQL.Text   :=   'SELECT   SUM(金额)   AS   合计   FROM   销售表';  
      QueryTemp.Open;   //不建议//数据没有关闭造成资源浪费  
      ShowMessage(Query1.FieldByName('合计').AsString);  
  /////  
      QueryTemp.SQL.Text   :=   'SELECT   SUM(金额)   AS   合计   FROM   销售表';  
      QueryTemp.Open;  
      ShowMessage(Query1.FieldByName('合计').AsString);  
      QueryTemp.Close;   //建议用//使用完就关闭  
  end;  
   
  No.3   获取记录数  
  var  
      vRecordCount:   Integer;  
  begin  
      Query1.SQL.Text   :=   'SELECT   *   FROM   Table1';   //不建议//严重浪费资源,会取得很多不必要得信息  
      Query1.Open;  
      vRecordCount   :=   Query1.RecordCount;  
      Query1.Close;  
  /////  
      Query1.SQL.Text   :=   'SELECT   COUNT(*)   AS   记录数   FROM   Table1';   //建议//快速有效、只处理一条记录  
      Query1.Open;  
      vRecordCount   :=   Query1.FieldByName('记录数').AsInteger;  
      Query1.Close;  
   
      ShowMessage(IntToStr(vRecordCount));  
  end;  
   
  No.4   字段赋值  
  begin  
      Table1.Edit;  
      Table1.FieldByName('姓名').AsString   :=   Edit1.Text;   //不建议  
      Table1.FieldByName('日期').AsDateTime   :=   Date;  
  /////  
      Table1['姓名']   :=   Edit1.Text;   //建议//简短、扩充性好  
      Table1['日期']   :=   Date;  
  end;  
   
  No.5   使用Self指针  
  begin  
      Edit1.Parent   :=   Form1;   //不建议//Form1只是一个变量//如果没有分配资源怎么办?  
  ///////  
      Edit1.Parent   :=   Self;   //建议  
  end;  
   
  No.6   遍历数据集  
  var  
      I:   Integer;  
  begin  
      Query1.First;  
      for   I   :=   0   to   Query1.RecordCount   -   1   do   begin   //不建议//容易被影响  
          Query1.Next;  
          {};  
      end;  
  /////  
      Query1.First;  
      while   not   Query1.Eof   do   begin   //建议  
          {     }  
          Query1.Next;  
      end;  
  end;  
   
  No.7   利用Sender参数,使代码通用  
  procedure   TForm1.Edit1Change(Sender:   TObject);  
  begin  
      if   Edit1.Text   =   ''   then   //不建议  
          Edit1.Color   :=   clRed;  
  ///////  
      if   TEdit(Sender).Text   =   ''   then   //建议//复制到EditXChange中很方便  
          TEdit(Sender).Color   :=   clRed;  
  end;  
   
  No.8   使用默认转换函数  
  var  
      I:   Integer;  
  begin  
      I   :=   StrToInt(Edit1.Text);   //不建议  
  ///////  
      I   :=   StrToIntDef(Edit1.Text,   0);//建议//参考StrToFloatDef,StrToDateDef....不过这些只有Delphi6才有  
  end;  
   
  No.9   遍历数组  
  var  
      I:   Integer;  
      A:   array[0..9]   of   Integer;  
  begin  
      for   I   :=   0   to   9   do   //不建议  
          A[I]   :=   I;  
  ///////  
      for   I   :=   Low(A)   to   High(A)   do   //建议//扩充性好  
          A[I]   :=   I;  
  end;  
   
  No.10   利用MaxInt常量  
  begin  
      Caption   :=   Copy(Edit1.Text,   3,   Length(Edit1.Text)   -   3   +   1);   //不建议  
  ///////  
      Caption   :=   Copy(Edit1.Text,   3,   MaxInt);   //建议//嘻嘻,少计算一次  
  end;  
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息