powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Использование массивов в процедурах...
4 сообщений из 4, страница 1 из 1
Использование массивов в процедурах...
    #32391796
User0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача:
Есть таблица.. Вычисляем число записей... Допустим оно равно 5
Создать динамический массив, скажем DOUBLE PRECISION [5].. Передаем этот массив в UDF-функцию.. Все..

Подскажите пожалуйста, возможно ли такое сотворить ? (IB 6.5)... И если да, то как ? Желательно небольшой абстрактный пример... Спасибо.
...
Рейтинг: 0 / 0
Использование массивов в процедурах...
    #32392009
User0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ок. Перефразирую вопрос :)

Допустим это кусок процедуры:

select MY.MY_VALUE from MY_TABLE MY WHERE MY.ID=1 INTO :[ТИПА_МАССИВ];

Возможно ли считать все записи таблицы в [ТИПА_МАССИВ]... Если да то как _ОПРЕДЕЛИТЬ_ эту переменную [ТИПА_МАССИВ] ?!!
...
Рейтинг: 0 / 0
Использование массивов в процедурах...
    #32392037
Фотография Kull Damned
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стандартными средствами не получится... Разве что превращать массив в строку и парсит в UDF'ке.

Есть еще теоретический вариант (сам не пробовал %)):
Создать 2 UDF:
1. Изменение размера массива согласно ссылке, которая будет передаваться как INT, что-то типа udf_redim(aRef: Integer; aSize: Integer): Integer;
2. Непосредственно запись/чтение значений по индексам, типа udf_rwarray (aRef: Integer; aIdx: Integer; aOperation: Integer; dValue: Double): Double;
Идея такая: в первой функции будет выделяться/освобождаться память и возвращаться ссылка на этот массив. С помощью второй функции можно будет писать/читать значения в массиве.

Еще раз повторюсь - я это не пробовал, это всего лишь теоретические выкладки. :))
...
Рейтинг: 0 / 0
Использование массивов в процедурах...
    #32392051
User0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо :) Я так и думал.. Ты читаешь мои мысли С парсингом строки, я уже давно реализовал.. но если слишком много значений, то это не очень удобно.. А что делать ?! Будем все делать через зад :))
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Использование массивов в процедурах...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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