نمایش نتایج 1 تا 5 از 5

نام تاپیک: نوشتن یه برنامه برای دریافت شناسه صیاد چک ها از بارکد خوان فیزیکی متصل به ویندوز

  1. #1

    نوشتن یه برنامه برای دریافت شناسه صیاد چک ها از بارکد خوان فیزیکی متصل به ویندوز

    سلام نمیدونم تاپیکم جای درستیه یا نه ...؟
    ما یه بارکدخوان 2 بعدی داریم که اطلاعات qr چک ها رو بخونیم ولی ما کل اطلاعات رو لازم نداریم و میخوایم فقط شناسه صیاد که توئ اکثر بانک ها 16 رقم آخر هست رو جدا کنیم و به تکست باکسی که فعال هست وارد کنیم
    و این رو هم بگم که ما از اینترنت بانک استفاده میکنیم و این تسکت باکس که میگم داخل برنامه خودمون نیست که بخوایم کاری بکنیم پس بنابراین یه برنامه میخوایم که تو پس زمینه کار کنه هر وقت اسکنر یه qr رو خوند اونو بگیره و 16 رقم آخر رو استخراج کنه و جایگذاریش کنه تو تکست باکس که فعاله ( حالا ممکنه تو هر برنامه ای باشه حتی نوت پد) آیا امکانش هست یا خیر؟

  2. #2
    کاربر دائمی آواتار پرستو پارسایی
    تاریخ عضویت
    آبان 1392
    محل زندگی
    تهران
    پست
    458

    نقل قول: نوشتن یه برنامه برای دریافت شناسه صیاد چک ها از بارکد خوان فیزیکی متصل به ویندوز

    به نظرم ، از کتابخانه ZXing برای خواندن QR استفاده کنید.در کد زیر یک شیء از نوع BarcodeReader ایجاد شده و تنظیمات دیکودر QR تنظیم می‌شه . سپس یک فرم جدید ایجاد می‌شه و یک تکست باکس برای نمایش شناسه صیاد اضافه می‌شه. رویداد فشردن کلید در تکست باکس بررسی می‌کنه که آیا کلید Enter فشرده شده یا نه، و در صورت فشرده شدن، شناسه صیاد را از رشته QR استخراج و در تکست باکس نمایش می‌ده. رویداد خواندن QR از اسکنر نیز شناسه صیاد را استخراج و در تکست باکس نمایش می‌ده. برنامه در پس زمینه اجرا می‌شه و منتظر خواندن QR از اسکنر هست. این هم مثالش



    using System;
    using System.Windows.Forms;
    using ZXing;


    class Program
    {
    static void Main(string[] args)
    {
    // ایجاد یک شیء از نوع BarcodeReader
    var barcodeReader = new BarcodeReader();


    // تنظیم تنظیمات دیکودر QR
    barcodeReader.Options = new ZXing.Common.DecodingOptions
    {
    PossibleFormats = new[] { BarcodeFormat.QR_CODE },
    };


    // ایجاد یک فرم جدید
    var form = new Form();


    // ایجاد یک تکست باکس برای نمایش شناسه صیاد
    var textBox = new TextBox();
    form.Controls.Add(textBox);


    // رویداد فشردن کلید در تکست باکس
    textBox.KeyDown += (sender, e) =>
    {
    if (e.KeyCode == Keys.Enter)
    {
    // استخراج شناسه صیاد از رشته QR
    string qrString = textBox.Text;
    string hunterID = qrString.Substring(qrString.Length - 16);


    // نمایش شناسه صیاد در تکست باکس
    textBox.Text = hunterID;
    }
    };


    // رویداد خواندن QR از اسکنر
    barcodeReader.OnBarcodeScanned += (result) =>
    {
    // استخراج شناسه صیاد از رشته QR
    string qrString = result.Text;
    string hunterID = qrString.Substring(qrString.Length - 16);


    // نمایش شناسه صیاد در تکست باکس
    textBox.Invoke((MethodInvoker)(() => textBox.Text = hunterID));
    };


    // اجرای برنامه در پس زمینه
    Application.Run(form);
    }




    امیدوارم منظورتان رو درست متوجه شده باشم و این مطلب مفید واقع بشه

  3. #3
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: نوشتن یه برنامه برای دریافت شناسه صیاد چک ها از بارکد خوان فیزیکی متصل به ویندوز

    نه ایشون منظورشون این بود برنامه شون تو پس زمینه اجرا بشه و وقتی بارکد خوانده میشه عدد رو بگیره و یه تغییری ایجاد بشه و هر جا که قراره عدد نوشته بشه تغییر یافته نوشته بشه.
    صرفا حالا اونجا میتونه یه صفحه وب باشه یا هر برنامه ای دیگه.
    به نظرم برید سمت تکنولوژی هوکینگ و با کتابخانه user32.dll کلید های فشرده شده(اسکنر ها هم یه جورایی انگار کلید فشار داده شدند) در سطح سیستم عامل رو دریافت کنید. و بعدش با همون کتابخونه تابع های keybd_event کلیدد های خودتون رو دوباره ارسال کنید(در لحظه).
    بازم سرچ کنید یه کم پیچیده هست و باید مطالعه بیشتری کنید.

  4. #4

    نقل قول: نوشتن یه برنامه برای دریافت شناسه صیاد چک ها از بارکد خوان فیزیکی متصل به ویندوز

    سلام دوست عزیز بله منظورم همینه بارکد خوان به عنوان یه صفحه کلید تو سیستم ویندوز شناخته میشه و اعداد هم به یکباره به مقصد نمیره و دونه دونه اعداد رو تایپ میکنه !!! ولی بانک ها به غیر از برنامه های موبایلی که اسکنر رو گذاشتن و از دوربین گوشی برای این کار استفاده میکنن برای اینترنت بانک هاشون فکری نکردن و ما با این مشکلات مواجه شدیم و طی تحقیقات من خود اسکنر ها هم برنامه خاصی برای این موارد ندارن :(
    من از تکنولوژی هوکینگ اطلاعی ندارم ولی به نظرم پیچیده اس :|| حالا بازم سرچ میکنم اگه کس دیگه ای کمکم کنه من بتونم این برنامه رو بنویسم به صورت رایگان برای استفاده همه میزارمش

  5. #5
    کاربر دائمی آواتار shahryari
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آذربايجان
    سن
    40
    پست
    1,237

    نقل قول: نوشتن یه برنامه برای دریافت شناسه صیاد چک ها از بارکد خوان فیزیکی متصل به ویندوز

    سلام
    فرمت بارکد روی چک ها (حد اقل 10 مدل بانک را تست کردم) بعضیایش یکیه و بعضیاش متفاوت،
    ابتدا باید split کنی بر اساس "\r\n" همون کارکتر با کد اسکی 13 و 10
    بعد با ریجکس یک پترن ایجاد کنی که بمحض دریافت رشته از بارکد خوان در ورودی ، اون آیتم که 16 رقمه و عدد هست (غیر رشته) رو دریافت کنی که میشه همون صیاد
    موفق باشی
    عکس اسکن شده از بارکد چک رفاه که اکثرا این فرمت هست ولی چکهایی اسکن کردم که به این روش فرمت نشده بودند (سپه و کشاورزی و انصار سابق و ...)

    IMG_20231218_135706_930.jpg
    آخرین ویرایش به وسیله shahryari : دوشنبه 27 آذر 1402 در 13:34 عصر

تاپیک های مشابه

  1. آموزش: تبدیل ویندوز یا لینوکس فیزیکی به ماشین مجازی-معرفی ابزارها
    نوشته شده توسط twinkle در بخش تالار های مرتبط با شبکه و امنیت
    پاسخ: 0
    آخرین پست: چهارشنبه 22 اردیبهشت 1395, 10:49 صبح
  2. سوال: طراحی نرم افزار تحت ویندوز متصل به وب
    نوشته شده توسط Twoplus2010 در بخش C#‎‎
    پاسخ: 6
    آخرین پست: شنبه 24 دی 1390, 01:00 صبح
  3. سوال: چجوری ویندوز را در شبکه ای که با پروکسی به اینترنت متصله آپدیت کنم؟
    نوشته شده توسط ali_pr در بخش شبکه و Networking‌
    پاسخ: 1
    آخرین پست: چهارشنبه 26 مرداد 1390, 21:29 عصر
  4. سوال: چگونه از طریق یک زبان برنامه نویسی در ویندوز به لینوکس متصل شویم؟
    نوشته شده توسط 121314 در بخش توسعه‌ی لینوکس و نرم افزارهای آزاد
    پاسخ: 1
    آخرین پست: یک شنبه 31 مرداد 1389, 14:56 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •