TStringList, сборка пары string-real

Pcrepair
Дата: 03.09.2019 21:34:07
Добрый день
есть функция, позволяющая собрать пару string-integer
function MakePare(const DataStr: string; const DataInt: Integer): TStringList;
begin
  Result := TStringList.Create;
  MakePare.AddObject(DataStr, Pointer(DataInt));
end;


но мне нужна пара string-real
можно сделать сборщик на ValueListEditor, но это визуальный компонет

Вопросы:
- можно ли как то модифицировать TStringList
- нет ли иного компонента, позволяющего сбору пары string-real

всем ответившим по делу заранее спасибо
Kazantsev Alexey
Дата: 03.09.2019 21:48:42
Pcrepair,

Сохраняй строковое представление (хоть в отформатированном виде, хоть в сыром).
rgreat
Дата: 03.09.2019 21:51:11
type
  TMyPair = record
    Text: string;
    Number: Real;
    constructor Create(Text: string; Number: Real);
  end;

  TMyList = TList<TMyPair>;

begin
  var List:=TMyList.Create;
  List.Add(TMyPair.Create('test',0.5));
asviridenkov
Дата: 03.09.2019 21:56:41
Pcrepair,

Generics.Collections TList<TPair<>>
bk0010
Дата: 03.09.2019 22:02:42
Уточните, что для вас real: если вам хватит возможностей single, то просто в вашем примере замените const DataInt: Integer на const DataInt: Single (те же 4 байта). И маленькое предупреждение: раньше тип real был 6 байт и не обсчитывался сопроцессором, потом его превратили в double, но когда не помню. Проверьте, а то могут быть неприятные спецэффекты.
Kazantsev Alexey
Дата: 03.09.2019 22:06:21
Если ручное управление канает, то так:
var
 realptr : ^Real;
begin

 New(realptr);
 realptr^ := RealValue;
 // realptr сохранять
Dimitry Sibiryakov
Дата: 03.09.2019 22:08:03

Pcrepair
нет ли иного компонента, позволяющего сбору пары string-real

TDictionary.

Posted via ActualForum NNTP Server 1.5

X-Cite
Дата: 03.09.2019 23:25:38
Pcrepair,

var Map := TDictionary<string, Real>.Create();
Map.Add('asd', 2.4);
rgreat
Дата: 03.09.2019 23:27:11
X-Cite,

var Map := TDictionary<string, Real>.Create();
Map.Add('asd', 2.4);
Map.Add('asd', 3.5);
Во прикольно будет.
X11
Дата: 04.09.2019 08:33:43
Dimitry Sibiryakov
TDictionary.


+1