تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اريد كود فتح صندوق الكاشير المحاسبي تلقائيا مجرد الضغط على Button
#1
اريد كود فتح صندوق الكاشير المحاسبي تلقائيا مجرد الضغط على Button 

ماهي الية الكود الذي يتم به فتح الصندوق المحاسبي
الرد }}}
تم الشكر بواسطة:
#2
السّلام عليكم و رحمة الله و بركاته
أخي الكريم ..
أكون صريح معك ..
وجدت بملفاتي كود محتفظ به منذ فترة كاتب عليه " كود فتح درج الكاشير "
يشتغل .. ما يشتغل .. الله أعلم
تحياتي


الملفات المرفقة
.rar   كود فتح درج الكاشير.rar (الحجم : 1.17 ك ب / التحميلات : 155)
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: mohamedgadain61
#3
حياك الله اخي عبدالعزيز حاولت اعدل بالكود بس م ظبط معي للأسف
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري
#4
شوف هذا الكود من StackOverFlow
كود :
Imports System.Runtime.InteropServices

Module mdlprint
  Public Class RawPrinter
     ' ----- Define the data type that supplies basic print job information to the spooler.
     <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> _
     Public Structure DOCINFO
        <MarshalAs(UnmanagedType.LPWStr)> _
        Public pDocName As String
        <MarshalAs(UnmanagedType.LPWStr)> _
        Public pOutputFile As String
        <MarshalAs(UnmanagedType.LPWStr)> _
        Public pDataType As String
     End Structure

     ' ----- Define interfaces to the functions supplied in the DLL.
     <DllImport("winspool.drv", EntryPoint:="OpenPrinterW", SetLastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
     Public Shared Function OpenPrinter(ByVal printerName As String, ByRef hPrinter As IntPtr, ByVal printerDefaults As Integer) As Boolean
     End Function

     <DllImport("winspool.drv", EntryPoint:="ClosePrinter", SetLastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
     Public Shared Function ClosePrinter(ByVal hPrinter As IntPtr) As Boolean
     End Function

     <DllImport("winspool.drv", EntryPoint:="StartDocPrinterW", SetLastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
     Public Shared Function StartDocPrinter(ByVal hPrinter As IntPtr, ByVal level As Integer, ByRef documentInfo As DOCINFO) As Boolean
     End Function

     <DllImport("winspool.drv", EntryPoint:="EndDocPrinter", SetLastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
     Public Shared Function EndDocPrinter(ByVal hPrinter As IntPtr) As Boolean
     End Function

     <DllImport("winspool.drv", EntryPoint:="StartPagePrinter", SetLastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
     Public Shared Function StartPagePrinter(ByVal hPrinter As IntPtr) As Boolean
     End Function

     <DllImport("winspool.drv", EntryPoint:="EndPagePrinter", SetLastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
     Public Shared Function EndPagePrinter(ByVal hPrinter As IntPtr) As Boolean
     End Function

     <DllImport("winspool.drv", EntryPoint:="WritePrinter", SetLastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
     Public Shared Function WritePrinter(ByVal hPrinter As IntPtr, ByVal buffer As IntPtr, ByVal bufferLength As Integer, ByRef bytesWritten As Integer) As Boolean
     End Function

     Public Shared Function PrintRaw(ByVal printerName As String, ByVal origString As String) As Boolean
        ' ----- Send a string of  raw data to  the printer.
        Dim hPrinter As IntPtr
        Dim spoolData As New DOCINFO
        Dim dataToSend As IntPtr
        Dim dataSize As Integer
        Dim bytesWritten As Integer

        ' ----- The internal format of a .NET String is just
        '       different enough from what the printer expects
        '       that there will be a problem if we send it
        '       directly. Convert it to ANSI format before
        '       sending.
        dataSize = origString.Length()
        dataToSend = Marshal.StringToCoTaskMemAnsi(origString)

        ' ----- Prepare information for the spooler.
        spoolData.pDocName = "OpenDrawer" ' class='highlight'
        spoolData.pDataType = "RAW"

        Try
           ' ----- Open a channel to  the printer or spooler.
           Call OpenPrinter(printerName, hPrinter, 0)

           ' ----- Start a new document and Section 1.1.
           Call StartDocPrinter(hPrinter, 1, spoolData)
           Call StartPagePrinter(hPrinter)

           ' ----- Send the data to the printer.
           Call WritePrinter(hPrinter, dataToSend, _
              dataSize, bytesWritten)

           ' ----- Close everything that we opened.
           EndPagePrinter(hPrinter)
           EndDocPrinter(hPrinter)
           ClosePrinter(hPrinter)
           PrintRaw = True
        Catch ex As Exception
           MsgBox("Error occurred: " & ex.ToString)
           PrintRaw = False
        Finally
           ' ----- Get rid of the special ANSI version.
           Marshal.FreeCoTaskMem(dataToSend)
        End Try
     End Function
  End Class
End Module

Public Class Main
  Public Sub OpenCashdrawer()
     'Modify DrawerCode to your receipt printer open drawer code
     Dim DrawerCode As String = Chr(27) & Chr(112) & Chr(48) & Chr(64) & Chr(64)
     'Modify PrinterName to your receipt printer name
     Dim PrinterName As String = "Your receipt printer name"

     RawPrinter.PrintRaw(PrinterName, DrawerCode)
  End Sub
End Class
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: mohamedgadain61 , ابراهيم ايبو
#5
طيب وين احط الكود داخل ال Button
مجرد الضغط ال Button

يفتح الصندوق
الرد }}}
تم الشكر بواسطة:
#6
لا بدّ من التجربة على أرض الواقع ..
بالنسبة لزر الأمر يجب استدعاء الدالة بهذا الشكل
كود :
OpenCashdrawer()

قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#7
نعم جاري عمل التجربة
في كود اخر حضيفو بالفورم غير هذا OpenCashdrawer()

لانو طالع لي ايرور

اضفت الكود اعلاه ف class لحاله

نعم اضفته ف كلاس لحاله اسم الكلاس : RawPrinter
واضفت form1 داخله Button ووضعت ()OpenCashdrawer داخل ال Button
بس معطيني خطا بالفورم 1 / هنا ()OpenCashdrawer
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#8
الكود يكون بهذا الشكل أخي الكريم ..


الملفات المرفقة
.zip   WindowsApplication1.zip (الحجم : 39.77 ك ب / التحميلات : 95)
قناتنا على اليوتوب
الرد }}}
#9
اخي عبدالعزيز استفار لو تكرمت

فتح الدرج تلقائيا ؟؟ لازم يكون مربوط مع طبابعة فواتير بواسطة الRG45
الدرج مع الطابعة ؟؟

وهل اقدر اشبك الدرج من مع الكمبيوتر دايركت بدون طابعة ؟؟؟

لاني الحين مسوي تجربة على الدرج فقط بدون طابعة ممكن عشان كذا ما زبط الكود وشابك كيبل الدرج مع الكمبيوتر
الرد }}}
#10
السلام عليكم اخوتي الكرام
بارك الله بك اخي عبد العزيز ماشاء الله دائما سباق ومتفاني في المساعدة
بالرغم من اني لم اقم بفتح اي درج كاشير في حياتي ولم اكتب اي كود في هذا المجال
اعتقد ان درج الكاشير يعتمد على نبضة كهربية تأتيه من الطابعة ليفتح (طريقة عقيمة وغير عملية لانه يجب طباعة اي شيئ) 
ربما هناك طريقة اخرى .... المهم احببت المشاركة .. وهنا في المنتدى يوجد كود لاخينا الفاضل عاصم شاهين جزاه الله كل الخير
اليكم الرابط عسى يكون البلسم الشافي للسؤال
http://vb4arb.com/vb/showthread.php?tid=26380
اما بالنسبة لك اخي بدل السؤال عن التوصيل مباشرة بدون طابعة فالتجربة اكبر برهان وعسى ان تصل الى شيء نستفيد منه
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  اريد اضافة حفظ PDF فى مسار على الهارد- مثال الاستاذ عبدالله الدوسري new_programer 0 49 13-04-24, 12:59 PM
آخر رد: new_programer
  [سؤال] undo/redo button mohamed sabry 1 161 15-01-24, 11:33 AM
آخر رد: تركي الحلواني
  اريد طباعة الباركود المحدد فقط مع الكمية new_programer 5 450 09-01-24, 08:40 PM
آخر رد: new_programer
  اريد مساعدة في العملية الحسابية melad2002 3 426 29-12-23, 09:10 PM
آخر رد: melad2002
  [سؤال] كيفية ربط ماكينة الدفع ببرنامج الكاشير ؟ osamaelmaghraby 3 336 26-12-23, 11:53 PM
آخر رد: osamaelmaghraby
  [كود] اريد كود إرسال البيانات من الفيجوال بيسك إلىPDF issamsaidd 10 5,866 25-12-23, 06:30 PM
آخر رد: الحزين اليماني
  [VB.NET] اريد تعديل في الكود عند طباعة DGV abu_hisham7 1 444 03-12-23, 02:40 AM
آخر رد: abu_hisham7
  [سؤال] اريد تغيير اسم حقل ضمن جدول بقاعدة بيانات اكسس mh66 1 367 08-11-23, 08:16 AM
آخر رد: justforit
  كيف اجعل البرنامج في بداية الشهر ينفذ حدث معين بالاصح اريد البرنامج في تاريخ واحد من Adel27213 3 490 05-11-23, 01:45 AM
آخر رد: justforit
  مشكلة غربية عندما اقوم بالطباعة تطلع معي فاتورة الكاشير صغيرة جدا moh61 3 361 28-10-23, 06:57 PM
آخر رد: moh61

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


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