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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2013, 14:05   #1
cashmail
Форумчанин
 
Регистрация: 23.06.2011
Сообщений: 201
По умолчанию Массив с параметрами

Даже не знаю как тему назвать
Задача вроде легкая, но что-то туплю
В PHP это делается так:
Код:
$i[0]['name']='Вася';
$i[0]['money']='0';
$i[1]['name']='Саша';
$i[1]['money']='1000000';
А как такое реализовать на Delphi?
Заранее спасибо...
cashmail вне форума Ответить с цитированием
Старый 12.08.2013, 14:13   #2
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Код:
Type
_Rec = Record
__Money, Name: String;
_end;

_Arr = array [0..1] of Rec

Var
_i: Arr;
...
begin
_i[0].Name := 'Вася';
_i[1].Money := '0';
_i[1].Name := 'Саша';
_i[1].Name := '1000000';
end;
Или так:
Код:
var
__i: array [0..1;0..1] of string;
begin
__i[0,0] := 'Вася';
__i[0,1] := '0';
__i[1,0] := 'Саша';
__i[1,1] := '1000000';
end;

Последний раз редактировалось Kix.IV; 12.08.2013 в 14:17.
Kix.IV вне форума Ответить с цитированием
Старый 12.08.2013, 14:15   #3
cashmail
Форумчанин
 
Регистрация: 23.06.2011
Сообщений: 201
По умолчанию

Воооо, спасибо Лови плюс в репу
Вы должны добавить отзыв кому-то ещё, прежде чем сможете снова добавить его Kix.IV.
Ну тогда позже
cashmail вне форума Ответить с цитированием
Старый 12.08.2013, 21:06   #4
zumm
БохЪ
Форумчанин
 
Аватар для zumm
 
Регистрация: 30.09.2009
Сообщений: 724
По умолчанию

Для особого изврата, когда названия ключей не известны, такой метод не подойдет. Возможен следующий вариант:

Код:
uses
  Arrays;

...

var
  StringArrays: array of IStrArray;

...
  SetLength(StringArrays, 2);

  StringArrays[0] := CreateArray;
  StringArrays[1] := CreateArray;

  StringArrays[0]['name'] := 'Вася';
  StringArrays[0]['money'] := '0';

  StringArrays[1]['name'] := 'Саша';
  StringArrays[1]['money'] := '10000';
Так как IStrArray это интерфейс, реализуемый коклассом, то и освобождать его не надо. Память освободится сама, когда переменная выйдет из видимости или на нее не останется ссылок.

Кроме IStrArray существуют и интерфейсы реализующие ассоциативные массивы других типов, например, IIntArray. Вам бы подошел IVarArray:

Код:
... 
  StringArrays[0]['name'] := 'Вася';
  StringArrays[0]['money'] := 0;
...
Тут значение money не строка.
В планах порабощение вселенной...

Последний раз редактировалось zumm; 12.08.2013 в 21:09.
zumm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерный массив с использованием процедур и функций без параметров и с параметрами Ekaterinasoroka Паскаль, Turbo Pascal, PascalABC.NET 2 14.04.2013 08:35
Цикл с параметрами EliTat Паскаль, Turbo Pascal, PascalABC.NET 1 11.04.2013 14:45
TThreadMethod с параметрами kettanaito Общие вопросы Delphi 2 24.06.2012 16:03
программа с типизированными параметрами-значениями и параметрами-переменными Kira09 Паскаль, Turbo Pascal, PascalABC.NET 1 20.12.2010 22:23