VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/07/21(Mon) 19:11
投稿者エメ
Eメール
URL
タイトル「解決」Re^4: FileListBoxでの作成日時ソート

Sayさんこんばんわ。レスありがとうございます。
> たとえば、Shell関数で、
> コマンドインタプリタ(command.com,cmd.exe)経由で
>
> dir c:\test /OD /B /TC > c:\Dir.txt
>
> みたいなDOSコマンド発行して、できたテキストを表示するとか。

。。なるほど!ファイルだけに許されたソート方法ですね、盲点でした。
勉強になります。

プログラムはバブルソートを使用した関数を作成して解決しました。

Public Function makeJobList()
    Dim icnt As Integer
    Dim fileBox() As String
    Dim inPath As String
    ReDim fileBox(frmMain.inFile.ListCount)
    For icnt = 0 To frmMain.inFile.ListCount - 1
        inPath = ""
        inPath = frmMain.inDir.Path & "\" & frmMain.inFile.List(icnt)
        '作成日時取得
        fileBox(icnt) = FileDateTime(inPath) & Chr$(34) & frmMain.inFile.List(icnt) & Chr$(34)
    Next
    'fileBox内データを作成日時順にソート
    Call BubbleSort(fileBox(), UBound(fileBox), True)
    'リストボックス初期化
    frmMain.jobList.Clear
    'ファイル名のみリストボックスへ
    For icnt = 0 To UBound(fileBox)
        Call frmMain.jobList.AddItem(getTargetFileName(fileBox(icnt)))
    Next

End Function


'data() = ソートしたいデータ
'flag = ソート、降順、昇順切り替え
Public Function BubbleSort(ByRef data() As String,
                      Optional flag As Boolean = False)

〜以下略〜


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -