トップページ > 過去ログ > 記事閲覧
リソースに含むことができるファイル
名前:f・f 日時: 2008/11/29 11:20

リソースには、画像やアイコンなどを含むことが可 能ですが、この他にも含めるファイルはありません か? 現在テキストファイルを含みたいと思っているので すが・・・。

Page: 1 |

Re: リソースに含むことができるファイル ( No.1 )
名前:wakahage 日時:2008/11/30 02:39

なんでも含められます。(フォルダは無理だった気がしますが) DXライブラリでテキストファイルを読み込むには GetResourceInfo( const char *ResourceName, const char *ResourceType, void **DataPointerP, int *DataSizeP ) がまさに便利だと思います。 SERIHU TEXT "serihu.txt" の場合 char *file;int size; GetResourceInfo("SERIHU","TEXT",&(void *)file,&size); とやれば file に丸々テキストが入ります。 ちなみに,大抵、リソース記述の SERIHU,TEXT は数値でしょうから(char *)にキャストすれば読み込めます。 ※私はBCCですのでVCはどうやるのか分かりません。 おそらく追加->新しい項目->.rc を選べばいいと思います。
Re: リソースに含むことができるファイル ( No.2 )
名前:f・f 日時:2008/11/30 09:38

すいません、このGetResourceInfo関数のvoid **DataPointerP と、int *DataSizePは、具体的に何を指しているのでしょう?
Re: リソースに含むことができるファイル ( No.3 )
名前:wakahage 日時:2008/11/30 15:21

>void **DataPointerP ファイルの先頭のアドレスを代入する変数へのポインタです。つまりGraphLockみたいな感じです。 実用的に言うと、テキストファイルの中身が abc defghi だとすると 上記の char *file には char *file="abc\ndefghi"; と似た効果が得られます。 >int *DataSizeP リソースとしたファイルが934バイトだとすると*DataSizePには934が代入されます。 参考までにテキストファイルをそのまま表示するルーチンです。 char *file,gyou[200];int size,here; GetResourceInfo((char *)123,(char *)456,&(void *)file,&size); for(here=0;here<size;1) { int i=0; while(file[here+i]!='\n' && here+i<size) gyou[i]=file[here+i],++i; gyou[i]=0; printfDx("%s\n",gyou); here+=strlen(gyou)+1; }
Re: リソースに含むことができるファイル ( No.4 )
名前:wakahage 日時:2008/11/30 15:49

ところで、テキストファイルが読まれるのが嫌なのでリソースファイルとするのでしたら ttp://homepage2.nifty.com/natupaji/DxLib/dxtec.html にある アーカイブ機能を使ってファイルを一つに纏める の方が便利です。FileRead系も使えます。
Re: リソースに含むことができるファイル ( No.5 )
名前:f・f 日時:2008/11/30 23:35

ありがとうございます! 参考になりました!

Page: 1 |