AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Mit Delphi Dateien kopieren

Ein Thema von FreakLitkowsky · begonnen am 10. Jun 2007 · letzter Beitrag vom 17. Jun 2007
Antwort Antwort
Seite 2 von 3     12 3   
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Mit Delphi Dateien kopieren

  Alt 10. Jun 2007, 20:11
Hi,

dir fehlen jegliche Grundlagen. Arbeite mal diesen Crashkurs durch. Da wird auf Funktionen und ähnliches genau eingegangen.
  Mit Zitat antworten Zitat
Benutzerbild von FreakLitkowsky
FreakLitkowsky

Registriert seit: 2. Jan 2007
50 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Mit Delphi Dateien kopieren

  Alt 10. Jun 2007, 20:21
Danke werde ich mich sofort dransetzen.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

Re: Mit Delphi Dateien kopieren

  Alt 10. Jun 2007, 20:21
Also

Beispiel:

CopyFile(PChar('C:\Datei.dat'),PChar('C:\Programme\Datei.dat'),false); Das kopiert die Datei Datei.dat von C:\ nach C:\Programme\. Der letzte Parameter an gibt an ob der Vorgang fehlschlägt wenn die Zieldatei schon existiert. Also false bedeutet überschreiben.

DeddyH hat das ganze nur in eine eigene Funtkion gpackt:

Delphi-Quellcode:
function DateiKopieren(const Quelle, Ziel: string; Ueberschreiben: Boolean = true): Boolean;
begin
  Result := CopyFile(PChar(Quelle),PChar(Ziel),not Ueberschreiben);
end;
Aufruf:

DateiKopieren('C:\Datei.dat','C:\Programme\Datei.dat',true); ergibt das gleiche wie oben.

Jede Funktion hat ein Ergebnis. Dieses Ergebnis muss man der Funktion zuweisen. Entweder nimmt man den Functionsnamen oder man nimmt "Result".

Beispiel

Delphi-Quellcode:
function Addieren(a,b: Integer): Integer;
begin
  Result := a + b;
end;
oder eben

Delphi-Quellcode:
function Addieren(a,b: Integer): Integer;
begin
  Addieren := a + b;
end;
Aufrufen tut man die function dann so:

Delphi-Quellcode:
var Ergebnis: Integer;
begin
  Ergebnis := Addieren(5,3);
end;
Die function CopyFile hat auch ein Ergebnis.. Aber vom Typ Boolean (true/false). True bedeutet das die Datei erfolgreich kopiert wurde, false bedeutet einen Fehlschlag.

=>

Delphi-Quellcode:
if CopyFile(PChar('C:\Datei.dat'),PChar('C:\Programme\Datei.dat'),false) then
  ShowMessage('Datei erfolgreich kopiert!')
else ShowMessage('Fehler beim kopieren!');
Ich hoffe ich konnte da etwas Klarheit in die Sache bringen

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Mit Delphi Dateien kopieren

  Alt 10. Jun 2007, 20:24
Super erklärt , aber ein kleiner Nachtrag: meine Funktion kann mit 2 oder 3 Parametern aufgerufen werden. Die beiden Pflicht-Parameter sind die Dateinamen. Wenn der 3. Parameter nicht angegeben wird, wird davon ausgegangen, dass die Datei überschrieben werden soll.

//Edit: Nachtrag zum Nachtrag: Obwohl es sich um eine Funktion (also mit Rückgabewert) handelt, muss dieser Rückgabewert nicht zwingend ausgewertet werden. Falls es den Threadsersteller also nicht interessieren sollte, ob die Datei kopiert wurde, kann er die Zuweisung auch sein lassen und einfach (Beispiel)DateiKopieren('C:\Quelle.txt','C:\Ziel.txt'); aufrufen. Inwieweit das sinnvoll ist, muss jeder selber wissen. So, nun mach ich aber Feierabend für heute.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von FreakLitkowsky
FreakLitkowsky

Registriert seit: 2. Jan 2007
50 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Mit Delphi Dateien kopieren

  Alt 10. Jun 2007, 21:14
Ahhh, jetzt hab ich es verstanden.

Danke
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#16

Re: Mit Delphi Dateien kopieren

  Alt 10. Jun 2007, 21:26
Und noch was:

Wenn du die Funktion nur einfach einfügst, kannst du sie nur von Codestellen aus aufrufen, die unterhalb davon liegen.

Damit du die Funktion auch woanderst aufrufen kannst, musst du ihre "Titelzeile" noch oben in den Interface-Teil einfügen, also inetwa so:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

//hier einfügen
function DateiKopieren(const Quelle, Ziel: string; Ueberschreiben: Boolean = true): Boolean;

var
  Form1: TForm1;

implementation

{$R *.dfm}


(...)


//und hier unten dann die komplette funktion rein
Wenn du die Funktion einfach nur "so" in den Codeabschnitt reinschreibst, ohne sie oben zu definieren, ist das "schlampig programmiert".
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von FreakLitkowsky
FreakLitkowsky

Registriert seit: 2. Jan 2007
50 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Mit Delphi Dateien kopieren

  Alt 13. Jun 2007, 11:21
Okay ich habs jetzt einigermaßen verstanden.

Jetzt hab ich eine neue Frage :
Wie kann ich ein ganzes Verzeichniss (Also einen Ordner plus Daten) kopieren?
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#18

Re: Mit Delphi Dateien kopieren

  Alt 13. Jun 2007, 11:25
Hiermit

Uses ShellApi
Delphi-Quellcode:
function TForm7.MoveDir(const fromDir, toDir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_MOVE;
    fFlags := FOF_FILESONLY;
    pFrom := PChar(fromDir + von Deinem ordner;
    pTo := PChar(toDir zu diesem Ordner;
  end;
  Result := (0 = ShFileOperation(fos));
  Timer1.Enabled:= False;
end;
Delphi-Quellcode:
procedure TForm7.ordnerverschieben;
Var pFrom,pTo :String;
begin
    if MoveDir(pFrom,pTo) = True then
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von FreakLitkowsky
FreakLitkowsky

Registriert seit: 2. Jan 2007
50 Beiträge
 
Delphi 7 Enterprise
 
#19

Re: Mit Delphi Dateien kopieren

  Alt 13. Jun 2007, 15:27
Hi!
Ich wollte den Ordner nicht verschieben, sondern kopieren.
Trotzdem danke.
  Mit Zitat antworten Zitat
Benutzerbild von FreakLitkowsky
FreakLitkowsky

Registriert seit: 2. Jan 2007
50 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Mit Delphi Dateien kopieren

  Alt 15. Jun 2007, 20:33
Halloooo jemand da?
Euer FreakLitkowsky
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:11 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