MapDelByPos

(   hMap  : Longint;
    Pos   : Longint)

Slouží k mazání věty 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
            MapDelByPos(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