Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Laden von .jpg in Listbox funzt net (https://www.delphipraxis.net/92864-laden-von-jpg-listbox-funzt-net.html)

SaFu 27. Mai 2007 22:42

Re: Laden von .jpg in Listbox funzt net
 
ja versuche es ja gerade bekomm es aber nicht ganz hin

habe jetzt ein Problem mit PAsinChar

Matze 27. Mai 2007 22:44

Re: Laden von .jpg in Listbox funzt net
 
So viel kann man da nicht falsch machen:

Delphi-Quellcode:
CopyFile('alter Pfad', 'neuer Pfad', ggf_ueberschreiben_falls_vorhanden);
geht das nicht, dann mach es so:


Delphi-Quellcode:
CopyFile(PChar('alter Pfad'), PChar('neuer Pfad'), ggf_ueberschreiben_falls_vorhanden);
Anstelle von PChar kannst du auch PAnsiChar nutzen. Aber in der DP findest du zahlreiche funktionierende Beispiele für das Problem.

SaFu 27. Mai 2007 22:52

Re: Laden von .jpg in Listbox funzt net
 
geht sowas nicht

Delphi-Quellcode:
  CopyFile(PChar(ExtractFileName(OpenDialog1.FileName)), PChar(ExtractFileName('\Bilder'));
wie gesagt weil ich die datei aos dem Opendialog auswähle

es tut mir leid wenn ich nerve und es einfach ncht verstehe hab bald ne glatze weil mir vor lauter denken die haare ausfallen :lol:

Matze 27. Mai 2007 22:53

Re: Laden von .jpg in Listbox funzt net
 
ExtractFileName liefert dir etwas wie hallo.jpg, da weiß Windows natürlich nicht, wo es das hinkopieren soll. Lass diese Funktion einfach weg. Und der zweite Parameter erwartet ebenfalls einen kompletten Pfad einschließlich Dateiname.

SaFu 27. Mai 2007 22:57

Re: Laden von .jpg in Listbox funzt net
 
es soll ja die datei aus dem opendialog z.b hallo.jpg in \bilder\ kopiert werden sodas dann steht \bilder\hallo.jpg

es tut mir echt leid wenn ich es gerade überhaupt nicht blicke

Matze 27. Mai 2007 23:02

Re: Laden von .jpg in Listbox funzt net
 
Ohje, also, extra für dich, damit hier mal Schluss ist und ich ins Bett komme:

Delphi-Quellcode:
CopyFile(PChar(OpenDialog1.FileName),
  PChar(IncludeTrailingPathDelimiter(ExtractFilePath(OpenDialog1.FileName)) +
  'Bilder\' + ExtractFileName(OpenDialig1.FileName)), true);
Übersichtlicher:

Delphi-Quellcode:
AlterPfad := OpenDialog1.FileName;
NeuerPfad := IncludeTrailingPathDelimiter(ExtractFilePath(OpenDialog1.FileName)) +
  'Bilder\' + ExtractFileName(OpenDialig1.FileName);

CopyFile(PChar(AlterPfad), PChar(NeuerPfad), true);
Den Bilder-Pfad musst du natürlich ggf. vorm Kopieren erstellen, das geht mit Delphi-Referenz durchsuchenCreateDirectory oder bei mehreren neuen Ebenen mit Delphi-Referenz durchsuchenForceDirectories.

Edit: Meines Wissen benötigst du IncludeTrailingPathDelimiter nicht einmal, da ExtractFilePath den abschließenden Backslash anhängen müsste, also so:

Delphi-Quellcode:
AlterPfad := OpenDialog1.FileName;
NeuerPfad := ExtractFilePath(OpenDialog1.FileName) +
  'Bilder\' + ExtractFileName(OpenDialig1.FileName);

CopyFile(PChar(AlterPfad), PChar(NeuerPfad), true);

SaFu 27. Mai 2007 23:12

Re: Laden von .jpg in Listbox funzt net
 
ok ich gebe auf es funzt immer noch nicht der pfad mit dem ordner bilder ist da aber ich werde mal schauen ob ich es irgenwie hin bekomme will euch und dich nicht weiter nerven :(

Matze 27. Mai 2007 23:14

Re: Laden von .jpg in Listbox funzt net
 
Ich habe oben vorhin noch etwas editiert, ich hoffe, du hast die aktuelle Version genommen.

Lass dir doch mal die Pfade mittels SchowMessage ausgeben und überprüfe, ob diese stimmen:

Delphi-Quellcode:
ShowMessage(AlterPfad + #13#10 + NeuerPfad);

Edit: Achja, du könntest den Titel mal umbenennen, sodass er etwas über's Kopieren von Dateien aussagt.

SaFu 27. Mai 2007 23:20

Re: Laden von .jpg in Listbox funzt net
 
naja ganz klar es wird die datei von D:\eigenebilder in D:\eigenebilder\bilder kopiert obohl sie in einen anderen pfad muss der erste stimmt aber der zweite nicht.

Matze 27. Mai 2007 23:23

Re: Laden von .jpg in Listbox funzt net
 
Dann pass die Pfade eben so an, wie du sie haben möchtest. Hier kann dir so keiner helfen, woher sollen wir denn deine Verzeichnisstruktur kennen. Wenn du es selbst absolut nicht hinbekommst, dann poste den Inhalt beider Variablen und wie die Pfade auszusehen haben. Doch ich denke, das schaffst auch du.

Übrigens kannst du auch mittels

Delphi-Quellcode:
ShowMessage(SysErrorMessage(GetLastError));
den Fehler ausgeben lassen, der dein Programm zuletzt verursacht hat. In deinem Fall muss der Aufruf daher nach CopyFile erfolgen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 Uhr.
Seite 3 von 4     123 4      

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