03. november 2000 - 10:56
Der er
1 kommentar og
1 løsning
copy file
procedure TForm2.Button1Click(Sender: TObject);
Jeg vil kopiere en filen misstp3.exe til den folder der kommer fra caption2.
Hvorfor virker det her ikke??
var
dest:ansistring;
begin
dest := label2.Caption + \'\\MissTp3.exe\';
copyfile(\'MissTp3.exe\',Pchar(dest),false);
end;
Hvis jeg skriver stien hvor filen skal ligge direkte, så virker det.
ps. copy file ses således ud:
The CopyFile function copies an existing file to a new file.
BOOL CopyFile(
LPCTSTR lpExistingFileName, // pointer to name of an existing file
LPCTSTR lpNewFileName, // pointer to filename to copy to
BOOL bFailIfExists // flag for operation if file exists
);
03. november 2000 - 11:00
#2
hej Cranker
Jeg vil anbefale dig at bruge dette biblotek :
unit FileHandling;
interface
uses
ShellAPI, Windows, SysUtils;
Function DeleteFiles( Files : String) : Boolean;
Function CopyFiles( From, Dest : String) : Boolean;
Function MoveFiles( From, Dest : String) : Boolean;
Function RenameFiles( From, Dest : String) : Boolean;
Function GetFileSize(FileName : TFileName) : Integer;
implementation
Function ExecuteOp(From : String; Dest : String; IdOp : Integer) : Boolean;
var
SHFileOpStruct : TSHFileOpStruct;
zFrom, zDest : array [0..MAX_PATH+2] of Char;
begin
From := ExpandFileName(From);
Dest := ExpandFileName(Dest);
ZeroMemory(@zFrom, SizeOf(zFrom));
ZeroMemory(@zDest, SizeOf(zDest));
StrCopy(zFrom, PChar(From));
StrCopy(zDest, PChar(Dest));
SHFileOpStruct.Wnd := GetActiveWindow();
SHFileOpStruct.wFunc := IdOp;
SHFileOpStruct.pFrom := zFrom;
SHFileOpStruct.pTo := zDest;
if IdOp <> FO_DELETE then
SHFileOpStruct.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR
else
SHFileOpStruct.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
Result := Boolean(SHFileOperation(SHFileOpStruct));
Result := Result and (SHFileOpStruct.fAnyOperationsAborted);
end;
Function CopyFiles( From, Dest : String) : Boolean;
begin
result := ExecuteOp(From,Dest, FO_COPY);
end;
Function DeleteFiles( Files : String) : Boolean;
begin
Result := ExecuteOp(Files,\'\', FO_DELETE);
end;
Function MoveFiles( From, Dest : String) : Boolean;
begin
Result := ExecuteOp(From,Dest, FO_MOVE);
end;
Function RenameFiles( From, Dest : String) : Boolean;
begin
if (ExtractFilePath(From) <> \'\') and (ExtractFilePath(Dest) = \'\') then
Dest := ExtractFilePath(From) + Dest;
Result := ExecuteOp(From,Dest, FO_RENAME);
end;
Function GetFileSize(FileName : TFileName) : Integer;
var
SearchRec : TSearchRec;
begin
if FindFirst(ExpandFileName(FileName), faAnyFile, SearchRec) = 0 then
Result := SearchRec.Size
else
Result := -1;
FindClose (SearchRec);
end;
end.
det virker !
Jens B