Delphi中建议使用的语句
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; ?
?
總結
以上是生活随笔為你收集整理的Delphi中建议使用的语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【UML】交互建模中交互图允许的消息类型
- 下一篇: delphi指针简单入门