Janilabo Posted September 5, 2012 Share Posted September 5, 2012 procedure TSARemove(var TSA: TStrArray; x: TIntArray); var i, h, h2: Integer; begin h := High(TSA); h2 := High(x); if ((h > -1) and (h2 > -1)) then for i := 0 to h2 do if ((x[i] <= h) and (x[i] > -1)) then begin Delete(TSA, x[i], 1); Dec(h); end; end; function TSAToStr(TSA: TStrArray): string; var h, i: Integer; begin h := High(TSA); if (h < 0) then Exit; for i := 0 to (h - 1) do Result := (Result + '''' + TSA[i] + '''' + ','); Result := (Result + '''' + TSA[i] + ''''); end; var TSA: TStrArray; begin ClearDebug; TSA := ['ID0', 'ID1', 'ID5', 'ID2', 'ID3', 'ID8', 'ID4', 'ID5', 'ID999', 'ID6']; TSARemove(TSA, [8, 5, 2]); WriteLn(TSAToStr(TSA)); SetLength(TSA, 0); end. Quote Link to comment Share on other sites More sharing options...