エクスプローラでの読み込み


mako  2009-10-19 08:44:45  No: 71020

int main(void)
{
  char fname[20];
  FILE *fpoint;

  printf("Open File Name ?\n");
  scanf("%s", fname);

  if((fpoint = fopen(fname, "rb")) == NULL)
  {
    printf("Cannot open file 1 - %s\n", fname);
    exit(0);
  }

  fseek(fpoint, 10, 0);
  
  fread(&fact1, sizeof(short int), 1, fpoint);
  
  fseek(fpoint, 15, 1);
  
  fread(&fact2, sizeof(float), 1, fpoint);

以上のようにコンソールでファイルを読み込み処理していたのですが

windowsフォームアプリケーションに変更し

エクスプローラでのファイル検索読み込みを行いたいのですが

どのようにしてよいか分かりません。

よろしければアドバイスお願いします。


subaru  2009-10-19 19:38:14  No: 71021

エクスプローラでのファイル検索読み込みというのが
どういう操作のことを言っているのかわかりませんが、
まずは基本的な操作のTipsが公開されているページを参考にして
組み立てていってみてはいかがでしょうか。

DOBON.NETさんとこのファイル操作関係ならこの辺。
http://dobon.net/vb/dotnet/index.html#file

C++/CLIではないですが考え方は同じですし、
言語は違ってもライブラリは同じなので
ほぼそのまま使えるものも多いはずです。

C++/CLIのサンプルは少ないようなので
最初のうちは書き方の方で苦労するかもしれません。
MSDNの各言語のキーワードの比較も参考になります。
http://msdn.microsoft.com/ja-jp/library/zwkz3536.aspx

また元のC言語のプログラムと同様の動作をさせたいのであれば、
いきなりフォームアプリケーションで作成せずに
まずはコンソールプログラムから始める方がやりやすいかもしれません。


どら  2009-10-22 21:54:51  No: 71022

subaruさんの仰るとおり、「エクスプローラでのファイル検索読み込みを行い
たい」が実際にどの様なことを指しているのかがよく分かりませんが

Win32 APIで「ファイルの検索」を行いたいのであれば「FindFirstFile」
「FindNextFile」を使えばいいし、そこで見つけたファイルを上記のソースを
流用して読み込むか、「CreateFile」 API関数を使うなどすればいいかと。

一般的なアプリケーションにあるファイルを開くダイアログを使いたいのであ
れば「GetOpenFileName」API関数などを使えばできるのでは?

上記関数で検索をすればたくさんサンプルなど見つかると思いますよ^^

開発環境も完成品の実行OSもされていないので、API関数で回答させていただ
きました。

質問内容の理解不足や、APIでの回答を求めていなかったらごめんなさい。


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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