Feature: Standarddrucker wechseln
This commit is contained in:
111
Aviso/frmWechselStandarddrucker.vb
Normal file
111
Aviso/frmWechselStandarddrucker.vb
Normal file
@@ -0,0 +1,111 @@
|
||||
Imports System.IO
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
Public Class frmWechselStandarddrucker
|
||||
|
||||
|
||||
Private filePathListOfPrinters As List(Of String) = New List(Of String)
|
||||
|
||||
Private Sub frmWechselStandarddrucker_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
|
||||
|
||||
filePathListOfPrinters.Add(FileIO.SpecialDirectories.MyDocuments & "\AVISO_OPTIONS.txt")
|
||||
filePathListOfPrinters.Add("C:\AVISO_OPTIONS.txt")
|
||||
|
||||
For Each path As String In filePathListOfPrinters
|
||||
getCurrentPrintersFromFile(path)
|
||||
Next
|
||||
|
||||
txtCurrentPrinter._value = VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD
|
||||
txtCurrentPrinterBon._value = VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_BON
|
||||
|
||||
|
||||
SDL.cProgramFunctions.initDrucker(cboDefaultprinter, VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD, False)
|
||||
SDL.cProgramFunctions.initDrucker(cboDefaultprinterBON, VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_BON, False)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
|
||||
|
||||
If cboDefaultprinterBON.SelectedItem Is Nothing Or cboDefaultprinter.SelectedItem Is Nothing Then Me.Close()
|
||||
|
||||
VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD = cboDefaultprinter._value
|
||||
VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_BON = cboDefaultprinterBON._value
|
||||
|
||||
SetDefaultPrinter(cboDefaultprinter._value)
|
||||
|
||||
For Each path As String In filePathListOfPrinters
|
||||
changetxtFileForPrinter(path)
|
||||
Next
|
||||
MsgBox("Drucker wurden geändert")
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function changetxtFileForPrinter(printerFile As String) As Boolean
|
||||
|
||||
Dim changed As Boolean = False
|
||||
|
||||
If File.Exists(printerFile) Then
|
||||
Dim l = IO.File.ReadAllLines(printerFile, System.Text.Encoding.Default)
|
||||
If l.Count > 0 Then
|
||||
If Not String.IsNullOrWhiteSpace(cboDefaultprinter._value) Then
|
||||
Dim lines As List(Of String) = IO.File.ReadAllLines(printerFile).ToList
|
||||
For index As Integer = 0 To lines.Count - 1
|
||||
If lines(index).ToLower.StartsWith("printer") Then
|
||||
lines(index) = String.Concat("PRINTER:", cboDefaultprinter._value)
|
||||
changed = True
|
||||
End If
|
||||
Next
|
||||
If changed Then IO.File.WriteAllLines(printerFile, lines.ToArray)
|
||||
End If
|
||||
|
||||
If Not String.IsNullOrWhiteSpace(cboDefaultprinterBON._value) Then
|
||||
Dim lines As List(Of String) = IO.File.ReadAllLines(printerFile).ToList
|
||||
For index As Integer = 0 To lines.Count - 1
|
||||
If lines(index).ToLower.StartsWith("bon") Then
|
||||
lines(index) = String.Concat("BON:", cboDefaultprinterBON._value)
|
||||
changed = True
|
||||
End If
|
||||
Next
|
||||
If changed Then IO.File.WriteAllLines(printerFile, lines.ToArray)
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
Return changed
|
||||
|
||||
End Function
|
||||
|
||||
Private Sub getCurrentPrintersFromFile(printerFile As String)
|
||||
|
||||
|
||||
If File.Exists(printerFile) Then
|
||||
Dim l = IO.File.ReadAllLines(printerFile, System.Text.Encoding.Default)
|
||||
If l.Count > 0 Then
|
||||
For Each li In l
|
||||
If li.StartsWith("BON:") Then
|
||||
VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_BON = (li.Replace("BON:", "")).Trim
|
||||
End If
|
||||
If li.StartsWith("PRINTER:") Then
|
||||
VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD = (li.Replace("PRINTER:", "")).Trim
|
||||
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
<DllImport("winspool.drv", CharSet:=CharSet.Auto, SetLastError:=True)>
|
||||
Public Shared Function SetDefaultPrinter(Name As String) As Boolean
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user