|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Аналог TStringList для вещественных чисел
Хотелось бы поиметь аналог класса TstringList для вещественных чисел, так как необходима ассоциативность массива, в идеале:
List.Values['a'] := 3.265482; Использовал TDictionary, там список переменных типа Variant, приводит к сильному тормозу проги, а считать приходится много. Поиск мне не помог, хотя как мне кажется вопрос тривиальный. Последний раз редактировалось bossyara, 08.10.2011 в 01:56. |
#2
|
||||
|
||||
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; Tfloat=class //создаем новый класс i:integer; end; var Form1: TForm1; List:TstringList ; float:Tfloat;//объявляем переменную этого класса implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin //инициалтзация объектов List:=TstringList.Create ; float:= Tfloat.Create; float.i:=43; list.AddObject('Элемент',float); //добавление строчки и привязанного к нему объект float form1.Caption:=inttostr(Tfloat(list.Objects[list.IndexOf('Элемент')]).i); end; end. IndexOf это свойство возвращает индекс элемента по его названию, как раз то что тебе нужно.. |
#3
|
|||
|
|||
Супер!!! Моя ошибка что я заганял переменную типа, а не объект класса. Спасибо
|
#4
|
||||
|
||||
Как-то не кошерно в типа TObject хранить число.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
||||
|
||||
Цитата:
не, конечно можно и такой финт ушами сделать var i:integer; .................................................. .. MyList.AddObject('элемент',TObject(i)); |
#6
|
||||
|
||||
Цитата:
По смыслу напрашивается такой подход: Код:
type TInteger = class private FValue: integer; procedure SetValue(aValue: integer); function GetValue: integer; public property Value: integer read GetValue write SetValue; constructor Create(aValue: integer); end; — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |