• ベストアンサー

ファイの一部をコンボボックスに表示したい

VB6をはじめて利用します。 競馬ソフトを作ってみたくて、友人からVB6を購入したのですが全くわかりません。 データのダウンロードはなんとかできて、 DATA\RAというフォルダとDATA\SEというフォルダにそれぞれファイルが入っています。 DATA\RAというフォルダには、 「RA20050105中山01R.txt」 「RA20050105中山02R.txt」 「RA20050105中山03R.txt」     ・     ・ 「RA20050105京都01R.txt」 「RA20050105京都02R.txt」 「RA20050105京都03R.txt」 というように、開催日と開催場所、レース番号があるtxtファイルがあります。 メインフォームのコンボボックスに 開催日を選択する日付だけを表示(日付の新しい順にソートして表示させたいです。)させたいのですが、 どうしていいのかわかりません。 わからないことだらけで、何のためにVBを買ったか・・・という状態ですが、もう少し頑張ってみたいと思います。 ご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Wizard_Zeroと申します。 Dir関数(VB標準)を使うことでフォルダにある複数のファイルを取得することが出来ます。 ============================ Dim strFile As String '最初のファイル名を取得 strFile = Dir("HogeHoge\*") '全てのファイル名を取得するまで繰り返す Do Until strFile = "" 'ここでファイル名から日付部分を取り出す処理 'Left関数、Right関数、Mid関数、Instr関数など Combo1.AddItem strFile '次のファイル名を取得 strFile = Dir Loop ============================ ソートはコンボボックスのSortedプロパティをTrueにしておけば、自動的に並べ替えが行われます。 各関数の詳細はMSDNを参照されると良いかと。

shunsan_y
質問者

お礼

有り難うございました。 なんかとコンボボックスに格納することが出来ました。 ただ、同じ日付が何個も表示されてしまいます。(涙) SortedプロパティをTrueにしてみましたが、日付が古い順になってしまいました。 みなさんに聞いてばかりというわけにもいきませんので、もう少し調べて格闘してみます。 やはり僕には無理なのかも・・・・

その他の回答 (1)

  • keikan
  • ベストアンサー率42% (75/176)
回答No.1

Helpを参照して Folder オブジェクトのSubFolders プロパティ を取り出してください。 SubFoldersにファイル名の集合が帰ってきますので この集合を元にInstr等で開催日の物だけ抜き出してください その後に再付けの新しい順(?)にソートさせた集合をListBox等に入れてやればいいと思います。

shunsan_y
質問者

お礼

有り難うございました。 なんかとコンボボックスに格納することが出来ました。 ただ、同じ日付が何個も表示されてしまいます。(涙) もう少し調べて格闘してみます。

関連するQ&A