Avatar billede canker Nybegynder
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
  );
Avatar billede canker Nybegynder
03. november 2000 - 10:57 #1
var: \"dest\" kan lige så godt bare være string
Avatar billede borrisholt Novice
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
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester