Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.28;
Скачать: CL | DM;

Вниз

Получение содержимого массива по ключу   Найти похожие ветки 

 
dens   (2002-10-16 10:05) [0]

Есть ли в делфи стандартное решение для получения содержимого массива по ключу? Что-то вроде этого
m["ключ"]:="значение";


 
Separator ©   (2002-10-16 10:07) [1]

А что подразумевается под словом ключ?


 
han_malign ©   (2002-10-16 10:10) [2]

StringList.Values[Name]="Value", где в StringList-е лежат строки вида "Name=Value".


 
dens   (2002-10-16 10:11) [3]

любое значение, а не порядковый номер элемента в массиве.
например m["A"]:="команда А";
m["B"]:="команда B";


 
dens   (2002-10-16 10:12) [4]

> han_malign
то что надо! благодарю!


 
Alx2 ©   (2002-10-16 10:15) [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";
.......
........


 
Zemal ©   (2002-10-16 10:38) [6]

>>Alx2
Ну и как можно обращаться к твоей заготовке? Ты же дал только заготовку класса... опиши реализацию этих методов... и кстати, где поле Value (что-то типа массива или тот же самый TStringList), в котором будут храниться ключи и значения? Ты по сути дела описал кусок реализации класса TStringList, а имеет ли смысл в точности копировать класс? Может лучше этим классом и воспользоваться?


 
Alx2 ©   (2002-10-16 10:50) [7]

>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. Им (и "этим классом" в частности) он и воспользовался. Значит - лучше.


 
Alx2 ©   (2002-10-16 10:55) [8]

В догонку:
>Ты по сути дела описал кусок реализации класса TStringList, а
>имеет ли смысл в точности копировать класс?

Кусок<>Целое. Ведь так? :)


 
Zemal ©   (2002-10-16 11:12) [9]

Ну понятно-понятно... кусок не целое... я просто хотел сказать, что можно было просто привести пример работы с переменной класса TStringList и показать как можно хранить там "ключ = значение", а ты выкладываешь заготовку класса под это дело :). Зачем я так и непонял... ведь основное, что хотел знать автор вопроса, это реализация, а ты его уводишь к написанию класса в нужности которого, возникают сомнения. В дебри уводите, сударь.



Страницы: 1 вся ветка

Текущий архив: 2002.10.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
1-92497
alextov
2002-10-18 11:32
2002.10.28
Как правильно переименовать компонент в runtime ?


1-92527
Semion
2002-10-16 08:24
2002.10.28
реестор


1-92437
tytus
2002-10-17 19:32
2002.10.28
совмесное использование RECORD


1-92602
Yuri Btr
2002-10-17 10:38
2002.10.28
Избитый вопрос по CheckBox, RadioButton ещё раз


1-92471
theEnter
2002-10-18 10:26
2002.10.28
DBGrid - несколько строк в заголовке