アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。質問があります。
delphiのアプリケーションであるディレクトリのフォルダ内のファイルを
別のディレクトリのフォルダ内に名前を変えてコピーしようと考えています。
基本的にコピー元のディレクトリ名はわかりません。
コピー先のディレクトリは存在しなければ、名前を指定して作成し、その中に名前を変更したファイルを格納する流れです
(わかりづらいかも・・・)
フォルダが存在しなければ作成したり、ファイル名を変更してコピーする
のはわかったのですが、コピー元のディレクトリ内のファイル(もしくはディレクトリ)名を取得することがわかりません。
全てソースの中でプログラムしたいと考えています。(VCLは使用しない)

こんなんでもわかっちゃったりする方がいらっしゃいましたら、
どうか愛の手を・・・

A 回答 (2件)

こんにちは、honiyonです。



  そのコードですと、FindNextには、sr1ではなくsrが渡されなければならないと思います。
  それが原因でしょうか?

  そうでなければ、まず faAnyFileを指定して、「そのフォルダの中身全部が取得出来ているか?」と試してみると良いと思います。(取得出来ていればfaDirectoryに戻してみる)

  参考になれば幸いです(..
    • good
    • 0
この回答へのお礼

すみません。わかりました。
findfirstのディレクトリでディレクトリを示す文字列の最後に'\'が抜けて
いました。
現在はディレクトリ内のディレクトリおよび、ファイルが取得できるように
なりました。
アドバイスありがとうございましたー。

お礼日時:2002/08/30 16:01

こんにちは、honiyonです。



   FindFirst, FindNext, FindClose という関数があります。
   これを駆使する事で可能です。

   がんばってください。

   参考になれば幸いです(..

この回答への補足

アドバイスありがとうございました。


if FindFirst(sSetPath , faDirectory, sr) <> 0 then
begin
showmessage(sr1);
while findnext(sr1) = 0 do
 begin
showmessage(sr1);
end;
end;

※上記sSetPathには'C:\RENSYU'が設定されています。
'C:\RENSYU'のフォルダの下に'0830'というフォルダが存在します。
 この’0830'というフォルダ名や、そのフォルダ内の'0831_1.txt、0830_2.txt,....’というファイル名まで取得したいのですが、上記の
プログラムではRENSYUと一回表示されただけで終了します。
RENSYU以下のフォルダには'0830'のほか'0829','0828'など別のフォルダも存在します。どうすればRENSYU以下のフォルダ名を取得することができるのでしょうか?

補足日時:2002/08/30 14:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!