|
|
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
Здравствуйте.... В чем проблема, ну не определено имя массива, так создай его, ан нет... нужно помучать.... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 10:04 |
|
||
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
Интересный подход. На каком основании и какой размерности надо создавать массив? С какой областью видимости? И почему именно массив? А может это функция с двумя парамерами?Таблицы, как я понимаю, тоже должны автоматически создаваться? А еще лучше чтоб программы послностью сами создавались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 10:12 |
|
||
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
Sergey Sizov.Интересный подход. На каком основании и какой размерности надо создавать массив? С какой областью видимости? И почему именно массив? А может это функция с двумя парамерами?Таблицы, как я понимаю, тоже должны автоматически создаваться? А еще лучше чтоб программы послностью сами создавались. Нет ну с переменными такое проканывает... Тем более что если выполнить в коммандном окне момманду: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 10:20 |
|
||
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
А Help почитать по функции ATAGINFO() - религия не позволяет? Что будет, если указанной рабочей области не существует? А если нет индексов? Код: plaintext 1. 2. 3. 4. 5. 6. Кроме того, обратите внимание ЧТО возвращает эта функция. Может, лучше писать так: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 10:33 |
|
||
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
Странная логика. Функция как раз и создана для заполнения массива известным этой функции количеством информации. Потому она и может создать нужный масси при его отсутствии. И речь идет не о невозможности создать массив, а не определенности момента, когда его нужно создавать и неопределенности размеров такого массива. В любом случае непонятна цель данного топика. Ведь такое поведение в фоксе от его рождения и вроде бы такое поведение всегда считалось вполне нормальным и логичным. Так то хотелось в итоге? Изменения поведения фокса? На каком основании? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 10:38 |
|
||
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
Sergey Sizov.Странная логика... В любом случае непонятна цель данного топика... В том, чтобы разобраться и решить проблему... А проблема в том, что по аналогии с функцией Код: plaintext Код: plaintext А вот на счет хелпа: Creates an array that contains information about index files for the selected table. ATAGINFO(ArrayName [,cCDXName [, nWorkArea | cTableAlias]]) Parameters ArrayName Specifies the name of the array to create. Visual FoxPro creates the array if it does not already exist. (Конкретизирует имя массива для создания. ВФП создаст массив если такового не имеется). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 11:01 |
|
||
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
splaynА вот на счет хелпа: Creates an array that contains information about index files for the selected table. ATAGINFO(ArrayName [,cCDXName [, nWorkArea | cTableAlias]]) Parameters ArrayName Specifies the name of the array to create. Visual FoxPro creates the array if it does not already exist. (Конкретизирует имя массива для создания. ВФП создаст массив если такового не имеется). Как Вы думаете, если у таблицы НЕТ индексов, то какая размерность должна быть у создаваемого массива? А FoxPro поддерживает ТАКИЕ массивы? Имеет ли смысл в этом случае пытаться что-то создать? Вы не пробовали запустить тестовый пример приведенный мною чуть выше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 11:13 |
|
||
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
ВладимирМ splaynА вот на счет хелпа: Creates an array that contains information about index files for the selected table. ATAGINFO(ArrayName [,cCDXName [, nWorkArea | cTableAlias]]) Parameters ArrayName Specifies the name of the array to create. Visual FoxPro creates the array if it does not already exist. (Конкретизирует имя массива для создания. ВФП создаст массив если такового не имеется). Как Вы думаете, если у таблицы НЕТ индексов, то какая размерность должна быть у создаваемого массива? А FoxPro поддерживает ТАКИЕ массивы? Имеет ли смысл в этом случае пытаться что-то создать? Вы не пробовали запустить тестовый пример приведенный мною чуть выше? с этим все понятно, но это не решает проблемы это недочет... Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 11:22 |
|
||
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
а попробуйте выполнить CREATE TABLE ww(qq i) LOCAL vNewVal m.vnewval = 'ww' INDEX on qq TAG qq ATAGINFO(arTag,vNewVal) ?ALEN(arTag) ?arTag[1,1] у меня в 8\9 на ура. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 12:14 |
|
||
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
kolobokа попробуйте выполнить CREATE TABLE ww(qq i) LOCAL vNewVal m.vnewval = 'ww' INDEX on qq TAG qq ATAGINFO(arTag,vNewVal) ?ALEN(arTag) ?arTag[1,1] у меня в 8\9 на ура. спасибо выполняется... а я придумал вот что: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 12:44 |
|
||
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
splaynа я придумал вот что: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Извините, конечно, но Вы вообще-то читали, то что я Вам приводил в качестве примера в самом начале? ATAGINFO() возвращает количество строк в создаваемом массиве. Из этого следует, что если Вы хотите убедится, что массив вообще был создан НАДО ПРОВЕРИТЬ (!) что вернет эта функция. Цикл FOR...ENDFOR выполняет свою работу до тех пор, пока значение счетчика не превысит максимально допустимого значения указанного в опции TO. Если ATAGINFO() не смог создать массив, то он вернет значение 0. Начальное значение счетчика цикла равно 1. В случае, если массив не был создан, получим, что начальное значение счетчика цикла больше конечного значения. Т.е. цикл не выполнится ни разу. В результате, имеем такую логику Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Хотя, вообще-то, существуют еще такие функции, как ASCAN() и PRIMARY(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 15:11 |
|
||
|
Ошибка при создании массива...
|
|||
|---|---|---|---|
|
#18+
ВладимирМ splaynа я придумал вот что: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Извините, конечно, но Вы вообще-то читали, то что я Вам приводил в качестве примера в самом начале? ATAGINFO() возвращает количество строк в создаваемом массиве. Из этого следует, что если Вы хотите убедится, что массив вообще был создан НАДО ПРОВЕРИТЬ (!) что вернет эта функция. Цикл FOR...ENDFOR выполняет свою работу до тех пор, пока значение счетчика не превысит максимально допустимого значения указанного в опции TO. Если ATAGINFO() не смог создать массив, то он вернет значение 0. Начальное значение счетчика цикла равно 1. В случае, если массив не был создан, получим, что начальное значение счетчика цикла больше конечного значения. Т.е. цикл не выполнится ни разу. В результате, имеем такую логику Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Хотя, вообще-то, существуют еще такие функции, как ASCAN() и PRIMARY(). Благодарю... лаконично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2007, 17:48 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34616756&tid=1589100]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 362ms |

| 0 / 0 |
