647 lines
35 KiB
VB.net
647 lines
35 KiB
VB.net
Imports System.Drawing
|
|
Imports System.IO
|
|
Imports System.Net.Mail
|
|
Imports System.Reflection
|
|
Imports System.Text
|
|
Imports System.Windows.Forms
|
|
Imports ClosedXML.Excel
|
|
Imports Microsoft.Office.Interop
|
|
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
|
|
|
|
Public Class cProgramFunctions
|
|
|
|
|
|
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Public Shared Function fktEuro(varBetrag As Object, varVonWährung As Object, varNachWährung As Object) As Object
|
|
'(FixeTaxe, "ATS", RECHNUNG.Währungscode)
|
|
'Dim varVonWährung As Object
|
|
'Dim varNachWährung As Object
|
|
Dim varKurs As Object
|
|
|
|
If varVonWährung Is Nothing Then Return Nothing
|
|
If varNachWährung Is Nothing Then Return Nothing
|
|
|
|
If varVonWährung = varNachWährung Then ' Sind beide Währungen gleich,
|
|
fktEuro = varBetrag ' ist keine Umrechnung erforderlich
|
|
Exit Function ' und die Funktion wird beendet
|
|
End If
|
|
|
|
If Not IsNumeric(varVonWährung) Then
|
|
varVonWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & varVonWährung & "' order by Währungsschlüssel DESC", "FMZOLL")
|
|
End If
|
|
If Not IsNumeric(varNachWährung) Then
|
|
varNachWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & varNachWährung & "' order by Währungsschlüssel DESC", "FMZOLL")
|
|
End If
|
|
|
|
'
|
|
'Select Case TypeName(fldVonWährung)
|
|
' Case "Integer"
|
|
' varVonWährung = fldVonWährung
|
|
' Case "String", "Textbox", "Field", "Field2"
|
|
' varVonWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & fldVonWährung & "'", "FMZOLL")
|
|
' If varVonWährung = "" Then
|
|
' MsgBox("Währungstabelle![Währung] enthält keinen Eintrag " & fldVonWährung, , "fktEuro")
|
|
' fktEuro = Nothing
|
|
' Exit Function
|
|
' End If
|
|
' Case Else
|
|
' MsgBox("Datentyp " & TypeName(fldVonWährung) & " ist für fldVonWährung ungültig.", , "fktEuro")
|
|
' fktEuro = Nothing
|
|
' Exit Function
|
|
'End Select
|
|
|
|
'Select Case TypeName(fldNachWährung)
|
|
' Case "Integer"
|
|
' varNachWährung = fldNachWährung
|
|
' Case "String", "Textbox", "Field", "Field2"
|
|
' varNachWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", " [Währungscode] = '" & fldNachWährung & "'", "FMZOLL")
|
|
' If varNachWährung = "" Then
|
|
' MsgBox("Währungstabelle![Währung] enthält keinen Eintrag " & fldNachWährung, , "fktEuro")
|
|
' fktEuro = Nothing
|
|
' Exit Function
|
|
' End If
|
|
' Case Else
|
|
' MsgBox("Datentyp " & TypeName(fldNachWährung) & " ist für fldNachWährung ungültig.", , "fktEuro")
|
|
' fktEuro = Nothing
|
|
' Exit Function
|
|
' End Select
|
|
|
|
'If varVonWährung = varNachWährung Then ' Sind beide Währungen gleich,
|
|
' fktEuro = varBetrag ' ist keine Umrechnung erforderlich
|
|
' Exit Function ' und die Funktion wird beendet
|
|
'End If
|
|
|
|
If varVonWährung <> 900 Then ' Eingangswährung in Euro umrechnen.
|
|
varKurs = SQL.DLookup("[Eurokurs]", "Währungstabelle", "[Währungsschlüssel] = " & varVonWährung & " order by Währungsschlüssel DESC", "FMZOLL")
|
|
If varKurs = "" OrElse varKurs = 0 Then
|
|
MsgBox("(1) Die Währungstabelle enthält keinen Umrechnungskurs für den Währungsschlüssel " & varVonWährung, , "fktEuro")
|
|
fktEuro = Nothing
|
|
Exit Function
|
|
End If
|
|
varBetrag = Int(varBetrag / varKurs * 100 + 0.5) / 100
|
|
End If
|
|
|
|
If varNachWährung <> 900 Then ' Euro In Ausgangswährung umrechnen.
|
|
varKurs = SQL.DLookup("[Eurokurs]", "Währungstabelle", "[Währungsschlüssel] = " & varNachWährung & " order by Währungsschlüssel DESC", "FMZOLL")
|
|
If varKurs = "" OrElse varKurs = 0 Then
|
|
MsgBox("(2) Die Währungstabelle enthält keinen Umrechnungskurs für den Währungsschlüssel " & varNachWährung, , "fktEuro")
|
|
fktEuro = Nothing
|
|
Exit Function
|
|
End If
|
|
varBetrag = Int(varBetrag * varKurs * 100 + 0.5) / 100
|
|
End If
|
|
|
|
fktEuro = varBetrag
|
|
|
|
End Function
|
|
|
|
Public Shared Sub SetDoubleBuffered([Control] As Control)
|
|
[Control].GetType().InvokeMember("DoubleBuffered", BindingFlags.SetProperty Or
|
|
BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object() {True})
|
|
|
|
End Sub
|
|
Public Shared Function fktEuroKurs(varVonWährung As Object, Rechnungsdatum As Date) As Object 'Funktioniert nciht mit datum!!!!!!!!!!!!!!!!!!!
|
|
'(FixeTaxe, "ATS", RECHNUNG.Währungscode)
|
|
'Dim varVonWährung As Object
|
|
'Dim varNachWährung As Object
|
|
Dim varKurs As Object
|
|
|
|
If varVonWährung Is Nothing Then Return Nothing
|
|
|
|
If varVonWährung = "EUR" Then ' Sind beide Währungen gleich,
|
|
Return 1 ' ist keine Umrechnung erforderlich
|
|
Exit Function ' und die Funktion wird beendet
|
|
End If
|
|
|
|
If Not IsNumeric(varVonWährung) Then
|
|
varVonWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & varVonWährung & "' order by Währungsschlüssel DESC", "FMZOLL")
|
|
End If
|
|
|
|
Dim varBetrag = 1
|
|
If varVonWährung <> 900 Then ' Eingangswährung in Euro umrechnen.
|
|
varKurs = SQL.DLookup("[Eurokurs]", "Währungstabelle", "[Währungsschlüssel] = " & varVonWährung & " order by Währungsschlüssel DESC", "FMZOLL")
|
|
If varKurs = "" OrElse varKurs = 0 Then
|
|
MsgBox("(1) Die Währungstabelle enthält keinen Umrechnungskurs für den Währungsschlüssel " & varVonWährung, , "fktEuro")
|
|
fktEuroKurs = Nothing
|
|
Exit Function
|
|
End If
|
|
varBetrag = Int(varBetrag / varKurs * 100 + 0.5) / 100
|
|
End If
|
|
|
|
fktEuroKurs = varBetrag
|
|
|
|
End Function
|
|
|
|
Public Shared Function spireLoadLicense() As Boolean
|
|
Try
|
|
|
|
|
|
''Nicht notwendig --> license.elic hat beide drinnen.
|
|
'Spire.License.LicenseProvider.SetLicenseKey("MkctkXG06cMhlK6LAQCVDXFpzaLd8k9flTIXzX2vqnaj15/RjBiXqzJFPI5Ay0WJO+ng6Fwgb1s0Owoicm6acvP5dL8R/rHMlEAIQmWgY231zrrzVcbfujmJLyeYq1bwdbZY8vAtegSo3uhg8MruQ0NwF8OwrmrRTQzW8VkBRePb6jhCAWqMyr4Ho/d06JN3ngF3ulN/aNkFIWTHBvPG+M0CWuhudGhNtyDcnWPHDHm1+qigpwwnh69s8A4romdnSDQpFa2/LG5KAzwVmcjKSfVZs6e497ydRBFpggoe8d4J0FnRW//ROJOraTklVBMcGNZm9plWQvA23wxAhaVQHPINx/ecdTb9NIAeQajYyghx/tA+XVQ5uessceZW4LWZ4cnq6nhsBS4Y6oZ76/pHw1cUSfOHFCVi++X+2JYatsUJcAn2QXM6qpul7MpKCdDtT+yE94umhllKK7oBA8TMVFntgRfSZU+fftgMB+Nrs91UqM52OQsM4f0Q/dQvLGL/gr7NYE7QBQRV8ersUHls2s/7NHJ1VSoXKO9bghFaqzWoMGJ1UM/DvgdMg+URo6F9yanH4dEv8XDpTgx82f4pwncquCZJoPTdlXVhF4mK6/euo5Od3pmO9ZTqY+DxNwpgBIvkWTTvZiqkq4aDhNR5fhoihtAIWDiaHxMhlXxKTeK8z6n3puusWs0ZcXXaXb1jfUi7L9v8tWavr7Kag89coCXv7q5ejJ+mxTH9N6wIA029crL1+xyWSMOIaU6Iav8nrro5Xhdt14abW+458iqjVQRL1l6ZUkZjXaJHjoqy1aKg1OafFAGjULuOp8ozBJwQbRD0y5czx60NFjKlxR01SrfMrHV8uCjJXWm4BquAQPlHq6gfqSdXjmv/ZgKiKnXu+2FelPHK96IRK+y+pSv0hUx9JJ+9zL0JdAdwKmm2rRGk2KTKKfJ8jB+FdTpp61ecYsM2XB+GqZvLgJx6DUFklevpLG8XuKxcJFJGyAEhUzeUYhjUv60gSRKKAs8XlOmP35fBP2Gd2X6H1cUJFEdam62dDnE9ZBRyBlwA2n7iFav3s7+PzSuEACBG8R1nky52Ye9qE6zM8Plw0boPIoOueKYQIO+9wDLZyhHYjwc/6h3snP76tjsra7IS1c0Yx/P2lMx8C9LogL4c7Hyo7DH/bmn7Kx1C3eYH7IMY2uXoRfJ2tEtJ8MxvD1Xm4ZU1rL/BWpiwTi2rHNl/ikBteyZ7D4YlfoiEpB7P4UksR/SLYS1gpmeh3py7dQytQg8tfq7Ylyn+4umppvhi2ZBhJKElo7DdRegYofwM4XZW5eyWV0Qq7WoBs7YGwq0SHcuUEsgq9mW3j4a7g5/kuTkZSXxVXFKmYEHo+CLJvcbyeWrYeSfgdWd914iiNOzCo/mufmYsOxndMUCUEv9DeKS/zIu7OKM0OIE1O62kt7rBfRyJ5tLcoPKhCaU2y2sa4bsw59YAXq09Maj136qUjLiOfyROIvxlQ30zaydZnn/pqoseHtklySmgCnbO2uQ2vl5RHnv0AbOT7UgLFmQv4x3HL2M5ezEW+3POA1OuEW/TlAvMiaE=")
|
|
'Spire.License.LicenseProvider.LoadLicense()
|
|
'Spire.License.LicenseProvider.SetLicenseKey("DqgBAA7OVWqLrl0/vKFRQ3B4fULEZEi+uN7wMgS475TeA6kOemBFjzZEG9fkW/Bgn5JDj2f9fGF9/QZ3jnik3iDgvDkaWO3yrb0V+5OaXxviTkoSVmCxzBNhsfNre2Q9BkETcd3DCYew7psFTdQvVKTtugehhx5bhxitSH6q16Vvdma8/EvVg7dsYajEq+Bjxi5Ibe5Q3po5SnZBnvrbegroXy34zuauqFiKnuaIdSFlmqjuf59veZvss6mIqSZSW9IsyfyKRjLupvFZcsH5yKPOuzmoL00KQ2OqxToVvD45IEUEvjNqdWeUKLPx/JVgaV3RmsxqPWd9Bm6zb7h04OBOKNVRtSSmjX2KnBRXdQgXfSGF1uIDlvLNtpD5AOYxKPOIfJ/AFxi9m8pYKnzqSMbpaxxlOqy9Y03EXkrko3SOzhyg+k6ZyebbqMrzeOzJ7f5cl9TfttlADwnoLa42No35+xkYI3tF/kALsrWWGcVsUWK78cg2w2s79y4ERBbgZlbYqVpdsOyKBO7k1ujA83J2MUYfoSydNivNYM05Ll1UJzbMY0sxb6HGWwVHl3t7aVwioZbmonI90fmrZpfjrpkzlL0MvjY5LxL1JXcv5xJ/oXaLN/q1GxCuFvSDroV3uKRbGhonGmTroQpp7AMFoah8Bg+glLFL2ibSoJ16dlvmxwBuZM0uDMCMfJhsFRSEzUEHbX0gv8MTNC3ROmM81Rrm7klfKrsJD3FrBlf13q6yIpxo+qp0/AgkovpjsBv8y8dxEJs37C0PHcvkCr/kA0HDDTH+Rstx8EelQzOv5dcr6CgW1VWW3+dyPjHjADlRPXd+bo+gquT6NMezbQOUdm3wMNbpCQ/qwcZ5bzEXGmdhWcEs/Z+QmXRJvhBbEf3WQrlLSuzVIooL/nXo5MG8XooWPZHURz1g92vvqA2H6FU+DLJkiNp/OI5Xzp0NNqhOubcSX70noHx7SdgQrnAIGZtE90/MzLBPFZMIv1yjaDyoZsTA3nSatae4w7PvN6cXtacLZl5GnAJIRxlmjR+OvwbfXhAcbVeNYtRYXhExR9B4fxKp8/eXZorvzW7yFH8cSopnqSjmw6ywqx0u2upOuuNeGp5/kMP4QC+SMRruXWQM46Ed168OaU1GJ0PpHr+W2EWZLbqqNhrYct1FpOnVxJjA90DOKsbXFzbLGC83YgZdVo9AAIzMYu8RIhbn6ACJQlC+d9nn0S/wZPtX+PUZK1ACCCDdfm/0jwvUEb8Us2pWn6qA/ZHtkk4a/iII8F9hrDMVOQYJBJQ/IPnyJneHfqjtfB/Hw/1/KdHJYnyWg5KXaZWz+Ut4Vc48ZJCt3B6Izaf2wD68iYaDeemnJAFI3OcsjAzNx54kxs5VBJ4VtsFYPMN3SnovtfEVis3mLlKqzy0EdTOOIm0ZkgxCDHS3KogjOp2SI0kvAxxD1jE1IOKpgLkRo6mfjCzjS6RmZ/vBoBbx1OGqqxUlkD+2TyfQUGggoEX8XtYykiVoMuVUdikUQtHP12gq2aYzS9rKpaIINaEpcqU+vQlIumrlsL2MFIdvcdTEBhfoPtq4j9GZkOY=")
|
|
'Spire.License.LicenseProvider.LoadLicense()
|
|
' Exit Sub
|
|
|
|
'wegen Problemen die extra Aktivierung pro Lizenzkey wieder eingebaut.
|
|
Spire.PdfViewer.License.LicenseProvider.ClearLicense()
|
|
Spire.PdfViewer.License.LicenseProvider.SetLicenseKey("PeQezZrFLTMrIgEAK1BoHk0gh6gdmwDKMvN6ITlC5j6D/r6sSq/TXAl5H/H/P/NvV74UnH1KUt0Cy0ef1LzPpvmqxVTsiTYA2eB3CX21oTggkxa3qP/UOJ42Kk8rwgVqchV9RJj9SlZb/zzhfN3nB4NR9rfoiwRDoE45ECcmsCO948+auxqRrc1ikuFDIM2j2YpwzoFxw3QCtLNAjhWhA8Ly7HUCNbtibu6rOnuePVThtmVNfQeTuagFSCDovxIJzlvFggZaQXI7zh3PEChu65zP7VZoJyxzfagJv5JItQCrX8BP+5YgKe6B7NBzUFGl1RqcucKn+MAQypgXrRXQY4UAWfQ4g9QTN2JTpaHZfgg22sGGV+cccDJmekfUPGfBOzlnzedJelMNWDVNBw7prh8vTdNRsOTJoFYDbh82UwRNkXethAElaJ9apMQaEg2G7cDaQzVdmY9N6oMVZ+dDZ9Vet12GAvrD5akRHviXNhXis0W/WaaifHmbgfIO7zx35qNxRQ5mwouVh/byBw7sXBjtKwpJxulpVy0FNWSeSC4sskGn9+GO+inUrurRxX8EBEDBK0ev/558sYBQ4HloBvmWDX58ni7F0xv/1BdsvW2M+viIP4DATVUVoGh+lskcoBt2Z8g/Fxib/mBpQLmvg1fasZjscdfIyZBFJ57AtcNr9cT4oC2zn+ZodXXHYACD6+AFL3d0P1v/P3Bw5giOZpdeRmnlm9mD+OEXFWOgi+lfwF2S9IYcB+LrdckNiaRhserlEE6crn6HRquPQoqzo7J+nR63anp/HfJ3+n3RWVdSg+cJ13yPyMUhgQebsvcm+/bDCWaXc9+5THRJ6aAVoBE4hZ1eHdl1ukzuXiEJJ7GG2vk2MMcy9adKZyVATxSKuBeK1FYLF/62lZC0aoh4WV70Bth9MVWbLLKmZe3KttBYOtRpXvj1zk36RBubnLuSXp3aW7lJGwrHzMvaMGlYHmq1PUwgTLmL0d2p4FP9qSXHlAtRH8/O0AMsLHrLDe/4sNHkHqy+A8YM09t1adSnxOhoDyOb41zyvjsQ635gWYvOBimN0iEyVg3dEC7g5PZkAhIahBDz1qa4+GkluYvtmrafKZc/55KbYBZ23k+In8Qfabym0v7YWSpZ+/vwE2jNRupmL/6M0YnZUQolyFzBVqCdt40NYnnMD9o9I49XjB/8dWicpD2G60vIN4XvRc9/LG0elTqFiZkD9JLMGw+1fb0EwBb5XdGy68IHPoOFpXMcVFPHeBX45r7gZnaGAB11LhJiflSKnDd8unLrHUJJJvkPHyN5HWLrSAvcmJFS4JaHM7tHQorHF3xRYWHbGLWvGRtjfO43UlGhwklrH5rs4bop5R6m0eT/5eS/rbIoofUYQMEYexzGZwXAgNA6Sal7luN7Iqx7l4ykVrIwUAeLspfvsGT/aFDKBo77VQfPubHg/N7zd+wacmagI/7HznVCGkTApEcTrkade2cpsWGQa0sIrEDqt7s/1ZrwdqIQwgJ3rMnNGZ6ljV/FOT9OdVkkCKHkJrAwDlf2ssBbOvlHqxVz5x30mMkIQPZvSVFxSL2IKfx+FJ1VoQ==")
|
|
Spire.PdfViewer.License.LicenseProvider.LoadLicense()
|
|
|
|
Spire.Pdf.License.LicenseProvider.ClearLicense()
|
|
Spire.Pdf.License.LicenseProvider.SetLicenseKey("cEpc16XxAJrkAQDgjMzjDgDjuYoJMMP7BCUCCs6Z0SNyiAdLS2m1S5RaQhUNStB0GfzvEHaKikcHoHw2I22j0NgXiE3fhmOw0YHFw7FXbuGCUsX/DrJxVBLHGBVaWXzm/Gldmt9h3RVGQEh9V4IZN/+hOOcJXBL/TRvxGoZ3Zp4Ebhv12J/G83QlwqSjA4KqzNjlys4RVQNjIwCw1fIgSOh+GzLaGDm4Ii2+MfF0Ohr/+msHC44eKfUucyW4Vv/iW2muNqHstU5E8ezUNSXFZkS0wp4Hlbg/iorS1uuXNNdfECZL4BOV/qftRxrImsi3E3fdZ7FJw8JjvkoWWt1s4yPUtc1MS+0iXg2+64DiYwhLRTnV/8QUvOMEoQGMkDoOzMV1cabhSEJd6Z1iSFMdOZOdZR2E9nlDIJOoYPUR7HE9FclSxd6ICuBGM+Yb2YJpH9HgEkg0/3MC9kgJ9n6+XrW09oY3BvYRb9fYwdBWZ/3lqvGV9cHgQPP9EH6ApIZ8qoWH5nRQoeRwtiIrmOxRNVEN94TXuiQBuIvZMRu/uJs2ylAlIlbtMGUEK6VFys8OmY2G9fZsiKqUUQd3AyN2eOE/DJKSftJAoCqfaVqEJgbVy1zA0vjyIBsa42HCes8RJQrSdUWQyIsGWUf99mDvfSTxI+jsKGOAXgHmrK8kJ8orUL8L8P8NlyZp4RlRkCzkgP4yju0oeg32tss8iuwqXt44Gr1fk1ti5s1KXsZ1ZaGYAgucY5wEP4bmlPuQimfRIBvbNasSj/vk82RurAo77WDhmB63o9svfnVPExDpx1QxIYKezZGNA2A3J5gksZdhknWbSmcQy/HTP9bZdAfSEQCnXkdRIwnvdEts1rb5uWm4noCSVA3q7EMterUmfrKFpfzlCq96Lfor89p/nb0Cgl1xY0JDn+3k+na1rmGawro0Gz5jcPdVp+C3Z6afh03HBzbs/DSa3l+IMGLKEWP5f5wjy3ozgpP7GLuFHPtbOCy7/v7v/1mxZbUkT7CXPKVs1OEgYjH738igSjiziFJpVnDa/RmvV4WUmFLKcdNntuvpwu7hQFTDMrAU6G0K9weDH81xzJmAEZaVgW6aCu43wlPPKgvDjum5FcP/KHYG1s0CvF4ZVVON8fa0Jlmlg9zCPJ9POrmFa8Ap55BIQAgsXlyPXBXowQ3isZd3dK9R6ooq/6ODB3dnzn/QyVKljwyIxCZdJpMKza7k/hvpO3rlZne118AUE3Ry5QE7U7gDGFcn700R4vD3enxtausV+XiABDKHDBIAgLbT4ZyzXCHHxlgV2pvqL7GYwihN8FXc9UFRxqvMx8RA9gahKPIY6WOQ1q5NEyFTRPMYQRBHDTa9KSLBbfnbjmNaURfI0UeXV4/pPzEa+8in7rVJFltPk3z9XTqJK1hgd+1KfqXjmKKvh7tbM1KXx8yFI9JGTdL3vSqJGw2Qog/lLKez3ZshZVQbYJ54l4G+I6mQCOGUcKdvvOVWwggsxCAV78RuWKm7liUwnncpeSF2iq3AOMnVsTn6Bi7l4OYgZavoSEFTKuVRl+hSqC/Y9/x/ngTeAyudwAg=")
|
|
Spire.Pdf.License.LicenseProvider.LoadLicense()
|
|
|
|
'Spire.PdfViewer.License.LicenseProvider.SetLicenseFileName("licensePDFViewer.elic.xml")
|
|
'Spire.PdfViewer.License.LicenseProvider.LoadLicense()
|
|
'Spire.Pdf.License.LicenseProvider.SetLicenseFileName("licensePDFPro.elic.xml")
|
|
'Spire.Pdf.License.LicenseProvider.LoadLicense()
|
|
|
|
'Spire.Pdf.License.LicenseProvider.SetLicenseFileName("license.elic.xml")
|
|
'Spire.Pdf.License.LicenseProvider.LoadLicense()
|
|
|
|
Return True
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Public Shared Function genCSVFromDT(dt As DataTable, Optional openCSV As Boolean = False, Optional showColumnName As Boolean = True, Optional optFileName As String = "") As String
|
|
Try
|
|
|
|
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SDL\tmp\" ' My.Computer.FileSystem.GetTempFileName
|
|
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
|
|
My.Computer.FileSystem.CreateDirectory(sPath)
|
|
End If
|
|
|
|
|
|
Dim txt As String = ""
|
|
|
|
If showColumnName Then
|
|
Dim line As String = ""
|
|
For Each column As DataColumn In dt.Columns
|
|
'Add ColumnName
|
|
line += ";" & column.ColumnName.Replace(";", ",")
|
|
Next
|
|
'Add new line
|
|
txt += line.Substring(1) & vbCrLf
|
|
End If
|
|
|
|
For Each row As DataRow In dt.Rows
|
|
Dim line As String = ""
|
|
For Each column As DataColumn In dt.Columns
|
|
'Add the Data rows.
|
|
line += ";" & row(column.ColumnName).ToString().Replace(";", ",").Replace(vbNewLine, "").Replace(vbCr, "").Replace(vbLf, "").Replace(vbCrLf, "").Replace(System.Environment.NewLine, " ")
|
|
Next
|
|
'Add new line
|
|
txt += line.Substring(1) & vbCrLf
|
|
Next
|
|
|
|
|
|
Dim endung = ".csv"
|
|
|
|
Dim filename As String = ""
|
|
If optFileName <> "" Then
|
|
filename = sPath & optFileName & endung '".xlsx"
|
|
While System.IO.File.Exists(filename)
|
|
filename = sPath & optFileName & Now.ToString("ddMMyyyyHHmmss") & endung '".xlsx"
|
|
End While
|
|
Else
|
|
filename = sPath & "tmp_" & Now.ToString("ddMMyyyyHHmmss") & endung '".xlsx"
|
|
While System.IO.File.Exists(filename)
|
|
filename = sPath & "tmp_" & Now.ToString("ddMMyyyyHHmmss") & endung '".xlsx"
|
|
End While
|
|
End If
|
|
|
|
Using sw As StreamWriter = New StreamWriter(filename, False, System.Text.Encoding.UTF8)
|
|
sw.WriteLine(txt)
|
|
End Using
|
|
|
|
|
|
If openCSV Then Process.Start(filename)
|
|
|
|
Return filename
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Public Shared Function genExcelFromDT_NEW(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional openPDF As Boolean = True, Optional optFileName As String = "", Optional endung As String = ".xlsx", Optional autoAdjust As Boolean = True) As String
|
|
Try
|
|
|
|
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SDL\tmp\" ' My.Computer.FileSystem.GetTempFileName
|
|
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
|
|
My.Computer.FileSystem.CreateDirectory(sPath)
|
|
End If
|
|
|
|
Dim wb As New XLWorkbook
|
|
' Dim dt As DataTable = (dgv.DataSource)
|
|
' Dim dt As DataTable = TryCast(dgv., DataTable)
|
|
|
|
wb.Worksheets.Add(dt, "DATEN")
|
|
wb.Worksheets(0).Tables.FirstOrDefault().ShowAutoFilter = ShowAutoFilter
|
|
|
|
If rangeAsWaehrung IsNot Nothing Then
|
|
For Each r In rangeAsWaehrung
|
|
Try
|
|
wb.Worksheets(0).Range(r).Style.NumberFormat.SetFormat("###,###,##0.00 €")
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Next
|
|
End If
|
|
|
|
If HeaderTxt <> "" Then
|
|
wb.Worksheets(0).FirstRow.InsertRowsAbove(2)
|
|
wb.Worksheets(0).Range("A1").Value = HeaderTxt
|
|
wb.Worksheets(0).Range("A1").Style.Font.Bold = True
|
|
If HeaderTxt2 <> "" Then
|
|
wb.Worksheets(0).Range("A2").Value = HeaderTxt2
|
|
wb.Worksheets(0).Row(2).InsertRowsBelow(1)
|
|
End If
|
|
|
|
End If
|
|
|
|
If autoAdjust Then
|
|
|
|
'Spaltenbreite auto:
|
|
wb.Worksheets(0).Columns().AdjustToContents()
|
|
|
|
End If
|
|
|
|
Dim filename As String = ""
|
|
If optFileName <> "" Then
|
|
filename = sPath & optFileName & endung '".xlsx"
|
|
While System.IO.File.Exists(filename)
|
|
filename = sPath & optFileName & Now.ToString("ddMMyyyyHHmmss") & endung '".xlsx"
|
|
End While
|
|
Else
|
|
filename = sPath & "tmp_" & Now.ToString("ddMMyyyyHHmmss") & endung '".xlsx"
|
|
While System.IO.File.Exists(filename)
|
|
filename = sPath & "tmp_" & Now.ToString("ddMMyyyyHHmmss") & endung '".xlsx"
|
|
End While
|
|
End If
|
|
|
|
wb.SaveAs(filename)
|
|
|
|
If openPDF Then Process.Start(filename)
|
|
|
|
Return filename
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
|
|
Public Shared Function sendMail(eMailTo, betreff, text, Optional eMailfrom = "support@verag.ag", Optional prio = False, Optional uhrzeitAngeben = True, Optional cc = "", Optional bcc = "", Optional anhaenge = Nothing, Optional art = 0)
|
|
Dim Msg As New MailMessage
|
|
Dim myCredentials As New System.Net.NetworkCredential
|
|
Msg.IsBodyHtml = True
|
|
Dim mySmtpsvr As New SmtpClient()
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "IMEX"
|
|
myCredentials.UserName = "support@verag.ag"
|
|
myCredentials.Password = "$up0Rt2809!"
|
|
mySmtpsvr.Host = "owa.verag.ag"
|
|
mySmtpsvr.Port = 587
|
|
Case "ATILLA"
|
|
myCredentials.UserName = "support@verag.ag"
|
|
myCredentials.Password = "$up0Rt2809!"
|
|
mySmtpsvr.Host = "owa.verag.ag"
|
|
mySmtpsvr.Port = 587
|
|
Case "AMBAR"
|
|
Select Case art
|
|
Case "3", "4" 'Export
|
|
myCredentials.UserName = "office@ambarlog.de"
|
|
' myCredentials.Password = "Naq30716"
|
|
' myCredentials.UserName = "import@ambarlog.com"
|
|
myCredentials.Password = "Naq30716"
|
|
mySmtpsvr.Host = "owa.verag.ag" '"smtp.office365.com" -> office365 deaktiviert!
|
|
mySmtpsvr.Port = 587
|
|
'mySmtpsvr.EnableSsl = True
|
|
|
|
'text = text.replace("import@ambarlog.com", "office@ambarlog.com")
|
|
'text = text.replace("import@ambarlog.de", "office@ambarlog.com")
|
|
eMailfrom = "office@ambarlog.de"
|
|
Case Else
|
|
|
|
' myCredentials.UserName = "import@ambarlog.com"
|
|
'myCredentials.UserName = "import@ambarlog.de"
|
|
'myCredentials.Password = "Meh062020"
|
|
'mySmtpsvr.Host = "smtp.office365.com"
|
|
'mySmtpsvr.Port = 587
|
|
'mySmtpsvr.EnableSsl = True
|
|
|
|
myCredentials.UserName = "import@ambarlog.de"
|
|
myCredentials.Password = "Meh062020"
|
|
mySmtpsvr.Host = "owa.verag.ag"
|
|
mySmtpsvr.Port = 587
|
|
' mySmtpsvr.EnableSsl = True
|
|
' eMailfrom = "import@ambarlog.com"
|
|
End Select
|
|
Case "UNISPED"
|
|
myCredentials.UserName = "no-reply@unisped.at"
|
|
myCredentials.Password = "GL5unisped!KNL3"
|
|
mySmtpsvr.Host = "owa.verag.ag"
|
|
mySmtpsvr.Port = 587 '25 '587 '25
|
|
Case Else
|
|
myCredentials.UserName = "support@verag.ag"
|
|
myCredentials.Password = "$up0Rt2809!"
|
|
mySmtpsvr.Host = "owa.verag.ag"
|
|
mySmtpsvr.Port = 587 '25 '587 '25
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End Select
|
|
|
|
|
|
|
|
mySmtpsvr.UseDefaultCredentials = False
|
|
mySmtpsvr.Credentials = myCredentials
|
|
Try
|
|
'Msg.BodyEncoding = System.Text.Encoding.GetEncoding("UTF-8")
|
|
Msg.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
|
|
Msg.From = New MailAddress(eMailfrom)
|
|
|
|
If eMailTo IsNot Nothing Then
|
|
For Each s In eMailTo.ToString.Split(";")
|
|
If s <> "" Then Msg.To.Add(convertToIso(s).ToString.Trim())
|
|
Next
|
|
End If
|
|
|
|
If cc IsNot Nothing Then
|
|
For Each s In cc.ToString.Split(";")
|
|
If s <> "" Then Msg.CC.Add(convertToIso(s).ToString.Trim())
|
|
Next
|
|
End If
|
|
|
|
If bcc IsNot Nothing Then
|
|
For Each s In bcc.ToString.Split(";")
|
|
If s <> "" Then Msg.Bcc.Add(convertToIso(s).ToString.Trim())
|
|
Next
|
|
End If
|
|
|
|
Msg.Subject = betreff '"ERROR - DAKOSY Einarbeitung"
|
|
If uhrzeitAngeben Then
|
|
Msg.Body &= "Zeitpunkt: " & Now.ToShortDateString & " " & Now.ToShortTimeString & "<br><br>"
|
|
'Msg.Body &= vbNewLine & vbNewLine
|
|
End If
|
|
Msg.Body &= text
|
|
If prio Then Msg.Priority = MailPriority.High
|
|
|
|
|
|
If anhaenge IsNot Nothing Then
|
|
For Each aa In DirectCast(anhaenge, List(Of String))
|
|
If aa IsNot Nothing AndAlso aa <> "" Then Msg.Attachments.Add(New System.Net.Mail.Attachment(aa))
|
|
Next
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
Try
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("MAIL ERROR - VOR SENDEN" & ex.Message, "TO: " & eMailTo & vbNewLine & "SUBJ: " & betreff & vbNewLine & "TXT: " & text, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
|
|
Catch ex2 As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("MAIL ERROR - VOR SENDEN LOG! " & ex2.Message, "TO: " & eMailTo & vbNewLine & "SUBJ: " & betreff & vbNewLine & "TXT: " & text, ex2.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.LOG)
|
|
End Try
|
|
|
|
End Try
|
|
|
|
|
|
'Prüfen, ob Empfänger angegeben:
|
|
If Msg.To.Count = 0 And Msg.CC.Count = 0 And Msg.Bcc.Count = 0 Then
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Kein Empfänger!", "TO: " & eMailTo & vbNewLine & "SUBJ: " & betreff & vbNewLine & "TXT: " & text, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
|
|
Return False
|
|
End If
|
|
|
|
'Msg.To.Clear()
|
|
'Msg.CC.Clear()
|
|
'Msg.Bcc.Clear()
|
|
'Msg.To.Add("al@verag.ag")
|
|
|
|
|
|
|
|
Try
|
|
'SENDEN::::::::::::::::::::::
|
|
'Dim mailItem As Outlook.MailItem = TryCast(Msg, Outlook.MailItem)
|
|
' mailItem.Display()
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
Catch ex As Exception
|
|
Try 'Falls Fehler nicht beim Senden, sonder was anderes.
|
|
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "TO: " & eMailTo & vbNewLine & "SUBJ: " & betreff & vbNewLine & "TXT: " & text, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
|
|
Catch ex3 As Exception
|
|
End Try
|
|
|
|
|
|
Try
|
|
mySmtpsvr.Port = 25
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
Catch ex2 As Exception
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED" Then ' ERST DEN SERVER EINRICHTEN!
|
|
Return False
|
|
End If
|
|
Try
|
|
mySmtpsvr.Host = "192.168.0.69"
|
|
mySmtpsvr.Port = 25
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
Catch ex3 As Exception
|
|
MsgBox(ex3.Message & ex3.StackTrace & vbNewLine & vbNewLine & "TO: " & eMailTo & vbNewLine & "cc: " & cc & vbNewLine & "bcc: " & bcc)
|
|
Return False
|
|
End Try
|
|
End Try
|
|
|
|
End Try
|
|
Return True
|
|
End Function
|
|
|
|
|
|
|
|
Shared Function getISO2Land(LandKz As String)
|
|
If LandKz Is Nothing Then Return Nothing
|
|
Dim sqlstr = "SELECT TOP 1 isnull([Länderverzeichnis für die Außenhandelsstatistik].LandKz,'') AS LandKzISO2 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE Währungstabelle.LandKz='" & LandKz & "' "
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Return SQL.getValueTxtBySql(sqlstr, "FMZOLL")
|
|
End Function
|
|
|
|
|
|
Shared Function getISO1Land(LandKz As String)
|
|
Dim sqlstr = "SELECT TOP 1 isnull(Währungstabelle.LandKz,'') AS LandKzISO1 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE [Länderverzeichnis für die Außenhandelsstatistik].LandKz='" & LandKz & "' "
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Return SQL.getValueTxtBySql(sqlstr, "FMZOLL")
|
|
End Function
|
|
Shared Function convertToIso(s) As String
|
|
Return s
|
|
|
|
Dim converted As Byte() = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("iso-8859-1"), s) 'Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("iso-8859-1"), s)
|
|
Return converted.ToString
|
|
End Function
|
|
|
|
|
|
Public Shared Sub sendMailTEST(eMailTo, betreff, text, Optional eMailfrom = "support@verag.ag", Optional prio = False, Optional uhrzeitAngeben = True)
|
|
Dim Msg As New MailMessage
|
|
Dim myCredentials As New System.Net.NetworkCredential
|
|
myCredentials.UserName = "support@verag.ag"
|
|
myCredentials.Password = "$up0Rt2809!"
|
|
Msg.IsBodyHtml = True
|
|
Dim mySmtpsvr As New SmtpClient()
|
|
mySmtpsvr.Host = "owa.verag.ag"
|
|
mySmtpsvr.Port = 25 '587 '25
|
|
mySmtpsvr.UseDefaultCredentials = False
|
|
mySmtpsvr.Credentials = myCredentials
|
|
Try
|
|
Msg.From = New MailAddress(eMailfrom)
|
|
Msg.To.Add(eMailTo)
|
|
Msg.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
|
|
|
|
Msg.Subject = betreff '"ERROR - DAKOSY Einarbeitung"
|
|
If uhrzeitAngeben Then
|
|
Msg.Body = "Zeitpunkt: " & Now.ToShortDateString & " " & Now.ToShortTimeString & "<br><br>"
|
|
'Msg.Body &= vbNewLine & vbNewLine
|
|
End If
|
|
Msg.Body &= text
|
|
If prio Then Msg.Priority = MailPriority.High
|
|
|
|
mySmtpsvr.Send(Msg)
|
|
Catch ex As Exception
|
|
Try
|
|
mySmtpsvr.Host = "192.168.0.107"
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
Catch ex2 As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Public Shared Function getFilePathTypeValid(filePath) As String
|
|
Dim Typ = ""
|
|
If filePath <> "" Then
|
|
|
|
Dim fi As New FileInfo(filePath)
|
|
Dim filename = fi.Name
|
|
|
|
|
|
Select Case fi.Extension.ToString.Replace(".", "").ToUpper
|
|
Case "PDF" : Typ = "PDF"
|
|
Case "XLS", "XLM", "XLSM", "XLSX", "CSV" : Typ = "EXCEL"
|
|
Case "DOC", "DOCX" : Typ = "WORD"
|
|
Case "TXT" : Typ = "TEXT"
|
|
Case "JPEG", "JPG", "GIF", "TFF" : Typ = "BILD"
|
|
Case "EXE" : MsgBox("Aviso-Anhänge: Ungültiges Datei-Format!") : Return False
|
|
Case Else : Typ = "SONSTIGES"
|
|
End Select
|
|
End If
|
|
Return Typ
|
|
End Function
|
|
|
|
Shared Function EmAilAttach(e As DragEventArgs) As String
|
|
Try
|
|
|
|
' We have a embedded file. First lets try to get the file name out of memory
|
|
Dim theStream As System.IO.Stream = CType(e.Data.GetData("FileGroupDescriptor"), System.IO.Stream)
|
|
Dim fileGroupDescriptor(512) As Byte
|
|
theStream.Read(fileGroupDescriptor, 0, 512)
|
|
Dim fileName As System.Text.StringBuilder = New System.Text.StringBuilder("")
|
|
Dim i As Integer = 76
|
|
|
|
While Not (fileGroupDescriptor(i) = 0)
|
|
fileName.Append(Convert.ToChar(fileGroupDescriptor(i)))
|
|
System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1)
|
|
End While
|
|
|
|
theStream.Close()
|
|
' We should have the file name or if its an email, the subject line. Create our temp file based on the temp path and this info
|
|
Dim myTempFile As String = System.IO.Path.GetTempPath & VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(fileName.ToString)
|
|
|
|
' Look to see if this is a email message. If so save that temporarily and get the temp file.
|
|
If InStr(myTempFile, ".msg") > 0 Then
|
|
Dim objOL As New Microsoft.Office.Interop.Outlook.Application
|
|
Dim objMI As Microsoft.Office.Interop.Outlook.MailItem
|
|
If objOL.ActiveExplorer.Selection.Count > 1 Then
|
|
MsgBox("Es kann nur ein Element übertagen werden.", MsgBoxStyle.OkOnly Or MsgBoxStyle.Information, "Ein Element pro Vorgang")
|
|
End If
|
|
For Each objMI In objOL.ActiveExplorer.Selection()
|
|
objMI.SaveAs(myTempFile)
|
|
Exit For
|
|
Next
|
|
objOL = Nothing
|
|
objMI = Nothing
|
|
Else
|
|
' If its a attachment we need to pull the file itself out of memory
|
|
Dim ms As System.IO.MemoryStream = CType(e.Data.GetData("FileContents", True), System.IO.MemoryStream)
|
|
Dim FileBytes(CInt(ms.Length)) As Byte
|
|
' read the raw data into our variable
|
|
ms.Position = 0
|
|
ms.Read(FileBytes, 0, CInt(ms.Length))
|
|
ms.Close()
|
|
' save the raw data into our temp file
|
|
Dim fs As System.IO.FileStream = New System.IO.FileStream(myTempFile, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write)
|
|
fs.Write(FileBytes, 0, FileBytes.Length)
|
|
fs.Close()
|
|
End If
|
|
' Make sure we have a actual file and also if we do make sure we erase it when done
|
|
If System.IO.File.Exists(myTempFile) Then
|
|
' Assign the file name to the add dialog
|
|
EmAilAttach = myTempFile
|
|
Else
|
|
EmAilAttach = String.Empty
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
EmAilAttach = String.Empty
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Public Function MakeScreenshot()
|
|
Dim form As New Form
|
|
form = form.ActiveForm
|
|
Dim bounds As Rectangle
|
|
Dim screenshot As System.Drawing.Bitmap
|
|
Dim graph As Graphics
|
|
If form Is Nothing Then Return ""
|
|
bounds = form.Bounds 'Screen.PrimaryScreen.Bounds
|
|
|
|
screenshot = New System.Drawing.Bitmap(bounds.Width, bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb)
|
|
graph = Graphics.FromImage(screenshot)
|
|
graph.CopyFromScreen(bounds.X, bounds.Y, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy)
|
|
' PictureBox1.Image = screenshot
|
|
If Not My.Computer.FileSystem.DirectoryExists(My.Computer.FileSystem.SpecialDirectories.Temp & "\Screenshots_" & My.Application.Info.AssemblyName & "\") Then
|
|
My.Computer.FileSystem.CreateDirectory(My.Computer.FileSystem.SpecialDirectories.Temp & "\Screenshots_" & My.Application.Info.AssemblyName & "\")
|
|
End If
|
|
Dim cnt As Integer = 1
|
|
Dim strname As String = My.Computer.FileSystem.SpecialDirectories.Temp & "\Screenshots_" & My.Application.Info.AssemblyName & "\" & form.Name & "_" & Now.ToString("ddMMyyyy_HHmm_")
|
|
While System.IO.File.Exists(strname & cnt & ".bmp") : cnt += 1 : End While
|
|
screenshot.Save(strname & cnt & ".bmp")
|
|
Return strname & cnt & ".bmp"
|
|
End Function
|
|
Public Function TakeScreenShot(ByVal Control As Control) As Bitmap
|
|
Dim tmpImg As New Bitmap(Control.Width, Control.Height)
|
|
Using g As Graphics = Graphics.FromImage(tmpImg)
|
|
g.CopyFromScreen(Control.PointToScreen(New Point(0, 0)), New Point(0, 0), New Size(Control.Width, Control.Height))
|
|
End Using
|
|
Return tmpImg
|
|
End Function
|
|
|
|
End Class
|
|
|
|
|
|
Public Class SDL_Functions
|
|
Shared Function SDL_GueltigBis_UTA_IDS()
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Return SQL.doSQL("UPDATE SDL SET Archiviert=1 where SDLNr IN(212,100) AND (Archiviert is null OR Archiviert = 0) AND [GültigBis] is not null AND [GültigBis] < dateadd(month,-2,CAST(SUBSTRING(CAST((DATEADD(d,-DAY(GETDATE()),GETDATE()) + 1) AS BINARY(8)),1,4) + 0x00000000 AS DATETIME))", "SDL")
|
|
End Function
|
|
End Class |