ファイル選定

[戻る]
初心者 2004/01/11(日) 00:15:20
あるフォルダにいくつかの大容量のファイルが入っている(動画など)。
この中のファイルをいくつかランダムに選択して
記録したいメディア(FDD、CD、DVD)の容量にあわせて(ダイアログで選択)
もっとも最適(焼ける容量ギリギリ)なファイルの選択をし、表示する。

というようなアプリはVC++では作れるのでしょうか?

渋木宏明(ひどり) [E-Mail] [HomePage] 2004/01/11(日) 00:32:08
作れます。

初心者 2004/01/11(日) 00:57:46
>渋木宏明(ひどり)様
早速のご回答ありがとうございます。
プログラムの知識がある方にすれば
どの程度のレベルのものになるのでしょうか?
また、私のような初心者でも簡単に作れるものなのでしょうか?

アプリとしては、フォルダ内のファイルをより分けて表示するまでの作業であり
その先の、フォルダ分けをするとか、メディアに焼く作業というものは省きます。

RAPT 2004/01/11(日) 02:14:13
> どの程度のレベルのものになるのでしょうか?
ファイルサイズの計算は、足し算・引き算ができればいいから、小学校低学年レベルの算数。
あとは、開発環境依存。

渋木宏明(ひどり) [E-Mail] [HomePage] 2004/01/11(日) 02:25:38
>どの程度のレベルのものになるのでしょうか?
>また、私のような初心者でも簡単に作れるものなのでしょうか?

UI をどう作り込むかで難易度は大きく変わります。

UI についてまったく考えなくてよいなら、主たる処理自体はそんなに難しくないです。

指定されたフォルダの、ファイル一覧と各ファイル容量が取得できれば、既にコメント
がついているように、あとは算数レベルの問題です。

sugar 2004/01/12(月) 01:12:51
> もっとも最適(焼ける容量ギリギリ)なファイルの選択
>
この部分の処理、どんなアルゴリズムを考えるかがキモだと思います。
いや、勿論作れますよ。
ただ私には、意外と結構面倒なのではないかと感じました。

渋木宏明(ひどり) [E-Mail] [HomePage] 2004/01/12(月) 03:52:28
>ただ私には、意外と結構面倒なのではないかと感じました。

「最適な解を高速に得る」のは難しいでしょう。

「そこそこ最適な解を高速に得る」方が難しいかな?

とりあえず、総当りで計算するようにして、メディア容量にイチバン近いものを残すよ
うにすれば、当座の用は満たせるかと。

たいちう 2004/01/13(火) 09:37:17
ナップサック問題としても解けますが、そこまでする必要はないのでしょう。
空き容量以下の最大のファイルを選ぶ処理を繰返せば、十分なのでは?

ku 2004/01/13(火) 13:11:05
ファイルのプロパティを見ると
「サイズ」と「ディスク上のサイズ」というのがあります
http://yougo.ascii24.com/gh/71/007179.html

クラスタサイズが4096バイトですと
1〜4096バイトのファイルの場合、ディスク上の4096バイトを占有します
4097〜8192バイトのファイルの場合、ディスク上の8192バイトを占有します

複数ファイルがある場合ですが、
ファイルのサイズを求めるときに
コピー先のメディアのクラスタサイズに切り上げして足し算をしないと
誤差がでます

シャノン 2004/01/14(水) 10:11:13
#質問の本題とは外れますが…

そのようなアプリを、何らかの理由で作らねばならない、あるいは技術的な興味から作
ってみたい(つまり「作る」ことが重要)というのでしたら構いませんが、「使う」た
めに作ろうとしているなら、そのようなアプリは既に存在します。
名前は忘れましたが、以前どこかで見かけました。
探してみてはいかがでしょうか。

古いスレッドには追加発言できません。