SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

バーコードスキャン関数 (プレビュー) で QR コードの URL を読み取ってブラウザで開いてみる

leave a comment

プレビューの機能なのですが、「バーコードのスキャン関数を有効にする」という機能を有効にすると、「ScanBarcode」という関数が使用できるようになり、コントロールを使用しないでバーコードをスキャンできるようになります。

image

QR コードも読み込めるようだったので、QR コードの URL をブラウザで開くようなアプリを作ってみました。

UI としてはこのような感じで作っています。

image

QR コードの URL を認識した後に、確認無しに URL を開くのもいまいちかと思って、メッセージボックスのような UI を適当に作ってグループ化しています。

グループの表示の制御については「MsgVisible」という変数を設定しています。

QR コードの読み取りボタンには次のような数式を設定しています。

ClearCollect(
    Input,
    ScanBarcode()
);
If(
    IsBlank(Text(First(Input).Value)),
    Notify(
        "QR コードが読み取れませんでした",
        NotificationType.Error
    ),
    If(
        Find(
            "http",
            Text(First(Input).Value)
        ) = 1,
        UpdateContext({MsgVisible: true}),
        Notify(
            Concatenate(
                Text(First(Input).Value),
                "は URL ではありません"
            ),
            NotificationType.Information
        )
    )
)

 

QR コードの読み取りと、http で始まっているかを確認する数式ですね。

「メッセージボックスのテキスト」には次の数式を設定して、URL の情報を出力しています。

Concatenate(Text(First(Input).Value), "
にアクセスします。よろしいですか?")

 

「OK ボタン」には、次の数式を設定して、URL にアクセスをします。

Launch(Text(First(Input).Value))

「Cancel ボタン」には、次の数式を設定して、メッセージボックスを非表示にしています。

UpdateContext({MsgVisible:false})

 

スクリーンの「OnVisible」には次の数式を設定して、メッセージボックスの初期状態の制御を。

UpdateContext({MsgVisible:false})

以上で設定は完了です。

はじめに、この QR コードを読み込ませてみます。

image

えろす財閥は http で始まっていない NG ワードなので、通知として URL ではないことが表示されます。

image

それでは、こちらの QR コードを読むとどうでしょう。

image

上記の QR コードには「https://google.co.jp」を設定していますので、URL として認識され、メッセージボックスが表示されます。

image

OK をクリックすると、ブラウザが起動し、URL にアクセスされます。

image

Cancel をクリックした場合は、メッセージボックスとして使用しているグループが非表示になります。

ScanBarcode はプレビュー中の機能ではありますが、関数としてバーコードリーダーが呼べるというのはなかなか面白いですね。

Written by masayuki.ozawa

9月 11th, 2018 at 11:34 pm

Posted in PowerApps

Tagged with

Leave a Reply

*