Zitat von
Matze:
Mit
pos kann ich das ja nicht lösen, da ich jede Endung manuell einstellen müsste, was ja unmöglich ist.
Wieso? Mit "pos" kannst du aber immerhin feststellen, ob überhaupt ein Punkt im angegebenen Dateinamen existiert. Wenn nicht, dann lieferst du den Dateinamen unverändert zurück, weil er dann keine Endung enthält. Wenn doch, dann gehst du vom Ende des Dateinamens (= String) solange eine Stelle zurück, bis du den Punkt findest - und dann kopierst du den Anfang des Namens bis zu dieser Stelle. Fertig.
Ich denke, anders wird´s auch Borlands "ChangeFileExt" nicht machen. Zumindest habe ich das so gemacht, als ich die Funktion für
nonVCL-Projekte selbst geschrieben habe (wg. der SysUtils-
Unit, die die Programme ja größer macht).