Skip to content

serevo/storex-samples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 

Repository files navigation

STOCK-MAN モジュール サンプル

STOCK-MAN (開発コードネーム: Storex 1) アプリ用モジュールの開発を支援するためのサンプルです。これらのサンプルはクイックスタートとして素早く内容を理解してモジュールの開発を開始できるよう、副次的な内容は極力省かれています。また単純なテキストファイルやフォルダに読み書きする内容になっていますので、そのままバイナリをダウンロードして組み込み、アプリをまずは「使ってみる」こともできます。

STOCK-MAN やモジュール開発の概要については次のページをご覧ください。

バイナリのダウンロード

  1. リリース ページより任意のバージョンの bin.zip をダウンロードします。バージョン番号は {SDKのバージョン}-{日付(年月日各2桁/コミット日)}(.{同日内連番}) となっています。モジュールで使用可能な SDK のバージョンは、原則アプリで直接参照する SDK とメジャー番号が同じで、且つマイナー番号が同じか低いものとなっています。例えばアプリで v1.2.0 が参照されている場合、モジュールで使用可能なのは v1.0.0 以上 v1.3.0 未満です。

  2. ダウンロードしたファイルが Windows で ZoneID によりマークされている場合、それらのファイルはブロックされ正常に読み込めません。必要に応じて ブロックを解除 します。

  3. bin.zip を解凍して使用します。

サンプルの種類

サンプルには次の3種類のモジュールが含まれており、それぞれが Visual Basic .NET と C# の両方で書かれていて、UIにはSystem.Windows.Formsを用いています。尚、ビルド後のファイルは全て src\bin フォルダーに出力されます。

AuthenticationModule1

CSVファイル (ID と 氏名) を使用し、ダイアログボックスでユーザーに入力された ID で認証します。モジュール設定として CSV ファイルを選択します。他に次の型も使用します。

  • AuthenticationForm1: 認証用ダイアログボックス
  • User: 認証結果として返す IUser インターフェイス実装
  • AuthenticationModuleHelper: ファイル入出力用ヘルパー

AuthenticationModule2

CSVファイル (ID と 氏名) を使用し、ユーザーが氏名を一覧から選択して認証します。モジュール設定として CSV ファイルを選択します。他に次の型も使用します。

  • AuthenticationForm2: 認証用ダイアログボックス
  • User: 認証結果で返す IUser インターフェイスの実装
  • AuthenticationModuleHelper: ファイル入出力用ヘルパー

RepositoryModule1

データ保管モジュールは、STOCK-MANアプリで検出されたシンボルから主要なラベルを特定する役割と、データを保存する役割を持ち、このサンプルでは下記の条件で行います。

※Windows OS のデータベースでは大文字小文字を区別しない為、このサンプルでの文字比較も大文字小文字を同じ文字として扱います。

1.データの保存

1つのファイル (概要データ) と1つのフォルダー (詳細データ) でデータを管理します。

  • 概要データ:プライマリ/セカンダリ ラベルの品番とシリアルナンバー、作業者、タイムスタンプを書き込むログファイル
  • 詳細データ:画像と取得シンボル一覧、タグ情報の入ったフォルダをタイムスタンプ毎に作成

次の型を使用します。

  • ConfigForm1: モジュール設定用ダイアログボックス。上記のファイルとフォルダのパスを指定します。

2.プライマリ ラベル

テキストの開始文字、品番/シリアルの開始位置と文字数を設定します。この条件を満たす単一シンボルをプライマリ ラベルとして返します。次の型を使用します。

  • FixedLengthSpec: プライマリ ラベルの設定用
  • ModeConfigForm1: モード設定用ダイアログボックス

3.セカンダリ ラベル・品番照合

C-3 ラベルと単一シンボルラベルのうち下記条件に対して有効無効を設定し、有効なものをセカンダリ ラベルとして用います。

  1. プライマリラベルと一致するもの
  2. 品番対応表 (プライマリ ラベル品番 と指定品番)で指定されているもの
  3. 1と2に当てはまらない C-3 ラベル

品番照合とはデータの保存前にプライマリ ラベルと指定されたセカンダリ ラベルが上記の有効な条件を満たしているか確認し、設定に応じて保存の決行・中止を判断します。 セカンダリ ラベルが存在しない場合、タグによる品番照合を行う設定にすることもできます。次の型を使用します。

  • SecondaryLabelCriteria: セカンダリ ラベルと品番確認の設定用
    • SecondaryLabelTypes: セカンダリ ラベルのラベル種類の列挙体
    • SecondaryNoLabelBehavior: 記録時のセカンダリ ラベルがない時の品番確認動作の列挙体
    • SecondaryLabelBehavior: セカンダリ ラベルの特定や品番確認時動作の列挙体
  • ConfigForm1: モジュール設定用ダイアログボックス。対応表ファイルの場所を保存します。
  • ModeConfigForm1: モード設定用ダイアログボックス。

このモジュールでは他に次の型を使用します。

  • RepositoryModuleHelper: 画像ファイルの書込み、対応表ファイルの読込、メッセージダイアログの共通化の機能を持つヘルパー

Footnotes

  1. コードネームは各種ファイル名やパッケージ名、ソースコードの他、GitHub 等の開発者用向けサービスやリソースのURL にも使用しています。