Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 TStringList, сборка пары string-real  [new]
Pcrepair
Member

Откуда:
Сообщений: 703
Добрый день
есть функция, позволяющая собрать пару 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

всем ответившим по делу заранее спасибо
3 сен 19, 21:34    [21962875]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3732
Pcrepair,

Сохраняй строковое представление (хоть в отформатированном виде, хоть в сыром).
3 сен 19, 21:48    [21962883]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
rgreat
Member

Откуда:
Сообщений: 5211
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));
3 сен 19, 21:51    [21962884]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
asviridenkov
Member

Откуда:
Сообщений: 3945
Pcrepair,

Generics.Collections TList<TPair<>>
3 сен 19, 21:56    [21962889]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
bk0010
Member

Откуда:
Сообщений: 4827
Уточните, что для вас real: если вам хватит возможностей single, то просто в вашем примере замените const DataInt: Integer на const DataInt: Single (те же 4 байта). И маленькое предупреждение: раньше тип real был 6 байт и не обсчитывался сопроцессором, потом его превратили в double, но когда не помню. Проверьте, а то могут быть неприятные спецэффекты.
3 сен 19, 22:02    [21962890]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3732
Если ручное управление канает, то так:
var
 realptr : ^Real;
begin

 New(realptr);
 realptr^ := RealValue;
 // realptr сохранять
3 сен 19, 22:06    [21962892]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48141

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

TDictionary.

Posted via ActualForum NNTP Server 1.5

3 сен 19, 22:08    [21962893]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1555
Pcrepair,

var Map := TDictionary<string, Real>.Create();
Map.Add('asd', 2.4);
3 сен 19, 23:25    [21962910]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
rgreat
Member

Откуда:
Сообщений: 5211
X-Cite,

var Map := TDictionary<string, Real>.Create();
Map.Add('asd', 2.4);
Map.Add('asd', 3.5);
Во прикольно будет.
3 сен 19, 23:27    [21962912]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13227
Dimitry Sibiryakov
TDictionary.


+1
4 сен 19, 08:33    [21962968]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
ёёёёё
Member

Откуда:
Сообщений: 701
Dimitry Sibiryakov
Pcrepair
нет ли иного компонента, позволяющего сбору пары string-real

TDictionary.

Если не понадобится сортировка. И если Delphi более-менее новая.
4 сен 19, 08:45    [21962975]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
Василий 2
Member

Откуда:
Сообщений: 700
(зануда mode) Пара - это Pair, или в данном контексте более правильно Tuple. А Pare - это подрезать ногти
4 сен 19, 10:22    [21963044]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
ёёёёё
Member

Откуда:
Сообщений: 701
Василий 2,

Паре - это горы в Танзании.
4 сен 19, 10:34    [21963053]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 11154
rgreat
var Map := TDictionary<string, Real>.Create();
Map.Add('asd', 2.4);
Map.Add('asd', 3.5);

Во прикольно будет.
Не будет. На втором Add будет exception
4 сен 19, 13:52    [21963409]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
rgreat
Member

Откуда:
Сообщений: 5211
Я и говорю "прикольно" будет.


Кстати, в моем словаре есть опция работы с повторяющимеся ключами. ;)
4 сен 19, 14:17    [21963453]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 11154
rgreat
Кстати, в моем словаре есть опция работы с повторяющимеся ключами. ;)
В стандартном тоже. AddOrSet. Или у тебя список хранится?
4 сен 19, 14:24    [21963461]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
Gator
Member

Откуда: Москва
Сообщений: 14910
ёёёёё
Василий 2,

Паре - это горы в Танзании.
В Танзании вкусный кофе растёт.
6 сен 19, 17:43    [21965546]     Ответить | Цитировать Сообщить модератору
 Re: TStringList, сборка пары string-real  [new]
rgreat
Member

Откуда:
Сообщений: 5211
_Vasilisk_
Или у тебя список хранится?
Список.
6 сен 19, 18:03    [21965573]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить