PDA

View Full Version : سوال: رویداد بارکد خوان



bastakboys
شنبه 07 آذر 1388, 18:37 عصر
دوستان من می خواهم وقتی کاربر با بارکد خوان ، بارکد یک کالا را خواند من بتوانم عملیاتی را انجام بدهم.
اما نمی دانم در کدام رویداد این کار را بکنم.؟

DoDoklak
شنبه 07 آذر 1388, 18:54 عصر
بار کد خوان مانند یک صفحه کلید عمل میکنه و بارهای چاپ شده رو تبدیل به عدد میکنه و تو محلی که مکانما چشمک میزنه تایپ میکنه

بارکد خوانها طوری تنظیم میشن که اگه خواندن اطلاعات تموم شد کلید Enter رو فشار میدن
و شما میتونید با این امکان تو رویدادKeyDown یا KeyPress با بررسی کد Enter متوجه تموم شدن خواندن اطلاعات باشی و عملیات رو با توجه به نیااز خودتون انجام بدید

majid_vb_2008
شنبه 07 آذر 1388, 18:54 عصر
سلام شما باركد رو كجا مي خوني اگر توي تكس باكس مي خوني مي توني توي رويداد چنج تكس باكس عمليات انجام بدي اما قبلش يك شرط بزار تا رسيدن طول رشته به تعداد مورد نظر اون عمليات انجام نشه

DoDoklak
شنبه 07 آذر 1388, 18:57 عصر
اما قبلش يك شرط بزار تا رسيدن طول رشته به تعداد مورد نظر اون عمليات انجام نشه

چطور میتونید انتهای خواندن اطلاعات رو تشخیص بدید؟
در حالی که بارکدهای طولهای مختلفی دارند و ثابت نیستند

bastakboys
شنبه 07 آذر 1388, 21:41 عصر
دوستان من در یک برنامه حسابداری دیدم که در یک فرم وقتی ما از بارکد خوان استفاده می کنیم کالا مربوط به بارکد به لیست اضافه میشد.
اونجا نه تکست باکسی بود نه چیزی مثل اون

sari-1369
یک شنبه 08 آذر 1388, 00:03 صبح
یکی از دوستان که گفتن ، در آخر یه کلید Enter هم ارسال میکنه . میتونین متوجه بشین چه وقتی به انتهای بارکد رسیده .

DoDoklak
یک شنبه 08 آذر 1388, 10:39 صبح
دوستان من در یک برنامه حسابداری دیدم که در یک فرم وقتی ما از بارکد خوان استفاده می کنیم کالا مربوط به بارکد به لیست اضافه میشد.
اونجا نه تکست باکسی بود نه چیزی مثل اون


من خودم به شخصه از dataGridView استفاده میکنم فقط کافی Focus روی dataGridView باشه و وقتی کاربر بارکدی رو میخونه فورا یک سطر تو dataGridView ایجاد میشه و کالای مورد نظر جایگزین میشه

روح اله معینی زاده
دوشنبه 09 آذر 1388, 11:32 صبح
سلام
۱- تنظیم‌های بارکدخوان به خود شما بستگی داره، ممکنه کسی اون رو تنظیم کنه که کلید Enter رو در انتها نفرسته
۲- هر جایی که از بارکد استفاده می کنند، حتماً از یک قانون خاص (کدبندی خاص) هم استفاده می کنند، بنابراین نباید نگران باشید که کدبندی‌ها متفاوت باشد.

معمولاً هم در کار با بارکدخوان، بافر خوانده می شود، سپس به هر جایی که لازم بود انتقال اطلاعات داده می شود. چون زمان کشیده شدن کارت هم مشخص نیست، بنابراین یه راه می تونه این باشه که یه تایمر گذاشته و در اون بافر رو چک کنید. زمانی که بافر پر شد یعنی از سمت بارکدخوان اطلاعاتی فرستاده شده که شما باید اون رو چک کنید
من سالیانی پیش این کار رو با وی بی ۶ انجام داده بودم
ان‌شاء الله که شما هم بتونید در دات نت پیاده سازی نمایید.
خدانگه‌دار

bastakboys
دوشنبه 09 آذر 1388, 18:53 عصر
سلام
۱- تنظیم‌های بارکدخوان به خود شما بستگی داره، ممکنه کسی اون رو تنظیم کنه که کلید Enter رو در انتها نفرسته
۲- هر جایی که از بارکد استفاده می کنند، حتماً از یک قانون خاص (کدبندی خاص) هم استفاده می کنند، بنابراین نباید نگران باشید که کدبندی‌ها متفاوت باشد.

معمولاً هم در کار با بارکدخوان، بافر خوانده می شود، سپس به هر جایی که لازم بود انتقال اطلاعات داده می شود. چون زمان کشیده شدن کارت هم مشخص نیست، بنابراین یه راه می تونه این باشه که یه تایمر گذاشته و در اون بافر رو چک کنید. زمانی که بافر پر شد یعنی از سمت بارکدخوان اطلاعاتی فرستاده شده که شما باید اون رو چک کنید
من سالیانی پیش این کار رو با وی بی ۶ انجام داده بودم
ان‌شاء الله که شما هم بتونید در دات نت پیاده سازی نمایید.
خدانگه‌دار

می تونید یک سورس کد یا مثال بگذارید که از این روش استفاده کرده باشد

روح اله معینی زاده
سه شنبه 10 آذر 1388, 09:10 صبح
سلام
یکی دو سال گذشته این کار رو انجام دادم، یه جست و جو بر اساس بارکد بزنید شاید پیداش کنید
اگه نشد، و از طرفی من اون نمونه کد رو هنوز داشتم، چشم.
خدانگه‌دار

DoDoklak
سه شنبه 10 آذر 1388, 09:47 صبح
۲- هر جایی که از بارکد استفاده می کنند، حتماً از یک قانون خاص (کدبندی خاص) هم استفاده می کنند، بنابراین نباید نگران باشید که کدبندی‌ها متفاوت باشد.


نه اینطوری نیست .شما اگه به محصولات یک فروشگاه مثلا فروشگاه رفاه نگاه کنید کالاهایی با انواع بار کد و با سایزهای مختلفی میبینید.در نتیجه نمیتونید روی یک نوع بارکد تمرکز کنید.
استفاده از یک قانون خاص برای تولید کننده میتونه صادق باشه نه برای فروشندها در فروشگاهها(که اکثر بحث ما درباره کاربر در فروشگاه است که با برنامه کار میکنه)



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

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

در کل برنامه نویس اصلا احتیاجی به کنترل بافر نداره فقط کافی اطلاعات فرستاده شده توسط بارکد خوان را رو بگیره و کاراکتر انتهای بارکد رو تشخیص بده. حالا این کاراکتر میتونه Enter باشه و یا هر کاراکتر ویژه ای که دستگاه با آن تنظیم شده چون این دستگاهها قابل تنظیم به چندین روش هستند