Autor Beitrag
Solid Snake
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Prof, Suse Linux 9 Prof
D7 Enterprise
BeitragVerfasst: So 07.08.05 22:57 
Hi
Ich bin noch ein relativer Anfänger was Delphi angeht und wollte mal ein für mich sehr nützliches Tool schreiben!
Das Programm soll meine ganzen MP3’s Sortieren

Zum Programm Ablauf:
Man gibt den Ordner an in dem Die Unsortieren MP3’s liegen und einen in dem die MP3’s nach Interpreten einsortiert werden sollen!

Durch einen Klick auf den Button „Suchen“ werden alle MP3’s in dem „Unsortiert“ Ordner gesucht und in einer ListBox aufgelistet und gezählt!

===> Das klappt auch schon soweit

Anschließend sollen die MP3’s durch einen Klick auf den Button „Sortieren“ in dem vorher ausgewählten Ordner nach Ihrem Interpret sortiert werden!

Meine MP3’s sind alle nach folgendem Muster aufgebaut:
Interpret – Titel zwischen jedem Interpreten und Titel steht ein “ – “
z.B. ACDC – Thunderstruck.mp3
oder Children of Bodom – Silent Night, Bodom Night.mp3

Das Programm soll nun den Dateinamen Zerlegen so dass nur noch der Interpret übrig bleibt!
(Pfad, “ – “ und alles was dahinter steht muss weg)
Damit man nur noch den Interpreten hat!

Nun soll Überprüft werden ob im „Sortiertem Verzeichnis“ schon ein Ordner mit diesem Namen besteht wenn ja dann Datei Kopieren wenn nicht, dann Ordner Erstellen und Datei Kopieren!

Und das mit allen MP3’s die sich in der ListBox befinden!

Ich habe hier im Forum schon sehr viel gelesen aber mit dem Sortieren komme ich einfach nicht weiter!

Im Anhang habe ich mal den kompletten Source Code angehangen von dem was ich bis jetzt geschafft habe!

Ich würde mich sehr freuen wenn ihr mal über den Code schaut und mir eventuell allgemeine Tipps bzw. Verbesserungsvorschläge zum bestehenden Code geben könntet!
Denn ich denke mal da sind noch so einige Fehler drin :wink:

Des Weiteren komme ich mit dem Sortieren der MP3’s ja nicht weiter!
Wie schon erwähnt habe ich hier im Forum schon sehr viel gelesen aber irgendwie klappt das alles noch nicht so recht!

Es währe schön wenn ihr mir da helfen könntet am besten mit etwas SourceCode :wink:

Danke schon mal im Voraus!

mfg
Solid Snake
Einloggen, um Attachments anzusehen!
_________________
Wenn der Computer mit 0100101001010 Arbeitet ist ok,
aber wenn er mit 110 anfängt mach ich ihn kaputt!
Calyptus
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 386

Win Xp Prof
D3, D6 Pers, D7 Ent
BeitragVerfasst: Mo 08.08.05 00:00 
Zum Interpret:

ausblenden Delphi-Quelltext
1:
Interpret := Copy(Dateiname, 0, Pos('-')-1);					


(hoff ich doch...)

_________________
Luft- und Raumfahrtechnik an der Uni Stuttgart
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mo 08.08.05 03:27 
sowas ähnliches habe ich auch mal gecodet: dabei werden verz.strukturen mit mp3s in eine access datenbank geschrieben, anhand derer man dann z.b. doppelte dateien aus einer 2. verz.struktur löschen kann, oder unterordner mit dem artist anlegen

dazu muss noch ne active-x datei einbinden, wie das geht steht hier Suche bei Google ADODB_TLB.PAS
Einloggen, um Attachments anzusehen!
_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Solid Snake Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Prof, Suse Linux 9 Prof
D7 Enterprise
BeitragVerfasst: Di 09.08.05 06:16 
@retnyg
Dein Programm ist doch schon wesentlich komplexer als meins eigentlich werden sollte und so ganz blicke ich da auch net durch!

Im Prinzip brauche ich ja nur eine funktion die mir den Interpreten aus der ListBox Extrahiert und dann wenn nötig einen Ordner anlegt und die Datei dann kopiert und das wiederum mit allen Dateien die sich in der ListBox befinden!

So wie ich hier gelesen habe muss man das meiner meinung nach mit einer "repeat-until-Schleife" und "ExtractFilePath" machen aber das kapier ich irgendwie net so richtig wie ich das genau machen muss!

Ich währe dankbar um etwas Source Code das für mein kleines Programm zutreffend währe und ein paar kleinen kommentaren wieso, weshalb und warum!

