التعامل مع عتاد نظام المبيعات POS hardware
#2
السلام عليكم

 2 CashDrawer درج النقود
 [صورة: WgCeOW.jpg]

كمبرمجين ما يهمنا في درج النقود هو نوع المنفذusb / Com / Rj11
Rj11 هذا المنفذ يوصل بطابعة التذاكر فتقوم بفتحه أوتوماتيكيا بعد أو قبل الطباعة يمكنك تفعيلها أو تغييرها في خصائص الطابعة
usb  عند تنصيبها تقوم بإنشاءVirtual Com وتتعامل معه مثل منفذcom

للتعامل مع منفذ com
* Delphi
نستعمل المكون المجاني Tcomport

اختر رقم المنفذ المتصل مع الخصائص كما في الصورة

[صورة: AYHiSR.png] 
ثم نقوم بإرسال حرف واحد يفتح الدرج
كود :
ComPort.Connected:=true; ComPort.WriteStr('a'); ComPort.Connected:=false;

* Lazarus
نستعمل مكتبةSynapse- synaser
أضف وحدة[/font] synaser إلى uses

كود :
var ser: TBlockSerial; begin ser:=TBlockSerial.Create; try ser.Connect('COM1'); // Config(baud, bits: integer; parity: char; stop: integer;softflow, hardflow: boolean) ser.config(9600, 8, 'N', SB1, False, False); ser.SendString('A'); finally ser.free; end; end;
[صورة: giphy.gif]

ملاحظات
- توجد بعض الأنواع التي تدعم فحص حالة الدرج إذا كان مفتوحا أو لا ( لم أستعملها من قبل )
يوجد جهاز يحول من[/font] Rj11→ usb يستعمل في حالة عدم وجود طابعة
توجد طريقة لفتح الدرج مباشرة دون طباعة في حالة المنفذ Rj11
بإستعمال أمر Esc/pos يبعث مباشرة للطابعة ، و هذا الأمر يختلف حسب نوع الطابعة
مثال
AnsiChar(27) + AnsiChar(112) + AnsiChar(0) + AnsiChar(64) + AnsiChar(240)
[تمرين بدون حل Big Grin
[-] كل من 5 users say قال شكرا ل Lam.Abdeldjalil على المشاركة المفيدة
  • أبو معاذ, ALG2009, S.FATEH, Delphi4Us, wadoud
الرد


الردود في هذا الموضوع
RE: التعامل مع عتاد نظام المبيعات POS hardware - بواسطة Lam.Abdeldjalil - 06-04-2022, 06:45 AM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم