|
Модераторы: Snowy, MetalFan, bems, Poseidon |
|
pavelv |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 245 Регистрация: 5.2.2006 Репутация: нет Всего: нет |
В пятницу хотел сделать подобное и понял, что не знаю как. Почитал хелп, что-то по нолям. Собственно задача, если вдруг кто не понял:
var a:array[1..3] of integer; begin //наверное что-то такое a:=(1,2,3); end; Знаю, что можно сделать константно, но теперь уже просто хочется узнать "собственно как?". Заранее благодарен за помощь. |
|||
|
||||
LesnoyChelovek |
|
|||
странник Интернета Профиль Группа: Участник Сообщений: 346 Регистрация: 27.2.2006 Где: Русь Репутация: нет Всего: 10 |
Для твоего примера код будет выглядеть так:
Это сообщение отредактировал(а) LesnoyChelovek - 17.2.2008, 17:24 -------------------- Делай добро и бросай его в воду... оно не утонет.. добром к тебе вернеться. http://picasaweb.google.com/LesnoyChelovek/Photo |
|||
|
||||
Esperito |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 147 Регистрация: 2.9.2007 Репутация: нет Всего: 3 |
Если записывать константы в секции interface, то можно так:
|
|||
|
||||
pavelv |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 245 Регистрация: 5.2.2006 Репутация: нет Всего: нет |
Вы не очень поняли о чем я, всё это я знаю.
var a: array[1..3] of integer = (1, 2, 3); Насколько мне не изменяет память этот код работать не будет, вот если "var" заменить на "const" то всё будет впорядке. 2LesnoyChelovek: 1,2,3 были для примера. А если у тебя массив состоит из 15ти значений и все разные(связи между ними нте), а ну и при этом нельзя использовать константы. Каждому a[i]-му свой элемент присваивать? Помойму это не очень красивый код, да и к тому же громоздкий. Ещё раз попробую пояснить чего хочу. var a:array[1..x] of integer; x известен заранее и не меняется. Все значения массива известны заранее, но через константы его задать нельзя. Вариант задать каждый элемент в отдельности недопустим. Хочется написать один оператор присваивания и засунуть через него сразу все элементы массива. Вот такой вариант кода тоже неверен:
Много конечно хочу, но не верю что такой возможности нет |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
Qu1nt |
|
|||
Опытный Профиль Группа: Участник Сообщений: 602 Регистрация: 13.1.2007 Репутация: 22 Всего: 50 |
Ы? |
|||
|
||||
pavelv |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 245 Регистрация: 5.2.2006 Репутация: нет Всего: нет |
Угу извиняюсь, про интерфэйс чет недочитал. Массив в процедуре, задан локально. Единственная идея была как-то преобразовать (1,2,3,...) в массив и присвоить уже нужному массиву. Но только функций преобразования в такие типы я не знаю :(
|
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
тогда этот вариант
-------------------- Обижено школьников: 8 |
|||
|
||||
pavelv |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 245 Регистрация: 5.2.2006 Репутация: нет Всего: нет |
bems если честно не очень понял. Если ты хочешь в конст просто задать всё явно и потом присвоить, то так нельзя. Считай, что Const просто не существует.
P.S> Возможно туплю, но пока не понимаю какой такой тип равен array[1..x] of integer |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
Добавлено через 3 минуты и 13 секунд а это чем не нравится? -------------------- Обижено школьников: 8 |
|||
|
||||
lukas |
|
|||
Опытный Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
или усовершенствованный вариант немного....
Вообще не проверял, но если компилятор не будет ругаться, должно по идее работать -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
VICTAR |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
||||
|
||||
lukas |
|
|||
Опытный Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
ну тогда вот так...
Добавлено через 3 минуты и 43 секунды хм... почему то в процедуре SetLength компилятор ругается.... Это сообщение отредактировал(а) lukas - 18.2.2008, 17:40 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
VICTAR |
|
|||
Эксперт Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
lukas, я думаю, что тут задача не перегнать значения из одного массива в другой.
А для обычного копирования либо Move, либо массивы одного типа. |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
это потому что
в параматрах подпрограммы это любой массив строк, а не динамический массив -------------------- Обижено школьников: 8 |
|||
|
||||
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |