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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2007, 13:44   #1
Kivin13
Пользователь
 
Регистрация: 03.09.2007
Сообщений: 10
По умолчанию задать массив типа X: array [0..N] of integer -где N переменная читаеться из EditBox

надо задать массив типа
X: array [0..N] of integer -где N переменная читаеться из EditBox

как я понял нельзя задать границу массива переменной можно только если N константа в таком случае посоветуйте как задать константу чтоб её значение бралось из переменной
т.к. const N:Integer=(strtoint(Edit1.text)); не работает (((
Kivin13 вне форума Ответить с цитированием
Старый 03.09.2007, 13:46   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

x:array of integer;
...
n:integer;
begin
n:=strtoint(listbox.items[listbox.itemindex]);
setlength(x,n);
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 03.09.2007, 14:11   #3
Kivin13
Пользователь
 
Регистрация: 03.09.2007
Сообщений: 10
По умолчанию

это понятно а если массив выглядит так
X: Array [-1..N,-1..M] of real

в твоём примере я так понимаю массив будет от 0 до N
Kivin13 вне форума Ответить с цитированием
Старый 03.09.2007, 14:20   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

var arr : array of array of integer;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 03.09.2007, 14:30   #5
Kivin13
Пользователь
 
Регистрация: 03.09.2007
Сообщений: 10
По умолчанию

и как для такого границы задать?
Kivin13 вне форума Ответить с цитированием
Старый 03.09.2007, 14:33   #6
Kivin13
Пользователь
 
Регистрация: 03.09.2007
Сообщений: 10
По умолчанию

2Квэнди, подскажи может есть возможность просто переменную превратить в константу?
Kivin13 вне форума Ответить с цитированием
Старый 03.09.2007, 14:42   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

константа это константа, переменная это переменная.
Как выставлять границы:
var
arr:array of array of integer;
....
n,m,i:integer;
//n,m-границы массива
....
setlength (arr,n);
for i to length(arr)-1 do
setlength(arr[i],m);

это для квадратной матрицы. Соответственно тебе никто не мешает в цикле использовать не постоянную M а изменять её
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 03.09.2007, 15:04   #8
Kivin13
Пользователь
 
Регистрация: 03.09.2007
Сообщений: 10
По умолчанию

я понимаю чем отличаеться константа от переменно вопрос в том, есть-ли способ объявить константу значаение которой задаеться пользователем до начала расчёта что-то типо того что я в первом посте написал

З.Ы. за массив спасибо попробую так задать свои два десятка массивов )))
Kivin13 вне форума Ответить с цитированием
Старый 03.09.2007, 15:06   #9
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Если бы можно было сделать то что вы написали в начале сообщения, то это была бы уже не константа
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 03.09.2007, 19:37   #10
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

В делфи понятие константы/переменной сильно размыто и уже мало чем отличается

Включить assignable typed constants и тогда её значение можно менять в процессе работы программы.

const
{$J+}
abc : Integer = 5;
{$J-}
...
{$J+}
abc := strtoint(edit1.text);
{$J-}

Естественно вместо {$J+}...{$J-} можно включить опцию глобально для всего проекта в опциях компилятора
пыщь
JTG вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Auto LISP. Как программно задать координаты для команд типа SELECT Stilet Софт 0 10.07.2008 15:28
Переменная типа PPixelArray ERASERROR Общие вопросы Delphi 2 11.03.2008 16:23
Array BETONOMESHALKA Общие вопросы Delphi 2 24.11.2007 22:49
Array или не array Димарик Общие вопросы Delphi 4 18.06.2007 15:16