Delphi中建议使用的语句
Delphi中建議使用的語句
樓主zswang(伴水清清)(專家門診清潔工)2002-05-15 13:37:54 在 Delphi / VCL組件開發(fā)及應(yīng)用 提問No.1 ? 判斷邏輯類型 ?
? var ? B: ? Boolean; ?
? begin ?
? ? ? B ? := ? Boolean(2); ? //這樣只是為了調(diào)試//B ? := ? True; ?
? ? ? if ? B ? = ? True ? then ? ShowMessage('B ? = ? True'); ? //不建議//不安全 ?
? /// ?
? ? ? if ? B ? then ? ShowMessage('B'); ? //建議//簡(jiǎn)短 ?
? end; ?
? ?
? var ? B: ? Boolean; ?
? begin ?
? ? ? if ? Edit1.Text ? = ? '是' ? then ? //不建議//煩瑣 ?
? ? ? ? ? B ? := ? True ?
? ? ? else ? B ? := ? False; ?
? /// ?
? ? ? B ? := ? Edit1.Text ? = ? '是'; ? //建議//簡(jiǎn)短 ?
? end; ?
? ?
? No.2 ? 臨時(shí)SQL查詢 ?
? begin ?
? ? ? QueryTemp.Close; ?
? ? ? QueryTemp.SQL.Text ? := ? 'SELECT ? SUM(金額) ? AS ? 合計(jì) ? FROM ? 銷售表'; ?
? ? ? QueryTemp.Open; ? //不建議//數(shù)據(jù)沒有關(guān)閉造成資源浪費(fèi) ?
? ? ? ShowMessage(Query1.FieldByName('合計(jì)').AsString); ?
? / ?
? ? ? QueryTemp.SQL.Text ? := ? 'SELECT ? SUM(金額) ? AS ? 合計(jì) ? FROM ? 銷售表'; ?
? ? ? QueryTemp.Open; ?
? ? ? ShowMessage(Query1.FieldByName('合計(jì)').AsString); ?
? ? ? QueryTemp.Close; ? //建議用//使用完就關(guān)閉 ?
? end; ?
? ?
? No.3 ? 獲取記錄數(shù) ?
? var ?
? ? ? vRecordCount: ? Integer; ?
? begin ?
? ? ? Query1.SQL.Text ? := ? 'SELECT ? * ? FROM ? Table1'; ? //不建議//嚴(yán)重浪費(fèi)資源,會(huì)取得很多不必要得信息 ?
? ? ? Query1.Open; ?
? ? ? vRecordCount ? := ? Query1.RecordCount; ?
? ? ? Query1.Close; ?
? / ?
? ? ? Query1.SQL.Text ? := ? 'SELECT ? COUNT(*) ? AS ? 記錄數(shù) ? FROM ? Table1'; ? //建議//快速有效、只處理一條記錄 ?
? ? ? Query1.Open; ?
? ? ? vRecordCount ? := ? Query1.FieldByName('記錄數(shù)').AsInteger; ?
? ? ? Query1.Close; ?
? ?
? ? ? ShowMessage(IntToStr(vRecordCount)); ?
? end; ?
? ?
? No.4 ? 字段賦值 ?
? begin ?
? ? ? Table1.Edit; ?
? ? ? Table1.FieldByName('姓名').AsString ? := ? Edit1.Text; ? //不建議 ?
? ? ? Table1.FieldByName('日期').AsDateTime ? := ? Date; ?
? / ?
? ? ? Table1['姓名'] ? := ? Edit1.Text; ? //建議//簡(jiǎn)短、擴(kuò)充性好 ?
? ? ? Table1['日期'] ? := ? Date; ?
? end; ?
? ?
? No.5 ? 使用Self指針 ?
? begin ?
? ? ? Edit1.Parent ? := ? Form1; ? //不建議//Form1只是一個(gè)變量//如果沒有分配資源怎么辦? ?
? /// ?
? ? ? Edit1.Parent ? := ? Self; ? //建議 ?
? end; ?
? ?
? No.6 ? 遍歷數(shù)據(jù)集 ?
? 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參數(shù),使代碼通用 ?
? procedure ? TForm1.Edit1Change(Sender: ? TObject); ?
? begin ?
? ? ? if ? Edit1.Text ? = ? '' ? then ? //不建議 ?
? ? ? ? ? Edit1.Color ? := ? clRed; ?
? /// ?
? ? ? if ? TEdit(Sender).Text ? = ? '' ? then ? //建議//復(fù)制到EditXChange中很方便 ?
? ? ? ? ? TEdit(Sender).Color ? := ? clRed; ?
? end; ?
? ?
? No.8 ? 使用默認(rèn)轉(zhuǎn)換函數(shù) ?
? var ?
? ? ? I: ? Integer; ?
? begin ?
? ? ? I ? := ? StrToInt(Edit1.Text); ? //不建議 ?
? /// ?
? ? ? I ? := ? StrToIntDef(Edit1.Text, ? 0);//建議//參考StrToFloatDef,StrToDateDef....不過這些只有Delphi6才有 ?
? end; ?
? ?
? No.9 ? 遍歷數(shù)組 ?
? 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 ? //建議//擴(kuò)充性好 ?
? ? ? ? ? A[I] ? := ? I; ?
? end; ?
? ?
? No.10 ? 利用MaxInt常量 ?
? begin ?
? ? ? Caption ? := ? Copy(Edit1.Text, ? 3, ? Length(Edit1.Text) ? - ? 3 ? + ? 1); ? //不建議 ?
? /// ?
? ? ? Caption ? := ? Copy(Edit1.Text, ? 3, ? MaxInt); ? //建議//嘻嘻,少計(jì)算一次 ?
? end; ?
?
總結(jié)
以上是生活随笔為你收集整理的Delphi中建议使用的语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【UML】交互建模中交互图允许的消息类型
- 下一篇: delphi指针简单入门