powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обновление словаря
11 сообщений из 36, страница 2 из 2
Обновление словаря
    #40082145
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2
Добраться до FItems и GetBucketIndex, запомнить адреса и юзать напрямую ?

Именно.

swame2
можно, но выглядит как-то громоздко

Нормально выглядит. Пилить свою структуру уж точно не проще.
...
Рейтинг: 0 / 0
Обновление словаря
    #40082151
Michael Longneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну по всем элементам выполнить проход без ключей очень просто
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
var
  Item: TPair<MyKey, MyValue>;
begin
  for Item in MyDict do
  begin
  end;

end;
...
Рейтинг: 0 / 0
Обновление словаря
    #40082160
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Michael Longneck,

Только так он не запишет в коллекцию. Это копия
...
Рейтинг: 0 / 0
Обновление словаря
    #40082190
kapas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в чем проблема?

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
      procedure TForm1.ToolButton1Click(Sender: TObject);
      var
        A: TMap<integer, boolean>;
        AIndexOf: integer;
        B: TKeyPair<integer,boolean>;
      begin
        A := TMap<integer, boolean>.Create();
        try
          '=========== Заполняем =================='.Output(edLog);
          for AIndexOf := 0 to 10 do
            begin
              A.Add(AIndexOf, false);
            end;
          for B in A do
            '%d: %s'.format([B.Key, B.Value.ToString(true)]).Output(edLog);
          '=========== Обновляем =================='.Output(edLog);
          for B in A do
            begin
              if (not Odd(B.Key)) then continue;
              A.AddOrSetValue(B.Key, true);
            end;
          '=========== Проверяем =================='.Output(edLog);
          for B in A do
            '%d: %s'.format([B.Key, B.Value.ToString(true)]).Output(edLog);

        finally
          System.SysUtils.FreeAndNil(A);
        end;
      end;



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
=========== Заполняем ==================
3: False
9: False
4: False
10: False
5: False
0: False
2: False
1: False
7: False
8: False
6: False
=========== Обновляем ==================
=========== Проверяем ==================
3: True
9: True
4: False
10: False
5: True
0: False
2: False
1: True
7: True
8: False
6: False
...
Рейтинг: 0 / 0
Обновление словаря
    #40082210
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kapas
А в чем проблема?
В исходном посте сформирована и задача и проблема
...
Рейтинг: 0 / 0
Обновление словаря
    #40082245
kapas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

авторВ исходном посте сформирована и задача и проблема
Вопрос в моем сообщении (в чем проблема) был чисто риторический.
...
Рейтинг: 0 / 0
Обновление словаря
    #40082288
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kapas,

Это какой-то свой string helper или стандартный?..
...
Рейтинг: 0 / 0
Обновление словаря
    #40082312
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kapas
Вопрос в моем сообщении (в чем проблема) был чисто риторический.
Ваше сообщение никак не решает исходную задачу и, соответственно, не решает те проблемы, которые возникли в исходной задаче
...
Рейтинг: 0 / 0
Обновление словаря
    #40082400
kapas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvpЭто какой-то свой string helper или стандартный?..

alekcvp, свой. Смысл что он делает, я надеюсь, понятен.
...
Рейтинг: 0 / 0
Обновление словаря
    #40082408
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kapas,

Смысл-то понятен, просто он же, по-идее, перекрывает стандартный или там наследование?
...
Рейтинг: 0 / 0
Обновление словаря
    #40082501
kapas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp, это record helper поэтому никакого наследования нет. Эти helper-ы в итоге перекрывают helper-ы, определенные в System.SysUtils, т.е. не стандартные. Вообще они сделаны исключительно с целью упростить собственную работу (в том числе реализовать потоковый (fluent) интерфейс). Нотация не затрудняет понимание кода. Реализация примитивная и вынесена в отдельный модуль (подключаю только при необходимости). Но это уже другая история...
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обновление словаря
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]