![]() |
Datei unter einem anderem Namen speichern
Hallo zusammen,
wie kann ich eine pdf-Datei, die ich ausgewählt habe unter einem anderem Namen automatisch speichern. So speichert er eine Pdf-Datei mit 0 KB ab:
Delphi-Quellcode:
Für Hilfe wäre ich sehr dankbar
OpenDialogPruefprotokoll.FileName := '*.pdf';
If OpenDialogPruefprotokoll.Execute then begin if pos('.pdf',OpenDialogPruefprotokoll.FileName) = 0 then begin showmessage('Bitte wählen Sie eine gültige Datei aus.'); exit; end; if FileExists(OpenDialogPruefprotokoll.FileName) then begin SaveDialogPruefprotokoll.FileName := OpenDialogPruefprotokoll.FileName; SaveDialogPruefprotokoll.Files.SaveToFile('U:\Files\Prüfprotokoll.pdf'); end else begin showmessage('Bitte wählen Sie eine gültige Datei aus.'); exit; end; end; Gruss Holger |
Re: Datei unter einem anderem Namen speichern
du kannst mit
Delphi-Quellcode:
dateien kopieren...
CopyFile(PChar(Quelle), PChar(Ziel), False);
|
Re: Datei unter einem anderem Namen speichern
Danke,
das klappt, aber er überschreibt eine existierende Datei nicht mehr ... Wie bekomme ich das denn hin ? Gruss Holger |
Re: Datei unter einem anderem Namen speichern
Zitat:
wie Du Dateien kopieren kannst hat dominikkv ja schon gesagt. Allerdings wollte ich noch kurz ergänzen, warum Dein Code nicht funktioniert. Die TSaveDialog-Komponente hat eine Funktion, die ganz analog zu der eines TOpenDialog ist. Es sind nur Dialoge, die den Benutzer nach einem Pfad fragen. In einem Fall geht es darum, dass Du die Datei mit dem entsprechenden Pfad gerne öffnen möchtest, im anderen Fall möchtest Du eine Datei mit angegebenen Pfad speichern. Der Dialog übernimmt dabei nur das Ermitteln des Pfades (also der String wohin gespeichert / von wo gelesen werden soll). Das Laden oder speichern hat aber nichts mit den Dialogen selbst zu tun! In den von mir zitierten Zeilen setzt Du den Wert der FileName-Eigenschaft eines TSaveDialog. In der nächsten Zeile speicherst Du das TStrings-Objekt Files unter einem bestimmten Namen. Da Du der StringList Files aber keinen Eintrag hinzugefügt hast ist die leer (ergibt dann die 0 kByte Datei). Die eigentliche Verwendung eines TSaveDialog hätte viel mehr die Form
Delphi-Quellcode:
Wie Du siehst ähnelt das sehr stark der Verwendung des TOpenDialog. Die Files Eigenschaft (die Du auch bei TOpenFileDialog findest) dient nur der Mehrfachauswahl von Dateien. Macht natürlich mehr Sinn, wenn Du Dateien öffnest. Hier kannst Du dann das Öffnen von mehr als einer Datei zulassen und würdest diese alle in der Files Eigenschaft (ein TStrings-Objekt) finden.
if SaveDialogXYZ.execute then
begin ZuSpeicherndesObjekt.saveToFile(SaveDialogXYZ.FileName); end; Gruß Der Unwissende |
Re: Datei unter einem anderem Namen speichern
DeleteFile zuerst aufrufen
|
Re: Datei unter einem anderem Namen speichern
Zitat:
//Edit: AFAIR sollte das "FALSE" aber eigentlich dafür sorgen, dass deine alten Dateien automatisch überschrieben werden... :gruebel:- |
Re: Datei unter einem anderem Namen speichern
Habe das ja nun mit dem CopyFile Befehl versucht und da überschreibt er das alte File nicht.
Was mache ich da falsch ? Gruss Holger |
Re: Datei unter einem anderem Namen speichern
Zitat:
Delphi-Quellcode:
CopyFile(PChar(Quelle), PChar(Ziel), True);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 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