2015年9月17日木曜日

USB使用制限システムについて

 職場で某会社のUSBメモリ等の使用を制限できるシステムソフトを使っているが、登録を簡単にするためのソフトを作ってみた。インポート、エクスポートの機能によりCSVデータをエクセルで編集するようにと、マニュアルには出ているが。USBメモリのシリアル番号はじめ、各種番号の取得が、エクセルでは面倒で、別ソフトを使う必要がある。そこで、番号取得の機能や編集機能をひとまとめにした自作ソフトを作ってみた。なんとか、実用にはこぎつけた。あいかわらず、Vb.netを使っている。でも、意外に最近のVb.netにはLINQなど、高階関数っぽい機能など、関数プログラミングに近い機能もある。うまく活用すると、けっこう楽にプログラムができるようになっている。
 たとえば、Listbox(CSVデータの各行をセット)をある関数を適用したもので、ソートするとすると、こんな感じに簡潔にできるようだ。

    Dim gyoh() As String
        gyoh = ArrayList.Adapter(ListBox1.Items).ToArray(GetType(String))
        'Linqで並び替え
        Dim query = gyoh.OrderBy(Function(s) serN(s))

        ListBox1.Items.Clear()
        For Each gy As Object In query
            ListBox1.Items.Add(gy.ToString)
        Next

   Private Function serN(ByVal gyo As String) As String
        Dim sst() As String
        sst = gyo.Split(",")
        serN = sst(5)
    End Function

0 件のコメント:

コメントを投稿