全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1273
推到 Plurk!
推到 Facebook!

with do begin 問題

尚未結案
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-24 10:56:16 IP:203.69.xxx.xxx 未訂閱
1:以下qy_tmp1 的型態可以是任何型態嗎? with qy_tmp1 do begin First; 2:若qy_tmp1是TBDEClientDataSet以下 with qy_tmp1 do begin是什麼意思? 是開要開始用qy_tmp1的物件? 3: with qy_tmp1 do begin First; ----------->一定指第一筆嗎? 一定要搭配嗎? while not eof do begin xxxx xxxxx end;
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-24 11:21:16 IP:211.21.xxx.xxx 未訂閱
引言: 1:以下qy_tmp1 的型態可以是任何型態嗎? with qy_tmp1 do begin First; 2:若qy_tmp1是TBDEClientDataSet以下 with qy_tmp1 do begin是什麼意思? 是開要開始用qy_tmp1的物件? 3: with qy_tmp1 do begin First; ----------->一定指第一筆嗎? 一定要搭配嗎? while not eof do begin xxxx xxxxx end;
with do是Delphi提供的一個特殊語法,目的只是將相同的東西提出來,可以少打相同的東西,以您的列子作解釋:
with qry_tmp1 do 
begin
  First;
  while not Eof do
  begin
    ......
  end;
end;  
這一段就是等於
qry_tmp1.First;
while not qry_tmp1.Eof do
begin
  ......
end;
就好像a*b a*c-a*d是不是可以寫成a(b c-d) wiht do就是讓程式看起來比較簡潔,不要想太多了! ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~
Rain
資深會員


發表:31
回覆:236
積分:268
註冊:2003-02-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-24 11:24:12 IP:218.85.xxx.xxx 未訂閱
1,不可以是任何形態。 必須是類或者記錄類型:‘Record,Object or Class type Required’。 2, with qy_tmp1 do begin First; while not eof do… end; 和下面的語句是一樣的qy_tmp1.First; while not qy_tmp1.eof do… end; 只是效率可能會比較高一些,不用再次進行定址,當然也比較方便可少寫一些代碼。 3, 在with qy_tmp1 do begin裏邊就是第一筆(如果象這樣的情況: with qy_tmp1 do begin with qy_tmp2 do begin First; end; end; 則是相當於qy_tmp2.First,看靠近哪一個),至於搭配就不一定需要了。
系統時間:2024-06-28 23:04:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!