![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение содержимого массива по ключу
dens © (2002-10-16 10:05:00)Есть ли в делфи стандартное решение для получения содержимого массива по ключу? Что-то вроде этого
m["ключ"]:="значение";
Zemal (2002-10-16 11:12:00) [1]Ну понятно-понятно... кусок не целое... я просто хотел сказать, что можно было просто привести пример работы с переменной класса TStringList и показать как можно хранить там "ключ = значение", а ты выкладываешь заготовку класса под это дело :). Зачем я так и непонял... ведь основное, что хотел знать автор вопроса, это реализация, а ты его уводишь к написанию класса в нужности которого, возникают сомнения. В дебри уводите, сударь.
Alx2 (2002-10-16 10:55:00) [2]В догонку:
>Ты по сути дела описал кусок реализации класса TStringList, а
>имеет ли смысл в точности копировать класс?
Кусок<>Целое. Ведь так? :)
Alx2 (2002-10-16 10:50:00) [3]>Zemal © (16.10.02 10:38)
>Ну и как можно обращаться к твоей заготовке?
Повторюсь:
см. Alx2 © (16.10.02 10:15)
Обращаться можно так:
Var
MyCoolArray : TMyCoolArray;
begin
MyCoolArray := TMyCoolArray.Create;
MyCoolArray["First"]:="Sume first";
.......
>и кстати, где поле Value (что-то типа массива или тот же самый
>TStringList), в котором будут храниться ключи и значения?
Где угодно. Зависит от конкретной реализации
>Ты по сути дела описал кусок реализации класса TStringList, а
>имеет ли смысл в точности копировать класс?
Ты, по сути, в своей речи используешь грамматические конструкции, реализованные в романе "Война и мир". Имеет ли смысл в точности их копировать?
>Может лучше этим классом и воспользоваться?
Читаем вопрос:
"Есть ли в делфи стандартное решение для получения содержимого массива по ключу? Что-то вроде этого
m["ключ"]:="значение";"
Мой ответ - "стандартное решение". НЕ КОНКРЕТНАЯ РЕАЛИЗАЦИЯ! А именно кострукция, позволяющая реализовать возможность "получения содержимого массива по ключу".
Автору вопроса подошел ответ от han_malign. Им (и "этим классом" в частности) он и воспользовался. Значит - лучше.
Zemal (2002-10-16 10:38:00) [4]>>Alx2
Ну и как можно обращаться к твоей заготовке? Ты же дал только заготовку класса... опиши реализацию этих методов... и кстати, где поле Value (что-то типа массива или тот же самый TStringList), в котором будут храниться ключи и значения? Ты по сути дела описал кусок реализации класса TStringList, а имеет ли смысл в точности копировать класс? Может лучше этим классом и воспользоваться?
Alx2 (2002-10-16 10:15:00) [5]
TMyCoolArray = class
published
property Items[Key: string]: string read GetItem write SetItem; default;
private
function GetItem(Key: string): string; // Описывается чтение по ключу
procedure SetItem(Key: string; const Value: string); // Описывается запись по ключу
end;
implementation
{ TMyCoolArray }
function TMyCoolArray.GetItem(Key: string): string;
begin
end;
procedure TMyCoolArray.SetItem(Key: string; const Value: string);
begin
end;
Обращаться можно так:
Var
MyCoolArray : TMyCoolArray;
begin
MyCoolArray := TMyCoolArray.Create;
MyCoolArray["First"]:="Sume first";
.......
........
dens (2002-10-16 10:12:00) [6]> han_malign
то что надо! благодарю!
dens (2002-10-16 10:11:00) [7]любое значение, а не порядковый номер элемента в массиве.
например m["A"]:="команда А";
m["B"]:="команда B";
han_malign (2002-10-16 10:10:00) [8]StringList.Values[Name]="Value", где в StringList-е лежат строки вида "Name=Value".
Separator (2002-10-16 10:07:00) [9]А что подразумевается под словом ключ?