Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#1

Teilstring löschen:was ist an meiner Delete-Funktion falsch?

  Alt 18. Aug 2008, 16:02
Hallo zusammen,

ich möchte die Dateinamen meiner MP3-Sammlung einheitlich setzen.
Meine jetzigen Dateinamen setzen sich entweder aus
<Interpret> - <Titel>
oder
<Interpret> - <Album> - <Titel>
zusammen.
Sofern vorhanden, soll der Teilstring <Album> nun gelöscht werden.
Der nachfolgende Code wird erst mal als Test auf ein Edit angewendet...
Als "Delimiter" ist das '- ' zu interpretieren.
Um zu prüfen ob die Datei überhaupt eine Albuminformation hat (2.Delimiter), verwende ich
Delphi-Quellcode:
...
var s : string;
begin
s:= Edit1.Text;
if PosEx('- ', s,(Pos('- ', s))+1) > 0
...
Um den Teilstring <Album> zu löschen habe ich die Überlegung mit Pos die "Startposition" des ersten Delimiter zu ermitteln.
Mit PosEx habe ich ja schon die Position des 2. Delimter.
Somit lässt sich der Index(Start) der Delete-Funktion setzen und die Länge (Count) der zu löschenden Zeichen.
Leider bekomme ich die Delete-Funktion nicht ans Laufen.
Edit2.Text := Delete(s, Pos('- ', s), PosEx('- ',s,(Pos('- ',s))+1) - Pos('- ', s) ) Als Fehlermeldung kommt:
Zitat:
[DCC Fehler] Test.pas(39): E2010 Inkompatible Typen: 'string' und 'procedure, untyped pointer or untyped parameter'
Kann hier jemand von Euch erkennen wo mein Fehler liegt?

Danke schon mal vorab!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat