QRコードから読み込んだ値をローカルストレージに格納する - Printable Version +- Curl Global Community (https://communities.curl.com) +-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1) +--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2) +--- Thread: QRコードから読み込んだ値をローカルストレージに格納する (/showthread.php?tid=1352) |
QRコードから読み込んだ値をローカルストレージに格納する - chiba - 05-09-2016 また初歩的なご質問で恐縮ですが、ご教授願います。 サンプルプログラムからQRコードを読み込むプログラムをコピーし、読み込んだ値をローカルストレージに格納するプログラムを作成しようとしています。 下記の様なコーディングを記述したのですが、QRコードから読み込んだ値を取得する方法がわかりません。 /////////////////////////////////////////////////////////////////////////////////////////////////////////////// def vb-result = {self.find-graphic-by-name "vb-result"} asa VBox {self.cmd_qr.add-event-handler {on Action do {read-barcode {on ev:BarcodeReadFinishedEvent do {vb-result.add {format "Data = %s", ev.data} } ||DBの初期化(drop table) {drop-rows-from-db2} ||DBの作成(create table) {create-rows-from-db2} ||DBのデータを読み込む def datas = {read-rows-from-db2} let parameter0:String = "" let parameter1:String = "" ||ここでQRコードから読み込んだ値を変数に格納したいのですが、方法がわかりません。 || set parameter0=?? || set parameter1=?? ||画面から取得した納入番号をテーブルにinsert def rowdata = {edit-rows-to-db2 ||rowdata = self.rowdata, name = "input-code", parameter1 = parameter0, parameter2 = parameter1 } {self.change-page LoginScreen} } } } } //////////////////////////////////////////////////////////////////////////////////////////////// 仕組みとしてはvb-result.addの部分でQRコードから読み込んだ値をセットしているようなのですが、 セットされた値をどの様に取得できるのかがわかりません。 また、QRコードから読み込んだ値は「○○○○○-○○○」といった感じでハイフンの前後に数値が入る仕様となっています。 「○○○○○-○○○」の値をそのままローカルストレージのparameter1 にInsertする方法を教えてください。 また、「○○○○○-○○○」の値をハイフンの前後で2つに分割して、ハイフンの前の値をローカルストレージのparameter1 にInsert、 ハイフンの後の値をローカルストレージのparameter2にInsertする方法もできれば教えていただきたいです。 お忙しいところ大変恐縮ですが、ご教授の程よろしくお願いします。 RE: QRコードから読み込んだ値をローカルストレージに格納する - dyoshida - 05-09-2016 引用されているサンプルコードからの推測とはなりますが、おそらく "read-barcode"プロシージャが QRコードを読み込む処理で、非同期完了の読み込み結果を BarcodeReadFinishedEvent イベント で受け取るものなのではないかと思います。 添付サンプルで、{format "Data = %s", ev.data}となっているあたりが取得した値を整形して いるとこではないでしょうか 関係ありそうな箇所に説明を加えて取得した文字列を変数parameter0 に代入するとこんな感じでしょうか? Code: let parameter0:String = "" また、「○○○○○-○○○」のような文字列をハイフンの前後で2つに分割する方法ですが、Curlドキュメントの String(クラス)の説明に記載されているメソッドの一覧を眺めているといろいろと文字列の加工につかえそうな ものがあります。 ハイフンでの分割はsplit (メソッド)がつかえるのでは? Code: let sa:StringArray = {parameter0.split split-chars = "-"} |