Dear friends,
Perhaps, that's what i'm looking for...
the reader always detects card (listen to usb port).....
if there's no card detected then the reader will output messages :
================================================== ================
( X ) No TAG Selected or in Reachable Range : -3000
( X ) No TAG Selected or in Reachable Range : -3000
( X ) No TAG Selected or in Reachable Range : -3000
( X ) No TAG Selected or in Reachable Range : -3000
if a card is detected, a new message is triggered
and an event is triggered ....
==================================================
btw, could you please give me a sample code in your case ?
for analysis, i also attach the source code for windows application...
in windows application, it's a lot easier...
thank you,
hendy
======source code =================
private void fUJITIPE_Load(object sender, System.EventArgs e)
{
pbFound.Visible=true;
_ACR = new ACR120DLL.ACR120DLL ();
_ACR.TotalBlocks = 44;//TOTAL BLOCK-1
_AddListHandler = new ACR120DLL.ACR120DLL.AddListHandler(AddList);
_ACR.AddList += _AddListHandler ;
_ACR.SelectList +=new ACR120DLL.ACR120DLL.SelectListHandler (SelectList);
_ACR.MsgBox +=new ACR120DLL.ACR120DLL.MsgBoxHandler (MsgBox);
_ACR.TriggerPerformStep +=new ACR120DLL.ACR120DLL.ProgressStepHandler (progress_StepEvents);
_ACR.TriggerReadyImg +=new ACR120DLL.ACR120DLL.ReadyImgHandler(Image_Events);
_ACR.Connect();
Timer1 = new System.Timers.Timer();
Timer1.Elapsed +=new System.Timers.ElapsedEventHandler (TriggerReadData);
Timer1.Interval = 1000;
Timer1.AutoReset = true;
Timer1.Start();
}
private void AddList(string Msg)
{
if (Msg.EndsWith("-3030"))
{
MessageBox.Show("Ada kesalahan ! Mohon diulangi proses pembacaan kartu !");
_ACR.AddList-= _AddListHandler;
DisposeObjectReader();
InitReader();
return;
}
List1.Items.Add(Msg);
}
private void SelectList()
{
List1.SelectedIndex = List1.Items.Count - 1;
}
private void MsgBox(string Msg)
{
char[] _chr=new char[1];
_chr[0]=':';
string[] Message = Msg.Split(_chr);
MessageBox.Show(Message[1], Message[0], MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
private void TriggerReadData(object o, System.Timers.ElapsedEventArgs e)
{
ArrayList alData = new ArrayList();
Timer1.Stop();
progress.Value=1;
alData= _ACR.ReadData();
if (alData.Count == 45) //TOTAL BLOCKS
{
//
string Nomor = alData[0].ToString().Replace ("\0","");
string Perusahaan = alData[1].ToString().Replace ("\0","");
string Alamat1 = alData[2].ToString().Replace ("\0","");
string Alamat2 = alData[3].ToString().Replace ("\0","");
string Alamat = Alamat1 + Alamat2;
string Merek = alData[4].ToString().Replace ("\0","");
string Tipe = alData[5].ToString().Replace ("\0","");
string Jenis = alData[6].ToString().Replace ("\0","");
string Peruntukan = alData[7].ToString().Replace ("\0","");
string Varian = alData

.ToString().Replace ("\0","");
string KendaraanDiuji = alData[9].ToString().Replace ("\0","");
string NomorRangka = alData[10].ToString().Replace ("\0","");
string NomorMotorPenggerak = alData[11].ToString().Replace ("\0","");
string PenanggungJawabPerusahaan = alData[12].ToString().Replace ("\0","");
string KonfigurasiSumbu= alData[13].ToString().Replace ("\0","");
string JarakSumbuIsampaiII= alData[14].ToString().Replace ("\0","");
string JarakSumbuIIsampaiIII= alData[15].ToString().Replace ("\0","");
string JarakSumbuIIIsampaiIV= alData[16].ToString().Replace ("\0","");
string DimensiLebarTotal= alData[17].ToString().Replace ("\0","");
string DimensiTinggiTotal= alData[18].ToString().Replace ("\0","");
string DimensiJulurDepan= alData[19].ToString().Replace ("\0","");
string DimensiJulurBelakang= alData[20].ToString().Replace ("\0","");
string JumlahSilinder= alData[21].ToString().Replace ("\0","");
string IsiSilinder= alData[22].ToString().Replace ("\0","");
string DayaMotorPenggerakMaksimum= alData[23].ToString().Replace ("\0","");
string BahanBakar= alData[24].ToString().Replace ("\0","");
string UkuranBanSumbuI= alData[25].ToString().Replace ("\0","");
string UkuranBanSumbuII= alData[26].ToString().Replace ("\0","");
string UkuranBanSumbuIII= alData[27].ToString().Replace ("\0","");
string UkuranBanSumbuIV= alData[28].ToString().Replace ("\0","");
string KekuatanRancanganSumbuI= alData[29].ToString().Replace ("\0","");
string KekuatanRancanganSumbuII= alData[30].ToString().Replace ("\0","");
string KekuatanRancanganSumbuIII= alData[31].ToString().Replace ("\0","");
string KekuatanRancanganSumbuIV= alData[32].ToString().Replace ("\0","");
string JBBatauJBKB= alData[33].ToString().Replace ("\0","");
string BeratKosong= alData[34].ToString().Replace ("\0","");
string JBIatauJBKI= alData[35].ToString().Replace ("\0","");
string DayaAngkutKg= alData[36].ToString().Replace ("\0","");
string DayaAngkutOrang= alData[37].ToString().Replace ("\0","");
string DayaAngkutBarang= alData[38].ToString().Replace ("\0","");
string KelasJalanTerendah= alData[39].ToString().Replace ("\0","");
string Berdasarkan= alData[40].ToString().Replace ("\0","");
string TglTtd= alData[41].ToString().Replace ("\0","");
string TempatTtd= alData[42].ToString().Replace ("\0","");
string NamaPejabat= alData[43].ToString().Replace ("\0","");
string NIPPejabat= alData[44].ToString().Replace ("\0","");
//KIR
txtNomor.Text = Nomor;
txtPerusahaan.Text=Perusahaan;
txtAlamat.Text=Alamat.Trim();
txtMerek.Text=Merek;
txtTipe.Text =Tipe;
txtJenis.Text =Jenis;
txtPeruntukan.Text =Peruntukan;
txtVarian.Text =Varian;
txtKendaraanDiuji.Text=KendaraanDiuji;
txtNomorRangka.Text =NomorRangka;
txtNomorMotorPenggerak.Text =NomorMotorPenggerak;
txtPenanggungJawabPerusahaan.Text =PenanggungJawabPerusahaan;
txtKonfigurasiSumbu.Text =KonfigurasiSumbu;
txtJarakSumbuIsampaiII.Value =Convert.ToDecimal(JarakSumbuIsampaiII);
txtJarakSumbuIIsampaiIII.Value=Convert.ToDecimal(J arakSumbuIIsampaiIII);
txtJarakSumbuIIIsampaiIV.Value =Convert.ToDecimal(JarakSumbuIIIsampaiIV);
txtDimensiLebarTotal.Value =Convert.ToDecimal(DimensiLebarTotal);
txtDimensiTinggiTotal.Value = Convert.ToDecimal(DimensiTinggiTotal);
txtDimensiJulurDepan.Value =Convert.ToDecimal(DimensiJulurDepan);
txtDimensiJulurBelakang.Value =Convert.ToDecimal(DimensiJulurBelakang);
txtJumlahSilinder.Value =Convert.ToInt32(JumlahSilinder);
txtIsiSilinder.Value =Convert.ToDecimal(IsiSilinder);
txtDayaMotorPenggerakMaksimum.Value =Convert.ToDecimal(DayaMotorPenggerakMaksimum);
txtBahanBakar.Text =BahanBakar;
txtUkuranBanSumbuI.Value =Convert.ToDecimal(UkuranBanSumbuI);
txtUkuranBanSumbuII.Value =Convert.ToDecimal(UkuranBanSumbuII);
txtUkuranBanSumbuIII.Value =Convert.ToDecimal(UkuranBanSumbuIII);
txtUkuranBanSumbuIV.Value =Convert.ToDecimal(UkuranBanSumbuIV);
txtKekuatanRancanganSumbuI.Value =Convert.ToDecimal(KekuatanRancanganSumbuI);
txtKekuatanRancanganSumbuII.Value =Convert.ToDecimal(KekuatanRancanganSumbuII);
txtKekuatanRancanganSumbuIII.Value =Convert.ToDecimal(KekuatanRancanganSumbuIII);
txtKekuatanRancanganSumbuIV.Value =Convert.ToDecimal(KekuatanRancanganSumbuIV);
txtJBBatauJBKB.Value =Convert.ToDecimal(JBBatauJBKB);
txtBeratKosong.Value =Convert.ToDecimal(BeratKosong);
txtJBIatauJBKI.Value =Convert.ToDecimal(JBIatauJBKI);
txtDayaAngkutKg.Value =Convert.ToDecimal(DayaAngkutKg);
txtDayaAngkutOrang.Value =Convert.ToInt32(DayaAngkutOrang);
txtDayaAngkutBarang.Value =Convert.ToDecimal(DayaAngkutBarang);
txtKelasJalanTerendah.Text =KelasJalanTerendah;
txtBerdasarkan.Text =Berdasarkan;
string _temp = TglTtd;
if (_temp.EndsWith(":"))
_temp += "00 ";
else
_temp += ":00 ";
dtTglTtd.Value = Convert.ToDateTime(_temp);
txtTempatTtd.Text=TempatTtd;
txtNamaPejabat.Text =NamaPejabat;
txtNIPPejabat.Text =NIPPejabat;
//
MessageBox.Show("Selesai dibaca dari kartu !");
RefreshForm(Nomor);
_ACR.WaitAMinute();
}
Timer1.Start();
}
private void RefreshForm(string nomor)
{
_db = new Database.DatabaseReg();
_con = _db.Connection;
if (_con.State == ConnectionState.Open)
_con.Close ();
_da = _db.GetSqlDataAdapter ("sp_UJITIPE",CommandType.StoredProcedure );
//
_da.SelectCommand.Parameters.Add ("@Nomor",SqlDbType.VarChar).Value= nomor;
_da.SelectCommand.Parameters.Add ("@Perusahaan",SqlDbType.VarChar ).Value= "" ;
_da.SelectCommand.Parameters.Add ("@Merek",SqlDbType.VarChar ).Value= "" ;
_da.SelectCommand.Parameters.Add ("@Tipe",SqlDbType.VarChar ).Value= "" ;
_da.SelectCommand.Parameters.Add ("@Jenis",SqlDbType.VarChar).Value= "" ;
_da.SelectCommand.Parameters.Add ("@Peruntukan",SqlDbType.VarChar).Value= "" ;
_da.SelectCommand.Parameters.Add ("@Varian",SqlDbType.VarChar).Value= "" ;
_da.SelectCommand.Parameters.Add ("@KendaraanDiuji",SqlDbType.VarChar).Value= "" ;
_da.SelectCommand.Parameters.Add ("@NomorRangka",SqlDbType.VarChar).Value= "" ;
_da.SelectCommand.Parameters.Add ("@NomorMotorPenggerak",SqlDbType.VarChar).Valu e= "" ;
_da.SelectCommand.Parameters.Add ("@PenanggungJawabPerusahaan",SqlDbType.VarChar).V alue= "" ;
_da.SelectCommand.Parameters.Add ("@TglTtd",SqlDbType.DateTime ).Value= Convert.DBNull;
_da.SelectCommand.Parameters.Add ("@TempatTtd",SqlDbType.VarChar).Value= "" ;
_da.SelectCommand.Parameters.Add ("@NamaPejabat",SqlDbType.VarChar).Value= "" ;
_da.SelectCommand.Parameters.Add ("@NIPPejabat",SqlDbType.VarChar).Value= "" ;
_da.SelectCommand.Parameters.Add ("@KelasJalanTerendah",SqlDbType.VarChar).Value = "" ;
_da.SelectCommand.Connection=_con;
_con.Open ();
_dt = new DataTable("UJITIPE");
_da.Fill(_dt);
_con.Close ();
_da = null;
//BindCtrls();
BindCtrlsImageOnly();
}
private void DisposeObjectReader()
{
Timer1.Stop();
_ACR.NAR(Timer1);
_ACR.NAR(_ACR);
}