上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
480615
註冊時間: 2008-04-11 文章: 93
第 1 樓
|
發表於: 星期三 十一月 02, 2011 4:00 pm 文章主題: 下面一段代码,里面逻辑变量t,在各处的作用?特别是!t表示当时的逻 |
|
|
在文本框中输入的内容添加到列表框中的一段代码, 判断文本框输入的内容列表框有无,若没有添加到列表框中。里面逻辑变量t,看不明白。请指教。
LPARAMETERS nKeyCode, nShIFtAltCtrl
IF nKeyCOde=13 &&如果用户按了回车键
*判断输入项在列表中是否存在
t=.F. FOR i=1 TO This.Parent.List1.ListCount
IF ALLTRIM(This.Value)==ALLTRIM(This.Parent.List1.List(i))
t=.T. &&表示已存在
EXIT
ENDIF
ENDFOR
IF !t This.Parent.List1.AddItem(This.Value)
ELSE
MESSAGEBOX("该项已存在!请重新输入!")
ENDIF
This.Value="" &&清空文本框
Thisform.Refresh()
ENDIF
里面有一个逻辑变量t,,既然判断已存了为什么还要再来一个if !t ,这里的!t等于什么?与上面的t=.T.有关还是与t=.F.有关? |
|
回頂端 |
|
 |
richshih
註冊時間: 2007-10-11 文章: 153
第 2 樓
|
發表於: 星期三 十一月 02, 2011 6:18 pm 文章主題: |
|
|
t=.F. &&給予開始值
假如已存在 則 t=.T. ,否則 T 還是.F.
IF !t &&假如不存在則執行以下碼(T<>.T.)
This.Parent.List1.AddItem(This.Value) |
|
回頂端 |
|
 |
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 3 樓
|
發表於: 星期三 十一月 02, 2011 7:49 pm 文章主題: |
|
|
這是很平常的技巧
t可以看成是一個旗標值
t= .F. 在使用前先設定成.f.
然後開始查找
如果有符合條件的話 就t= .T.
!t是故意反值去看This.Parent.List1.AddItem(This.Value)是否新增成功
=================
IF !t This.Parent.List1.AddItem(This.Value)
ELSE
MESSAGEBOX("该项已存在!请重新输入!")
ENDIF
=================
以這段來說 換個笨一點的方法就變成:
IF !t &&表示沒找到
IF This.Parent.List1.AddItem(This.Value)
MESSAGEBOX("新增成功")
ELSE
MESSAGEBOX("该项已存在!请重新输入!")
ENDIF
ENDIF |
|
回頂端 |
|
 |
480615
註冊時間: 2008-04-11 文章: 93
第 4 樓
|
發表於: 星期三 十一月 02, 2011 8:00 pm 文章主題: |
|
|
谢了,故意弄得如此绕口,直接来一个t=.f.不是挺简单。 |
|
回頂端 |
|
 |
480615
註冊時間: 2008-04-11 文章: 93
第 5 樓
|
發表於: 星期三 十一月 02, 2011 10:55 pm 文章主題: |
|
|
!t它与程序一开始t=.f.有关呼?
如有关的话 !t 就是t<>F.,变成t=.T.?
如果无关 哪t的初值是什么? !t 中的 t 到底是什么值? |
|
回頂端 |
|
 |
levi
註冊時間: 2011-11-01 文章: 1
第 6 樓
|
發表於: 星期四 十一月 03, 2011 4:23 pm 文章主題: |
|
|
楼上几位说得很明白,顶一下 |
|
回頂端 |
|
 |
LiuRambo
註冊時間: 2007-11-27 文章: 481
第 7 樓
|
發表於: 星期四 十一月 03, 2011 8:00 pm 文章主題: |
|
|
代碼: | IF !t This.Parent.List1.AddItem(This.Value) |
其實這行寫的蠻精簡的
我還真沒這麼用過
其實以結果來分析蠻簡單的
資料中已經有重複過的話
t一定是.T.
而This.Parent.List1.AddItem(This.Value)一定會得到.F.
所以 !t This.Parent.List1.AddItem(This.Value)
^^^ ^^^^^^^^^^^^^^^^^^^
.F. .F.
不就是負負得正了嗎 |
|
回頂端 |
|
 |
|