( hMap : Longint; Pos : Longint; Value : ...)
Slouží k uložení změněných dat na pozici Pos. Používá se u setříděných kolekcí.
Pozor! Funkce _MapFirst, _MapNext a _MapFind vrací pozici následující věty! U setříděných kolekcí je pozice vlastně indexem v rozsahu: 0.._MapCount-1. Proto stačí od pozic získaných zmíněnými funkcemi odečíst 1.
Podívejte se na: Procedury a funkce - Mapy
Příklad:
procedure TestSearch_Long
dim hMap : Longint;
dim sJm : String;
dim nKey : Longint;
dim Pos : Longint;
hMap := _MapOpen(MAP_SORT_LONG);
MapSetDuplicate(hMap, true);
MapAdd(hMap, 100, "100 Value 1");
MapAdd(hMap, 300, "300 Value");
MapAdd(hMap, 50, "50 Value");
MapAdd(hMap, 100, "100 Value 2");
nKey := 100;
if _MapSearch(hMap, nKey, sJm, Pos) then
repeat
exitif nKey <> 100 then
endexit
MapModByPos(hMap, Pos-1, "xxxxx");
until _MapNext(hMap, Pos, nKey, sJm) = false;
endif
if(_MapFirst(hMap, Pos, nKey, sJm))then
repeat
Trace(Pos, " ", nKey, " ", sJm);
until _MapNext(hMap, Pos, nKey, sJm) = false;
endif
MapClose(hMap);
endproc