منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اختيار نوع الطابعة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اريد تحميل انواع الطابعات التى تم تعريفها فى الجهاز الى كومبو بوكس وعند اختيار طابعة اضغط على الزر فيجعلها الطابعة الافتراضية للجهاز
[attachment=27568]



كود :
Imports System.Drawing.Printing

Public Class Form1

   Private Sub Form1_Load(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles MyBase.Load

       Dim strInstalledPrinters As String
       Dim prntDoc As New PrintDocument

       'check if there is installed printer
       If PrinterSettings.InstalledPrinters.Count = 0 Then
           MsgBox("No printer installed")
           Exit Sub
       End If

       'display installed printer into combobox list item
       For Each strInstalledPrinters In PrinterSettings.InstalledPrinters
           ComboBox1.Items.Add(strInstalledPrinters)
       Next strInstalledPrinters

       'Display current default printer on combobox texts
       ComboBox1.Text = prntDoc.PrinterSettings.PrinterName

       Button1.Text = "Set Default Printer"


   End Sub

   'Function to set a printer as default
   Function SetDefaulPrinter(ByVal strPrinterName As String) As Boolean
       Dim strCurrPrinter As String
       Dim WsNetwork As Object
       Dim prntDoc As New PrintDocument

       strCurrPrinter = prntDoc.PrinterSettings.PrinterName
       WsNetwork = Microsoft.VisualBasic.CreateObject("WScript.Network")

       Try
           WsNetwork.SetDefaultPrinter(strPrinterName)
           prntDoc.PrinterSettings.PrinterName = strPrinterName

           'set default if selected printer name is a valid installed printer
           If prntDoc.PrinterSettings.IsValid Then
               Return True
           Else
               WsNetwork.SetDefaultPrinter(strCurrPrinter)
               Return False
           End If
       Catch ex As Exception
           WsNetwork.SetDefaultPrinter(strCurrPrinter)
           Return False
       Finally
           WsNetwork = Nothing
           prntDoc = Nothing
       End Try
   End Function
   Private Sub Button1_Click(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles Button1.Click
       If SetDefaulPrinter(ComboBox1.Text) = True Then
           MsgBox("Printer default " & ComboBox1.Text)
       Else
           MsgBox("Printer name " & ComboBox1.Text & " is not valid!")
       End If
   End Sub

End Class
عندي برنامج شؤون عاملين بالفيجوال بيسك 6 وكريستال ريبورت 8 واريد عند عرض تقرير ما عدم ظهور عنوان التقرير في الأعلى الا في الصفحة الأولى وليس في كل صفحات التقرير
(02-02-22, 07:26 PM)عبدالله الدوسري كتب : [ -> ]
كود :
Imports System.Drawing.Printing

Public Class Form1

   Private Sub Form1_Load(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles MyBase.Load

       Dim strInstalledPrinters As String
       Dim prntDoc As New PrintDocument

       'check if there is installed printer
       If PrinterSettings.InstalledPrinters.Count = 0 Then
           MsgBox("No printer installed")
           Exit Sub
       End If

       'display installed printer into combobox list item
       For Each strInstalledPrinters In PrinterSettings.InstalledPrinters
           ComboBox1.Items.Add(strInstalledPrinters)
       Next strInstalledPrinters

       'Display current default printer on combobox texts
       ComboBox1.Text = prntDoc.PrinterSettings.PrinterName

       Button1.Text = "Set Default Printer"


   End Sub

   'Function to set a printer as default
   Function SetDefaulPrinter(ByVal strPrinterName As String) As Boolean
       Dim strCurrPrinter As String
       Dim WsNetwork As Object
       Dim prntDoc As New PrintDocument

       strCurrPrinter = prntDoc.PrinterSettings.PrinterName
       WsNetwork = Microsoft.VisualBasic.CreateObject("WScript.Network")

       Try
           WsNetwork.SetDefaultPrinter(strPrinterName)
           prntDoc.PrinterSettings.PrinterName = strPrinterName

           'set default if selected printer name is a valid installed printer
           If prntDoc.PrinterSettings.IsValid Then
               Return True
           Else
               WsNetwork.SetDefaultPrinter(strCurrPrinter)
               Return False
           End If
       Catch ex As Exception
           WsNetwork.SetDefaultPrinter(strCurrPrinter)
           Return False
       Finally
           WsNetwork = Nothing
           prntDoc = Nothing
       End Try
   End Function
   Private Sub Button1_Click(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles Button1.Click
       If SetDefaulPrinter(ComboBox1.Text) = True Then
           MsgBox("Printer default " & ComboBox1.Text)
       Else
           MsgBox("Printer name " & ComboBox1.Text & " is not valid!")
       End If
   End Sub

End Class

السلام عليكم الاستاذ الدوسري
البرنامج وضع خطا أحمر تحت هذه العبارة     WsNetwork.SetDefaultPrinter(strCurrPrinter) و كتب option strict reject any late binding 
علما أنني أختار الخاصية ON في الخيار OPTION STRICT
ما هو الحل ؟
(09-04-23, 01:45 PM)kebboud كتب : [ -> ]السلام عليكم الاستاذ الدوسري
البرنامج وضع خطا أحمر تحت هذه العبارة     WsNetwork.SetDefaultPrinter(strCurrPrinter) و كتب option strict reject any late binding 
علما أنني أختار الخاصية ON في الخيار OPTION STRICT
ما هو الحل ؟



وعليكم السلام ورحمة الله


الـ OPTION STRICT إذا كان ON :
يعني أنت مانع الربط المتأخر ، بمعنى أن يجب أن يتم تعريف كل شي، وممنوع إستخدام وظيفة في كائن Object






أضف مرجع COM للمكتة التالية :
ابحث  في القسم COM  عن ( Windows Script Host Object Model ) 
قم بإضافتها.



احذف السطر :
كود :
Dim WsNetwork = Microsoft.VisualBasic.CreateObject("WScript.Network")

إستبدلة بـ:
كود :
Dim WsNetwork As New IWshRuntimeLibrary.WshNetwork