AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi MoveFile macht einfach nix(ohne Fehlermeldung)
Thema durchsuchen
Ansicht
Themen-Optionen

MoveFile macht einfach nix(ohne Fehlermeldung)

Ein Thema von Flippo · begonnen am 28. Aug 2005 · letzter Beitrag vom 28. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
Flippo

Registriert seit: 26. Sep 2004
111 Beiträge
 
Delphi 2005 Personal
 
#1

MoveFile macht einfach nix(ohne Fehlermeldung)

  Alt 28. Aug 2005, 16:27
Hallo,
habe mal wieder ein für mich unlösbares Problem:
Die Prozedur soll:
- den Artist einer im OpenDialog1 ausgewählten Mp3Datei erkennen(klappt)
- im selben Verzeichnis einen Ordner erstellen der so heisst wie der Artist (klappt auch)
- die Datei in den Ordner verschieben (klappt nicht)
Komischer weise klappt es wenn ich den Ordner nach dem Genre benenne das aus einem Array rausgesucht wird. Wenn ich Artist oder Title nehme klappt es nicht mit dem Verschieben.
Wenn ich an den Ordnernamen hinter Artist noch etwas anfügen will geht das auch verloren und bei genre nicht deshalb vermute ich das es mit den Wert den ich als Artist kriege zusammenhängt.

Delphi-Quellcode:
TID3Tag = record
    ID: string[3];
    Titel: string[30];
    Artist: string[30];
    Album: string[30];
    Year: string[4];
    Comment: string[30];
    Genre: Byte;
  end;

procedure Sortieren;
var Verzeichnis,Dateiname,Oldname,Newname:string;
begin
if form1.OpenDialog1.Execute then
begin
Verzeichnis:=extractfilepath(form1.opendialog1.filename);
Dateiname:=extractfilename(form1.opendialog1.filename);
with readID3Tag(Verzeichnis+'\'+Dateiname) do
begin
  if (DirectoryExists(Verzeichnis+'\'+Artist)=False) then
  begin
  createDir(Verzeichnis+'\'+Artist);
  end;
  Oldname:=Verzeichnis+'\'+Dateiname;
  Newname:=Verzeichnis+'\'+Artist+'\'+Dateiname;
  movefile(PChar(Oldname),PChar(Newname));
end;//With File do
end;//Open Dialog
end;
Vielen dank im Voraus
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: MoveFile macht einfach nix(ohne Fehlermeldung)

  Alt 28. Aug 2005, 16:30
existiert der Ordner denn wo die Datei hinn verschoben werden soll? und was gibt MoveFile zurück?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: MoveFile macht einfach nix(ohne Fehlermeldung)

  Alt 28. Aug 2005, 16:32
Ändere das mal so ab:
Delphi-Quellcode:
if not movefile(PChar(Oldname),PChar(Newname)) then
  RaiseLastOsError;
Dann bekommst du wenigstens 'ne Fehlermeldung.

[Nachtrag]

Klappt den das ReadID3Tag? Welchen Wert hat die Variable "Artist"?
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: MoveFile macht einfach nix(ohne Fehlermeldung)

  Alt 28. Aug 2005, 16:47
ExtractFilePath liefert dir den Pfad auch mit abschließendem '\'.
Wenn du also das ganze wieder zusammensetzt
Oldname:=Verzeichnis+'\'+Dateiname; hat Oldname so einen wert: c:\Verzeichnis\\Dateiname

Nächstes mal einfach den Debugger bemühen dann findest du sowas von selbst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: MoveFile macht einfach nix(ohne Fehlermeldung)

  Alt 28. Aug 2005, 16:56
Moin SirThornberry,

Zitat von SirThornberry:
hat Oldname so einen wert: c:\Verzeichnis\\Dateiname
Das stellt aber keinen Fehler dar.
Die Shell erkennt mehrere hintereinander stehende Pfadtrennzeichen als eines.

Man könnte also auch

C:\Verzeichnis\/\/\Dateiname

schreiben, ohne dass es zu einem Problem kommt, denn die Shell verarbeitet das als

C:\Verzeichnis\Dateiname
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Flippo

Registriert seit: 26. Sep 2004
111 Beiträge
 
Delphi 2005 Personal
 
#6

Re: MoveFile macht einfach nix(ohne Fehlermeldung)

  Alt 28. Aug 2005, 17:11
Hi, hab das mit dem '\' jetz einfach mal geändert was aber nix am ergebnis geändert hat das mit dem raiselastoserror hat bei mir nich geklappt aber dafür gibt raiselastwin32error folgendes zurück:
Win32 Fehler Code:183
Eine Datei kann nicht erstellt werden wenn sie bereits vorhanden ist. Prozess wurde angehalten. Mit einzelne Anweisung oder Start vortsezten.
Wenn daraus einer auf mein Problem schliessen kann, ich kapier nich was ich da ändern muss.
ReadId3 Tag funktioniert problemlos da hat artist immer den richtigen wert und der Ordner existiert zuerst nicht (tut er auch wirklich nicht) und wird dann erstellt.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: MoveFile macht einfach nix(ohne Fehlermeldung)

  Alt 28. Aug 2005, 17:15
Kann es sein, dass im Zielverzeichnis schon eine Datei mit dem Namen existiert? Andere Möglichkeit wäre, dass die Variable "Artist" leer ist, dann versuchst du die Datei nämlich auf sich selbst zu verschieben.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Flippo

Registriert seit: 26. Sep 2004
111 Beiträge
 
Delphi 2005 Personal
 
#8

Re: MoveFile macht einfach nix(ohne Fehlermeldung)

  Alt 28. Aug 2005, 17:17
Leider beides nein das is ja mein problem
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: MoveFile macht einfach nix(ohne Fehlermeldung)

  Alt 28. Aug 2005, 17:19
hast du schonmal debuggt welche Werte Oldname und NewName haben zu dem Zeitpunkt wo du sie der move-funktion übergibst?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Flippo

Registriert seit: 26. Sep 2004
111 Beiträge
 
Delphi 2005 Personal
 
#10

Re: MoveFile macht einfach nix(ohne Fehlermeldung)

  Alt 28. Aug 2005, 17:30
hmm das bringt mich wieder auf eine alte fährte alles was an buchstaben bis zur 30 fehlt wird durch 0# aufgefüllt da hattich schonmal probiert das mit einer vorschleife wegzumachen aber das hatte nichts gebrahct deswegen dachte ich das es daran nicht liegen wird was kann man da jetzt tun?
Newname='C:\Dokumente und Einstellungen\PapaBaer\Desktop\Other\NeuerOrdner'# 0#0#0...#0'\Dateiname.mp3'
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:10 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