<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>バーコード | リョクちゃの電脳日記</title>
	<atom:link href="https://dreamparadaisu.com/tag/%E3%83%90%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89/feed/" rel="self" type="application/rss+xml" />
	<link>https://dreamparadaisu.com</link>
	<description>今まで学んできたことや、新たに学んだこと、趣味を通して様々な人と共有できたらなと思いはじめた電脳日記。</description>
	<lastBuildDate>Sat, 05 Nov 2022 15:10:53 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<atom:link rel='hub' href='https://dreamparadaisu.com/?pushpress=hub'/>
<site xmlns="com-wordpress:feed-additions:1">180489529</site>	<item>
		<title>【VB.Net】KeyPressイベントでUSB接続されたバーコードリーダからの情報を受け取る</title>
		<link>https://dreamparadaisu.com/visualbasic_78/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_78</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Mon, 21 Mar 2022 09:43:12 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[バーコード]]></category>
		<category><![CDATA[プログラム]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=4034</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、前回ぐらいにバーコードリーダから読み取った値を受け取る方法で TextBoxChangedやKeyDownイベントを使って受け取れるといった話をしましたが これ以外にKey...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_78/">【VB.Net】KeyPressイベントでUSB接続されたバーコードリーダからの情報を受け取る</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、前回ぐらいにバーコードリーダから読み取った値を受け取る方法で</p>
<p>TextBoxChangedやKeyDownイベントを使って受け取れるといった話をしましたが</p>
<p>これ以外にKeyPressイベントを使った方法もあったので紹介していきます。</p>
<p>&nbsp;</p>
<p>ちなみに前回はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_77/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_barcode_2-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_barcode_2-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_barcode_2-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_barcode_2-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_77/" class="blog-card-title-link">【VB.Net】USB接続のバーコードリーダから値を受け取る～バーコードの基礎～</a></div><div class="blog-card-excerpt">スーパーなどでよく見かけるバーコードリーダー、店員さんがレジで商品のバーコードを読むのに使われていますね。どうやって読み取った値から価格を取得しているのか？読み取った値が間違っていることはないのか？など気になったことはありませんか？そんな気になる悩みについて、簡単に調べてまとめてみました。参考になれば嬉しいです。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_77/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_77/" alt="" /></a></div><div class="blog-card-date">2022-03-05 08:58</div></div></div>
<p>&nbsp;</p>
<p><a href="//af.moshimo.com/af/c/click?a_id=2621874&amp;p_id=170&amp;pc_id=185&amp;pl_id=4153&amp;guid=ON" rel="nofollow"><img fetchpriority="high" decoding="async" alt="" class="aligncenter" style="border: none" src="//image.moshimo.com/af-img/0068/000000004153.gif" width="728" height="90" /></a></p>
<img decoding="async" alt="" class="aligncenter" style="border: none" src="//i.moshimo.com/af/i/impression?a_id=2621874&amp;p_id=170&amp;pc_id=185&amp;pl_id=4153" width="1" height="1" />
<p>&nbsp;</p>
<h1>準備編：Windowsフォームの作成</h1>
<p>画面は、前回作成した画面を引き続き利用します。</p>
<figure id="attachment_mmd_3997" class="wp-block-image aligncenter"><img decoding="async" width="810" height="484" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/barcode_1.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>ラベルコントロールとテキストボックスコントロールを</p>
<p>配置している至ってシンプルな画面です。</p>
<p>&nbsp;</p>
<p>起動するとカーソルがテキストボックスに合っていると思うので、</p>
<p>カーソルを合わせる処理は省略しちゃいます。</p>
<p>&nbsp;</p>
<h1>プログラム編</h1>
<p>ここからはいくつかの項目に分けてプログラムを組んでいきます。</p>
<p>&nbsp;</p>
<h2>KeyPressイベントを書く</h2>
<p>KeyPressイベントは以下のようにして記述することができます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Private Sub テキストボックスのコントロール名_KeyPress(sender As Object, e As KeyPressEventArgs) Handles テキストボックスコントロール名.KeyPress
    処理
End Sub</pre><p>
&nbsp;</p>
<p>VisualStudio上のデザイン画面でもコードを生成することができます。</p>
<p>Form上に配置されたTextBoxを右クリックし、</p>
<p>プロパティを選択すると下図の画面が表示されます。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_4048" class="wp-block-image aligncenter"><img decoding="async" width="470" height="589" src="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_bercode2.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>プロパティの雷マーク(図の赤丸)をクリックします。</p>
<figure id="attachment_mmd_4049" class="wp-block-image aligncenter"><img decoding="async" width="454" height="449" src="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_bercode3.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>キーの項目にKeyPressがあるので、これを<span class="marker-under">ダブルクリックすることで</span></p>
<p><span class="marker-under">KeyPressイベントを自動で作成</span>してくれます。</p>
<p>&nbsp;</p>
<h2>終端キーかどうか検知する関数の作成</h2>
<p>USB接続の<span class="marker-under">バーコードリーダからPCに送られる値は、1文字ずつ</span>でした。</p>
<p>どの文字が終端を表すキーなのかどうかを検知する処理が必要になりますね。</p>
<p>&nbsp;</p>
<p>これを関数を作成することで、検知したら次の処理へ進めるようにします。</p>
<p>終端キーは、あらかじめ設定しておくことで関数を呼び出すときに省略できますね。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag">''' &lt;summary&gt;
''' 終端キーかどうかを判定し返す
''' &lt;/summary&gt;
''' &lt;param name="InputKey"&gt;&lt;/param&gt;
''' &lt;returns&gt;&lt;/returns&gt;
''' &lt;remarks&gt;&lt;/remarks&gt;
Private Function CheckTerminalKey(ByVal InputKey As System.Windows.Forms.Keys) As Boolean
    Dim result As Boolean = False        
    If terminalKey = Inputkey Then 
        result = True
    End If
    Return result
End Function</pre><p>
こんな感じの関数を作りました。</p>
<p>&nbsp;</p>
<h1>実装</h1>
<p>&nbsp;</p>
<p>KeyPressイベントの中に終端キーかどうかを検知する関数を組み込んでいきます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
    Try
        ' 終端キーかどうか検知します。
        If CheckTerminalKey(InputKey) Then
            ' 終端キーだった場合の処理
        Else
            ' 終端キーではない場合の処理
        End If
    Catch ex As Exception
        ' エラーをキャッチした時の処理
    End Try
End Sub</pre><p>
&nbsp;</p>
<p>これだけでは完成ではありません。以下の項目の処理を追記する必要があります。</p>
<ul>

<li>終端キーを受け取る処理</li>

<li>終端キーだった場合の処理</li>

<li>終端キーではない場合の処理</li>

<li>エラーをキャッチした時の処理</li>
</ul>
<p>これらを追記していきます。</p>
<p>&nbsp;</p>
<h3>終端キーを受け取る処理</h3>
<p>終端キーを受け取るには、KeyPressイベントの引数として渡される変数eを活用します。</p>
<p><span class="marker-under">変数eの型は、KeyPressEventArgsになり、これにKeyPressイベントのデータが渡されます</span>。</p>
<p>&nbsp;</p>
<p>つまり、押したキーの情報が変数eにはイベントが呼び出されたときに格納されます。</p>
<p>&nbsp;</p>
<p>押されたキーの情報は、<span class="marker-under">ASCII文字と関連付けられており</span></p>
<p><span class="marker-under">各キーに対応したASCII文字を受け取ることもできます</span>。</p>
<p>&nbsp;</p>
<p>今回は、ASCII文字として受け取ることで</p>
<p>終端キーを受け取ったかどうかを検知していきます。</p>
<p>&nbsp;</p>
<p>キー情報を受け取るには、以下のコードになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">e.KeyChar</pre><p>
これで<span class="marker-under">キー情報をASCII文字で受け取れます</span>。</p>
<p>ただ、これだけでは使いづらいのでASCII文字を文字コードとして受け取ります。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag">AscW(e.KeyChar)</pre><p>
AscWメソッドを使うことで、<span class="marker-under">()内に渡されたASCII文字を文字コードにして返してくれます</span>。</p>
<p>&nbsp;</p>
<p>例えば、Enterキーを押してKeyPressイベントが呼び出された場合</p>
<p><strong>e.KeyChar</strong>では、&#8221;<strong>vbCr</strong>&#8220;となります。</p>
<p>&nbsp;</p>
<p>これをAscWメソッドに渡すと、&#8221;<strong>13</strong>&#8220;と返されます。</p>
<p><strong>13</strong>という文字コードがASCII文字の<strong>Enter</strong>キー(<strong>CR</strong>)にあたります。</p>
<p>&nbsp;</p>
<p>ちなみにASCII文字では、<strong>Enter</strong>は<strong>CR</strong>(キャリッジリターン)として扱われます。</p>
<p>この文字コードを検知したら、終端キーと扱い、以降の処理を行います。</p>
<p>&nbsp;</p>
<p>入力されたキーを受け取る処理として、<span class="marker-under">変数<strong>InputKey</strong>を作成します</span>。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Dim Inputkey As Keys = CType(AscW(e.KeyChar), Keys)</pre><p>
&nbsp;</p>
<h3>終端キーだった場合の処理</h3>
<p>全てのバーコード情報が受け取られたことを意味しているので、終端キーだった場合は</p>
<p>読取ったバーコードが正しいかを確認し、桁数確認処理などの読取り後の処理を記述します。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag">Public Class TestBarCode
    Private Const CORRECT_DIGIT As Integer = 12

    Private terminalKey As Keys = Keys.Enter
    Private readData As String = ""

    Private Function CheckTerminalKey(ByVal InputKey As System.Windows.Forms.Keys) As Boolean
        Dim result As Boolean = False
        If terminalKey = InputKey Then
            result = True
        End If
        Return result
    End Function

    Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
        Try
            ' 押されたキーの情報を受け取ります。
            Dim Inputkey As Keys = CType(AscW(e.KeyChar), Keys)

            ' 終端キーかどうか検知します。
            If CheckTerminalKey(Inputkey) Then
                ' 終端キーだった場合の処理

                ' 読取りデータの加工処理を行います。

                ' 桁数が正しいかどうかの判定
                If readData.Length &lt;&gt; CORRECT_DIGIT Then
                    ' 正しい桁数じゃない場合、エラー
                    MessageBox.Show("桁数が違います。", "桁数エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Return
                End If
            Else
                ' 終端キーではない場合の処理

            End If

        Catch ex As Exception
            ' エラーをキャッチした時の処理
        End Try

    End Sub

End Class</pre><p>
&nbsp;</p>
<h3>終端キーではない場合の処理</h3>
<p>バーコードが読み取り中であるとして、処理を行います。</p>
<p>&nbsp;</p>
<p>バーコードリーダから送られてくるデータは1文字ずつでしたので、</p>
<p>あらかじめ読取りデータを格納する変数を用意しておき、この変数に1文字ずつのデータを</p>
<p>格納していきます。</p>
<p>&nbsp;</p>
<p>既に入力されたキーの情報は、変数InputKeyにて受け取っているので</p>
<p>これを活用し、読取りデータを格納する変数(readData)に格納させていきます。</p>
<p>&nbsp;</p>
<p>途中で他のキーが押される場合もあるかもしれませんが、今回はこれらは考慮しないで</p>
<p>コードを書いていきます。</p>
<p>&nbsp;
</p><pre class="urvanov-syntax-highlighter-plain-tag">' 終端キーではない場合の処理
readData += ChrW(InputKey).ToString</pre><p>
&nbsp;</p>
<p>ChrWメソッドを使って<span class="marker-under">変数InputKeyの情報を文字に変換しています</span>。</p>
<p>ChrWメソッドは与えられた文字コードを文字に変換してくれる役割があり、</p>
<p>AscWメソッドとは逆の処理をしてくれます。</p>
<p>&nbsp;</p>
<p>ChrWメソッドを使わないで、readDataに代入しようとすると、</p>
<p>型が違うのでエラーとなるため、注意が必要です、</p>
<p>&nbsp;</p>
<p>演算子を=ではなく、+=にしているのは、<span class="marker-under">1文字ずつ受け取った情報を連結して</span></p>
<p><span class="marker-under">最終的には1つの文字列として扱う必要がある</span>ので+=にしています。</p>
<p>&nbsp;</p>
<h3>エラーをキャッチした時の処理</h3>
<p>キャッチした時は、エラーの内容をメッセージボックスで表示するようにしておきます。</p>
<p>&nbsp;</p>
<p>実際にアプリケーションとして運用する場合は、</p>
<p>ログファイルに記述するための処理を挟むのがいいでしょう。</p>
<p>&nbsp;</p>
<p>ログファイルについては、また別の機会で話せたら……。</p>
<p>&nbsp;</p>
<p>以下のような処理にしておきます。
</p><pre class="urvanov-syntax-highlighter-plain-tag">' エラーをキャッチした時の処理
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)</pre><p>
&nbsp;</p>
<p><strong>ex.Message</strong>で<span class="marker-under">キャッチした時のエラー内容を見ることができます</span>。</p>
<p>&nbsp;</p>
<h1>最終コード</h1>
<p>以上の処理を付け足すことで、バーコードリーダから読取ったデータを</p>
<p>1文字ずつ見て、処理をして最終的に1つの文字列として扱い読取り後の処理へ</p>
<p>つなげていきます。</p>
<p>&nbsp;</p>
<p>今回での実装したコードは以下になります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Public Class TestBarCode

    Private Const CORRECT_DIGIT As Integer = 12

    Private terminalKey As Keys = Keys.Enter
    Private readData As String = ""

    ''' &lt;summary&gt; ''' 終端キーかどうかを判定し返す ''' &lt;/summary&gt; ''' 
    ''' &lt;param name="InputKey"&gt;&lt;/param&gt; '''
    ''' &lt;returns&gt;&lt;/returns&gt; '''
    ''' &lt;remarks&gt;&lt;/remarks&gt;
    Private Function CheckTerminalKey(ByVal InputKey As System.Windows.Forms.Keys) As Boolean
        Dim result As Boolean = False
        If terminalKey = InputKey Then
            result = True
        End If
        Return result
    End Function

    Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
        Try
            ' 押されたキーの情報を受け取ります。
            Dim Inputkey As Keys = CType(AscW(e.KeyChar), Keys)

            ' 終端キーかどうか検知します。
            If CheckTerminalKey(Inputkey) Then
                ' 終端キーだった場合の処理

                ' 読取りデータの加工処理を行います。

                ' 桁数が正しいかどうかの判定
                If readData.Length &lt;&gt; CORRECT_DIGIT Then
                    ' 正しい桁数じゃない場合、エラー
                    MessageBox.Show("桁数が違います。", "桁数エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Return
                End If
            Else
                ' 終端キーではない場合の処理
                Console.WriteLine(ChrW(Inputkey))
                readData += ChrW(Inputkey).ToString
            End If

        Catch ex As Exception
            ' エラーをキャッチした時の処理
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try

    End Sub

End Class</pre><p>
&nbsp;</p>
<h1>まとめ</h1>
<p>バーコードリーダから受けとった情報を処理する方法として、</p>
<p>KeyPressイベントを使った方法について紹介していきました。</p>
<p>&nbsp;</p>
<p>KeyPressイベントでは、Enterキーを受け取ってから処理をするのではなく</p>
<p>1文字ずつをチェックしつつ処理ができるようになります。</p>
<p>&nbsp;</p>
<p>試しに実装してみてはいかがでしょうか、参考になれば嬉しいです。</p>
<p>&nbsp;</p>
<p>最後までお読みいただき、ありがとうございます。</p>
<p>&nbsp;</p>
<p><strong><em>・こちらの書籍を参考にVB.Net勉強しています。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15976080%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059112 Visual Basic 2019 パーフェクトマスター"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9112/9784798059112.jpg?_ex=200x200" alt="Visual Basic 2019 パーフェクトマスター" /></div><p class="wpap-title">Visual Basic 2019 パーフェクトマスター</p><div class="wpap-creator">金城俊哉</div><div class="wpap-price">3,300円<span class="wpap-date">(04/13 06:25時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16273997%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059006 作って覚える Visual Basic 2019 デスクトップアプリ入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9006/9784798059006.jpg?_ex=200x200" alt="作って覚える Visual Basic 2019 デスクトップアプリ入門" /></div><p class="wpap-title">作って覚える Visual Basic 2019 デスクトップアプリ入門</p><div class="wpap-creator">荻原 裕之, 宮崎 昭世</div><div class="wpap-price">2,860円<span class="wpap-date">(04/13 06:25時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15009758%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784774190402 かんたんVisual　Basic改訂2版"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0402/9784774190402.jpg?_ex=200x200" alt="かんたんVisual　Basic改訂2版" /></div><p class="wpap-title">かんたんVisual　Basic改訂2版</p><div class="wpap-creator">高橋広樹</div><div class="wpap-price">2,904円<span class="wpap-date">(04/13 06:25時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="4034"
					data-ulike-nonce="81e64448ee"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_4034"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_78/">【VB.Net】KeyPressイベントでUSB接続されたバーコードリーダからの情報を受け取る</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4034</post-id>	</item>
		<item>
		<title>【VB.Net】USB接続のバーコードリーダから値を受け取る～バーコードの基礎～</title>
		<link>https://dreamparadaisu.com/visualbasic_77/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=visualbasic_77</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Fri, 04 Mar 2022 23:58:00 +0000</pubDate>
				<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[バーコード]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[入門]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=3513</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回はスーパーなどでよく見かけるバーコードリーダ、 店員さんが使う商品を読み取る際に使うあれについて、紹介していきます。 &#160; そもそもどうやって、読み取ったバーコードの情...</p>
The post <a href="https://dreamparadaisu.com/visualbasic_77/">【VB.Net】USB接続のバーコードリーダから値を受け取る～バーコードの基礎～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回はスーパーなどでよく見かけるバーコードリーダ、</p>
<p>店員さんが使う商品を読み取る際に使うあれについて、紹介していきます。</p>
<p>&nbsp;</p>
<p>そもそもどうやって、読み取ったバーコードの情報が表示されるのか？</p>
<p>またパソコンにはどうやって情報が受け取られるのか？</p>
<p>などざっくりと紹介していきます。</p>
<p>&nbsp;</p>
<p>ちなみに前回はこちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/visualbasic_76/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_three_operand_1-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_three_operand_1-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_three_operand_1-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2022/03/vb_three_operand_1-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/visualbasic_76/" class="blog-card-title-link">【VB.Net】三項演算子をVBでも実践してみる～新たな道へステップアップ～</a></div><div class="blog-card-excerpt">コードをスッキリさせたいなと考えらるときがいつしか来るだろう方、既に来ている方の参考になればと思い。その手法として三項演算子についてVB.Netでも書いてみましたので記事にしています。VB.Netの場合、厳密には三項演算子もどきとして捉えてもらえればといった感じですね。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/visualbasic_76/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/visualbasic_76/" alt="" /></a></div><div class="blog-card-date">2022-03-03 06:05</div></div></div>
<p>&nbsp;</p>
<p><a href="//af.moshimo.com/af/c/click?a_id=2621874&amp;p_id=170&amp;pc_id=185&amp;pl_id=4153&amp;guid=ON" rel="nofollow"><img decoding="async" alt="" class="aligncenter" style="border: none" src="//image.moshimo.com/af-img/0068/000000004153.gif" width="728" height="90" /></a></p>
<img loading="lazy" decoding="async" alt="" class="aligncenter" style="border: none" src="//i.moshimo.com/af/i/impression?a_id=2621874&amp;p_id=170&amp;pc_id=185&amp;pl_id=4153" width="1" height="1" />
<p>&nbsp;</p>
<h1>商品に貼られているバーコード</h1>
<p>スーパーでよく見かけるだろうバーコード、数字の羅列が並んでいると思います。</p>
<figure id="attachment_mmd_3577" class="wp-block-image aligncenter"><img decoding="async" width="358" height="248" src="https://dreamparadaisu.com/wp-content/uploads/2022/01/barcode.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>食材などの商品に貼られているバーコードは一般的にだいたいがJANコードといわれる</p>
<p>JAN規格を基に発行され、貼り付けられています。</p>
<p>&nbsp;</p>
<p><strong>JANコード</strong>は<strong>1次元コード</strong>と称され、他にも様々な規格のバーコードが存在します。</p>
<p>ちなみに<span class="marker-under"><strong>QRコード</strong>や<strong>データマトリクス</strong>は<strong>2次元コード</strong></span>と称されます。</p>
<p>&nbsp;</p>
<p>どうやって読み取られているの？</p>
<p>スーパーなどで使われるバーコードリーダは、1次元スキャナともいわれ</p>
<p>トリガと呼ばれるボタンを押すことで、赤いレーザーが照射されます。</p>
<p>&nbsp;</p>
<p>照射された赤いレーザをバーコードに当てることで、バーコードを読み取ることができます。</p>
<p>&nbsp;</p>
<p>では、なぜレーザを当てるだけで読み取れているのでしょうか？</p>
<p>&nbsp;</p>
<p>それは、<span class="marker-under">バーコードを形成している、白と黒の棒(バー)</span>が鍵を握っています。</p>
<p>なんか棒が並んでるなと感じたあなた</p>
<p>&nbsp;</p>
<p>ただの棒が並んでるだけではなく、実は規則的に白と黒の棒が交互に並べられています。</p>
<p>詳しくは、こちらのページに解説が載っています。ありがとうございます。</p>
<p><a href="https://www.magata.net/memo/index.php?JAN%A5%B3%A1%BC%A5%C9%A4%CE%A5%D0%A1%BC%A5%B3%A1%BC%A5%C9%A4%F2%BA%EE%A4%EB(13%B7%E5JAN)">JANコードのバーコードを作る</a></p>
<p>&nbsp;</p>
<h1>本題：いざ実証・実験</h1>
<p>それでは、さっそくバーコードを読み取るための準備としてUSB接続のバーコード</p>
<p>リーダからデータを受け取るにはどうしたらいいか？こちら紐解いていきます。</p>
<p>&nbsp;</p>
<p><strong>USB接続</strong>のバーコードリーダは一般的には、キーボードインターフェースとして</p>
<p>パソコンでは接続がされるとデバイスマネージャーで認識されます。</p>
<p>&nbsp;</p>
<p>つまり、キーボードと同じ扱いがされるということになります。</p>
<p>したがって、キー入力と同じように読み取ったデータが受け取られることになります。</p>
<p>&nbsp;</p>
<p>これを踏まえて、テスト用にバーコードリーダの入力値を受け取る画面を作成して、</p>
<p>実際に試してみましょう。</p>
<p>&nbsp;</p>
<h2>使用したバーコードリーダ</h2>
<p>その前に、今回使用したバーコードリーダはこちらになります。</p>
<p style="text-align: center"><img loading="lazy" decoding="async" class="alignnone" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B07T9J9Q99&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=JP&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=ryokutea08-22&amp;language=ja_JP" alt="" width="160" height="160" border="0"></p>

<p>Amazonでベストセラーだったバーコードリーダです。</p>
<p>ちなみに2次元式なのでQRも読めます。</p>
<p>&nbsp;</p>
<h1>準備編：バーコード受信画面</h1>
<figure id="attachment_mmd_3997" class="wp-block-image aligncenter"><img decoding="async" width="810" height="484" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/barcode_1.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>このようなテスト画面を作成してみました。</p>
<p>&nbsp;</p>
<p>画面の作成ができたら、バーコードリーダをパソコンに接続します。</p>
<p>テスト画面を起動し、テキストボックスにカーソルを合わせたら</p>
<p>バーコードを読み取ってみましょう。</p>
<p>&nbsp;</p>
<p>すると、どうでしょう？</p>
<p>読み取ったバーコードが、下図のように表示されたのではないでしょうか？</p>
<figure id="attachment_mmd_3998" class="wp-block-image aligncenter"><img decoding="async" width="792" height="478" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/barcode_2.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>バーコードは、適当なモノを作りました。</p>
<figure id="attachment_mmd_3999" class="wp-block-image aligncenter"><img decoding="async" width="331" height="58" src="https://dreamparadaisu.com/wp-content/uploads/2022/02/code39_12345678.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p><a href="https://barcode-place.azurewebsites.net/Barcode/code39">こちら</a>で作成をすることができます。</p>
<p>&nbsp;</p>
<p>ここまででバーコードリーダから読み取られたデータがどのようにして</p>
<p>受け取られるかがわかってきたかと思います。</p>
<p>&nbsp;</p>
<p><strong>USB接続</strong>の場合、<span class="marker-under">キーボード入力と同様にして受け取られています</span>。</p>
<p>それでは、受け取ったデータから更に処理をつなげたい場合どうしたらいいでしょう？</p>
<p>&nbsp;</p>
<p>バーコードは読んだだけでは終わりませんよね？</p>
<p>&nbsp;</p>
<p>読んだその先に、値段を表示してくれたり、読んだバーコードによって</p>
<p>設備の動作を変えたりと読み取った後の処理が重要になってきます。</p>
<p>&nbsp;</p>
<p>先ほどは、読み取った値をテキストボックスに表示することができました。</p>
<p>表示がされたテキストボックスに対して何らかの処理を追加すればよさそうですね。</p>
<p>&nbsp;</p>
<p>つまり、テキストボックスのイベントを発生させて、</p>
<p>そこで何らかの処理をさせてあげればよさそうです。</p>
<p>&nbsp;</p>
<p>ここで使う候補として出てくるのが、<span class="marker-under"><strong>TextBox.TextChanged</strong></span></p>
<p>&nbsp;</p>
<h2>バーコード情報を処理する</h2>
<p>テキストボックスに出力されたバーコードから読み取った情報を処理してみましょう。</p>
<p><strong>TextBox.TextChanged</strong>を使用するので、以下のようになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    Console.WriteLine(TextBox1.Text)
End Sub</pre><p>
&nbsp;</p>
<p>では、実際にコードを走らせてバーコードを読み取ってみましょう。</p>
<p>※カーソルはテキストボックスに合わせてください。</p>
<p>&nbsp;</p>
<p>コードを走らせてみるとわかるのですが、</p>
<p>バーコードリーダで読み取ったデータを表示させると実は、</p>
<p>1文字ずつPCへ送信されているのがわかります。</p>
<p>&nbsp;</p>
<p>バーコードリーダからPCへ送信されるデータは、1文字ずつとなり</p>
<p>その都度<strong>TextBox.TextChanged</strong>イベントが処理されます。</p>
<p>&nbsp;</p>
<p>つまり、全てのバーコード情報を受け取るには</p>
<p><span class="red-under">バーコードの長さ分<strong>TextChanged</strong>イベントが繰り返されます</span>。</p>
<p>&nbsp;</p>
<p>本来は全てのバーコード情報がそろって処理をするので、当然1文字ずつでは</p>
<p>正しい情報として成り立ちません。</p>
<p>&nbsp;</p>
<p>では、どうしたらいいでしょう？</p>
<p>&nbsp;</p>
<h2>終端キー：ターミネータ</h2>
<p>バーコードリーダで読み取ったデータの終わりには、終端キーと呼ばれる</p>
<p>ターミネータが付加されています。</p>
<p>※バーコードリーダによっては機能自体がないモノもあります。</p>
<p>&nbsp;</p>
<p>このターミネータを検知することで、読み取ったデータがそろってから</p>
<p>処理をすることができそうですね。</p>
<p>&nbsp;</p>
<p>ターミネータ機能を有しているバーコードリーダでは、デフォルトだと</p>
<p><span class="marker-under">「<strong>CR</strong>」や「<strong>CR</strong>+<strong>LF</strong>」が設定されています</span>。</p>
<p>&nbsp;</p>
<p>ちなみに<span class="marker-under">「<strong>CR</strong>」は<strong>キャリッジリターン</strong></span>って呼ばれています。</p>
<p><span class="marker-under">「<strong>LF</strong>」は<strong>ラインフィード</strong></span>になります。</p>
<p>&nbsp;</p>
<p>それぞれ</p>
<ul>

<li>CR : 先頭行へ戻す</li>

<li>LF：次の行へ送る</li>
</ul>
<p>といった役割があります。</p>
<p>&nbsp;</p>
<h3>終端キーを検知</h3>
<p>それでは終端キーを検知する処理を実装していきます。</p>
<p>&nbsp;</p>
<p>先ほどは、TextChangedイベントを使いましたがそれよりも良いイベントがあったので</p>
<p>以下のイベントを使用します。</p>
<p>&nbsp;</p>
<div class="sp-info">TextBox.KeyDown</div>
<p>を使います。</p>
<p>&nbsp;</p>
<p>これは<span class="marker-under">テキストボックス内でキーが押されたときにイベントが発生するメソッド</span>になります。</p>
<p>バーコードリーダの動作はキーボード動作と同様のふるまいをするのでこちらが便利です。</p>
<p>&nbsp;</p>
<p>このイベント内でターミネータを検知させます。</p>
<p>コードで書くと以下のようになります。
</p><pre class="urvanov-syntax-highlighter-plain-tag">Private Sub TextBox1_KeyPress(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
    If e.KeyCode = Keys.Enter Then
        ' ターミネータを検知してからの処理
        ’Trueの処理
    End If
End Sub</pre><p>
&nbsp;</p>
<p>ターミネータの検知をIf文で行っています。</p>
<p>条件式としては、<span class="marker-under">e.KeyCodeがEnterキーであれば処理を</span></p>
<p><span class="marker-under">実行する</span>といった式を組んでいます。</p>
<p>&nbsp;</p>
<p>変数eには、テキストボックス内で検知されたキー情報が格納されます。</p>
<p>&nbsp;</p>
<p><span class="marker-under">「<strong>CR</strong>」や「<strong>CR</strong>+<strong>LF</strong>」は<strong>Enter</strong>キーとして扱うことができる</span>ので、</p>
<p>Keys.Enterを指定しています。</p>
<p>&nbsp;</p>
<p>ターミネータが「<strong>CR</strong>」もしくは「<strong>CR</strong>+<strong>LF</strong>」だと、Trueの処理に移り</p>
<p>バーコード情報が全てそろった状態で処理ができます。</p>
<p>&nbsp;</p>
<p>以上でバーコードリーダから受け取る、受け取った後の処理ができました。</p>
<p>これ以降は、仕様によって変更したり桁数のチェックやチェックデジットなどの</p>
<p>処理を追加して読み取ったデータが正常かどうかをチェックすることにつなげられます。</p>
<p>&nbsp;</p>
<p>お疲れ様でした。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<p>PCと接続したバーコードリーダから読み取ったデータを受け取る方法について</p>
<p>紹介していきました。</p>
<p>&nbsp;</p>
<p>USB接続のバーコードリーダの大半はキーボードインターフェースとして認識され、</p>
<p>普段私たちが使うキーボードと同様のふるまいをします。</p>
<p>&nbsp;</p>
<p>バーコードで読み取ったデータは、一気に入力されるのではなく、</p>
<p>1文字ずつ入力がされていくので注意が必要です。</p>
<p>&nbsp;</p>
<p>全てのデータがそろった状態で処理をするには、</p>
<p>ターミネータを検知して次の処理へつなげれるように意識しましょう。</p>
<p>&nbsp;</p>
<p>バーコードリーダ……奥が深いですが、使えるようになると楽しいですよ。</p>
<p>&nbsp;</p>
<p>最後までお読みいただき、ありがとうございます。</p>
<p><strong><em>・こちらの書籍を参考にVB.Net勉強しています。</em></strong></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15976080%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059112 Visual Basic 2019 パーフェクトマスター"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9112/9784798059112.jpg?_ex=200x200" alt="Visual Basic 2019 パーフェクトマスター" /></div><p class="wpap-title">Visual Basic 2019 パーフェクトマスター</p><div class="wpap-creator">金城俊哉</div><div class="wpap-price">3,300円<span class="wpap-date">(04/13 06:25時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F16273997%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784798059006 作って覚える Visual Basic 2019 デスクトップアプリ入門"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/9006/9784798059006.jpg?_ex=200x200" alt="作って覚える Visual Basic 2019 デスクトップアプリ入門" /></div><p class="wpap-title">作って覚える Visual Basic 2019 デスクトップアプリ入門</p><div class="wpap-creator">荻原 裕之, 宮崎 昭世</div><div class="wpap-price">2,860円<span class="wpap-date">(04/13 06:25時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-books"><a href="https://hb.afl.rakuten.co.jp/hgc/g00q0728.wj9ire09.g00q0728.wj9isd7f/?pc=https%3A%2F%2Fbooks.rakuten.co.jp%2Frb%2F15009758%2F%3Frafcid%3Dwsc_b_ts_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天ブックス 9784774190402 かんたんVisual　Basic改訂2版"><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/0402/9784774190402.jpg?_ex=200x200" alt="かんたんVisual　Basic改訂2版" /></div><p class="wpap-title">かんたんVisual　Basic改訂2版</p><div class="wpap-creator">高橋広樹</div><div class="wpap-price">2,904円<span class="wpap-date">(04/13 06:25時点)</span></div><div class="wpap-service">楽天ブックス</div></a></div>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="3513"
					data-ulike-nonce="d195ed9e5a"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_3513"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/visualbasic_77/">【VB.Net】USB接続のバーコードリーダから値を受け取る～バーコードの基礎～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3513</post-id>	</item>
		<item>
		<title>【バーコード】チェックデジットの計算方法をさらっと解説～JANコード13桁編～</title>
		<link>https://dreamparadaisu.com/barcode_2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=barcode_2</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Mon, 04 Oct 2021 19:11:47 +0000</pubDate>
				<category><![CDATA[日常]]></category>
		<category><![CDATA[バーコード]]></category>
		<category><![CDATA[入門]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=3122</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 前回バーコードの中でJANコードについて記事を書きました。 その際に触れたチェックデジットについて、計算方法は解説しなかったの 今回はあらためて解説していきます。 &#160; あ...</p>
The post <a href="https://dreamparadaisu.com/barcode_2/">【バーコード】チェックデジットの計算方法をさらっと解説～JANコード13桁編～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>前回バーコードの中でJANコードについて記事を書きました。</p>
<p>その際に触れたチェックデジットについて、計算方法は解説しなかったの</p>
<p>今回はあらためて解説していきます。</p>
<p>&nbsp;</p>
<p>あくまでJANコードの13桁(標準タイプ)の計算方法になるので、</p>
<p>他のバーコードでは使えませんのであしからず。</p>
<p>&nbsp;</p>
<p>ちなみに前回は、こちら</p>
<div class="blog-card internal-blog-card blog-card-thumbnail-right cf"><div class="blog-card-thumbnail"><a href="https://dreamparadaisu.com/barcode_1/" class="blog-card-thumbnail-link"><img width="100" height="100" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/3d56c4a8da30da9e91df2a6017a75c0a-100x100.png" class="blog-card-thumb-image wp-post-image" alt="" srcset="https://dreamparadaisu.com/wp-content/uploads/2021/10/3d56c4a8da30da9e91df2a6017a75c0a-100x100.png 100w, https://dreamparadaisu.com/wp-content/uploads/2021/10/3d56c4a8da30da9e91df2a6017a75c0a-150x150.png 150w, https://dreamparadaisu.com/wp-content/uploads/2021/10/3d56c4a8da30da9e91df2a6017a75c0a-120x120.png 120w" sizes="(max-width: 100px) 100vw, 100px" /></a></div><div class="blog-card-content"><div class="blog-card-title"><a href="https://dreamparadaisu.com/barcode_1/" class="blog-card-title-link">【バーコード】意外と知らないJANコードのルールや読み方をさらっと紹介</a></div><div class="blog-card-excerpt">モノを買われることであれば、一度は見たことがあるだろうバーコード、そんなバーコードについて一回はどうなってんだろう？と気になったことはありませんか？私たちが日常的に目にするバーコード(JANコード)についてさらっと紹介しています。モヤモヤした悩みの解決もしくは雑学ネタとして参考にしていただければ嬉しいです。</div></div><div class="blog-card-footer"><div class="blog-card-site">dreamparadaisu.com</div><div class="blog-card-hatebu"><a href="//b.hatena.ne.jp/entry/https://dreamparadaisu.com/barcode_1/" rel="nofollow"><img src="//b.hatena.ne.jp/entry/image/https://dreamparadaisu.com/barcode_1/" alt="" /></a></div><div class="blog-card-date">2021-10-01 05:51</div></div></div>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3HI93W+DDNP6A+0K+15RCDD" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www22.a8.net/svt/bgt?aid=210803612809&amp;wid=001&amp;eno=01&amp;mid=s00000000002007014000&amp;mc=1" alt="" width="728" height="90" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www14.a8.net/0.gif?a8mat=3HI93W+DDNP6A+0K+15RCDD" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>チェックデジットについて</h1>
<p>こちらについて調べてみると、</p>
<blockquote><strong>チェックデジット</strong>とは、数字列の誤りを検知するために付加される検査用の数字のこと。また、そのような数字を用いた誤り検出方式。<a title="バーコード" href="https://e-words.jp/w/%E3%83%90%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89.html">バーコード</a>や銀行の口座番号などに利用されている。
<p style="text-align: right">出典: <a href="https://e-words.jp/w/%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%87%E3%82%B8%E3%83%83%E3%83%88.html"><span style="font-size: 16px">チェックデジット <span id="h1alias">【<span class="ascii thin">check digit</span>】 チェックディジット</span></span></a></p>
</blockquote>
<p>&nbsp;</p>
<p>チェックデジットがあることで、</p>
<p>バーコードに間違いがないかどうかがわかるということですね。</p>
<p>&nbsp;</p>
<h1>チェックデジットの計算方法</h1>
<p>以前に用いたかっぱえびせんのJANコードを例にチェックデジットを計算していきます。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_3123" class="wp-block-image aligncenter"><img decoding="async" width="680" height="135" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/12e2be540818944cf5cb477b45ee7664.png" class="attachment-680x203 size-680x203" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<h2>全ての偶数桁の数字を足す！！</h2>
<p>最初に、<strong><span class="red-under">チェックデジットを除く全ての偶数桁</span></strong>を足し合わせます。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_3124" class="wp-block-image aligncenter"><img decoding="async" width="954" height="535" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/266762654f721d19efbaa7f2a1a3b1a8.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<h2>偶数桁の総和を3倍する！！</h2>
<p>先ほど求めた<strong><span class="red-under">偶数桁を足し合わせた数を3倍</span></strong>にします。</p>
<p>&nbsp;</p>
<div class="sp-info">19 × 3 = 57</div>
<p>&nbsp;</p>
<h2>全ての奇数桁の数字を足す！！</h2>
<p><strong><span class="red-under">チェックデジットを除く全ての奇数桁</span></strong>を足しわせます。</p>
<figure id="attachment_mmd_3125" class="wp-block-image aligncenter"><img decoding="async" width="954" height="535" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/cb6f774cfd13fe254acedefa3db3fcff.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<h2>偶数桁の総和×3と奇数桁の総和を足す！！</h2>
<p>偶数桁の総和×3をした値は、57です。</p>
<p>奇数桁の総和は、8です。</p>
<p>&nbsp;</p>
<p>これらを足しわせると、</p>
<div class="sp-info">57 + 8 = 65</div>
<p>となります。</p>
<p>&nbsp;</p>
<p style="text-align: center">
</p>
<p>&nbsp;</p>
<h2>足しわせた結果の下1桁の数字を10から引く！！</h2>
<p>最後に足しわせた結果の下1桁を抽出し、<strong><span class="marker-under">10から引き算</span></strong>します。</p>
<p>&nbsp;</p>
<p>65の下1桁は5になるので、この値を10から引きます。</p>
<p>&nbsp;</p>
<div class="sp-info">10 &#8211; 5 = 5</div>
<p>&nbsp;</p>
<div>チェックデジットは、<span style="color: #ff6600;font-size: 28px"><strong>5</strong></span>になります。</div>
<p>&nbsp;</p>
<div>JANコードを確認してみると、</div>
<div>実際にかっぱえびせんのJANコードの末尾のチェックデジットは5であることがわかります。</div>
<p>&nbsp;</p>
<div>このようにしてチェックデジットを計算することができました。</div>
<div>※　下１桁が0の場合は、0になります。</div>
<p>&nbsp;</p>
<h1>まとめ</h1>
<div>JANコードの13桁に基づくチェックデジットの計算方法について解説していきました。</div>
<p>&nbsp;</p>
<div>知っていると便利で、</div>
<div>チェックデジットという検出方法があるからバーコードは</div>
<div>間違えないんだということがわかりますね。</div>
<p>&nbsp;</p>
<div>ただしバーコードを読み取っただけでは、チェックデジットが正しいかなんてわかりません。</div>
<div>読み取ってチェックデジットを判定する仕組みを考えなければいけません。</div>
<p>&nbsp;</p>
<div>最近では、<strong><span class="marker-under">バーコードを読み取るスキャナにチェックデジット判定機能</span></strong>が付いているのもあり</div>
<div>それを利用することでわざわざ仕組みづくりを自分で考える必要はなくなってきました。</div>
<p>&nbsp;</p>
<div><figure id="attachment_mmd_3126" class="wp-block-image aligncenter"><img decoding="async" width="640" height="480" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/22068897_s.jpg" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure></div>
<p>&nbsp;</p>
<div>ですが、こうした仕組みづくりはなるべく最初は自分で考えやるようにしましょう。</div>
<div>自身のスキル向上や知恵の肥やしになります。</div>
<p>&nbsp;</p>
<div>チェックデジット判定については、</div>
<div>またどこかでプログラミングをテーマにやって行けたらと思います。</div>
<p>&nbsp;</p>
<div>最後までお読みいただき、ありがとうございます。</div>
<p>&nbsp;</p>
<p><em><strong>・JANコードは以下の機器で読み取ることができます。</strong></em></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-ichiba"><a href="https://hb.afl.rakuten.co.jp/hgc/g00pz0a8.wj9ire14.g00pz0a8.wj9is8ab/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Ffksystem%2Fccd-700%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Ffksystem%2Fi%2F10001788%2F&rafcid=wsc_i_is_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天市場 fksystem:10001788 CCD-700 1年保証 エフケイシステム FKsystem タッチ式 バーコードリーダー USB接続【 バーコードスキャナー..."><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/fksystem/cabinet/01/ccd-700_1.jpg?_ex=128x128" alt="CCD-700 1年保証 エフケイシステム FKsystem タッチ式 バーコードリーダー USB接続【 バーコードスキャナー..." /></div><p class="wpap-title">CCD-700 1年保証 エフケイシステム FKsystem タッチ式 バーコードリーダー USB接続【 バーコードスキャナー...</p><div class="wpap-price">5,170円<span class="wpap-date">(04/13 11:22時点)</span></div><div class="wpap-service">楽天市場</div></a></div>
<p>&nbsp;</p>

<p>&nbsp;</p>		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="3122"
					data-ulike-nonce="648c3b8ead"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_3122"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="+1"></span>			</div></div>The post <a href="https://dreamparadaisu.com/barcode_2/">【バーコード】チェックデジットの計算方法をさらっと解説～JANコード13桁編～</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3122</post-id>	</item>
		<item>
		<title>【バーコード】意外と知らないJANコードのルールや読み方をさらっと紹介</title>
		<link>https://dreamparadaisu.com/barcode_1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=barcode_1</link>
		
		<dc:creator><![CDATA[リョクちゃ]]></dc:creator>
		<pubDate>Thu, 30 Sep 2021 20:51:25 +0000</pubDate>
				<category><![CDATA[日常]]></category>
		<category><![CDATA[バーコード]]></category>
		<category><![CDATA[入門]]></category>
		<guid isPermaLink="false">https://dreamparadaisu.com/?p=3092</guid>

					<description><![CDATA[<p>どうも！リョクちゃです。 &#160; 今回は、バーコード、中でも私たちが日常的に目にする機会が多い JANコードについて紹介していきます。 &#160; &#160; バーコードって Barcodeと英語では書きます。...</p>
The post <a href="https://dreamparadaisu.com/barcode_1/">【バーコード】意外と知らないJANコードのルールや読み方をさらっと紹介</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>

この投稿の関連記事が見つかりませんでした。
</div>
]]></description>
										<content:encoded><![CDATA[<p>どうも！リョクちゃです。</p>
<p>&nbsp;</p>
<p>今回は、バーコード、中でも私たちが日常的に目にする機会が多い</p>
<p>JANコードについて紹介していきます。</p>
<p>&nbsp;</p>
<p><a href="https://px.a8.net/svt/ejp?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" rel="nofollow">
<img loading="lazy" decoding="async" class="aligncenter" src="https://www27.a8.net/svt/bgt?aid=220503664100&amp;wid=001&amp;eno=01&amp;mid=s00000015623001010000&amp;mc=1" alt="" width="468" height="60" border="0" /></a></p>
<img loading="lazy" decoding="async" class="aligncenter" src="https://www13.a8.net/0.gif?a8mat=3NA5PS+1NJD9U+3CJQ+60H7L" alt="" width="1" height="1" border="0" />
<p>&nbsp;</p>
<h1>バーコードって</h1>
<p>Barcodeと英語では書きます。読んで字の如く、バー(棒)で構成されたコードになります。</p>
<p>この<span class="marker-under">バーの太さによって数字で合ったり、文字や記号を表しています</span>。</p>
<p>&nbsp;</p>
<p>正しく調べてみると、やはりWikipediaが概要を知るうえでは参考になりそうです。</p>
<blockquote><b>バーコード</b>（<a title="英語" href="https://ja.wikipedia.org/wiki/%E8%8B%B1%E8%AA%9E">英</a>: <span lang="en">barcode</span>）は、縞模様状の線の太さによって数値や文字を表す<a title="識別子" href="https://ja.wikipedia.org/wiki/%E8%AD%98%E5%88%A5%E5%AD%90">識別子</a>の一種である。仕組みとしては、<a title="数字" href="https://ja.wikipedia.org/wiki/%E6%95%B0%E5%AD%97">数字</a>・<a title="文字" href="https://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97">文字</a>・<a title="記号" href="https://ja.wikipedia.org/wiki/%E8%A8%98%E5%8F%B7">記号</a>などの情報を一定の規則に従い、<a class="mw-redirect" title="一次元" href="https://ja.wikipedia.org/wiki/%E4%B8%80%E6%AC%A1%E5%85%83">一次元</a>のコードに変換している。
<p style="text-align: right"><a href="https://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89">出典: フリー百科事典『ウィキペディア（Wikipedia）』</a></p>
</blockquote>
<p>&nbsp;</p>
<p>今日では、多くのバーコードが世に流出しています。</p>
<p>一般的なバーコードは以下のようなコードではないでしょうか？</p>
<ul>

<li>JANコード</li>

<li>QRコード</li>

<li>データマトリクス</li>

<li>ISBN</li>

<li>ASIN</li>

<li>CODE39</li>

<li>CODE128</li>

<li>郵便バーコード</li>
</ul>
<p>とまぁ挙げるときりがないですが、上記にあげたバーコードが</p>
<p>主に多く使われています。</p>
<p>&nbsp;</p>
<p>一部、簡単に解説すると、</p>
<ul>

<li>ISBNは、<span class="marker-under">書籍用のJANコード</span>になっていて、書籍出版物に広く使われています。</li>

<li>ASINは、Amazonが独自に定めたルールに基づいて構成されるバーコードです。</li>
</ul>
<p>&nbsp;</p>
<h1>JANコード</h1>
<p>Japanese Article Number(JAN)コードと呼ばれ、</p>
<p>JIS規格によって定められた共通商品コードになります。</p>
<p>&nbsp;</p>
<p>JANとは、日本のみの呼称で国際的には、<strong><span class="marker-under">EANコード</span></strong>と呼ばれています。</p>
<p>&nbsp;</p>
<p>普段私たちが、スーパーで見かける商品には必ずJANコードが付与されていて、</p>
<p>1商品に対して1つが必ず割り当てられています。</p>
<p>&nbsp;</p>
<p>JANコードでは、どの国のどこの事業者で、どの商品かを管理しており、</p>
<p>JANコードを読み取るだけで<span class="marker-under"><strong>どこの事業者の商品</strong>であるということがわかってしまいます</span>。</p>
<p>&nbsp;</p>
<figure id="attachment_mmd_3099" class="wp-block-image aligncenter"><img decoding="async" width="640" height="440" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/4947876_s.jpg" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>これは世界共通の商品識別番号となっており、JANコードがあることで</p>
<p>例えば、スーパーでは、在庫管理や売り上げ管理を効率的に行うことができます。</p>
<p>&nbsp;</p>
<p>JANコードがなければ、スーパーでは全ての</p>
<p>取り扱う商品のリストを作っておかないといけませんよね。</p>
<p>&nbsp;</p>
<p>管理がとても手間ですし、齟齬も発生しかねないです。</p>
<p>※JANコードがあってよかった。</p>
<p>&nbsp;</p>
<h2>JANコードの読み方/構成</h2>
<p>そんなJANコード、実体は下図のようなバーコードになります。</p>
<figure id="attachment_mmd_3094" class="wp-block-image aligncenter"><img decoding="async" width="1003" height="193" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/f0393fd1ca9f5e72969be7dab10c08b3.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>これを更に構成ごとに分けてみると、</p>
<figure id="attachment_mmd_3095" class="wp-block-image aligncenter"><img decoding="async" width="1003" height="265" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/4f0fa77174fa9f35f4ebafd386746bee.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<ol>

<li>国コード　日本の場合、45もしくは49で表されます。</li>

<li>事業者コード　商品を取り扱う事業者のコードになります。</li>

<li>商品アイテムコード　商品を表すコードになります。</li>

<li>チェックデジット　読み誤りがないか自動的にチェックする桁になります。</li>
</ol>
<p>①～④の構成になっており、これによりどこの国の、</p>
<p>どの事業者でどの商品というのがわかります。</p>
<p>※チェックデジットについては、改めて計算方法など紹介していきます！</p>
<p>&nbsp;</p>
<p>JANコードの桁数も固有で2パターンがあります。</p>
<p>13桁もしくは8桁の2種類があります。</p>
<p>&nbsp;</p>
<p>13桁を標準タイプ、8桁を短縮タイプと位置付けています。</p>
<p>構成は共通で、事業者コードの桁数、商品アイテムコードの桁数が変わります。</p>
<p>&nbsp;</p>
<p>13桁の場合、</p>
<ol>

<li>国コード　2桁</li>

<li>事業者コード　5～9桁</li>

<li>商品アイテムコード　3~5桁</li>

<li>チェックデジット　1桁</li>
</ol>
<p>8桁の場合、</p>
<ol>

<li>国コード　2桁</li>

<li>事業者コード　4桁</li>

<li>商品アイテムコード　1桁</li>

<li>チェックデジット　1桁</li>
</ol>
<p>といった構成になります。</p>
<p>&nbsp;</p>
<p style="text-align: center">
</p>
<p>&nbsp;</p>
<h2>実際に流通している商品のJANコードを見る</h2>
<p>今回は私が好きなお菓子のJANコードを読み解いていきます。</p>
<p>まずはこちら</p>
<figure id="attachment_mmd_3096" class="wp-block-image aligncenter"><img decoding="async" width="1003" height="193" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/5efe167dabd8a8ba56ed69621a2715b5.png" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p>&nbsp;</p>
<p>この時点で何だかわかる方はすごいです！バーコード情報を記憶されている方ですね。</p>
<p>&nbsp;</p>
<p>国コードが<strong>49</strong>であることから、<span class="marker-under">日本の商品であることはわかります</span>。</p>
<p>これ以降は実際に調べてみないとわからないので……。</p>
<p>&nbsp;</p>
<p>事業者コードは、<strong>01330</strong></p>
<p>商品アイテムコードは、<strong>10510</strong></p>
<p>チェックデジットは、<strong>5</strong></p>
<p>という分解ができます。</p>
<p>&nbsp;</p>
<p>事業者コード、01330を調べてみると、</p>
<p>カルビーであることがわかりました！</p>
<p>&nbsp;</p>
<p>ここまででカルビーの商品であることがわかります。</p>
<p>&nbsp;</p>
<p>では、最後に商品アイテムコードの10510を調べてみると、</p>
<p>かっぱえびせん　90gであることがわかりました!</p>
<p>&nbsp;</p>
<p>ここで、ようやく、読み取ることができました。</p>
<p>正解は、かっぱえびせんです。</p>
<p>&nbsp;</p>
<p>あの「やめられない～とまらない」のフレーズで有名な筆者も大好きなお菓子です！</p>
<figure id="attachment_mmd_3098" class="wp-block-image alignnone"><img decoding="async" width="680" height="913" src="https://dreamparadaisu.com/wp-content/uploads/2021/10/71mtdmdSDIL._AC_SL1388_.jpg" class="attachment-680x1024 size-680x1024" alt="" loading="lazy" align="none" /></figure>
<p style="text-align: center"><a href="https://www.amazon.co.jp/gp/product/B07SRXTHNS/ref=as_li_tl?ie=UTF8&amp;camp=247&amp;creative=1211&amp;creativeASIN=B07SRXTHNS&amp;linkCode=as2&amp;tag=ryokutea08-22&amp;linkId=31f257a0b4716e8986e45761612d0bc6" target="_blank" rel="noopener">カルビー かっぱえびせん 85g</a></p>
<p>&nbsp;</p>
<p>ここでの読み取り方を参考に、皆さんもスーパーに足を運ばれた際には、</p>
<p>読んでみてもらえたらと思います。</p>
<p>&nbsp;</p>
<p>買い物の付き添いでの暇つぶし、新たなアイデアの発見につながるかもしれません！</p>
<p>&nbsp;</p>
<p>まずはカルビーの事業者コードを紹介しましたので、</p>
<p>カルビーで探してみるといいと思います！</p>
<p>&nbsp;</p>
<p>実際にカルビーの商品を手に取り、アイテムコードを確認してください。</p>
<p>すると、手に持たれた商品はこういったアイテムコードを持っているのか、</p>
<p>という納得に変わります。</p>
<p>&nbsp;</p>
<h1>まとめ</h1>
<figure id="attachment_mmd_3082" class="wp-block-image aligncenter"><img decoding="async" width="640" height="424" src="https://dreamparadaisu.com/wp-content/uploads/2020/09/5156524_s.jpg" class="attachment-full size-full" alt="" loading="lazy" align="center" /></figure>
<p><span class="marker-under">JANコードには<strong>標準タイプ</strong>と<strong>短縮タイプ</strong>の2種類</span>がありました。</p>
<p>&nbsp;</p>
<p>JANコードを読むことで、<strong><span class="red-under">どこの事業者のどの商品</span></strong>であることがわかります。</p>
<p>&nbsp;</p>
<p>JANコードがあることで、<span class="marker-under"><strong>在庫管理</strong>や<strong>売り上げ管理</strong>を<strong>効率的</strong>に行えるようになります</span>。</p>
<p>&nbsp;</p>
<p><em><strong>・JANコードは以下の機器で読み取ることができます。</strong></em></p>
<div class="wpap-tpl wpap-tpl-detail wpap-tpl-rakuten-ichiba"><a href="https://hb.afl.rakuten.co.jp/hgc/g00pz0a8.wj9ire14.g00pz0a8.wj9is8ab/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Ffksystem%2Fccd-700%2F&m=http%3A%2F%2Fm.rakuten.co.jp%2Ffksystem%2Fi%2F10001788%2F&rafcid=wsc_i_is_1064955924733071255" rel="nofollow" class="wpap-link" target="_blank" data-click-tracking="楽天市場 fksystem:10001788 CCD-700 1年保証 エフケイシステム FKsystem タッチ式 バーコードリーダー USB接続【 バーコードスキャナー..."><div class="wpap-image"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/fksystem/cabinet/01/ccd-700_1.jpg?_ex=128x128" alt="CCD-700 1年保証 エフケイシステム FKsystem タッチ式 バーコードリーダー USB接続【 バーコードスキャナー..." /></div><p class="wpap-title">CCD-700 1年保証 エフケイシステム FKsystem タッチ式 バーコードリーダー USB接続【 バーコードスキャナー...</p><div class="wpap-price">5,170円<span class="wpap-date">(04/13 11:22時点)</span></div><div class="wpap-service">楽天市場</div></a></div>
<p>&nbsp;</p>
		<div class="wpulike wpulike-default " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="3092"
					data-ulike-nonce="8b9597b766"
					data-ulike-type="post"
					data-ulike-template="wpulike-default"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_3092"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>The post <a href="https://dreamparadaisu.com/barcode_1/">【バーコード】意外と知らないJANコードのルールや読み方をさらっと紹介</a> first appeared on <a href="https://dreamparadaisu.com">リョクちゃの電脳日記</a>.<div class='yarpp yarpp-related yarpp-related-rss yarpp-related-none yarpp-template-list'>
<p>この投稿の関連記事が見つかりませんでした。</p>
</div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3092</post-id>	</item>
	</channel>
</rss>