Denn ich bin hier echt völlig am verzweifeln :cry:

Hilfe :cry: :cry:

_________________
Wenn der Computer mit 0100101001010 Arbeitet ist ok,
aber wenn er mit 110 anfängt mach ich ihn kaputt!
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Di 09.08.05 10:42 
die 2 prozeduren sind aus obigem quellcode:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
function getinterpret(pfad:string):string;
begin
  result:=copy(pfad,0, pos('-',pfad) -1);
  if result = '' then result := pfad else result:=trim(result);
end;

function getalbum(pfad:string):string;
var s: string;
begin
   s:=copy(pfad,pos('-',pfad) + 1, length(pfad));
   result:=trim(s);
end;

und anzuwenden so:
ausblenden Delphi-Quelltext
1:
interpret := getinterpret( extractFileName ( myMp3File ) );					


aus meinem programm wirst du vielleicht schlauer wenn du mal einen ordner scannst und dir danach den inhalt der access-datenbank ansiehst... falls du kein access hast müsste es auch möglich sein die datenbank in excel zu importieren.

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Solid Snake Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Prof, Suse Linux 9 Prof
D7 Enterprise
BeitragVerfasst: Di 09.08.05 19:33 
Habe jetzt mal folgendes Probiert!
Ich wollte die ListBox durch gehen und mir nacheinander die Interpreten in einem Label anzeigen lassen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TMain_Form.Timer1Timer(Sender: TObject);
var
 interpret : String;
 Mp3File : integer;
 Mp3File2 : String;
 begin
LB_Dateien.ItemIndex:=LB_Dateien.ItemIndex+1;
Mp3File:=LB_Dateien.ItemIndex;
Mp3File2 := IntToStr(Mp3File);
interpret := getinterpret( extractFileName (Mp3File2)  );
Label1.Caption := Interpret;
end;


Geht aber irgendwie net!
Anstatt den Interpreten anzuzeigen, zeigt er mir nur 0 dann 1 usw. an!
Wenn ich aber bei der markierten stelle den Pfad zu einer MP3 angebe funktioniert es und ich bekomme den Interpreten angezeigt!

Wo liegt der Fehler?

_________________
Wenn der Computer mit 0100101001010 Arbeitet ist ok,
aber wenn er mit 110 anfängt mach ich ihn kaputt!
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Di 09.08.05 20:20 
user profile iconSolid Snake hat folgendes geschrieben:
Wo liegt der Fehler?


user profile iconSolid Snake hat folgendes geschrieben:

ausblenden Delphi-Quelltext
1:
2:
3:
Mp3File:=LB_Dateien.ItemIndex;
Mp3File2 := IntToStr(Mp3File);
interpret := getinterpret( extractFileName ( Mp3File2 )  );

mp3file2 := nummer des aktuellen itemindex - das kann ja nicht stimmen

das extractfilename brauchst du nur, wenn du pfad inkl. dateinamen hast
hast du nur den dateinamen, musst du es weglassen...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
var index: integer;
...
index:=LB_Dateien.ItemIndex;
Mp3File := LB_Dateien.Items[index];
interpret := getinterpret(  Mp3File  );

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Solid Snake Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Prof, Suse Linux 9 Prof
D7 Enterprise
BeitragVerfasst: Mi 10.08.05 12:46 
So....
Nachdem ich die ganze nacht an meinem Programm gebastelt habe funktioniert es jetzt soweit :D
Doch ein kleines Problem habe ich da noch.

Wenn ich auf ein Item in der ListBox einen DoppelKlick mach öffnet sich eine zweite Form.
Auf der Form ist ein Edit Feld und ein Button. Im Editfeld wird der Dateiname angezeigt um ihn zu bearbeiten. Mit dem Button soll dann der Eintrag in der ListBox Aktualisiert werden aber auch der Dateiname der Original Datei auf der Festplatte soll entsprechend angepasst werden!

Das Mit der zweiten Form habe ich so gelöst:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TMain_Form.LB_DateienDblClick(Sender: TObject);
var
SelectedFile : string;
FName :        string;
begin
SelectedFile := LB_Dateien.Items.Strings[LB_Dateien.ItemIndex];
Form_EditFile.Show;
FName := ExtractFileName( SelectedFile );
Form_EditFile.Edit_File.Text :=FName;
end;

Das klappt auch so wunderbar!

Doch ich schaffe es einfach nicht den Bearbeiteten Eintrag durch den Button Klick in der ListBox zu Aktualisieren und den Dateinamen der Original Datei entsprechend anzupassen!

Das muss doch irgendwie machbar sei?!

