投稿日 | : 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)
〜以下略〜