Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Kopierproblem


DAZZLE - Fr 12.09.08 22:38
Titel: Kopierproblem
Hallo,
ich bin noch ein totaler Anfänger im Programmieren und hab mal versucht mir ein Programm zum kopieren von Ordnern und Dateien zu basteln. Delphi 6.0 zeigt mir keinen fehler an aber das Programm kopiert nichts.

Ich hoffe ihr könnt mir helfen und den Unit berichtigen.



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
unit u_Kopieren;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, DB, DBClient, Provider;

type
  TForm1 = class(TForm)
    lbl_Quelle: TLabel;
    lbl_Ziel: TLabel;
    edt_quelle: TEdit;
    edt_ziel: TEdit;
    rdg_auswahlQuelle: TRadioGroup;
    btu_kopieren: TButton;
    btu_kopieren2: TButton;
    btu_abbrechen: TButton;
    rdg_auswahlZiel: TRadioGroup;
    procedure btu_abbrechenClick(Sender: TObject);
    procedure btu_kopierenClick(Sender: TObject);
    procedure btu_kopieren2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  vQuelle, vZiel : string;
  vRadioQuelle, vRadioZiel : Integer;

implementation

{$R *.dfm}

//*****************************************************************************

procedure TForm1.btu_abbrechenClick(Sender: TObject);
label Quelle;


begin
close;

end;//TForm1.btu_abbrechenClick(Sender: TObject);

//*****************************************************************************
procedure TForm1.btu_kopierenClick(Sender: TObject);
begin

// Radiogroup auslesen
vRadioQuelle := (rdg_auswahlquelle.itemindex) ;
rdg_auswahlquelle.itemindex := vRadioQuelle;

vRadioZiel := (rdg_auswahlziel.ItemIndex) ;
rdg_auswahlziel.ItemIndex := vRadioZiel;
///////////////////////////////////////////////////////////////////////////////
//  Radiogroup auswerten
case vRadioQuelle of
        1 : edt_quelle.Text := 'P:\Delphi';
        2 : edt_quelle.Text := 'D:\Office\Delphi\IV-LK';
        3 : edt_quelle.Text := 'Schulordner';

        end;

case vRadioZiel of
        1 : edt_Ziel.Text := 'P:\Delphi';
        2 : edt_Ziel.Text := 'D:\Office\Delphi\IV-LK';
        3 : edt_Ziel.Text := 'Schulordner';

        end;   

//Felder auslesen
vQuelle := (edt_quelle.Text);
edt_quelle.Text := vQuelle;

vZiel := (edt_Ziel.text);
edt_ziel.Text := vZiel;

//Kopieren der Dateien
if not CopyFile(PChar(vQuelle), PChar(vZiel), true)
then
ShowMessage('Datei "'+vQuelle+'" konnte nicht kopiert werden!');


end;

//*****************************************************************************

procedure TForm1.btu_kopieren2Click(Sender: TObject);
begin



// Radiogroup auslesen
vRadioQuelle := (rdg_auswahlquelle.itemindex) ;
rdg_auswahlquelle.itemindex := vRadioQuelle;

vRadioZiel := (rdg_auswahlziel.ItemIndex) ;
rdg_auswahlziel.ItemIndex := vRadioZiel;
///////////////////////////////////////////////////////////////////////////////
//  Radiogroup auswerten
case vRadioQuelle of
        1 : edt_quelle.Text := 'P:\Delphi';
        2 : edt_quelle.Text := 'D:\Office\Delphi\IV-LK';
        3 : edt_quelle.Text := 'ordner';       

        end;

case vRadioZiel of
        1 : edt_Ziel.Text := 'P:\Delphi';
        2 : edt_Ziel.Text := 'D:\Office\Delphi\IV-LK';
        3 : edt_Ziel.Text := 'ordner';

        end;

//Felder auslesen
vQuelle := (edt_quelle.Text);
edt_quelle.Text := vQuelle;

vZiel := (edt_Ziel.text);
edt_ziel.Text := vZiel;

//Kopieren der Dateien
if not CopyFile(PChar(vQuelle), PChar(vZiel), false)
then
ShowMessage('Datei "'+vQuelle+'" konnte nicht kopiert werden!');


end;

end.


Vielen Dank DAZZLE

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt


jaenicke - Fr 12.09.08 23:18

Naja, also dein Aufruf von CopyFile sieht mir so aus als würdest du Ordner statt Dateien übergeben, naja und CopyFile hört sich irgendwie so an als müsstest du einen Dateinamen angeben, findest du nicht? ;-)

Du müsstest um Ordner zu kopieren die Dateien darin suchen und alle kopieren.

Außerdem, was soll das denn werden?

Delphi-Quelltext
1:
2:
vZiel := (edt_Ziel.text);
edt_ziel.Text := vZiel;
In edt_Ziel muss der Inhalt von vZiel ja schon drin sein, du hast es ja da her geholt ;-). Die zweite Zeile kannst du dir sparen.


Boldar - Fr 12.09.08 23:19

Also:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
unit u_Kopieren;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, DB, DBClient, Provider;

type
  TForm1 = class(TForm)
    lbl_Quelle: TLabel;
    lbl_Ziel: TLabel;
    edt_quelle: TEdit;
    edt_ziel: TEdit;
    rdg_auswahlQuelle: TRadioGroup;
    btu_kopieren: TButton;
    btu_kopieren2: TButton;
    btu_abbrechen: TButton;
    rdg_auswahlZiel: TRadioGroup;
    procedure btu_abbrechenClick(Sender: TObject);
    procedure btu_kopierenClick(Sender: TObject);
    procedure btu_kopieren2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  vQuelle, vZiel : string;
  vRadioQuelle, vRadioZiel : Integer;

implementation

{$R *.dfm}

//*****************************************************************************
procedure TForm1.btu_abbrechenClick(Sender: TObject);
label Quelle;  //Was soll das sein? Du deklarierst damit eine sprungmarke


begin
close;

end;//TForm1.btu_abbrechenClick(Sender: TObject);
//*****************************************************************************
procedure TForm1.btu_kopierenClick(Sender: TObject);
begin

// Radiogroup auslesen
vRadioQuelle := (rdg_auswahlquelle.itemindex) ;
rdg_auswahlquelle.itemindex := vRadioQuelle;

vRadioZiel := (rdg_auswahlziel.ItemIndex) ;
rdg_auswahlziel.ItemIndex := vRadioZiel;
  ///___> Was soll das?
///////////////////////////////////////////////////////////////////////////////
//  Radiogroup auswerten
case vRadioQuelle of
        1 : edt_quelle.Text := 'P:\Delphi';
        2 : edt_quelle.Text := 'D:\Office\Delphi\IV-LK';
        3 : edt_quelle.Text := 'Schulordner';

        end;

case vRadioZiel of
        1 : edt_Ziel.Text := 'P:\Delphi';
        2 : edt_Ziel.Text := 'D:\Office\Delphi\IV-LK';
        3 : edt_Ziel.Text := 'Schulordner';

        end;   

//Felder auslesen
vQuelle := (edt_quelle.Text);
edt_quelle.Text := vQuelle;

vZiel := (edt_Ziel.text);
edt_ziel.Text := vZiel;
  ///////////////---> Was soll das?

//Kopieren der Dateien
if not CopyFile(PChar(vQuelle), PChar(vZiel), true)
then
ShowMessage('Datei "'+vQuelle+'" konnte nicht kopiert werden!');


end;

//*****************************************************************************
procedure TForm1.btu_kopieren2Click(Sender: TObject);
begin



// Radiogroup auslesen
vRadioQuelle := (rdg_auswahlquelle.itemindex) ;
rdg_auswahlquelle.itemindex := vRadioQuelle;

vRadioZiel := (rdg_auswahlziel.ItemIndex) ;
rdg_auswahlziel.ItemIndex := vRadioZiel;
///////////////////////////////////////////////////////////////////////////////
//  Radiogroup auswerten
case vRadioQuelle of
        1 : edt_quelle.Text := 'P:\Delphi';
        2 : edt_quelle.Text := 'D:\Office\Delphi\IV-LK';
        3 : edt_quelle.Text := 'ordner';       

        end;

case vRadioZiel of
        1 : edt_Ziel.Text := 'P:\Delphi';
        2 : edt_Ziel.Text := 'D:\Office\Delphi\IV-LK';
        3 : edt_Ziel.Text := 'ordner';

        end;

//Felder auslesen
vQuelle := (edt_quelle.Text);
edt_quelle.Text := vQuelle;

vZiel := (edt_Ziel.text);
edt_ziel.Text := vZiel;

//Kopieren der Dateien
if not CopyFile(PChar(vQuelle), PChar(vZiel), false)
then
ShowMessage('Datei "'+vQuelle+'" konnte nicht kopiert werden!');


end;

end.



edith sagt: mist, zu langsam