AssignFile の F : TextFile;←この部分

解決


まいたけ  2008-08-01 16:10:27  No: 31449  IP: 192.*.*.*

procedure TForm1.Button1Click(Sender: TObject);
var
  F : TextFile;
begin
  AssignFile(F, 'D:\AAA.txt');
  Rewrite(F);
  CloseFile(F);
  FileSetAttr('D:\AAA.txt', faHidden);
end;



F : TextFile;←この部分の質問なのですが。
かりにファイルがwmv.avi.doc.exe.dll
だったりする場合どういう表記になるのでしょうか?

編集 削除
にゃがにゃが  2008-08-01 17:15:07  No: 31450  IP: 192.*.*.*

F : File;
とかじゃダメなの?

編集 削除
まいたけ  2008-08-01 17:15:59  No: 31451  IP: 192.*.*.*

F : File;
にしたら実行できなかったりとかします。

編集 削除
まいたけ  2008-08-01 17:41:45  No: 31452  IP: 192.*.*.*

ただしいWin32ではありませんとかなります。

編集 削除
それは  2008-08-01 18:00:07  No: 31453  IP: 192.*.*.*

コードの書き方が悪いからだと思うよ。
どんなコード書いたのかな?

編集 削除
まいたけ  2008-08-01 18:09:12  No: 31454  IP: 192.*.*.*

普通に指定したEXEファイルを下記のコードで隠しファイルにしてるだけなんですが。

procedure TForm1.Button1Click(Sender: TObject);
var
  F : File;
begin
  AssignFile(F, 'C:\AAA.exe');
  Rewrite(F);
  CloseFile(F);
  FileSetAttr('C:\AAA.exe', faHidden);
end;

どうでしょうか?

編集 削除
igy  2008-08-01 18:16:11  No: 31455  IP: 192.*.*.*

OSは?
Delphiのバージョンは?
エラーは起動時に表示するのですか?
それともボタンをクリックしたときに表示するのですか?

編集 削除
まいたけ  2008-08-01 18:18:11  No: 31456  IP: 192.*.*.*

XP ターボDelhpiです。

できれば、起動時に行いたいです。
結果のファイルが0キロバイトになってしまいます。

編集 削除
igy  2008-08-01 18:20:29  No: 31457  IP: 192.*.*.*

>結果のファイルが0キロバイトになってしまいます。

それは、プログラムでそのようになるように作っているからでは?

編集 削除
というより  2008-08-01 18:24:13  No: 31458  IP: 192.*.*.*

>  FileSetAttr('C:\AAA.exe', faHidden);
これだけじゃ、マズイでしょ。
AAA.exeが隠しファイルだけじゃなくて、その他の属性も変っちゃうよ。
FileSetAttrのヘルプを良く読んでごらん。

編集 削除
まいたけ  2008-08-01 18:25:24  No: 31459  IP: 192.*.*.*

ん〜  0キロファイルを作っている結果になっているのでしょうか?
コピーしたらいいのですか?

コードかいていただけないでしょうか?

編集 削除
もそもそ  2008-08-01 18:30:28  No: 31460  IP: 192.*.*.*

なんで0KBになるのか知りたければヘルプでRewriteを調べれば出てます。
が、そもそもFileSetAttrするのにファイルを開く必要はありません。
その上の3行は(ファイルの中身を消して空にする以外)何の意味もなし。

編集 削除
igy  2008-08-01 18:32:14  No: 31461  IP: 192.*.*.*

>ん〜  0キロファイルを作っている結果になっているのでしょうか?

>  AssignFile(F, 'C:\AAA.exe');
>  Rewrite(F);
>  CloseFile(F);

これは、'C:\AAA.exe'を新規作成し、(なにも書き込まず)ファイルを閉じて
いるので、0キロバイトのファイルを作成していると思うのですが、
既存のファイルの属性を変えるだけでしたら、この処理が不要だと思うのですが。

編集 削除
もしかして  2008-08-01 18:38:57  No: 31462  IP: 192.*.*.*

ぺんね。=まいたけ
じゃないのかな?

編集 削除
まいたけ  2008-08-01 18:41:30  No: 31463  IP: 192.*.*.*

解決いたしました。w

編集 削除