Datei per Befehl von A nach B kopieren??
-
- Beiträge: 36
- Registriert: Di 24. Okt 2006, 13:58
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hemsbach
- Kontaktdaten:
Datei per Befehl von A nach B kopieren??
Hey mal ne frage, also ich würde gerne mit einem selbstgeschriebenen Programm eine Datei, beispielsweiße ein Word-Dokument von meiner Partition G:/ nach C:/ verschieben. Bloß wie mach ich das??
Probier's doch mal mit CopyFile
http://www.freepascal.org/docs-html/lcl ... dex-5.html" onclick="window.open(this.href);return false;
http://www.freepascal.org/docs-html/lcl ... dex-5.html" onclick="window.open(this.href);return false;
-
- Beiträge: 36
- Registriert: Di 24. Okt 2006, 13:58
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hemsbach
- Kontaktdaten:
also ich weiß das was falsch ist aber was??
Code: Alles auswählen
function CopyFile(c:\test.txt, d:\test.txt)(
const srctest.txt: String;
const desttest.txt: String
):Boolean;
function CopyFile(c:\test.txt, d:\test.txt)(
const srctest.txt: String;
const desttest.txt: String
):Boolean;
was geht nicht? kommt ne fehlermeldung beim compilieren oder tut sich einfach nix oder was passiert?
nimm dir mal einen button auf die form, klicke dann doppelt drauf und füge einfach nur das hier ein:
/Edit: ich glaub ich weiß jetzt was du falsch gemacht hast! Aber so sollte es gehen, zur not noch bei den uses ganz oben im Quellcode "FileUtil" dazuschreiben. Natürlich ohne "
nimm dir mal einen button auf die form, klicke dann doppelt drauf und füge einfach nur das hier ein:
Code: Alles auswählen
CopyFile('C:\Datei1', 'D:\Datei1');
-
- Beiträge: 36
- Registriert: Di 24. Okt 2006, 13:58
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hemsbach
- Kontaktdaten:
Er zeigt zwar keinen Fehler aber wenn ich auf Button1 klicke, kopiert er nichts. Hier ist der Quellecode.
ich habs dann noch ein bissel anders gemacht
aber das geht auch nicht. Fehlermeldung:
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
CopyFile('C:\Datei1', 'D:\Datei1');
end;
initialization
{$I unit1.lrs}
end.
ich habs dann noch ein bissel anders gemacht
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
function CopyFile('C:\Datei1', 'D:\Datei1');(
const SrcFilename: String;
const DestFilename: String
):Boolean;
function CopyFile(
const SrcFilename: String;
const DestFilename: String;
PreserveTime: Boolean
):Boolean;
implementation
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
CopyFile('C:\Datei1', 'D:\Datei1');
end;
initialization
{$I unit1.lrs}
end.
aber das geht auch nicht. Fehlermeldung:
Code: Alles auswählen
unit1.pas(27,19)Error: Bezeichner erwartet aber 'C:\Datei1' gefunden
Have fun
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
resourcestring
SFileNotCopy = 'Datei konnte nicht kopiert werden: %s';
{ TForm1 }
{$IFnDEF LINUX}
function SystemMsgToStr(ErrorID: Integer): string;
var
PCh: PChar;
S: String;
begin
PCh := StrAlloc($FFFF);
try
if FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,nil,ErrorID,0,PCh,$FFFF,nil) <> 0 then
Result := PCh
else
Result := InttoStr(ErrorID)
finally
StrDispose(PCh);
end;
end;
{$ENDIF}
procedure TForm1.Button1Click(Sender: TObject);
begin
if not CopyFile('C:\Datei1', 'D:\Datei1') then
{$IFnDEF LINUX}
raise Exception.CreateFmt(SFileNotCopy, [SystemMsgToStr(GetLastError)]);
{$ELSE}
raise Exception.CreateFmt(SFileNotCopy, [IntToStr(GetLastError)]);
{$ENDIF}
end;
initialization
{$I unit1.lrs}
end.
Naja, aber verstehen tust du das jetzt wohl erst recht nicht, stimmt's?Napster hat geschrieben:Very cool thx. Endlich mal ne completter Quelletet. Aber auch danke an die anderen.

Deine erste Lösung vom 7/11/2006, 14:13 hätte eigentlich funktionieren müssen.
Was Du da aber unter "ich habs dann noch ein bissel anders gemacht" schreibst is kompletter Käse

Schau doch mal in ein Pascal Buch!
Ich empfehle „Das große Buch zu Turbo Pascal 5.0 / 5.5“
http://www.hood.de/auction/21820243/dat ... -0-5-5.htm" onclick="window.open(this.href);return false;
http://www.hood.de/auction/21820243/dat ... -0-5-5.htm" onclick="window.open(this.href);return false;