E2251 Mehrdeutig überladener Aufruf von 'Pos' - System.pas(28005)

    [dcc32 Error] psystr.pas(249): E2251 Ambiguous overloaded call to 'Pos'
    System.pas(28005): Related method: function Pos(const string; const string; Integer):         Integer;
    System.pas(28165): Related method: function Pos(const WideString; const WideString;     Integer): Integer;

Ich bin immer die oben genannten Fehler auf die folgende Funktion. Wie kann ich dieses Problem beheben? Der code wurde mir von einem anderen coder, aber ich bin ein absoluter amateur, so einfach Antworten würde geschätzt!

function ExplodeStr(const AString: WideString; AWordIndex: Integer; AChar: Char): WideString;
var
  Index, Counter: Integer;
begin
  Result  := Trim(AString);
  Counter := 0;
  Index   := Pos(AChar + AChar, Result);
  while Index > 0 do
  begin
    Delete(Result, Index, 1);
    Index := Pos(AChar + AChar, Result);
  end;
  Index := Pos(AChar, Result);
  while ((Counter < AWordIndex) and (Index > 0)) do
  begin
    Delete(Result, 1, Index);
    Index := Pos(AChar, Result);

    Counter := Counter + 1;
  end;
  if (Counter < AWordIndex) then
    Result := '';
  Index    := Pos(AChar, Result);
  if Index > 0 then
    Delete(Result, Index, MaxInt);
end;
  • Auch, wenn möglich. Könnte mir jemand erklären, was dieser code genau macht?
  • Sieht aus wie eine unfertige PHP wie explode - Funktion an mich: php.net/manual/en/function.explode.php
  • Was genau möchten Sie erreichen mit dieser Funktion?
InformationsquelleAutor user1365875 | 2013-04-08
Schreibe einen Kommentar