SORTKIT ActiveXコントロール プログラミング例(Visual Basic)

' 可変長レコード可変長フィールドのファイル入出力インタフェース
' サンプルプログラム
'
' 入力ファイル : exp.in
' 出力ファイル : exp.out
' フィールド分離文字 : ブランク
' ソートキー  : その1 1フィールド目
'          その2 3フィールド目
' キー比較時オプション : ソートキー その2-数値比較

Sub main()
Dim Sort As Object
Dim Ret

'SORTKITオブジェクトの作成
Set Sort = CreateObject("Sortkit.Sortkit")

'レコード/キー形式:可変長
Sort.RecordFormat = NsktVariableRecordVariableField
'最小メモリサイズ
Sort.MinMemorySize = 64
'最大メモリサイズ
Sort.MaxMemorySize = 1024
'実行情報出力ファイル
Sort.ExecuteReportFileName = "exp.rep"
Sort.ExecuteReportTitle = "===== sample program ====="


'キーフィールドの設定
'文字コード:ASCII
Sort.VariableKeys.Code = NsktASCII

'ソートキー開始フィールド:0フィールド目
'ソートキー開始バイト位置:0バイト目
'ソートキー終了フィールド:1フィールド目
'ソートキー終了バイト位置:0バイト目
Ret = Sort.VariableKeys.Add(0, 0, 1, 0)
If Ret = -1 Then      'エラー
   Sort.AllRemove     '設定パラメータの削除
   Set Sort = Nothing 'オブジェクトの削除
   End
End If

'ソートキー開始フィールド:2フィールド目
'ソートキー開始バイト位置:0バイト目
'ソートキー終了フィールド:3フィールド目
'ソートキー終了バイト位置:0バイト目
'キー比較時オプション:数値比較
Ret = Sort.VariableKeys.Add(2, 0, 3, 0, NsktNumeric)
If Ret = -1 Then
   Sort.AllRemove
   Set Sort = Nothing
   End
End If

'入力ファイルの設定
'ファイル名:exp.in
'ファイルタイプ:テキスト
Ret = Sort.InputFiles.Add("exp.in", NsktStream)
If Ret = -1 Then
   Sort.AllRemove
   Set Sort = Nothing
   End
End If

'出力ファイルの設定
'ファイル名:exp.out
'ファイルタイプ:テキスト
Ret = Sort.OutputFiles.Add("exp.out", NsktStream)
If Ret = -1 Then
   Sort.AllRemove
   Set Sort = Nothing
   End
End If


'ソート処理開始
Ret = Sort.Execute(NsktExecuteSort, NsktFileInFileOut)
If Ret = -1 Then
   Sort.AllRemove
   Set Sort = Nothing
   End
End If

Sort.AllRemove
Set Sort = Nothing
End Sub