在Delphi中如何處理if語句中的條件實現 ... 大蝦們,能仔細看看嗎? 快急死我了....... (2分)

  • 主题发起人 主题发起人 sydanlong
  • 开始时间 开始时间
S

sydanlong

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi的if中我想通過一個條件型變量來判斷
如: if nn then
.......
在這中nn的付值為:nn:='table1.fieldByName('field_name').asstring=值';
(上面這條語句也有問題?)
nn的定義為:var nn:string;

如果nn為以定義為Boolean型,但這個條件又處何付值呢!因為我這個變量的條件就和上面我提供的
付值一樣!且這個條件需要拿到DBGrid控件的DrawColumnCell事件中做處理!所以一定要一個變
量才行,而且只有在DrawColumnCell這個事件中才能得到判斷,因為為一條記錄都有可能不同.但
付值也只能在其它事件中進行,因為需要系統的操作用戶來決定!!

像這樣一樣那又該怎樣做呢??
比方:我在一Form表單中加入有一個Edit控件,專門提供輸入條件的!那麼當用戶在Edit控件中輸入一個
table1.fieldByName('field_name').asstring='abcd'
那在下面的if語句中如何調用呢?
我想肯定要
nn:=edit1.text;
if nn then
....
在Visual foxpro中這樣的方法就好辦了,但Delphi就是不行,相信用過Fox的朋友就十分清楚!
大哥分雖不多,但我覺得問題道有點點價值!

TO:tooper
仁兄,你提供的答案確實正確,但如果我的聯結指令and or 都為要用用戶選擇的話,那該如何是
好呢!我以前以這樣做的 nn:=(edit1.text=edit2.text)+''''+edit3.text+''''+(edit4>edit5);
[注:Edit3.text可讓用戶輸入AND或者OR]這樣就行不通了,所以我一直都在提這個問題!!
再麻煩你了!謝謝
 
nn的定义不是String型的,
应该是Boolean型
 
老大,if 判断的是逻辑真假(true false )
string的是字符串

可以 if nn=‘某个字符串’then ..................

注意 : 不是‘ := ’号而是 ‘ = ’号
 

if ('table1.fieldByName('field_name').asstring=值') then
 

if (table1.fieldByName('field_name').asstring=‘值’) then
begin
end;
 
都说了:)
 
但是如果像這樣一樣那又該怎樣做呢??
比方:我在一Form表單中加入有一個Edit控件,專門提供輸入條件的!那麼當用戶輸入一個
table1.fieldByName('field_name').asstring='abcd'
那在下面的if語句中如何調用呢?
 
if (table1.fieldbyname('field_name').asstring=edit.text) then begin
end;
????
 
= 是用来判断是否相等的
:= 是赋值用的
 
if (table1.fieldByName('field_name').asstring= Edit11.text) then
begin
.....
end;
 
你老哥,这分可是丢得冤!
 
Var
K:BOOLEAN;
.....
k:=(a = b) or (c<>d) and (e>f)
if k then
begin
end
....
OK?
 
好像没有解。
 
后退
顶部