|
помогите разобраться с массивом
|
|||
---|---|---|---|
#18+
вот часть кода: LOCAL tmp DIMENSION tmp(1) SELECT MAX (&Fname) FROM &Tname INTO ARRAY tmp nofilter t=tmp+1 ENDIF нужно перед присваиванием переменной t, обработать ситуацию, если таблица оказалась пустой. Я пробовал поставить проверку if tmp==.NULL. почему-то фокс все время считает, что tmp не нул, хотя в дебаге он меня уверяет, что tmp=.NULL. В чем проблема, кто знает подскажите плиз. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 18:24 |
|
помогите разобраться с массивом
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3.
Судя по коду это генератор IDшников. Не проще фоксовый AUTOINC использовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 18:48 |
|
помогите разобраться с массивом
|
|||
---|---|---|---|
#18+
тали я тоже пробовал, он все время выдает значение 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 18:54 |
|
помогите разобраться с массивом
|
|||
---|---|---|---|
#18+
keeper89тали я тоже пробовал, он все время выдает значение 1. Ступил. Он все правильно выдает. А почему ты к массиву без указания номера элемента обращаешься? Попробуй: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 19:06 |
|
помогите разобраться с массивом
|
|||
---|---|---|---|
#18+
keeper89Я пробовал поставить проверку if tmp==.NULL. почему-то фокс все время считает, что tmp не нул, хотя в дебаге он меня уверяет, что tmp=.NULL. В чем проблема, кто знает подскажите плиз. Проблема в неправильном понимании Null. C ним нельзя сравнивать. Именно поэтому есть специальная функция IsNull(). Именно с ее помощью надо проверять значение на Null. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2008, 19:17 |
|
помогите разобраться с массивом
|
|||
---|---|---|---|
#18+
Кроме неправильного понимания .NULL. может возникнуть неправильное понимание конструкции if endif. По поводу .NULL., советую посмотреть результаты сравнения и объединения всех возможных логических значений: AND .T. .F. .NULL. ..T. .T. .F. .NULL. ..F. .F. .F. .F. ..NULL. .NULL. .F. .NULL. Пример сравнения и объединения OR рассмотреть самостоятельно. Так же нужно понимать конструкцию if if условие выражение1 else выражение2 endif Так вот выражение1 отработает тогда и только тогда, когда условие = .T. (т.е. условие истинно) А выражение2 отработает тогда, когда условие не является истинно. Т.е. если условие .f. ИЛИ .NULL.(!!!) PS советую очень хорошо разобраться в том, какие результаты будут полученны при сравнении различных логических величин (благо вариантов самой величины всего три). И хорошенько уяснить, что сравнение .NULL.=.NULL. никогда не даст .t., а даст только .NULL. Что для конструкции IF является указанием не выполнять выражение1, т.к. условие не истинно! Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 05:32 |
|
|
start [/forum/topic.php?fid=41&msg=35656064&tid=1587061]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 325ms |
total: | 474ms |
0 / 0 |