PDA

View Full Version : دریافت بارکد بدون نیاز به فوکوس تکس باکس



Alfa_Debager
دوشنبه 13 مهر 1388, 18:04 عصر
با سلام

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

مشکل
بارکد خون بارکد را می خونه و بر روی هر تکس باکسی که فوکوس روی آن فعال باشد میندازه
مشکل من اینکه تو فرمم چون اپراتور مدام در حال کارکردن است هر بار فوکوس روی یک تکس باکس می افته و باعث اختلال تو کارش می شه
حالا می خوام بارکد خوانده شده را به یک متغیر بدم و با یک تایمر اور را چک کنم

راه حلی دارید ؟

با تشکر
از جوابتون پیشاپیش متشکرم

saied_genius
دوشنبه 13 مهر 1388, 18:52 عصر
با سلام

طبق تجربه اي که من با بارکد دارم، مي توانيد شماره هاي بارکد را در يک متغير ذخيره کنيد ، مثلاً روي key press فرم تغييرات را ذخيره کنيد، ولي راه حلي براي تايپ نشدن آن بر روي textbox فعال وجود ندارد. (حداقل بعد از کلي کلنجار رفتن من هنوز راه حلي پيدا نکردم)

موفق باشيد

vbhamed
سه شنبه 14 مهر 1388, 02:18 صبح
سلام

چون باركدخوان مثل كي برد عمل مي كنه نميشه تشخيص داد كي برد هست يا باركد خوان

اما شايد اگر سرعت درج اطلاعات تو TextBox رو اندازه بگيري بتوني با دقت نسبتا خوبي اين موضوع رو بفهمي، آخه باركدخوان با سرعت زيادي اطلاعات را درج مي كند كه دست نمي تونه به اين سرعت تايپ كنه

Alfa_Debager
چهارشنبه 15 مهر 1388, 12:07 عصر
مشکل اینه که فرم ما دارای چندین تکس باکس است که کاربر در هر زمان در حال کار با اونهاست
حالا اگر در حال کار کاربر بارکد روی تکس باکس اون بیفته متن بارکد جایگزین نوشته اون می شه و عملا در کار اون
اشکال ایجاد میکنه

حالا می خوام هم بارکد خون کارکنه و هم کاربر و تو کار هیچ کدون اختلالی ایجاد نشه
باز هم متشکرم از جوابتون

powerboy2988
چهارشنبه 15 مهر 1388, 12:32 عصر
شما مي توني يك كاري كني... كدي كه از بار كد مي خوني رو بيا دسته بندي كن مثلا ميشه 6546-3333 شما مي دوني فقط از طريق دستگاه باركد اين 3333 مياد.. پس مياي تو key press فرمت چك مي كني كه كه اگر يك سري عدد زده شد با 3333 شروع ميشه ميفهمي كه از باركد داره خونده ميشه بعدش كاري رو كه مي خواي انجام بده
البته keypreview فرم رو true كن

majjjj
چهارشنبه 15 مهر 1388, 15:44 عصر
1معمولا بارکد ها بصورت عدد هستن پس میتونید این رو تو کارتون ملاک قرار بدین
2 معمولا بارکد ها طول ثابتی دارن که بقیه تکس باکس ها با اون فرق میکنه که میتونید این رو هم ملاک قرار بدین
3 بارکد ها براساس یک فرمول خاص محاسبه میشن که اگه بتونید اون فرمول رو بدست بیارین همونی میشه که میخواهین(بارکد های تخصصی مدنظرم هست)
4 اگه بارکد رو خودتون تولید میکنید کار خیلی راحتتر میشه در این مورد اگه خواستین بیشتر توضیح میدم

vbhamed
چهارشنبه 15 مهر 1388, 19:53 عصر
سلام

اگر خيلي كارتون حساس و حياتي هست، مي تونيد از طريق يك مدار رابط با پورت سريال يا USB و يك ميكروكنترلر باركد رو به كامپيوتر بفرستيد و ديگه باركدخوان رو مستقيما به كامپيوتر يا سيم كيبرد متصل نكنيد، اينطوري ديگه با كيبردتون قاطي نميشه

البته لازمه اينكار آشنايي با الكترونيك يا كمك گرفتن از يك مهندس الكترونيكه كه انجام چنين كاري براش نسبتا ساده مي‌باشد

Alfa_Debager
پنج شنبه 16 مهر 1388, 10:05 صبح
از روش keypress که گفته بودید استفاده کردم ولی جواب نداد چون همیشه اولین شمارش را نشون می ده ولی من می خوام 000 برای نشانه گذاری بذارم و با خوندن بارکد مقایسه کنم اگه 000 اول بارکد بود یعنی از طریق بارکد خوانده شده

در ضمن در مورد ocx خاصی شنیدم که با خوندن بارکد مشخص می کرد که بارکد خون اطلاعاتی را خونده
اگه کسی اطلاعات بیشتری داره ممنون می شم راهنمایی کنه

Mavix19
دوشنبه 11 آبان 1388, 22:02 عصر
سلام

دوستان اگه دستگاه بارکد به USB وصل بشه این مشکل حل میشه یا باز به میکروکنترلر نیاز است؟

saied_genius
دوشنبه 11 آبان 1388, 22:30 عصر
فرقي نمي کنه.

حتي با usb هم مشکل حل نمي شه.

موفق باشيد.