ファイルをコピーしたいのですが、うまくいきません。

解決


Lazarus始めました  2022-02-11 11:12:53  No: 150058

お世話になります。
ファイルをコピーしたいのですが、うまくいきません。
コピーするだけなら、CopyFile(PChar(tmp_file2),PChar(tmp_file1),false); でコンパイルが通るのですが、この関数を使うためにuse節にWindowsを追加し、次のプログラムを入れると、別の部分で
「Error:Incompatible type for arg no Got "TRawbyteSearchRec",expected "QWord"」と表示されます。

//別の部分
ret:=FindFirst(file_path_ini + gfile_path_tmp+search_pat,0,f);
    while(ret=0)do
    begin
      CheckListBox1.Items.Add(f.Name);
      ret:=FindNext(f);
    end;
    FindClose(f);     <<<ここでエラー

(use節にWindowsを追加しないときは次の部分は正常にコンパイルされますが、CopyFileが正常にコンパイルできません。Identifier not found "CopyFile"と表示されます。)
TFile.Copy(PChar(tmp_file2),PChar(tmp_file1),false);を使ってもうまくいかないです。

プログラムを作る方法(https://wiki.freepascal.org/CopyFile)もあるようですが、関数1行のみで済ませることはできませんか


igy  2022-02-11 13:11:52  No: 150059

> FindClose(f);     <<<ここでエラー

SysUtils.FindClose(f);
では、どうですか?


Lazarus始めました  2022-02-11 13:50:07  No: 150060

igyさん、ありがとうございます。
コンパイルもとおり動作させることが出来ました。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加