_________________
Wenn der Computer mit 0100101001010 Arbeitet ist ok,
aber wenn er mit 110 anfängt mach ich ihn kaputt!
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5285
Erhaltene Danke: 29

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mi 10.08.05 13:49 
für den interpreten würde ich lieber den id3tag auslesen, weil man die mp3s ja nennen kann wie man will :idea:
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mi 10.08.05 15:49 
user profile iconF34r0fTh3D4rk hat folgendes geschrieben:
für den interpreten würde ich lieber den id3tag auslesen, weil man die mp3s ja nennen kann wie man will :idea:

:roll: ich hab hier 320 GB mp3s. weisst du bei wievielen die ID3 informationen richtig eingetragen sind ? maximal die hälfte. die dateinamen stimmen dafür bei allen, und bei den 1 % wo's anfangs nicht gepasst hat hab ichs halt nachgetragen.

user profile iconSolid Snake hat folgendes geschrieben:

Doch ein kleines Problem habe ich da noch.
kannste mal deinen aktuellen source reinhängen dann kann ich mal nen blick draufwerfen

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Solid Snake Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Prof, Suse Linux 9 Prof
D7 Enterprise
BeitragVerfasst: Mi 10.08.05 22:13 
Zitat:
für den interpreten würde ich lieber den id3tag auslesen, weil man die mp3s ja nennen kann wie man will :idea:
Zitat:
:roll: ich hab hier 320 GB mp3s. weisst du bei wievielen die ID3 informationen richtig eingetragen sind ? maximal die hälfte. die dateinamen stimmen dafür bei allen, und bei den 1 % wo's anfangs nicht gepasst hat hab ichs halt nachgetragen.

Genau so ist es bei mir auch :lol:

Das Suchen und Kopiren der MP3's klappt ja jetzt!

Suchen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TMain_Form.B_SearchClick(Sender: TObject);
var
    unsortDir : String;
begin
LB_Dateien.Clear;
unsortDir := Edit_Unsortiert.Text;

if CB_Subfolders.Checked then
FindFiles (unsortDir, '*.mp3', True, LB_Dateien.Items)
else
FindFiles (unsortDir, '*.mp3', False, LB_Dateien.Items);

Label_Dateien_Gesamt.Caption:=Inttostr(LB_Dateien.Items.Count) + ' Dateien gefunden.';

B_Start.Enabled := True;
end



Kopieren:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
procedure TMain_Form.B_StartClick(Sender: TObject);
var
 interpret : String;
 Mp3File : String;
 index : integer;
 sortDir : String;
 FName : String;
 ZuKopierendeD : String;

 begin
sortDir := Edit_Sortiert.Text+'\';
  repeat
  LB_Dateien.ItemIndex:=LB_Dateien.ItemIndex+1;
  index:=LB_Dateien.ItemIndex;
  Mp3File := LB_Dateien.Items[index];

  FName := ExtractFileName( Mp3File );
  interpret := getinterpret( extractFileName ( Mp3File ) )+'\';

if DirectoryExists(sortDir+interpret) then
  else
   ForceDirectories (sortDir+interpret);

  CopyFile (PAnsiChar(Mp3File), PAnsiChar(sortDir+interpret+FName), True);

  ZuKopierendeD := IntToStr(LB_Dateien.Items.Count);
  if LB_Dateien.Items.Count  > 0 then
  StatusBar.Panels[1].Text := ('Noch ' + ZuKopierendeD + ' Dateien')
 else
  StatusBar.Panels[1].Text := 'Fertig'; 
 

  if LB_Dateien.Items.Count  >0 then
  else
  Label_Dateien_Gesamt.Caption := '. : F E R T I G : .';


 //ShowMessage (interpret);
  LB_Dateien.DeleteSelected;
  until LB_Dateien.Items.Count = 0;

end;


Ein kleines Problem gibt es da aber noch.
Ich wollte in der StatusBar anzeigen wie viele Dateien noch austehen (makiert).
Das klapp auch so aber nur wenn ich das Auskomentierte drin habe! Sprich wenn immer die MessageBox kommt klappt das mit dem Runterzählen! Doch wenn die Weg ist Zeigt er nichts mehr an!

Desweiteren besteht ja das Problem mit dem Dateinamen ändern was ich in meinem letzten beitrag ja schon beschrieben habe.

Ich habe jetzt mal noch den kompletten SourceCode angehängt und hoffe ihr könnt mir mit den Problemen weiterhelfen!
Einloggen, um Attachments anzusehen!
_________________
Wenn der Computer mit 0100101001010 Arbeitet ist ok,
aber wenn er mit 110 anfängt mach ich ihn kaputt!
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Do 11.08.05 13:35 
user profile iconSolid Snake hat folgendes geschrieben:

