1. ListReader เพื่อหาชื่ออุปกรณ์อ่านบัตร 2. OpenReader เพื่อเชื่อมต่อกับอุปกรณ์ที่ต้องการ 3. SelectApplet CM_AID เพื่อเลือกใช้ชุดข้อมูลสำหรับอ่านค่า CID 4. GetCardInfo เพื่ออ่านค่า CID และเก็บไว้ในตัวแปร 5. SelectApplet MOI_AID เพื่อเลือกใช้ชุดข้อมูลหน้าบัตรประจำตัวประชาชน 6. ReadData เพื่ออ่านค่าข้อมูลหน้าบัตรฯ และเก็บไว้ในตัวแปร การใช้งาน GetCardInfo Public Sub get_cid() Dim CHIP_INFO_SIZE As Integer Dim CID_SIZE As Integer Dim pre_perso, chip, os, perso As String 'Dim laser_id2 As String '//---GET CID---// Dim m_cid_str as String = New String(" "c, 16) chip = New String(" "c, 20) os = New String(" "c, 20) pre_perso = New String(" "c, 20) perso = New String(" "c, 20) rc = Select_Applet(Trim(CM_AID), err_code) If (rc <> SCAPI_SUCCESS) Then Call error_text(" Select_Applet", rc, err_code) Call close_reader() Exit Sub End If rc = GetCardInfo(m_cid_str, chip, os, pre_perso, perso, status) If (rc <> SCAPI_SUCCESS) Then Call error_text("GetCardInfo", rc, err_code) Call close_reader() Exit Sub End If Return m_cid_str.Trim End Sub ////bp1no/// Public Sub get_bp1no() Dim block_id, offset As Integer Dim dataBuf As String Dim data_size As Integer Dim aid As String aid = MOI_AID rc = Select_Applet(Trim(aid), err_code) If (rc <> SCAPI_SUCCESS) Then Call error_text(" Select_Applet", rc, err_code) Call close_reader() Exit Sub End If block_id = 0 offset = 226 data_size = 11 dataBuf = New String(" ", data_size + 6) rc = Read_Data(m_card_type, block_id, offset, data_size, dataBuf, err_code) If (rc <> SCAPI_SUCCESS) Then Call error_text(" Read_Data()", rc, err_code) Call close_reader() Exit Sub End If BP1NO = dataBuf.Trim() End Sub