Results 1 to 7 of 7

Thread: MP3 titel bewerk programma

  1. #1

    MP3 titel bewerk programma

    Hee luitjes,
    Ik wil graag een klein programmaatje maken die automatisch de titels van een boel mp3's kan veranderen. Ik heb namelijk veel muziek en het kost nogal veel tijd om dat met de hand te veranderen. Ik heb tijdens mijn studie wat Delphi onderwezen gekregen en dus leek het me wel wat om het zo te proberen.

    Het doel is om meerdere mp3's te selecteren/openen en de namen weer te geven in een lijst. Daarna zou ik als het kan in de titel willen zoeken naar een teken, in dit geval '-' en alles voor en inclusief dat teken te verwijderen en i.p.v. dat een in te vullen tekst neer te zetten. Mijn allereerste vraag is natuurlijk is dit mogelijk?

    Daarnaast ben ik het natuurlijk al zelf aan het proberen en ik kom een eindje er zijn alleen dingen die ook werken die ik nog niet helemaal snap en dat zou ik graag willen begrijpen.

    Allereerst heb ik een TOpenDialog op mn form gesleept en bij een button genaamd open staat:
    Code:
    procedure TForm1.openFilesButtonClick(Sender: TObject);
    var i: integer;
    begin
    if OpenDialog1.Execute then
    for i := 0 to OpenDialog1.Files.Count - 1 do begin
    namesListBox.Items.Add(OpenDialog1.Files[i]);
    end;
    end;
    Nu werkt het wel en kom ik in het scherm en wordt de naam samen met het pad weergegeven in een lijst. Alleen hoe krijg ik alleen de naam van het bestand en niet het hele pad erbij?

  2. #2
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    6,374
    Daar heeft Delphi leuke functies voor.
    delphi Code:
    1. namesListBox.Items.Add(ExtractFileName(OpenDialog1.Files[i]));
    Delphi is great. Lazarus is more powerfull

  3. #3
    Dat is inderdaad handig dankjewel!
    Nu vraag ik me alleen af, als ik dan de titel op de gewenste manier heb veranderd, hoe ik deze dan naar de titel van het bestand zelf kopieer...
    Als dat kan natuurlijk...

  4. #4
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    6,374
    Kijk eens op deze site : http://www.delphibasics.co.uk/RTL.asp?Name=RenameFile

    Deze site is heel goed voor beginners, die zoeken naar bepaalde basic functies.
    Delphi is great. Lazarus is more powerfull

  5. #5
    Senior Member Lodewijk's Avatar
    Join Date
    Apr 2004
    Location
    Netherlands
    Posts
    1,922
    Wil je de bestandsnaam veranderen, of de artiest en titel zoals die in het MP3 bestand zijn opgeslagen?

  6. #6
    De bestandsnaam is nu de bedoeling.
    Ik zat ook nog te denken aan de titel en artiestnaam zoals ze IN de MP3 zijn opgeslagen en daar heb ik ook al wat van opgezocht. Met een iD3V2 library o.i.d. maar dat wil ik eerst zelf proberen voor dat ik wat ga vragen. Maar het punt is nu dat ik zeg maar vanuit het programma de veranderde bestandsnaam zeg maar terugkoppel naar het bestand. Maar dat snap ik niet helemaal want met de manier waarop ik het nu doe haal ik volgens mij alleen de bestandsnaam van het bestand maar dan heeft de bestandsnaam in mijn lijst geen "link" meer met het bestand zodat ik als ik de bestandsnaam ik mijn programma verander er niks met het bestand zelf gebeurd.

    Ik hoop dat het zo enigszins een beetje duidelijk is ;P

  7. #7
    Ik begreep uit je eerste post dat je automatisch alle bestandsnamen wilt veranderen, en niet handmatig toch, anders kun je net zo goed je favoriete filemanager gebruiken (een beetje leuke filemager kan ook leuk batch-gewijs bestanden hernoemen).

    Quote Originally Posted by Mkkl View Post
    Maar het punt is nu dat ik zeg maar vanuit het programma de veranderde bestandsnaam zeg maar terugkoppel naar het bestand. Maar dat snap ik niet helemaal want met de manier waarop ik het nu doe haal ik volgens mij alleen de bestandsnaam van het bestand maar dan heeft de bestandsnaam in mijn lijst geen "link" meer met het bestand zodat ik als ik de bestandsnaam ik mijn programma verander er niks met het bestand zelf gebeurd.
    De oplossing, mocht mijn bovenstaande veronderstelling juist zijn, is dan om die geopende bestanden helemaal niet in een listbox o.i.d. te tonen.

    Je weet welke bestanden je wilt hernoemen, n.l. OpenDialog1.Files[].
    Nu alleen nog een algoritme bedenken om de nieuwe naam te maken.

    Ongeteste code:

    delphi Code:
    1. function NewName(const OldName, Prefix: String): String;
    2. var
    3.   p: Integer;
    4. begin
    5.   p := Pos('-', OldName);
    6.   if P > 0 then
    7.     Result := Prefix+ Copy(OldName, p+1, Length(OldName)-p)
    8.   else
    9.     Result := Prefix + OldName;
    10. end;
    11.  
    12. procedure TForm1.ButtonGoForItClick(Sender: TObject);
    13. var
    14.   Index: Integer;
    15.   OldFn, NewFn: String;
    16. begin
    17.   for Index := 0 to OpenDialog1.Files.Count - 1 do
    18.   begin
    19.     OldFn := OpenDialog1.Files[Index];
    20.     NewFn := NewName(OldFn, PrefixEdit.Text);
    21.     if (OldFn <> NewFn) then RenameFile(OldFn, NewFn);
    22.   end;
    23. end;

    Bart

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •