Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Datei 1 mit Datei 2 ersetzen (https://www.delphipraxis.net/123274-datei-1-mit-datei-2-ersetzen.html)

Hobby-Programmierer 29. Okt 2008 23:20

Re: OpenDialg1 und OpenDialog2
 
... vielleicht noch prüfen ob es sich um das gleiche Verzeichnis handelt - dann nur Dateinamen von Datei 2 ändern und Datei 1 löschen. Sonst wie Muhkuh bereits vorgeschlagen hat.

Gonzo85 30. Okt 2008 13:01

Re: OpenDialg1 und OpenDialog2
 
Zitat:

Ne genauere Beschreibung wäre cool ;) bin noch Anfänger.

Gonzo85 30. Okt 2008 13:08

Re: OpenDialg1 und OpenDialog2
 
Code is bisher Ziemlich Simple und sieht so aus:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    Button2: TButton;
    OpenDialog1: TOpenDialog;
    OpenDialog2: TOpenDialog;
    Button3: TButton;
    Button4: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin
Opendialog1.Execute;
edit1.Text:=OpenDialog1.FileName;
end;

procedure TForm1.Edit1Change(Sender: TObject);
Var a:string;
begin

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
OpenDialog2.Execute;
edit2.Text:=OpenDialog2.FileName;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin

end;

end.
Was muss ich für CopyFile und sowas machen? Iwie muss es ja umbenannt werden und dann die alte Datei ersetzen.

mfg

SirThornberry 30. Okt 2008 13:08

Re: OpenDialg1 und OpenDialog2
 
Kannst du deinem Beitrag bitte einen aussagekräftigen Titel geben? Danke :-D
Auch ist es nicht gern gesehen wenn du innerhalb von 24 Stunden pushst. Als Pushen bezeichnet man, wenn jemand einen Beitrag durch einen neue Antwort nach oben bringt. Nutze zukünftig innerhalb so kurzer Zeit wenn noch kein anderer zwischenzeitlich etwas gepostet hat die Edit-Funktion.

DeddyH 30. Okt 2008 13:18

Re: Datei 1 mit Datei 2 ersetzen
 
1. Bitte gewöhne Dir eine durchschaubare Einrückung an, das macht den Code leichter lesbar.
2. Die Execute-Methode eines Dialogs ist eine Funktion, also sollte man den Rückgabewert auswerten.
3. Versuch mal, diese Funktion einzubinden (ohne Gewähr, da aus dem Kopf getippt):
Delphi-Quellcode:
function Umbenennen(const OldName, NewName: string): Boolean;
begin
  Result := MoveFileEx(PAnsiChar(OldName),PAnsiChar(NewName),MOVEFILE_REPLACE_EXISTING);
end;

Gonzo85 30. Okt 2008 21:08

Re: Datei 1 mit Datei 2 ersetzen
 
Iwie weiß ich net wie cih den jetzt genau ändern muss damit das ergebnis da sich haben will daraus kommt ?

mfg

Hobby-Programmierer 30. Okt 2008 21:52

Re: Datei 1 mit Datei 2 ersetzen
 
sollte so funktionieren (Freestyle ohne Delphi)
Delphi-Quellcode:
const alteDatei = 'c:\alterName.txt';
      neueDatei = 'c:\neuerName.txt';
begin
  if Umbenennen(alterName, neuerName) then
    ShowMessage('erfolgreich');
end;
obwohl ich den Funktionsnamen eher unpassend und irreführend finde.

DeddyH 31. Okt 2008 09:41

Re: Datei 1 mit Datei 2 ersetzen
 
Der Funktionsname lässt sich ja anpassen, seid doch nicht so unflexibel :?

Hobby-Programmierer 31. Okt 2008 16:18

Re: Datei 1 mit Datei 2 ersetzen
 
Jap, hast ja recht! :cheers:
Meine Delphi-Hilfe kennt leider kein
Delphi-Quellcode:
MoveFileEx
:gruebel:
Deshalb habe ich kurz ein paar Fragen:
- ist ein verschieben über Laufwerke hinweg möglich?
- werden die Datei und Sicherheitsattribute übernommen?

LG Mario

DeddyH 31. Okt 2008 16:22

Re: Datei 1 mit Datei 2 ersetzen
 
In meiner Delphi 7-Hilfe steht die Funktion aber drin (OK, ist eine API-Funktion). Aber bitteschön: MSDN-Library durchsuchenMoveFileEx
Ob die Attribute dabei übernommen werden, kann ich da auch nicht herauslesen, das muss man halt ausprobieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 Uhr.
Seite 2 von 3     12 3      

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