Ein kleines Problem gibt es da aber noch.
Ich wollte in der StatusBar anzeigen wie viele Dateien noch austehen (makiert).
Das klapp auch so aber nur wenn ich das Auskomentierte drin habe! Sprich wenn immer die MessageBox kommt klappt das mit dem Runterzählen! Doch wenn die Weg ist Zeigt er nichts mehr an!

liegt wahrscheinlich daran, dass delphi das formular nicht aktualisiert, während es arbeitet.

bau einfach ein application.processmessages; in deine repeat schleife ein.

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Solid Snake Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Prof, Suse Linux 9 Prof
D7 Enterprise
BeitragVerfasst: Do 11.08.05 15:04 
Cool danke jetzt klappt es!
Bleibt nur noch das Problem mit dem Dateinamen ändern!
Hast du/ihr dafür eventuell auch noch eine Lösung?

_________________
Wenn der Computer mit 0100101001010 Arbeitet ist ok,
aber wenn er mit 110 anfängt mach ich ihn kaputt!
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Do 11.08.05 20:30 
user profile iconSolid Snake hat folgendes geschrieben:

Auf der Form ist ein Edit Feld und ein Button. Im Editfeld wird der Dateiname angezeigt um ihn zu bearbeiten. Mit dem Button soll dann der Eintrag in der ListBox Aktualisiert werden aber auch der Dateiname der Original Datei auf der Festplatte soll entsprechend angepasst werden!
...

Doch ich schaffe es einfach nicht den Bearbeiteten Eintrag durch den Button Klick in der ListBox zu Aktualisieren und den Dateinamen der Original Datei entsprechend anzupassen!

bin nicht ganz dahintergekommen was du willst, jedenfalls ist bei deinem projekt kein derartiges edit-feld zu finden, und dateinamen kriege ich auch keine angezeigt :shock:
übrigens:
Zitat:
01fernanda_porto_-_sambassim-alc.mp3
02-drumagick_-_easy_bddm-alc.mp3
03-max_de_castro_-_pra_voce_lembrar_(dj_patife_remix)-alc.mp3

usw...
wird bei deinem programm zu :
Zitat:
C:\sorted\01fernanda_porto_-_sambassim-alc.mp3\01fernanda_porto_-_sambassim-alc.mp3
C:\sorted\02-drumagick_-_easy_bddm-alc.mp3\02-drumagick_-_easy_bddm-alc.mp3
C:\sorted\03-max_de_castro_-_pra_voce_lembrar_(dj_patife_remix)-alc.mp3\03-max_de_castro_-_pra_voce_lembrar_(dj_patife_remix)-alc.mp3

sieht mir wie ein bug aus :mrgreen:

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Solid Snake Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Prof, Suse Linux 9 Prof
D7 Enterprise
BeitragVerfasst: Fr 12.08.05 07:08 
Zitat:
bin nicht ganz dahintergekommen was du willst, jedenfalls ist bei deinem projekt kein derartiges edit-feld zu finden, und dateinamen kriege ich auch keine angezeigt

Wenn man den "Unsortiert Pfad" und den "Sortiert Pfad" Angegeben hat und auf suchen klickt wird unten angezeigt wieviele MP3 Dateien gefunden wurden! Wechselt man dann auf den Reiter "Status" sieht man in einer ListBox die ganzen Dateien + Pfad etc. aufgelistet! Macht man nun einen Doppelklick auf einen Eintrag erscheint eine neue Form mit einem EditFeld und zwei Buttons! In dem EditFeld steht jetzt der Dateiname der MP3! Der eine Button ist zum Abbrechen und der Andere zum Speichern! Wenn mann jetzt den Dateinamen in dem EditFeld bearbeitet hat und auf den Button Speichern klickt soll der Eintrag in der ListBox Aktualisiert werden. Also anstatt des alten Dateinamen soll da jetzt der Dateiname erscheinen den man im EditFeld eingegeben hat!
Desweiteren muss natürlich auch der Dateiname der MP3 Datei im entsprechendem Verzeichniss geändert werden da er sonst die MP3 ja nicht mehr findet!

Der Bug den du beschrieben hast tritt deswegen auf weil das Programm bis jetzt nur MP3's richtig einsortiert die nach folgendem Muster aufgebaut sind!
z.B. 01fernanda_porto - sambassim-alc.mp3
Würde zu
C:\test\01fernando_porto\01fernanda_porto - sambassim-alc.mp3
Bis jetzt habe ich nur diesen einen Filter drin!
(Aber fals ihr noch ideen für andere Filter habt bzw. wie ich das besser lösen könnte immer raus damit!)

Um das Problem vorzubeugen wollte/will ich ja immernoch das man im Programm den Namen Anpassen kann damit solche Fehler nichtmehr Auftreten!

So ich hoffe jetzt habe ich das Problem mit dem Dateinamen verändern etwas besser erklärt und hoffe du/ihr habt dafür eine lösung parrat!

_________________
Wenn der Computer mit 0100101001010 Arbeitet ist ok,
aber wenn er mit 110 anfängt mach ich ihn kaputt!
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Fr 12.08.05 17:21 
ich habe mir die freiheit genommen ein paar sachen zu ändern:
mainform: (neues onChange Ereignis bei beiden edit's)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TMain_Form.LB_DateienDblClick(Sender: TObject);
var
SelectedFile : string;
FName :        string;
begin
SelectedFile := LB_Dateien.Items.Strings[LB_Dateien.ItemIndex];
Form_EditFile.Show;
FName := ExtractFileName( SelectedFile );
Form_EditFile.Edit_File.Text :=FName;
Form_EditFile.filename := selectedFile;
end;

procedure TMain_Form.Edit_SortiertChange(Sender: TObject);
begin
  if directoryexists(Edit_Unsortiert.text) and directoryexists(Edit_sortiert.text)
  then B_Search.Enabled := true
  else B_Search.Enabled := false
end;

procedure TMain_Form.Edit_UnsortiertChange(Sender: TObject);
begin
  if directoryexists(Edit_Unsortiert.text) and directoryexists(Edit_sortiert.text)
  then B_Search.Enabled := true
  else B_Search.Enabled := false
end;


2. form:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
type
  TForm_EditFile = class(TForm)
    Edit_File: TEdit;
    B_Close: TButton;
    B_Save: TButton;
    procedure B_CloseClick(Sender: TObject);
    procedure B_SaveClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    filename: string;
    { Public-Deklarationen }
  end;

var
  Form_EditFile: TForm_EditFile;
implementation

uses Main_Unit;

{$R *.dfm}

procedure TForm_EditFile.B_CloseClick(Sender: TObject);
begin
Close;
end;

procedure TForm_EditFile.B_SaveClick(Sender: TObject);
var f:file; s: string;
begin
  s:= extractfilepath ( filename ) + Edit_file.text;
  assignfile(f,filename);
  rename(f, s );
  Main_Form.LB_Dateien.Items.Strings[Main_Form.LB_Dateien.ItemIndex] := s;
  close;
end;

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5285
Erhaltene Danke: 29

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 12.08.05 17:49 
user profile iconretnyg hat folgendes geschrieben:
user profile iconF34r0fTh3D4rk hat folgendes geschrieben:
für den interpreten würde ich lieber den id3tag auslesen, weil man die mp3s ja nennen kann wie man will :idea:

:roll: ich hab hier 320 GB mp3s. weisst du bei wievielen die ID3 informationen richtig eingetragen sind ? maximal die hälfte. die dateinamen stimmen dafür bei allen, und bei den 1 % wo's anfangs nicht gepasst hat hab ichs halt nachgetragen.


also wenn die mp3s legal vorliegen, reich einmal abspielen mit dem mediaplayer und die tags sind korrekt (ist bei allen meinen mp3s der fall), bei mir sind nur die dateinamen immer etwas anders, man könnte die auch aus dem id3tag her ableiten und umbennen, aber wenn ich der einzige mit korrekten tags bin ...
Solid Snake Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP Prof, Suse Linux 9 Prof
D7 Enterprise
BeitragVerfasst: Fr 12.08.05 18:55 
@retnyg
Du bist mein Held :wink:
Klappt so alles Wunderbar! Danke Danke Danke :flehan:

@F34r0fTh3D4rk
Zitat:
also wenn die mp3s legal vorliegen, reich einmal abspielen mit dem mediaplayer und die tags sind korrekt (ist bei allen meinen mp3s der fall)

:mrgreen: :mrgreen: :mrgreen:

Das man nach den ID3 Tags sucht und nicht nach dem Dateinamen hatte ich mir auch schon überlegt! Eventuell füge ich das noch als weitere Option hinzu!

Wenn ich damit dann Probleme habe wende ich mich vertrauensvoll an dich :wink:

Nochmal Danke für eure Hilfe!
Fürs erste war es das jetzt! Aber ich finde bestimmt noch was wo ich euch zu fragen muss :lol:

_________________
Wenn der Computer mit 0100101001010 Arbeitet ist ok,
aber wenn er mit 110 anfängt mach ich ihn kaputt!