| Autor |
Beitrag |
ByStones
      
Beiträge: 92
Erhaltene Danke: 1
Windows XP
Delphi 2005
|
Verfasst: Mo 02.05.05 15:30
Hi,
wie kopiere ich einfach eine Datei an einen anderen Ort ???
nach diesem prinzip:
Delphi-Quelltext 1:
| Copy('C:\test.dat','C:\test\'); |
Bitte keine 100m Code, es muss nähmlich in ca. 2min eingebaut sein.
//Edit:
Die Datei darf nicht mit DB.LoadFormFile geöffnet und mit DB.SaveToFile gespeichert werden !!!
Zuletzt bearbeitet von ByStones am Mo 02.05.05 15:39, insgesamt 1-mal bearbeitet
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mo 02.05.05 15:32
Ich glaube, das heißt Copyfile (siehe OH)
|
|
bug0815
      
Beiträge: 62
Win2000, Xp, Vista
Delphi 2006, 2009
|
Verfasst: Mo 02.05.05 15:33
Man kann die Datei einfach incl. ihrem Pfad umbenennen.
Delphi-Syntax:
Delphi-Quelltext 1:
| function RenameFile(const OldName, NewName: string): Boolean; |
Zuletzt bearbeitet von bug0815 am Mo 02.05.05 15:37, insgesamt 1-mal bearbeitet
|
|
ByStones 
      
Beiträge: 92
Erhaltene Danke: 1
Windows XP
Delphi 2005
|
Verfasst: Mo 02.05.05 15:33
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mo 02.05.05 15:36
Das heißt wirklich CopyFile und ist eine API-Funktion.
|
|
ByStones 
      
Beiträge: 92
Erhaltene Danke: 1
Windows XP
Delphi 2005
|
Verfasst: Mo 02.05.05 15:37
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mo 02.05.05 15:39
So, aus meiner Bilbiothek:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function DateiKopieren(Quelle : String; Ziel : String) : Boolean; var pQuelle, pZiel : Array [0..120] of Char; OK : Boolean; begin OK := False; StrPCopy(pQuelle, Quelle); StrPCopy(pZiel, Ziel); CopyFile(pQuelle, pZiel, OK); Result := OK; end; |
|
|
ByStones 
      
Beiträge: 92
Erhaltene Danke: 1
Windows XP
Delphi 2005
|
Verfasst: Mo 02.05.05 15:46
|
|
chrisw
      
Beiträge: 439
Erhaltene Danke: 3
W2K
D7
|
Verfasst: Mo 02.05.05 15:50
Delphi-Quelltext 1:
| copyfile(PChar('C:\test.dat'),PChar('C:\test\test.dat'),False); |
_________________ Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
Zuletzt bearbeitet von chrisw am Mo 02.05.05 15:54, insgesamt 1-mal bearbeitet
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mo 02.05.05 15:52
Du weist aber schon, was eine Funktion und Parameter sind, oder?
Falls nicht, fehlen dir essentielle Grundlagen.
Du kannst diese Funktion benutzen und dich später damit auseinandersetzen. Bisher hat die Funktion bei mir immer funktioniert.
|
|
huhn
      
Beiträge: 272
Erhaltene Danke: 1
WIN XP
D7Pers
|
Verfasst: Mo 02.05.05 16:02
Ausm kopf!
ein opendialog und ein savedialog auf die form ziehen!
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure button1.click(blabla); var DataFile:TMemoryStream; begin if opendialog1.execute and savedialog1.execute then begin try DataFile:=TMemoryStream.Create; DataFile.LoadFromFile(od.filename); DataFile.SaveToFile(sd.filename); finally DataFile.Free; end; end; end; |
mfg huhn
_________________ Quod Erat Demonstrandum-Was zu beweisen war! *THX to Chrissivo!*
Zuletzt bearbeitet von huhn am Mo 02.05.05 16:27, insgesamt 1-mal bearbeitet
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 02.05.05 16:08
jasocul hat folgendes geschrieben: | | Du kannst diese Funktion benutzen und dich später damit auseinandersetzen. Bisher hat die Funktion bei mir immer funktioniert. |
Gib am besten ein Beispiel. Ich weiß, dass das nervt, aber es gibt solche Leute, die fummeln in den Funktionen rum und wundern sich dann, warum hinterher gar nichts mehr geht.
@huhn: Klappt nicht, weil du was vergessen hast. Den Kopf noch mal anstrengen. 
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mo 02.05.05 16:30
@MathiasSimmack:
Er wollte was schnelles in 3 Minuten haben. Da nehme ich mir nicht die Zeit ein Tutorial für den Aufruf eine Funktion zu schreiben
Trotzdem hier ein Beispiel, wie man die Funktion aufruft:
Delphi-Quelltext 1: 2: 3: 4:
| if DateiKopieren('C:\test.dat','C:\test\test.dat') then ShowMessage('Kopie erfolgreich') else ShowMessage('Kopie nicht erfolgreich'); |
Die Funktion StrPCopy kann man in der OH nachlesen. Die ist erforderlich, da API-Parameter vom Typ PChar sind, ich in der Funktion aber Strings als Parameter übergebe.
|
|
huhn
      
Beiträge: 272
Erhaltene Danke: 1
WIN XP
D7Pers
|
Verfasst: Mo 02.05.05 16:31
uuppps !
so ein mischgeschickt
naja ich nehm halt immer od und sd für die dialoge
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.Button1Click(Sender: TObject); var DataFile:TMemoryStream; begin if opendialog1.execute and savedialog1.execute then begin try DataFile:=TMemoryStream.Create; DataFile.LoadFromFile(opendialog1.filename); DataFile.SaveToFile(savedialog1.filename); finally DataFile.Free; end; end; end; |
so des is getestet und funktioniert!
mfg huhn
_________________ Quod Erat Demonstrandum-Was zu beweisen war! *THX to Chrissivo!*
|
|
huhn
      
Beiträge: 272
Erhaltene Danke: 1
WIN XP
D7Pers
|
Verfasst: Mo 02.05.05 16:35
ich hab des noch von Mutze1 gefunden:
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:
| Function FileCopy(Const OrgFN, CopyFN : AnsiString) : Boolean; Var InFile, OutFile : TFileStream; Begin InFile := TFileStream.Create(OrgFN, fmOpenRead Or fmShareDenyNone); Try Try OutFile := TFileStream.Create(CopyFN, fmCreate); Try OutFile.CopyFrom(InFile, 0); Result := True; Except FreeAndNil(OutFile); FreeAndNil(InFile); Result := False; End; Except If Assigned(InFile) Then FreeAndNil(InFile); If Assigned(OutFile) Then FreeAndNil(OutFile); Result := False; End; Finally If Assigned(InFile) Then FreeAndNil(InFile); If Assigned(OutFile) Then FreeAndNil(OutFile); End; End; |
hier wird direkt kopiert ohne die datei in den arbeitsspeicher zu lesen.
_________________ Quod Erat Demonstrandum-Was zu beweisen war! *THX to Chrissivo!*
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 02.05.05 17:00
jasocul hat folgendes geschrieben: |
Die Funktion StrPCopy kann man in der OH nachlesen. Die ist erforderlich, da API-Parameter vom Typ PChar sind, ich in der Funktion aber Strings als Parameter übergebe. |
Ist aber unnötig, mit der Kompilermagic reicht ein einfacher Cast nach PChar.
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mo 02.05.05 17:05
Stimmt. Die Funktion ist aber schon ein paar Jährchen alt. Da hatte ich noch nicht soviel Erfahrung mit der API.
Sollte ich wirklich mal anpassen. 
|
|