Gesucht: FileCopy...

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Quit
Beiträge: 65
Registriert: So 5. Nov 2006, 18:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Luzern

Gesucht: FileCopy...

Beitrag von Quit »

Tag.

Ich suche wieder etwas.. Dieses mal FileCopy() (oder auch FileOperation()), es scheint ja nicht in ShellAPI zu sein, wie ich mit Google gelesen hätte. Es scheint irgendwie überhaupt nichts zu gehen, was ich irgendwie gefunden hätte. Wo ist FileCopy drin, wenn nicht in ShellApi?

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Nimm doch einfach CopyFile ?! :) glaub in FileUtil
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Quit
Beiträge: 65
Registriert: So 5. Nov 2006, 18:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Luzern

Beitrag von Quit »

Der Compiler sagt mir, dass er kein FileUtil kenne.. FileUtils ebenfalls nicht

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

FileUtil ist in der LCL enthalten hast die als abhängigkeit in deinem projekt ?

darin ist deklariert
function CopyFile(const SrcFilename, DestFilename: string): boolean;
function CopyFile(const SrcFilename, DestFilename: string; PreserveTime: boolean): boolean;
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

eine einfache kopier funktion kannst du auch selbst machen:

Code: Alles auswählen

procedure CopyFile(DateiNamen1, Dateinamen2:String);
var
  s1,s2:TFileStream;
begin
  s1:=TFileStream.Create(Dateinamen1.fmOpenRead);
  s2:=TFileStream.Create(Dateinamen2.fmCreate);
  // Da bin ich mir nicht so sicher ob sie nur copy hiße die funktion
  s2.copy(s1,0);
  s2.free;
  s1.free;
end;


müste klappen(habe ich jetzt nicht getestet, ist nur aus dem kopf geschrieben) !
MFG
Michael Springwald

creed steiger
Beiträge: 957
Registriert: Mo 11. Sep 2006, 22:56

Beitrag von creed steiger »


Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Hilft das?

wo ist der unterschied zu dem was ich geschrieben hab ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Du hast kein link angeben :D
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

werd ab jetz immer irgendwelche links in meine beiträge einbaun
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Quit
Beiträge: 65
Registriert: So 5. Nov 2006, 18:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Luzern

Beitrag von Quit »

Nein, LCL war nicht dabei da ich das ganze als Konsolenprogramm machte. Es wird ein Programm welches mir automatisch Dateien sortiert quasi, wenn ich sie mit dem Programm öffne. Ich danke euch vielmals!


Edit: Wa! Es geht gar nicht. Er liefert mir zwar true zurück doch die Datei wird nicht kopiert.. Was ist da los?

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Was hast du denn jetzt benutzt ?
Und du kannst ruhig die LCL als Abhängigkeit in dein Projekt übernehmen um die Pfade zu haben solang du nicht die schweren units benutzt wird das widgetset nicht mit eincompiliert.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Quit
Beiträge: 65
Registriert: So 5. Nov 2006, 18:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Luzern

Beitrag von Quit »

Ich benutzte

Code: Alles auswählen

CopyFile('foo.txt', 'bar.txt');

foo.txt ist vorhanden, enthält text ('Foobar') und ist nicht schreibgeschützt. Wie ich das eingefügt habe: Komponenten->Geladenes Package laden->LCL->[Öffnen]->Rechtsklick auf "Dateien"->Dem Projekt hinzufügen


keine Compilerfehler, er kopiert die Datei einfach nicht

[Edit] Ups - hatte FileCopy statt CopyFile geschrieben. Es steht natürlich CopyFile im Code, hatte das hier aus dem Gedächtnis geschrieben

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

was hälst du denn von meiner funktion ?

du musst evlt. noch den pfad angeben ?
MFG
Michael Springwald

Quit
Beiträge: 65
Registriert: So 5. Nov 2006, 18:58
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Luzern

Beitrag von Quit »

Der Fehler dürfte tiefer liegen - Mit GetLastError krieg ich die Meldung, dass das Handle ungültig sei (wtf)

Deine Funktion probier ich mal.. verlieren kann ich nichts ^^


Edit: Welche Units braucht deine Funktion denn?

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

die unit "Classes" wegen TFileStream !
MFG
Michael Springwald

Antworten