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?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es überladene Versionen der POS im System, Sie brauchen nur zu sagen, der compiler, die er hat, zu nutzen z.B. durch den Aufruf