如何让程序在Delphi 7中保存

时间:2012-11-25 07:39:32

标签: delphi delphi-7 save

如何让我的Delphi 7程序将自己保存到新位置。例如,程序保存在我的闪存棒上,然后当我运行它时,我希望它将自己保存在c:\ user \(用户名)

以上是原始问题。

这是我尝试使用的代码。该程序运行完美,但当我检查文件夹它应该保存在它不会出现在那里。

 procedure TForm5.FormActivate(Sender: TObject);
  var source, dest : string;
 begin
  Source := 'project1.exe';
  Dest := 'C:\Users\Craig\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup';
  CopyFile(PChar(Source), PChar(Dest), False);
 end;

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

从Application.ExeName中读取可执行文件名。然后调用CopyFile来执行复制。

Source := Application.ExeName;
Dest := ...;
CopyFile(PChar(Source), PChar(Dest), False);

关于您的更新:

  1. 目的地需要是一个文件。您正在尝试将文件复制到指定文件夹的路径。
  2. 您没有检查错误。当您调用类似CopyFile的API函数时,您需要检查返回值。
  3. 你想要这样的东西:

    Source := 'project1.exe';
    Dest := 'C:\Users\...\Startup\project1.exe';
    if not CopyFile(PChar(Source), PChar(Dest), False) then
      RaiseLastOSError;
    

答案 1 :(得分:0)

试试这个:

CopyFile(PChar(C:\OldFile.exe), PChar(C:\NewFile.exe), true);