AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Dateiname: Ersetzen/Löschen von Teilstrings
Thema durchsuchen
Ansicht
Themen-Optionen

Dateiname: Ersetzen/Löschen von Teilstrings

Ein Thema von Delphi_gn7 · begonnen am 31. Mai 2009 · letzter Beitrag vom 9. Jun 2009
 
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#1

Dateiname: Ersetzen/Löschen von Teilstrings

  Alt 31. Mai 2009, 15:56
Hi,

Ich suche ein Programm, mit dem man die Dateinamen von (in meinem Fall) Musikdateien massenhaft bearbeiten kann, sodass unnötige Zeichen wie Unterstriche antfernt/durch anderes ersetzt werden.
z.B.

aus "101_michael_mind_-_ride_like_the_wind.mp3" wird "michael mind - ride like the wind.mp3"

Ich habe etwa 10 Monate Delphi Erfahrung und habe mir mithilfe einer Prozedur, die ich unter http://www.delphi-library.de/topic_n...chen_1107.html gefunden habe, ein Programm dafür zusammengebastelt. Da ich also nicht alles selber geschrieben habe kam es natürlich zu Komplikationen.

Frage: Kann man kleine Verbesserungen an dem Programm vornehmen, sodass es funktioniert, oder sollte ich lieber vorerst die Finger davon lassen, bis ich es selbst verstehe?
In dem Fall würde ich trotzdem gerne wissen ob es bereits ein Programm gibt, das mein Problem löst.

Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

function lastSlash(path: string):string;
var
hilfStr: string;
slashPos: integer;
begin
hilfStr:=path;
while (pos('\',hilfStr) > 0) do
hilfStr:=copy(hilfStr,slashPos+1,length(hilfStr)-slashPos);
result:=hilfStr;
end;

procedure RenameFiles (var datei: string; Ren, RenIn: string);
Var
  FindRec: tSearchRec;
  DateiName: string;
Begin
 If (datei = '') Then Exit;

  If FindFirst (datei, faAnyFile, FindRec) <> 0
  Then Repeat
       If (FindRec.Name <> '.') and (FindRec.Name <> '..')
       Then begin
            DateiName:=datei+FindRec.Name;
            if (pos(Ren,DateiName) > 0)
            then begin
                 insert(RenIn,DateiName,(pos(Ren,DateiName)));
                 delete(DateiName,pos(Ren,DateiName),length(Ren));
                 RenameFile(datei,lastSlash(datei)+DateiName);
                 end

            else writeln('Teilstring nicht gefunden');
            end;
       Until FindNext (FindRec) <> 0;

  FindClose (FindRec);



end;




var
  dir, Ren, RenIn, datei,namestring: string;

begin
write('Ordner (mit Backslash): ');
readln(dir);
namestring:=lastSlash(dir);
write('Umzubenennender Teilstring: ');
readln(Ren);
write('Zu ersetzen durch: ');
readln(RenIn);
RenameFiles (dir,Ren,RenIn);
readln;
end.
Andreas
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz