Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#6

AW: Strings aus Pascal-Datei filtern und exportieren

  Alt 16. Apr 2020, 21:57
Delphi-Referenz durchsuchenTRegEx.Matches
Dem kann man alles reingeben oder auch nacheinander einzelne Zeilen.
Über die Optionen kann man auch sagen wie Zeilenumbrüche interpretiert werden, alles als "eine" Zeile oder nicht. (siehe Modifier/Options)

Was dort an Ergebnisdaten in der Collection drin ist, das kannst dir im Debugger ansehn, oder siehe die Match-Infos im Regex-Tester.
In der Collection steht zu jedem Ergebnis auch die Position, welche man sich selbst in die Zeile umrechnen kann, oder welches man sich von einem TMemo geben lassen kann.
MSDN-Library durchsuchenEM_LINEFROMCHAR bzw. TMemo.SelStart->TMemo.CaretPos

am Einfachsten die Zeilenumbrüche vor dem Zeichen zählen.
GefundenInZeile := DieDateiAlsString.substring(0, GefundenerCharIndex).CountChar(#10); (etwas aktuelleres Delphi)
bzw.
Delphi-Quellcode:
Index := GefundenerCharIndex;
Zeile := -1;
while Index >= 0 do begin
  Inc(Zeile);
  Dec(Index, Length(StringList[Zeile] + sLineBreak)); // bzw. der passende Zeilenumbruch
end;
GefundenInZeile := Zeile;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (16. Apr 2020 um 22:08 Uhr)
  Mit Zitat antworten Zitat