Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Delphi.Narium,
12. Apr 2021
Der zweite Fehler ist hier:
Dummy_String := Copy(stext, Pos1, Pos2);
Pos1 ist der Beginn von SearchTextA.
Pos2 ist die Länge von SearchTextA zuzüglich der Länge von SearchTextB.
Nun gehst Du her und kopierst genau diesen Teil aus sText. Damit erhälst Du dann SearchTextA + SearchTextB als einen String.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Delphi.Narium,
12. Apr 2021
Hier mal ein PascalScript, dass mit den Daten von Wikipedia (wie mir scheint) funktioniert:
program Test;
function DeleteSearchText(sText, sSearchTextA, sSearchTextB : String) : String;
var
iPos1 : Integer;
iPos2 : Integer;
iLenA : Integer;
iLenB : Integer;
begin
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Delphi.Narium,
12. Apr 2021
Mir scheint, dass diese Zeile falsch ist.
Pos2 := Pos(SearchTextB, stext, Pos1 + 1) + Length(SearchTextA);
Die Suche muss ab Pos1 + 1 + Length(SearchTextA) beginnen.
Pos2 := Pos(SearchTextB, stext, Pos1 + 1 + Length(SearchTextA));
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Delphi.Narium,
11. Apr 2021
// Pos1 ist die Position des Ersten | in ||data-sort-value="
Pos1 := Pos('||data-sort-value="', stext,1);
// Pos1 + 1 ist die Position des Zweiten | in ||data-sort-value="
// Damit wird Pos2 die Position des gleichen " enthalten, wie Pos1.
Pos2 := Pos('"', stext, Pos1+1 ); // oder PosEx nutzen, ist aber in meiner Version gleich
// Es muss aber ab der Position Pos1 + der...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Delphi.Narium,
11. Apr 2021
Ungefähr sowas? (nur hingedaddelt ala Delphi 7)
function GetText(sText : string; sData : String; cDelim : Char) : String;
var
iPos1 : Integer;
iPos2 : Integer;
iData : Integer;
begin
// Länge des zu entfernenen Textes zuzüglich Delimiter ermitteln:
iData := Length(sData + cDelim);