Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2014, 17:34   #1
diekster
Пользователь
 
Регистрация: 03.02.2012
Сообщений: 23
По умолчанию передача значения переменной одной формы в описание переменной другой

Всем привет. Не могу найти решение проблемы. На первой форме имеется глобальная переменная kol, которая содержит в себе число. на второй форме имеется описание массива :
var
m: array [1..kol] of integer;
i, k: integer;
так вот надо задать размерность массива во второй форме в соответствие со значением переменной kol на первой форме. Не подскажите в каком направлении думать ?
diekster вне форума Ответить с цитированием
Старый 16.05.2014, 18:05   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

В том модуле (Unit1), где у вас есть описание массива, вы должны подключить второй модуль (Unit2), где инициализируется переменная kol.

Далее, в первом модуле пишите описание массива таким образом:
Код:
m: array [1..Unit2.kol] of integer;
Вадим Мошев вне форума Ответить с цитированием
Старый 16.05.2014, 18:14   #3
diekster
Пользователь
 
Регистрация: 03.02.2012
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
В том модуле (Unit1), где у вас есть описание массива, вы должны подключить второй модуль (Unit2), где инициализируется переменная kol.

Далее, в первом модуле пишите описание массива таким образом:
Код:
m: array [1..Unit2.kol] of integer;
Не работает уже пробовал (
diekster вне форума Ответить с цитированием
Старый 16.05.2014, 18:21   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Стесняюсь спросить и
Uses unit2; тоже не забыли?
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 16.05.2014, 19:37   #5
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
Сообщение от diekster Посмотреть сообщение
Всем привет. Не могу найти решение проблемы. На первой форме имеется глобальная переменная kol, которая содержит в себе число. на второй форме имеется описание массива :
var
m: array [1..kol] of integer;
i, k: integer;
так вот надо задать размерность массива во второй форме в соответствие со значением переменной kol на первой форме. Не подскажите в каком направлении думать ?
Статический массив нельзя объявить таким образом. Его размеры должны быть известны на этапе компиляции.
northener вне форума Ответить с цитированием
Старый 16.05.2014, 19:52   #6
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

diekster Размерность массива на этапе проектирования это КОНСТАНТА, а ты пытаешься всунуть в константу переменную. Не вариант.

Последний раз редактировалось doktor255; 16.05.2014 в 19:54.
doktor255 вне форума Ответить с цитированием
Старый 16.05.2014, 20:56   #7
diekster
Пользователь
 
Регистрация: 03.02.2012
Сообщений: 23
По умолчанию

тогда какой выход посоветуете?
diekster вне форума Ответить с цитированием
Старый 16.05.2014, 21:26   #8
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Код:
SetLength(m, kol);
doktor255 вне форума Ответить с цитированием
Старый 16.05.2014, 21:42   #9
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Ну и массив объявлять таким образом:
m: array of integer;
ВАЖНО: у такого массива нумерация будет начинаться с нуля
Вадим Мошев вне форума Ответить с цитированием
Старый 16.05.2014, 21:47   #10
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Можно объявить как
m: array [1..2] of integer;
И при изменении длины, стартовый индекс массива будет единица. Естественно так делать не обязательно, а можно просто в коде сдвигать индекс (i - 1, Length(m) -1 и т.д.).
doktor255 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача значения переменной в ссылке Tanzor69 PHP 4 04.02.2012 19:51
Вызов переменной из другой формы pavellyba Общие вопросы Delphi 2 26.03.2011 12:42
Вызов переменной из другой формы darkahoy Общие вопросы .NET 8 19.11.2010 14:46
Передача значения переменной в Query. SQL R11 Помощь студентам 8 18.04.2010 23:57
Передача переменной из формы в форму k1r1ch Общие вопросы Delphi 2 25.06.2009 15:50