[CSharp]把WebCam當QRCode的DeCode解碼器

QRCode的使用可分成編碼EnCode及解碼DeCode二部份,在各種平台上也有需多人依據編碼規則製作了許多可用的解碼與編碼器,之前文章也介紹過 [Java]QRCode產生VCard使用的是swetake這個framework,不過現在已經有統一的單位在研究 ZXing (“Zebra Crossing”) ,而且各種平台上均提供原始碼供大家使用,對於解碼DeCode、解碼EnCode及歪斜辨識效果、速度都讓人滿意。

二維條碼Quick Response Code的發展上大都份落在手機平台上,在桌機上不像是一般的一維條碼有專用的條碼機,所以在就只能利用WebCam的影像解析功能,即時拍照給QRCode解碼器zxing解碼DeCode。

執行畫面:

產生QRCode,使用kayway網站來產生QRCode

generator.png

Read More

[Java]猜數字大小的小遊戲Game

這是個十分簡單的小遊戲,主要是利用Eclipse搭配Virtual-Editor來拉畫面,再把行為寫入ActionListener裡監聽而已,主要控制都在Button按鈕的Click動作。

遊戲的概念是,由系統生成(?)設定一個數,以此程式為例,是由亂數產生的,而使用者在輸入框裡輸入要猜的數字,由按鈕”猜猜看”當獨發點,檢查輸入數字與系統設定的數字大小為何,並於TextArea顯示結果。此處還有另一個動作”答案”按鈕,可以顯示於TextArea系統的內定數字為何。

以下是結果畫面:

example1.png

按下答案按鈕會告知答案為何。

Read More

[jsp]常用範例-登入及檢查與登出

登入與登出是很常用到的一個網頁功能,而在製作上原理其實不難,當使用者輸入帳號密碼後,傳至程式,檢查資料庫裡使用者表格table是否存在此使用者,如果存在,則在Session裡存入使用者的個人資訊,而登出時只需要清除此Session記錄,檢查是否登入中,則是check Session是否存在。

此範例程式有幾個小功能:

  • 防止沒登入者使用需要登入的頁面
  • 登入檢查,誰是登入者
  • Servert載入時自動執行程式

登入畫面,預設的帳號是pig密碼是1234567

測試有沒有登入-沒登入狀況

Read More

[Java]讀取InputRead及寫入OutputWrite檔案File

Input及Output也就是IO的存取上,不只有Console輸出、鍵盤輸入這種組合,很常用的還有檔案的讀取及寫入,Java在讀取及寫入檔案上可大略分成二部份,Binary元位組IO及純文字的IO。

常用的class均屬於java.io這個package裡,以下圖表是讀取File檔時可用的相關類別。其相關的api說明可以參考Oracle sun JDK api

JavaIO以行為來分的話,可分成輸出模組及輸入模組,輸出模組像是寫入檔案、輸出至Console,而輸入模組像是讀取檔案、鍵盤輸入等。在類別名稱上可以很清楚的判別,含有字詞Input或Reader就是輸入模組,而含有字詞Output或Writer就是輸出模組。

Java讀取檔案

Read More

[Java]基本IO輸出Output及輸入Input-Console

Java的輸出及輸入控制大都定義在java.io.*裡,像是檔案File的讀寫,週邊設備RS232、LPT等的輸出與輸入都需要到Java IO。而Java IO大概分成二大類,一類是byte的讀取與寫出,可讀取寫入二位元binary的資料,而另一個是char的讀取與寫入,提供文字的讀取與寫入。

System類別並不屬於java.io的套件,而是屬於java.lang套件,在使用時預設載入,所以並不需要特別去import它。

  • System.in 通常是指鍵盤的輸入,為java.io.InputStream類別
  • System.out 通常是指Console螢幕輸出,為java.io.PrintStream類別
  • System.err 同System.out,主要是用在系統出錯時輸出至Console螢幕

註:Java本身在處理字串時均是使用utf8 uncode的方式,不過在Windows的Console(螢幕)字串的顯示與輸入都是使用ISO-8859-1編碼,所以需要先把字串轉換成Big5再行輸出,在Linux上則不會有這種問題。

System.out

  • System.out.println(內容):輸出”內容”加上”斷行\r\n”至Console(螢幕)
  • System.out.print(內容):輸出”內容”至Console(螢幕)

如果要輸出的內容需要有字串、文字、日期等,可以利用字串的連接+來把字串串連起來進行輸出。ex.”中文”+123

如果需要自行做斷行,可以使用\r\n來做換行動作。ex.System.out.print(“中文\r\n我換行了”);

Out.png

Read More