PDA

View Full Version : تفکیک بارکد خوان با کیبورد و خواندن اطلاعات و ذخیره در متغیر



HOSSEINONLINE7
یک شنبه 24 اسفند 1393, 10:45 صبح
سلام وقتی از بارکد خوان اطلاعات میخونم توی هر تکست که فوکوس باشه میره ولی من نیاز دارم حتما اطلاعات در یک متغیر ذخیره بشه تا یک محاسبه ایی روش انجام بدم و بعدش خودم جای مناسب ذخیره کنم .

توی Device Manager هم بارکدخوان بصورت کیبورد شناسایی شده . شناسه سخت افزاری چیزی نداره که بشه فهمید این کیبورد نیست ؟

چطور میشه اطلاعات خوانده شده توی برنامه مستقیم بره توی متغیر و در تکست ها نره ؟

SabaSabouhi
یک شنبه 24 اسفند 1393, 12:34 عصر
سلام وقتی از بارکد خوان اطلاعات میخونم توی هر تکست که فوکوس باشه میره ولی من نیاز دارم حتما اطلاعات در یک متغیر ذخیره بشه تا یک محاسبه ایی روش انجام بدم و بعدش خودم جای مناسب ذخیره کنم .

توی Device Manager هم بارکدخوان بصورت کیبورد شناسایی شده . شناسه سخت افزاری چیزی نداره که بشه فهمید این کیبورد نیست ؟

چطور میشه اطلاعات خوانده شده توی برنامه مستقیم بره توی متغیر و در تکست ها نره ؟

سلام
متاسفانه به صورت عمومی روش دیگه‌ای نداری.
بعضی از بارکدخوان‌ها این قابلیت رو دارن که قبل و بعد از بارکد خوانده شده یه کاراکتر خاص رو ارسال می‌کنن. می‌تونی از اون استفاده کنی
ولی همه این قابلیت رو ندارن. شاید به‌ترین روش این باشه که توی فرم‌هایی که قراره بارکد خوان فعال باشه، کلیدها رو preview کنی، و اگه
فاصله‌ی زمانی دو یا سه عدد پیاپی از زمان مشخصی کمتر بود، اون رو ورودی از بارکدخوان تلقی کنی و به اجزاء موجود روی فرم تحویل ندی.
این کار رو با IsHandled = True باید انجام بدی.

صبا صبوحی

m.khani_121
یک شنبه 24 اسفند 1393, 14:16 عصر
من خودمم همین مشکل رو داشتم . اگه بارکد رو خودت میسازی یه نشونه تو بارکدت بزار (مثلا آخر بارکد یه * بزار) بعد وقتی keypress فعال میشه اگه اخرین حرفی که وارد میشه * باشه میفهمی بارکدخوان فرستاده . . .

HOSSEINONLINE7
یک شنبه 24 اسفند 1393, 20:05 عصر
من خودمم همین مشکل رو داشتم . اگه بارکد رو خودت میسازی یه نشونه تو بارکدت بزار (مثلا آخر بارکد یه * بزار) بعد وقتی keypress فعال میشه اگه اخرین حرفی که وارد میشه * باشه میفهمی بارکدخوان فرستاده . . .

بارکد قبوض را میخوام بخونم که خودم تولید نمیکنم .

فعلا اومدم چک کردم اگر کاراکتر ها بیشتر از 20 تا بودن و با فاصله ی زمانی کوتاه پشت سر هم وارد شدن به عنوان بارکد هستن .

روش دیگه میشه گفت قبل از اینکه بارکد خوان را استفاده کنه کاربر یک کلید میانبر مثل F1 را بزنه .

SabaSabouhi
دوشنبه 25 اسفند 1393, 09:47 صبح
بارکد قبوض را میخوام بخونم که خودم تولید نمیکنم .

فعلا اومدم چک کردم اگر کاراکتر ها بیشتر از 20 تا بودن و با فاصله ی زمانی کوتاه پشت سر هم وارد شدن به عنوان بارکد هستن .

روش دیگه میشه گفت قبل از اینکه بارکد خوان را استفاده کنه کاربر یک کلید میانبر مثل F1 را بزنه .

سلام
من سابقه‌ی کار با بارکد رو دارم. چند تا توصیه می‌کنم.
1. به هیچ عنوان روی تعداد رقم‌ها حساسیت نداشته باش. بعضی وقت‌ها ممکنه بارکد با طول کوچک ( مثلاً 5 کاراکتر ) هم داشته باشی
که در حالت‌هایی غیر از کالا مصرف می‌شن. این موارد روی کالا ثبت نمی‌شن، و کاربر بارکدهای چاپ شده رو مثلاً روی میز یا دیوار نصب
می‌کنه و با خوندن اون‌ها به نرم‌افزار فرمان‌هایی می‌ده ( این خیلی کارایی داره و حیفه که امکانش رو نداشته باشی )
2. به اضافه کردن یک کاراکتر به بارکد فکر نکن، چون ممکنه مشتری ( یا کارفرما ) به هر دلیلی دستگاه بارکد خون رو عوض کنه و دستگاه
جدید این امکان رو نداشته باشه.
3. به کلید میان‌بر مثل F1 هم فکر نکن، چون کار با نرم‌افزار رو سخت می‌کنه.

به نظر من که همون روش ثبت کلیدهای با فاصله کم، به‌ترین روشه. با کمی سعی و خطا می‌تونی بازه‌ی زمانی مناسب رو پیدا کنی.
و تقریباً بدون مشکل کارت انجام می‌شه.

صبا صبوحی