powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно ли создать массив в вызываемой процедуре,
6 сообщений из 6, страница 1 из 1
Можно ли создать массив в вызываемой процедуре,
    #40041241
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень хочется сделать вот так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
ss=tt()
DISPLAY MEMORY LIKE ss

PROCEDURE tt
DIMENSION gg(5,3)
gg=''
RETURN @gg



Но не разрешает.
Тема навеяна http://forum.foxclub.ru/read.php?29,167116
и
http://forum.foxclub.ru/read.php?32,177198,234888#msg-234888

Размерность массива заранее не определена, создается по Copy to array.
Курсор создается в процедуре и нужен только для создания этого массива. Наиболее логично создать массив в процедуре и закрыть этот курсор.
...
Рейтинг: 0 / 0
Можно ли создать массив в вызываемой процедуре,
    #40041258
bguo_reminder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Напишите вопрос нормально/подробно, а то ss,tt,gg
...
Рейтинг: 0 / 0
Можно ли создать массив в вызываемой процедуре,
    #40041273
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glamis,
массив можно создать в вызывающем процедуру коде. Что все и делают.

DIMENSION gg(1)
ss=tt()
DISPLAY MEMORY LIKE ss

PROCEDURE tt
DIMENSION gg(5,3)
gg=''
RETURN @gg
...
Рейтинг: 0 / 0
Можно ли создать массив в вызываемой процедуре,
    #40041281
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizov,
Проблема в том, что Copy to если массив определен, то копирует столько строк сколько определено. Она не расширяет массив.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CLOSE DATABASES 
USE \\servdos\Temp\debugstxt\R002774226_000001.dbf
DIMENSION gg(1,1)
ss=tt()
?ALEN(gg,1), ALEN(gg,2)

PROCEDURE tt
COPY TO ARRAY gg
gg=''
RETURN @gg



возвращает 1 1

Хотя...
Код: vbnet
1.
2.
3.
4.
PROCEDURE tt
COPY TO ARRAY ss
ACOPY(ss,gg)
RETURN @gg



возвращает номально: 22004 20

Вопрос снят))
Спасибо
...
Рейтинг: 0 / 0
Можно ли создать массив в вызываемой процедуре,
    #40041287
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При таком решении и Return не нужен.
...
Рейтинг: 0 / 0
Можно ли создать массив в вызываемой процедуре,
    #40075818
AK-Shah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно передавать не массив, а коллекцию. По ней есть поиск (кажется метод GetKey() ), вставка и удаление проще/понятнее. Но смотря для чего...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно ли создать массив в вызываемой процедуре,
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]