職場で某会社の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 件のコメント:
コメントを投稿