Registriert seit: 17. Jun 2009
616 Beiträge
|
AW: Dynamische Arrays "verketten"
4. Feb 2015, 10:29
Um auf die eigentliche Frage zu antworten, habe ich Dir den Code berichtigt.
Delphi-Quellcode:
function MultiPos(const SubStr, Str: String; Offset: Integer = 1): TIntegerArray;
var
Temp: PChar;
Position: Integer;
Further: TIntegerArray;
begin
SetLength(Result,0);
if (Offset < 1) or (Offset > (Length(Str) - Length(SubStr))) then
begin
Exit;
end;
Temp := @Str[OffSet];
Position := Pos(SubStr,String(Temp));
if Position <> 0 then
begin
SetLength(Result,1);
Result[0] := Position + Offset - 1;
Inc(Temp,Position + Length(SubStr) - 1);
Further := MultiPos(SubStr,Str,Offset + Position + Length(SubStr) - 1);
if Length(Further) <> 0 then
begin
SetLength(Result,1 + Length(Further));
Move(Further[0],Result[1],Length(Further)*SizeOf(Further[0])); // hier änderen
end;
end;
end;
EDIT:
Funktioniert neuerdings die "rote Box" nicht mehr, wenn zwichendurch bereits Antworten gepostet wurden?
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
Geändert von BadenPower ( 4. Feb 2015 um 10:31 Uhr)
Grund: Da war jemand schneller und es kan keine Warnung
|