PureBasic
;
; ------------------------------------------------------------
;
;   PureBasic - Map example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

Structure BasicStructure 
  Field1.b
  Field2.w
  Field3.l
EndStructure

NewMap TestMap.BasicStructure()

;
;-------- Добавить элементы в TestMaps --------
;

TestMap("ok1")\Field2 = 1

TestMap("ok2")\Field2 = 2

TestMap("ok3")\Field2 = 3

TestMap("ok4")\Field2 = 4


MessageRequester("Количество элементов в Хеш-карте:", Str(MapSize(TestMap())), 0)

; Первый способ перечислить все элементы
;
ResetMap(TestMap())               ; Сбрасывание внутреннего указателя Хеш-карты на 'элемент перед первым'.

While NextMapElement(TestMap())  ; Обработать все элементы...
  MessageRequester("Элементы Хеш-карты :", "Field2 значение : "+Str(TestMap()\Field2), 0)
Wend

; Второй способ, с помощью ForEach
;
ForEach TestMap()       ; Обработать все элементы...
  MessageRequester("Элементы Хеш-карты :", "Field2 значение : "+Str(TestMap()\Field2), 0)
Next


; Перейдите непосредственно к 3-му элементу
FindMapElement(TestMap(), "ok3")

MessageRequester("3-й элемент", "Field2 значение : "+Str(TestMap()\Field2), 0)


MessageRequester("Хеш-карта - Пример", "Закончено", 0)

End