![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени суток всем!
Вот возник такой вопрос: реально ли в делфи создавать массивы, у которых индексом будет не цифра, а слово? Так, например в php есть возможность работать с массивами типа $arr['one'] Так же есть вопрос немного иного плана: подскажите пожалуйста, как создавать массивы во время выполнения программы? Допустим есть у меня массив массивов и нужно в него в процессе выполнения добавлять новые, созданные в зависимости от действий пользователя. Возможно ли это и как в такой случае под них правильно выделять память? Заранее благодарю за любые советы. |
#2
|
||||
|
||||
![]() Цитата:
Цитата:
Код:
|
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
VarvarNet (14.12.2012)
|
#3
|
|||
|
|||
![]() Благодарю за ответ.
Но со вторым вопросом вы меня немного не поняли. Вот есть у нас функция некая: Код:
|
#4
|
||||
|
||||
![]() Цитата:
p.s. Это что, в php есть возможность создавать такие массивы? И в каких случаях могут быть полезны такого рода массивы? |
#5
|
|||
|
|||
![]() Цитата:
полезным... ну вот в процессе работы появляются некие значения, которым соответствуют по несколько других параметров. Создаю я массив с именем равным этому значению и в него записываю соответствующие ему параметры. как-то так. Я уже понял, что всё это как-то слишком абстрактно и проще создать свой класс и динамический массив этого класса, просто интересно было, реально ли это вообще. |
#6
|
||||
|
||||
![]() Чтобы индексом было имя - стоит подумать. Подумать раз 50, прежде чем такое реализовывать.
Если индекс - число, то i - элемент массива получается так: Код:
А если индекс - произвольные данные, то единственный способ использовать таков (на псевдокоде): Код:
По поводу динамического создания массивов: Ничто не мешает сделать 1) Создать массив/список указателей на массивы. Изначально все нули. По мере надобности создается массив и его адрес добавляется в этот массив/список. 2) Если нужно только временное пользование, то просто сделать один указатель на массив, для которого выделять память нужного размера. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 14.12.2012 в 21:13. |
#7
|
|||
|
|||
![]() Да я пошёл уже по другому пути:
Код:
|
#8
|
||||
|
||||
![]() Была уже такая тема, на сколько я помню Феникс отвечал, смысл был в том чтобы юзать TStrings.Values
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#9
|
||||
|
||||
![]() аналогом ассоциативного массива php в Delphi может служить TStrings. ключом лучше использовать хэш значение строки.
Пишу программы за еду. __________________ |
#10
|
||||
|
||||
![]() 2:
Код:
3: http://www.delphikingdom.com/asp/vie...?catalogid=868 Пишу программы за еду. __________________ |
#11
|
|||||
|
|||||
![]() Цитата:
Можно сделать массив массивов: Код:
|