Windowsのフォームを表示する
GuiXTコントロールを使用すると、Windowsのフォームをポップアップとして表示することができます。このチュートリアルでは、ポップアップ内にバーコード(光学機器で読み取り可能なデータ表現)を表示します。
手順1: 適切なバーコードジェネレーターを選択する
今回の例では、Brad Barnhill が作成したバーコード画像生成ライブラリを使用します
http://www.codeproject.com/Articles/20823/Barcode-Image-Generation-Library
プロジェクトでこのライブラリを使用するには、BarcodeLib.dllというファイルへの参照を追加する必要があります。
一般的なバーコードの一覧については以下を参照してください。
http://en.wikipedia.org/wiki/Barcode
手順2: 新規Windowsフォームアプリケーションを作成し、その要素を追加する
PictureBox: 作成したバーコードの画像
RichTextBox: 書式設定されたテキスト(例: バーコードのASCII入力)
手順3: バーコードを生成/表示する関数を実装する
1 | Public Function create_barcode(ByVal text As String, _ |
2 | ByVal posX As String, _ |
3 | ByVal posY As String, _ |
4 | ByVal p_type As String) As String |
5 | Try |
6 | Dim b = New barcodeviewer ‘New instance of our form |
7 | b.Text = text |
8 | b.RichTextBox1.Text = text ‘Display the text below the barcode |
9 | |
10 | Dim barcode As BarcodeLib.Barcode = New BarcodeLib.Barcode |
11 | Dim type As BarcodeLib.TYPE = BarcodeLib.TYPE.UPCA |
12 | |
13 | ‘Choose type of barcode to be generated |
14 | Select Case p_type.ToLower |
15 | |
16 | Case “upca” |
17 | type = BarcodeLib.TYPE.UPCA |
18 | |
19 | Case “code128” |
20 | type = BarcodeLib.TYPE.CODE128 |
21 | |
22 | Case “ean13” |
23 | type = BarcodeLib.TYPE.EAN13 |
24 | End Select |
25 | |
26 | ‘Create the barcode image |
27 | Dim i = barcode.Encode(type, text, 300, 100) |
28 | |
29 | ‘Display the barcode image |
30 | b.PictureBox1.Image = i |
31 | |
32 | ‘Display the form at position (posX,posY) |
33 | b.Location = New Point(CInt(posX), CInt(posY)) |
34 | b.Show() |
35 | |
36 | Catch ex As Exception |
37 | |
38 | ‘An error occured |
39 | Return ex.Message |
40 | |
41 | End Try |
42 | |
43 | Return “0” |
44 | |
45 | End Function |
手順4: GuiXTスクリプトおよびInputScriptを作成する
このチュートリアルでは、バーコードに変換する文字列を含む独自の入力フィールドを使用します。より一般的な場合では、この文字列は品目コードなどを表します。
// Display a barcode
inputfield (15,1) “Display barcode:” (15,15) size=“25” name=”barcodetext” default=“123456789012”-required
Set text[barcode_types] “=— Auswahl Barcode-Typ —;upca=UPC-A;code128=Code 128;ean13=EAN-13;”
dropdownlist (15,43) “barcode_types” refer=“V[barcode_type]” width=“25”
pushbutton (15,70) “ok” process=“display_barcode.txt”
inputfield (16,1) “(Coordinates:)“ (16,18) size=“5” name=“barcode_position_x” default=“0”-numerical
inputfield (16,25) size=“5” name=“barcode_position_y” -nolabel default=“0” -numerical
display_barcode.txt:
callvb returncode = tutorials.barcodeviewer.create_barcode “&V[barcodetext]””&V[barcode_position_x]” “&V[barcode_position_y]” “&V[barcode_type]”
if not V[returncode=0]
message “&V[returncode]” title=“Return”
endif
return
結果: