![]() |
Kopieren mit Opendialog.Filename nicht möglich
Hi,
ich möchte, dass der Benutzer eine Datei auswählen kann (mit OpenDialog) welche dann an einen bestimmten Ort kopiert wird. Falls die Datei dort schon vorhanden ist soll sie überschrieben werden. Hier mal der Code:
Delphi-Quellcode:
Die Datei wird aber nicht kopiert. Selbst wenn keine andere Datei vorher da war. Woran kann das liegen? Mit richtigen Dateinamen (also mit C:\ blabla davor) gehts auch nicht. Verhindert der Opendialog das kopieren, da er selber die Datei reserviert oder so?
if OpenDialog1.execute then begin
if Fileexists('test.abc') then DeleteFile('test.abc'); Copyfile(Pchar(Opendialog1.filename), Pchar('test.ab'), true); end; MFG Lars Wiltfang |
Re: Kopieren mit Opendialog.Filename nicht möglich
Keine relativen Pfade verwenden (das wird hier mindestens einmal die Woche gesagt) und ansonsten einmal GetLastError bemühen. Übrigens musst Du die Zieldatei nicht vorher löschen, wenn Du Dir die Parameter von CopyFile einmal in Ruhe anschaust.
|
Re: Kopieren mit Opendialog.Filename nicht möglich
Delphi-Quellcode:
Da steht 0.
ShowMessage(GetLastError);
|
Re: Kopieren mit Opendialog.Filename nicht möglich
Zitat:
Zitat:
|
Re: Kopieren mit Opendialog.Filename nicht möglich
Hallo,
Delphi-Quellcode:
2 mal 'test.abc'
if OpenDialog1.execute then
begin if FileExists('test.abc') then begin DeleteFile('test.abc'); end; Copyfile(Pchar(Opendialog1.filename), Pchar('test.ab'), true); end; 1 mal 'test.ab' ??? Ich würde bei 3mal der gleichen Datei eh eine Variable/Konstante nehmen. Das mit den absoluten Pfaden hast du ja schon gelesen. Heiko |
Re: Kopieren mit Opendialog.Filename nicht möglich
Und nun zusammengefasst:
Delphi-Quellcode:
const MyFilename = 'test.abc';
... if OpenDialog1.execute then begin if not Copyfile(Pchar(Opendialog1.filename), Pchar(IncludeTrailingPathDelimiter(MyPath) + MyFilename), false) then MessageBox(0,PChar(SysErrorMessage(GetLastError)),nil,MB_OK or MB_ICONERROR); end; |
Re: Kopieren mit Opendialog.Filename nicht möglich
:cheer: DeddyH hat´s endlich hingekriegt den aus dem OpenDialog übergebenen Filenamen zu verwenden...
:gruebel: aber warum die Konstante für die Zieldatei ? Wenn ich eine Datei kopiere möchte ich auch, daß sie so heißt wie vorher. |
Re: Kopieren mit Opendialog.Filename nicht möglich
Dann nimm halt den Dateinamen
Delphi-Quellcode:
Bernhard
if OpenDialog1.execute then begin
if not Copyfile(Pchar(Opendialog1.filename), Pchar(IncludeTrailingPathDelimiter(MyPath) + ExtractFileName(opendialog1.filename)), false) then MessageBox(0,PChar(SysErrorMessage(GetLastError)),nil,MB_OK or MB_ICONERROR); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz