If chkBox
в VFP, означает:
if (chkBox)
также во всех других известных языках, таких как C, C ++, C #, Java, Go, Dart, Ruby, ... вы называете это - в некоторых языках круглые скобки обязательны, а некоторые нет. Это просто означает ", если chkBox истинно ". Иногда вы могли бы видеть это в виде:
If chkBox = .T.
как:
If chkBox == true
как и в других языках, но это более многословно, чем нужно, и опытные разработчики не пишут это так (ведь писать как ", если true - true " неудобно, просто " если истина"в порядке).
Это объясняется комментариями в коде:
* Initialize a memory variable named lldisdead as .t. (true)
lldisdead=.t.
* Select some fields into a table named m.StrTmpFile1
* StrTmpFile1 is a variable holding a string name of the table
* selecting all fields of a_counties table
* plus a boolean field named "chkBox" which is initially
* filled with .F. (false) value
Select .f. as chkbox, * from a_counties ;
order by cn_area, cn_desc ;
into dbf (StrTmpFile1)
* select's result table is table open in the current
* work area and by default located on first record.
* scanning the whole table
* with an unnecessary "while !EOF()" addition
* Default scope of scan is until EOF
scan while !EOF()
* Checking if chkBox field has a value of true
IF ChkBox
* if it has, than set "selected_some_cnty" memory variable to true
selected_some_cnty = .t
endif
endscan
Сказав это, эта часть:
scan while !EOF()
IF ChkBox
selected_some_cnty = .t.
endif
endscan
можно записать как:
scan
IF ChkBox
selected_some_cnty = .t
endif
endscan
дополнительно:
LOCATE FOR ChkBox
selected_some_cnty = !EOF()
Однако, поскольку мы знаем, что все значения chkBox являются .F., Этот фрагмент кода абсолютно бесполезен и может быть удален все вместе.