Wrox Programmer Forums
|
ASP.NET 1.0 and 1.1 Professional For advanced ASP.NET 1.x coders. Beginning-level questions will be redirected to other forums. NOT for "classic" ASP 3 or the newer ASP.NET 2.0 and 3.5
Welcome to the p2p.wrox.com Forums.

You are currently viewing the ASP.NET 1.0 and 1.1 Professional section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old March 21st, 2007, 06:56 AM
Authorized User
 
Join Date: Mar 2007
Posts: 28
Thanks: 0
Thanked 0 Times in 0 Posts
Default device connected to client computer

dear friends,

i have a case like these :
1. we have a card reader (usb port connection)...
2. we must connect this reader to client computer (there are some clients in different cities)....
3. reader's function is to read and write from a card, whereas the card's source data is from database (ASP .NET)
4. firstly, i tried to add reference in ASP .NET web application to the reader's DLL,
but it can not make a live event trigger/connection to the clients since the DLL is installed in the web server...

5. then i think of other solution : client side programming..and i install the reader's DLL in client computer...so reader can interact lively...
6. but i don't know how to use DLL event, trigger in client side programming...can anybody help ?


could you help me how to do it properly.

Thank you,
hendy


 
Old March 21st, 2007, 08:09 AM
Wrox Author
 
Join Date: Oct 2005
Posts: 4,104
Thanks: 1
Thanked 64 Times in 64 Posts
Send a message via AIM to dparsons
Default

I have only ever done this one time so it may not apply exactly to what you are trying to do.

My company uses Topaz Signature pads to capture electronic signatures that are attached to various documents in our records management system.

This is how it works. A COM component is loaded on the client machine on a web page I use an OBJECT tag that calls this COM component and there is also so Javascript involved.

When the form posts, I have a reference to the same COM component that is on the clients machine in my Solution and I use the reference to this component to create an image based on an Array of points that make up the clients signature.

The component itself does NOT trigger any events other then it detects if a signature pad is present via USB or Serial ports. From that point on it only allows the user to sign their name on the Pad and have it displayed in the web browser, the user posts the form, and I deal with the array of points as necessary.

================================================== =========
Read this if you want to know how to get a correct reply for your question:
http://www.catb.org/~esr/faqs/smart-questions.html
^^Took that from planoie's profile^^
^^Modified text taken from gbianchi profile^^
================================================== =========
Technical Editor for: Professional Search Engine Optimization with ASP.NET
http://www.wiley.com/WileyCDA/WileyT...470131470.html
================================================== =========
Why can't Programmers, program??
http://www.codinghorror.com/blog/archives/000781.html
================================================== =========
 
Old March 21st, 2007, 11:19 PM
Authorized User
 
Join Date: Mar 2007
Posts: 28
Thanks: 0
Thanked 0 Times in 0 Posts
Default

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);
}









Similar Threads
Thread Thread Starter Forum Replies Last Post
device DLL programming in client side programming hendyhanusin ASP.NET 2.0 Professional 1 March 21st, 2007 08:04 AM
How to get Client Computer Name ramuis78 ASP.NET 2.0 Basics 2 March 11th, 2007 11:48 PM
how to get client computer name ramuis78 ASP.NET 1.0 and 1.1 Basics 1 March 11th, 2007 10:21 AM
how to instal font at client computer BurhanKhan Javascript 4 April 28th, 2004 05:48 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.