Merge branch 'Logikänderung_VM'

This commit is contained in:
2022-09-19 10:00:53 +02:00
399 changed files with 259205 additions and 1386 deletions

14
SDL.sln
View File

@@ -23,6 +23,8 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Parkzeit", "..\..\Parkzeit\
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MDM_Worker_lib", "..\..\ADMIN\ADMIN\MDM_Worker\MDM_Worker_lib.vbproj", "{2E4DBC09-E57B-4AC5-8554-6117D71F993B}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DAKOSY_Worker_lib", "..\..\ADMIN\ADMIN\DAKOSY_Worker\DAKOSY_Worker_lib.vbproj", "{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -136,6 +138,18 @@ Global
{2E4DBC09-E57B-4AC5-8554-6117D71F993B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{2E4DBC09-E57B-4AC5-8554-6117D71F993B}.Release|x86.ActiveCfg = Release|Any CPU
{2E4DBC09-E57B-4AC5-8554-6117D71F993B}.Release|x86.Build.0 = Release|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Debug|x86.ActiveCfg = Debug|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Debug|x86.Build.0 = Debug|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Release|Any CPU.Build.0 = Release|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Release|x86.ActiveCfg = Release|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -1,2 +1 @@
GrapeCity.ActiveReports.SectionReport, GrapeCity.ActiveReports, Version=15.2.3.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
GrapeCity.ActiveReports.Viewer.Win.Viewer, GrapeCity.ActiveReports.Viewer.Win, Version=15.2.3.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff


View File

@@ -89,8 +89,9 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\GrapeCity\ActiveReports 15\Tools\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="ClosedXML, Version=0.95.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\AVISO\Aviso\packages\ClosedXML.0.95.4\lib\net46\ClosedXML.dll</HintPath>
<Reference Include="ClosedXML, Version=0.76.0.0, Culture=neutral, PublicKeyToken=fd1eb21b62ae805b, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\Aviso\AVISO\packages\ClosedXML.0.95.4\lib\net46\ClosedXML.dll</HintPath>
</Reference>
<Reference Include="com.esendex.sdk, Version=3.8.0.0, Culture=neutral, PublicKeyToken=9dceac28a20578e2, processorArchitecture=MSIL">
<HintPath>..\..\..\AVISO\Aviso\packages\esendex-dotnet-sdk.3.8.0\lib\net35\com.esendex.sdk.dll</HintPath>
@@ -249,6 +250,11 @@
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<EmbedInteropTypes>True</EmbedInteropTypes>
<HintPath>..\..\..\..\..\..\..\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Office.Interop.Outlook, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
@@ -283,6 +289,10 @@
<Reference Include="Registrierkasse">
<HintPath>..\..\..\dll\Registrierkasse.dll</HintPath>
</Reference>
<Reference Include="RKAesIcm, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\dll\RKAesIcm.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.ComponentModel.Composition.Registration" />
@@ -560,6 +570,12 @@
<Compile Include="kunden\frmKundenUIDEORI_List.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="kunden\frmKundenZOLLVollmachtenUebersicht.Designer.vb">
<DependentUpon>frmKundenZOLLVollmachtenUebersicht.vb</DependentUpon>
</Compile>
<Compile Include="kunden\frmKundenZOLLVollmachtenUebersicht.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="kunden\Teams\frmKundeAnsprechpartnerTeams.Designer.vb">
<DependentUpon>frmKundeAnsprechpartnerTeams.vb</DependentUpon>
</Compile>
@@ -2770,6 +2786,9 @@
<EmbeddedResource Include="kunden\frmKundenUIDEORI_List.resx">
<DependentUpon>frmKundenUIDEORI_List.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="kunden\frmKundenZOLLVollmachtenUebersicht.resx">
<DependentUpon>frmKundenZOLLVollmachtenUebersicht.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="kunden\Teams\frmKundeAnsprechpartnerTeams.resx">
<DependentUpon>frmKundeAnsprechpartnerTeams.vb</DependentUpon>
</EmbeddedResource>
@@ -4139,15 +4158,6 @@
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="Microsoft.Office.Interop.Excel">
<Guid>{00020813-0000-0000-C000-000000000046}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>8</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="Microsoft.Office.Interop.Word">
<Guid>{00020905-0000-0000-C000-000000000046}</Guid>
<VersionMajor>8</VersionMajor>
@@ -4530,14 +4540,6 @@
<Project>{e4190547-b222-4ae3-a0be-a44eaee70335}</Project>
<Name>Parkzeit</Name>
</ProjectReference>
<ProjectReference Include="..\..\RKAesIcm\RKAesIcm.csproj">
<Project>{4167823d-7cb2-497d-958b-d579d6492e6b}</Project>
<Name>RKAesIcm</Name>
</ProjectReference>
<ProjectReference Include="..\Registrierkasse\VERAGRegistrierkasse.vbproj">
<Project>{392a58fc-79a6-4e1c-9033-180e86b523eb}</Project>
<Name>VERAGRegistrierkasse</Name>
</ProjectReference>
<ProjectReference Include="..\VERAG_PROG_ALLGEMEIN\VERAG_PROG_ALLGEMEIN.vbproj">
<Project>{a3b497bd-842c-4a2b-b398-ed1976849df1}</Project>
<Name>VERAG_PROG_ALLGEMEIN</Name>

View File

@@ -1751,28 +1751,33 @@ Public Class kundenSQL
Public Function setVollmacht(ByVal kdvm_KundenNr As Integer, ByVal kdvm_kdvmaId As Integer, ByVal kdvm_erhalten As Boolean, ByVal kdvm_erhalten_Datum As Object, ByVal kdvm_Info As String, ByVal kdvm_datenarchivId As Integer) As Boolean
Public Function setVollmacht(ByVal kdvm_KundenNr As Integer, ByVal kdvm_kdvmaId As Integer, ByVal kdvm_erhalten As Boolean, ByVal kdvm_archiviert As Boolean, ByVal kdvm_erhalten_Datum As Object, ByVal kdvm_gueltig_bis As Object, ByVal kdvm_vermerk As String, ByVal kdvm_Info As String, ByVal kdvm_datenarchivId As Integer, kdvm_Id As Integer) As Boolean
Try
Dim d As String = ""
Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("begin tran if exists (select * from tblKundenVollmachten with (updlock,serializable) where [kdvm_KundenNr]=@kdvm_KundenNr AND kdvm_kdvmaId =@kdvm_kdvmaId ) " &
Using cmd As New SqlCommand("begin tran if exists (select * from tblKundenVollmachten with (updlock,serializable) where [kdvm_KundenNr]=@kdvm_KundenNr AND kdvm_Id=@kdvm_Id AND kdvm_Id <> '-1' ) " &
" begin " &
"UPDATE [tblKundenVollmachten] SET [kdvm_erhalten]=@kdvm_erhalten,[kdvm_erhalten_Datum]=@kdvm_erhalten_Datum,[kdvm_Info]=@kdvm_Info,[kdvm_datenarchivId]=@kdvm_datenarchivId WHERE [kdvm_KundenNr]=@kdvm_KundenNr AND kdvm_kdvmaId =@kdvm_kdvmaId " &
"UPDATE [tblKundenVollmachten] SET [kdvm_erhalten]=@kdvm_erhalten,[kdvm_archiviert]=@kdvm_archiviert,[kdvm_erhalten_Datum]=@kdvm_erhalten_Datum,[kdvm_gueltig_bis]=@kdvm_gueltig_bis,[kdvm_vermerk]=@kdvm_vermerk,[kdvm_Info]=@kdvm_Info,[kdvm_datenarchivId]=@kdvm_datenarchivId WHERE [kdvm_KundenNr]=@kdvm_KundenNr AND kdvm_Id =@kdvm_Id " &
" End " &
" Else " &
" begin " &
"INSERT INTO tblKundenVollmachten " &
" ([kdvm_KundenNr],[kdvm_kdvmaId] ,[kdvm_erhalten],[kdvm_erhalten_Datum],[kdvm_Info],[kdvm_datenarchivId]) " &
" VALUES (@kdvm_KundenNr,@kdvm_kdvmaId ,@kdvm_erhalten ,@kdvm_erhalten_Datum,@kdvm_Info,@kdvm_datenarchivId) " &
" ([kdvm_KundenNr],[kdvm_kdvmaId],[kdvm_erhalten],[kdvm_archiviert],[kdvm_erhalten_Datum],[kdvm_gueltig_bis],[kdvm_vermerk],[kdvm_Info],[kdvm_datenarchivId]) " &
" VALUES (@kdvm_KundenNr,@kdvm_kdvmaId ,@kdvm_erhalten ,@kdvm_archiviert ,@kdvm_erhalten_Datum,@kdvm_gueltig_bis,@kdvm_vermerk,@kdvm_Info,@kdvm_datenarchivId) " &
" End " &
" commit tran ", conn)
cmd.Parameters.AddWithValue("@kdvm_KundenNr", kdvm_KundenNr)
cmd.Parameters.AddWithValue("@kdvm_kdvmaId", kdvm_kdvmaId)
cmd.Parameters.AddWithValue("@kdvm_erhalten", kdvm_erhalten)
cmd.Parameters.AddWithValue("@kdvm_archiviert", kdvm_archiviert)
cmd.Parameters.AddWithValue("@kdvm_erhalten_Datum", If(kdvm_erhalten_Datum Is Nothing, DBNull.Value, CDate(kdvm_erhalten_Datum)))
cmd.Parameters.AddWithValue("@kdvm_gueltig_bis", If(kdvm_gueltig_bis Is Nothing, DBNull.Value, CDate(kdvm_gueltig_bis)))
cmd.Parameters.AddWithValue("@kdvm_vermerk", kdvm_vermerk)
cmd.Parameters.AddWithValue("@kdvm_Info", kdvm_Info)
cmd.Parameters.AddWithValue("@kdvm_datenarchivId", kdvm_datenarchivId)
cmd.Parameters.AddWithValue("@kdvm_Id", kdvm_Id)
cmd.ExecuteNonQuery()
Return True
End Using
@@ -1783,14 +1788,14 @@ Public Class kundenSQL
Return False
End Function
Public Function setVollmacht_DSId(ByVal kdvm_KundenNr As Integer, ByVal kdvm_kdvmaId As Integer, ByVal kdvm_datenarchivId As Integer) As Boolean
Public Function setVollmacht_DSId(ByVal kdvm_KundenNr As Integer, ByVal kdvm_Id As Integer, ByVal kdvm_datenarchivId As Integer) As Boolean
Try
Dim d As String = ""
Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("UPDATE [tblKundenVollmachten] SET [kdvm_datenarchivId]=@kdvm_datenarchivId WHERE [kdvm_KundenNr]=@kdvm_KundenNr AND kdvm_kdvmaId =@kdvm_kdvmaId ", conn)
Using cmd As New SqlCommand("UPDATE [tblKundenVollmachten] SET [kdvm_datenarchivId]=@kdvm_datenarchivId WHERE [kdvm_KundenNr]=@kdvm_KundenNr AND kdvm_Id =@kdvm_Id ", conn)
cmd.Parameters.AddWithValue("@kdvm_KundenNr", kdvm_KundenNr)
cmd.Parameters.AddWithValue("@kdvm_kdvmaId", kdvm_kdvmaId)
cmd.Parameters.AddWithValue("@kdvm_Id", kdvm_Id)
cmd.Parameters.AddWithValue("@kdvm_datenarchivId", kdvm_datenarchivId)
cmd.ExecuteNonQuery()
Return True
@@ -1802,6 +1807,48 @@ Public Class kundenSQL
Return False
End Function
Public Function setVollmachtarchivieren(ByVal kdvm_KundenNr As Integer, ByVal kdvm_kdvmaId As Integer) As Boolean
Try
Dim d As String = ""
Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("UPDATE [tblKundenVollmachten] SET kdvm_archiviert = 1 WHERE [kdvm_KundenNr]=@kdvm_KundenNr AND kdvm_kdvmaId =@kdvm_kdvmaId ", conn)
cmd.Parameters.AddWithValue("@kdvm_KundenNr", kdvm_KundenNr)
cmd.Parameters.AddWithValue("@kdvm_kdvmaId", kdvm_kdvmaId)
cmd.ExecuteNonQuery()
Return True
End Using
End Using
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,,,,,)
End Try
Return False
End Function
Public Function setVollmachtgeloescht(ByVal kdvm_KundenNr As Integer, ByVal kdvm_Id As Integer, ByVal kdvm_geloescht As Integer) As Boolean
Try
Dim d As String = ""
Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("UPDATE [tblKundenVollmachten] SET kdvm_geloescht = @kdvm_geloescht WHERE [kdvm_KundenNr]=@kdvm_KundenNr AND kdvm_Id =@kdvm_Id ", conn)
cmd.Parameters.AddWithValue("@kdvm_KundenNr", kdvm_KundenNr)
cmd.Parameters.AddWithValue("@kdvm_Id", kdvm_Id)
cmd.Parameters.AddWithValue("@kdvm_geloescht", kdvm_geloescht)
cmd.ExecuteNonQuery()
Return True
End Using
End Using
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,,,,,)
End Try
Return False
End Function
Public Function setPartnerKdNrFromFMZOLL(ByVal columnName As String, ByVal value As Object, ByVal AdressenNr As String) As Boolean
Dim sql = "UPDATE Adressen " &
" SET [" & columnName & "]=@value " &

View File

@@ -1,9 +1,9 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmKundenZOLLVollmachten
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
@@ -20,130 +20,91 @@ Partial Class frmKundenZOLLVollmachten
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmKundenZOLLVollmachten))
Me.pnl = New System.Windows.Forms.Panel()
Me.txtDat = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.cbxErhaltenAm = New System.Windows.Forms.CheckBox()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.picPDF = New System.Windows.Forms.PictureBox()
Me.Button2 = New System.Windows.Forms.Button()
Me.pic = New System.Windows.Forms.PictureBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.btnNeu = New System.Windows.Forms.Button()
Me.dgvVollmachtenEmbedded = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.MyComboBox1 = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.Button1 = New System.Windows.Forms.Button()
Me.btnOK = New System.Windows.Forms.Button()
Me.Label1 = New System.Windows.Forms.Label()
Me.cbxErhaltenAm = New System.Windows.Forms.CheckBox()
Me.lbl = New System.Windows.Forms.Label()
Me.pnlDetails = New VERAG_PROG_ALLGEMEIN.MyPanel(Me.components)
Me.lblGueltigVon = New System.Windows.Forms.Label()
Me.cbxVMarchivieren = New System.Windows.Forms.CheckBox()
Me.Label3 = New System.Windows.Forms.Label()
Me.txtVermerk = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.picPDF = New System.Windows.Forms.PictureBox()
Me.btnUploadPDF = New System.Windows.Forms.Button()
Me.picDeletePDF = New System.Windows.Forms.PictureBox()
Me.lblPDFavailable = New System.Windows.Forms.Label()
Me.lblGueltigBis = New System.Windows.Forms.Label()
Me.txtGueltigVon = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.txtGueltigBis = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.cbxArchiviert = New System.Windows.Forms.CheckBox()
Me.btnSave = New System.Windows.Forms.Button()
Me.btnOK = New System.Windows.Forms.Button()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.lblWarning = New System.Windows.Forms.Label()
Me.pnl.SuspendLayout()
CType(Me.dgvVollmachtenEmbedded, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pnlDetails.SuspendLayout()
Me.Panel1.SuspendLayout()
CType(Me.picPDF, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.picDeletePDF, System.ComponentModel.ISupportInitialize).BeginInit()
Me.ContextMenuStrip1.SuspendLayout()
Me.SuspendLayout()
'
'pnl
'
Me.pnl.BackColor = System.Drawing.Color.White
Me.pnl.Controls.Add(Me.txtDat)
Me.pnl.Controls.Add(Me.cbxErhaltenAm)
Me.pnl.Controls.Add(Me.Panel1)
Me.pnl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.pnl.Controls.Add(Me.btnNeu)
Me.pnl.Controls.Add(Me.dgvVollmachtenEmbedded)
Me.pnl.Controls.Add(Me.MyComboBox1)
Me.pnl.Controls.Add(Me.Button1)
Me.pnl.Controls.Add(Me.btnOK)
Me.pnl.Controls.Add(Me.Label1)
Me.pnl.Controls.Add(Me.cbxErhaltenAm)
Me.pnl.Controls.Add(Me.lbl)
Me.pnl.Controls.Add(Me.pnlDetails)
Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill
Me.pnl.Location = New System.Drawing.Point(0, 0)
Me.pnl.Name = "pnl"
Me.pnl.Size = New System.Drawing.Size(279, 136)
Me.pnl.Size = New System.Drawing.Size(499, 383)
Me.pnl.TabIndex = 1
'
'txtDat
'btnNeu
'
Me.txtDat._DateTimeOnly = False
Me.txtDat._numbersOnly = False
Me.txtDat._numbersOnlyKommastellen = ""
Me.txtDat._Prozent = False
Me.txtDat._ShortDateNew = True
Me.txtDat._ShortDateOnly = False
Me.txtDat._TimeOnly = False
Me.txtDat._TimeOnly_Seconds = False
Me.txtDat._value = ""
Me.txtDat._Waehrung = False
Me.txtDat._WaehrungZeichen = False
Me.txtDat.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtDat.ForeColor = System.Drawing.Color.Black
Me.txtDat.Location = New System.Drawing.Point(98, 35)
Me.txtDat.MaxLength = 10
Me.txtDat.MaxLineLength = -1
Me.txtDat.MaxLines_Warning = ""
Me.txtDat.MaxLines_Warning_Label = Nothing
Me.txtDat.Name = "txtDat"
Me.txtDat.Size = New System.Drawing.Size(127, 23)
Me.txtDat.TabIndex = 19
Me.txtDat.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
Me.btnNeu.Image = Global.SDL.My.Resources.Resources.plus
Me.btnNeu.Location = New System.Drawing.Point(443, 182)
Me.btnNeu.Name = "btnNeu"
Me.btnNeu.Size = New System.Drawing.Size(44, 31)
Me.btnNeu.TabIndex = 28
Me.btnNeu.UseVisualStyleBackColor = True
'
'cbxErhaltenAm
'dgvVollmachtenEmbedded
'
Me.cbxErhaltenAm.AutoSize = True
Me.cbxErhaltenAm.Location = New System.Drawing.Point(14, 39)
Me.cbxErhaltenAm.Name = "cbxErhaltenAm"
Me.cbxErhaltenAm.Size = New System.Drawing.Size(85, 17)
Me.cbxErhaltenAm.TabIndex = 18
Me.cbxErhaltenAm.Text = "Erhalten am:"
Me.cbxErhaltenAm.UseVisualStyleBackColor = True
'
'Panel1
'
Me.Panel1.Controls.Add(Me.picPDF)
Me.Panel1.Controls.Add(Me.Button2)
Me.Panel1.Controls.Add(Me.pic)
Me.Panel1.Controls.Add(Me.Label2)
Me.Panel1.Location = New System.Drawing.Point(3, 64)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(267, 70)
Me.Panel1.TabIndex = 17
Me.Panel1.Visible = False
'
'picPDF
'
Me.picPDF.Image = Global.SDL.My.Resources.Resources.pdf_gray
Me.picPDF.Location = New System.Drawing.Point(210, 10)
Me.picPDF.Name = "picPDF"
Me.picPDF.Size = New System.Drawing.Size(44, 48)
Me.picPDF.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.picPDF.TabIndex = 17
Me.picPDF.TabStop = False
Me.picPDF.Visible = False
'
'Button2
'
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button2.Location = New System.Drawing.Point(11, 10)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(134, 25)
Me.Button2.TabIndex = 12
Me.Button2.Text = "PDF hochladen"
Me.Button2.UseVisualStyleBackColor = True
'
'pic
'
Me.pic.Image = Global.SDL.My.Resources.Resources.del
Me.pic.Location = New System.Drawing.Point(11, 38)
Me.pic.Name = "pic"
Me.pic.Size = New System.Drawing.Size(20, 20)
Me.pic.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.pic.TabIndex = 16
Me.pic.TabStop = False
Me.pic.Visible = False
'
'Label2
'
Me.Label2.Location = New System.Drawing.Point(5, 38)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(140, 13)
Me.Label2.TabIndex = 13
Me.Label2.Text = "Kein PDF vorhanden."
Me.Label2.TextAlign = System.Drawing.ContentAlignment.TopRight
Me.dgvVollmachtenEmbedded.AKTUALISIERUNGS_INTERVALL = -1
Me.dgvVollmachtenEmbedded.AllowUserToAddRows = False
Me.dgvVollmachtenEmbedded.AllowUserToDeleteRows = False
Me.dgvVollmachtenEmbedded.AllowUserToResizeColumns = False
Me.dgvVollmachtenEmbedded.AllowUserToResizeRows = False
Me.dgvVollmachtenEmbedded.BackgroundColor = System.Drawing.SystemColors.Window
Me.dgvVollmachtenEmbedded.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dgvVollmachtenEmbedded.Location = New System.Drawing.Point(24, 33)
Me.dgvVollmachtenEmbedded.MultiSelect = False
Me.dgvVollmachtenEmbedded.Name = "dgvVollmachtenEmbedded"
Me.dgvVollmachtenEmbedded.ReadOnly = True
Me.dgvVollmachtenEmbedded.RowHeadersVisible = False
Me.dgvVollmachtenEmbedded.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
Me.dgvVollmachtenEmbedded.Size = New System.Drawing.Size(463, 140)
Me.dgvVollmachtenEmbedded.TabIndex = 24
'
'MyComboBox1
'
@@ -153,7 +114,7 @@ Partial Class frmKundenZOLLVollmachten
Me.MyComboBox1.BackColor = System.Drawing.Color.White
Me.MyComboBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.MyComboBox1.FormattingEnabled = True
Me.MyComboBox1.Location = New System.Drawing.Point(98, 8)
Me.MyComboBox1.Location = New System.Drawing.Point(98, 6)
Me.MyComboBox1.Name = "MyComboBox1"
Me.MyComboBox1.Size = New System.Drawing.Size(127, 21)
Me.MyComboBox1.TabIndex = 15
@@ -166,39 +127,302 @@ Partial Class frmKundenZOLLVollmachten
Me.Button1.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.ForeColor = System.Drawing.Color.White
Me.Button1.Location = New System.Drawing.Point(237, 0)
Me.Button1.Location = New System.Drawing.Point(455, 0)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(42, 23)
Me.Button1.TabIndex = 9
Me.Button1.Text = "X"
Me.Button1.UseVisualStyleBackColor = False
'
'btnOK
'Label1
'
Me.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK
Me.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnOK.Location = New System.Drawing.Point(231, 34)
Me.btnOK.Name = "btnOK"
Me.btnOK.Size = New System.Drawing.Size(39, 24)
Me.btnOK.TabIndex = 10
Me.btnOK.Text = "OK"
Me.btnOK.UseVisualStyleBackColor = True
Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label1.Location = New System.Drawing.Point(209, 48)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(214, 30)
Me.Label1.TabIndex = 20
Me.Label1.Text = "VOLLMACHT"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'cbxErhaltenAm
'
Me.cbxErhaltenAm.AutoSize = True
Me.cbxErhaltenAm.Location = New System.Drawing.Point(39, 190)
Me.cbxErhaltenAm.Name = "cbxErhaltenAm"
Me.cbxErhaltenAm.Size = New System.Drawing.Size(85, 17)
Me.cbxErhaltenAm.TabIndex = 18
Me.cbxErhaltenAm.Text = "Erhalten am:"
Me.cbxErhaltenAm.UseVisualStyleBackColor = True
Me.cbxErhaltenAm.Visible = False
'
'lbl
'
Me.lbl.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lbl.Location = New System.Drawing.Point(8, 3)
Me.lbl.Location = New System.Drawing.Point(11, 0)
Me.lbl.Name = "lbl"
Me.lbl.Size = New System.Drawing.Size(214, 30)
Me.lbl.TabIndex = 20
Me.lbl.Text = "VOLLMACHT"
Me.lbl.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'pnlDetails
'
Me.pnlDetails.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.pnlDetails.Controls.Add(Me.lblWarning)
Me.pnlDetails.Controls.Add(Me.lblGueltigVon)
Me.pnlDetails.Controls.Add(Me.cbxVMarchivieren)
Me.pnlDetails.Controls.Add(Me.Label3)
Me.pnlDetails.Controls.Add(Me.txtVermerk)
Me.pnlDetails.Controls.Add(Me.Panel1)
Me.pnlDetails.Controls.Add(Me.lblGueltigBis)
Me.pnlDetails.Controls.Add(Me.txtGueltigVon)
Me.pnlDetails.Controls.Add(Me.txtGueltigBis)
Me.pnlDetails.Controls.Add(Me.cbxArchiviert)
Me.pnlDetails.Controls.Add(Me.btnOK)
Me.pnlDetails.Controls.Add(Me.btnSave)
Me.pnlDetails.Location = New System.Drawing.Point(4, 219)
Me.pnlDetails.Name = "pnlDetails"
Me.pnlDetails.Size = New System.Drawing.Size(492, 159)
Me.pnlDetails.TabIndex = 28
'
'lblGueltigVon
'
Me.lblGueltigVon.AutoSize = True
Me.lblGueltigVon.Location = New System.Drawing.Point(17, 55)
Me.lblGueltigVon.Name = "lblGueltigVon"
Me.lblGueltigVon.Size = New System.Drawing.Size(75, 13)
Me.lblGueltigVon.TabIndex = 28
Me.lblGueltigVon.Text = "VM gültig von:"
'
'cbxVMarchivieren
'
Me.cbxVMarchivieren.AutoSize = True
Me.cbxVMarchivieren.Location = New System.Drawing.Point(20, 127)
Me.cbxVMarchivieren.Name = "cbxVMarchivieren"
Me.cbxVMarchivieren.Size = New System.Drawing.Size(198, 17)
Me.cbxVMarchivieren.TabIndex = 27
Me.cbxVMarchivieren.Text = "bestehende Vollmachten archivieren"
Me.cbxVMarchivieren.UseVisualStyleBackColor = True
Me.cbxVMarchivieren.Visible = False
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(17, 14)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(49, 13)
Me.Label3.TabIndex = 26
Me.Label3.Text = "Vermerk:"
'
'txtVermerk
'
Me.txtVermerk._DateTimeOnly = False
Me.txtVermerk._numbersOnly = False
Me.txtVermerk._numbersOnlyKommastellen = ""
Me.txtVermerk._numbersOnlyTrennzeichen = False
Me.txtVermerk._Prozent = False
Me.txtVermerk._ShortDateNew = False
Me.txtVermerk._ShortDateOnly = False
Me.txtVermerk._TimeOnly = False
Me.txtVermerk._TimeOnly_Seconds = False
Me.txtVermerk._value = ""
Me.txtVermerk._Waehrung = False
Me.txtVermerk._WaehrungZeichen = False
Me.txtVermerk.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtVermerk.ForeColor = System.Drawing.Color.Black
Me.txtVermerk.Location = New System.Drawing.Point(96, 4)
Me.txtVermerk.MaxLength = 100
Me.txtVermerk.MaxLineLength = -1
Me.txtVermerk.MaxLines_Warning = ""
Me.txtVermerk.MaxLines_Warning_Label = Nothing
Me.txtVermerk.Name = "txtVermerk"
Me.txtVermerk.Size = New System.Drawing.Size(390, 23)
Me.txtVermerk.TabIndex = 25
'
'Panel1
'
Me.Panel1.Controls.Add(Me.picPDF)
Me.Panel1.Controls.Add(Me.btnUploadPDF)
Me.Panel1.Controls.Add(Me.picDeletePDF)
Me.Panel1.Controls.Add(Me.lblPDFavailable)
Me.Panel1.Location = New System.Drawing.Point(254, 42)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(233, 70)
Me.Panel1.TabIndex = 17
Me.Panel1.Visible = False
'
'picPDF
'
Me.picPDF.Image = Global.SDL.My.Resources.Resources.pdf_gray
Me.picPDF.Location = New System.Drawing.Point(178, 10)
Me.picPDF.Name = "picPDF"
Me.picPDF.Size = New System.Drawing.Size(44, 48)
Me.picPDF.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.picPDF.TabIndex = 17
Me.picPDF.TabStop = False
Me.picPDF.Visible = False
'
'btnUploadPDF
'
Me.btnUploadPDF.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnUploadPDF.Location = New System.Drawing.Point(11, 10)
Me.btnUploadPDF.Name = "btnUploadPDF"
Me.btnUploadPDF.Size = New System.Drawing.Size(134, 25)
Me.btnUploadPDF.TabIndex = 12
Me.btnUploadPDF.Text = "PDF hochladen"
Me.btnUploadPDF.UseVisualStyleBackColor = True
'
'picDeletePDF
'
Me.picDeletePDF.Image = Global.SDL.My.Resources.Resources.del
Me.picDeletePDF.Location = New System.Drawing.Point(11, 38)
Me.picDeletePDF.Name = "picDeletePDF"
Me.picDeletePDF.Size = New System.Drawing.Size(20, 20)
Me.picDeletePDF.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.picDeletePDF.TabIndex = 16
Me.picDeletePDF.TabStop = False
Me.picDeletePDF.Visible = False
'
'lblPDFavailable
'
Me.lblPDFavailable.Location = New System.Drawing.Point(5, 38)
Me.lblPDFavailable.Name = "lblPDFavailable"
Me.lblPDFavailable.Size = New System.Drawing.Size(140, 13)
Me.lblPDFavailable.TabIndex = 13
Me.lblPDFavailable.Text = "Kein PDF vorhanden."
Me.lblPDFavailable.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'lblGueltigBis
'
Me.lblGueltigBis.AutoSize = True
Me.lblGueltigBis.Location = New System.Drawing.Point(17, 79)
Me.lblGueltigBis.Name = "lblGueltigBis"
Me.lblGueltigBis.Size = New System.Drawing.Size(70, 13)
Me.lblGueltigBis.TabIndex = 23
Me.lblGueltigBis.Text = "VM gültig bis:"
'
'txtGueltigVon
'
Me.txtGueltigVon._DateTimeOnly = False
Me.txtGueltigVon._numbersOnly = False
Me.txtGueltigVon._numbersOnlyKommastellen = ""
Me.txtGueltigVon._numbersOnlyTrennzeichen = True
Me.txtGueltigVon._Prozent = False
Me.txtGueltigVon._ShortDateNew = True
Me.txtGueltigVon._ShortDateOnly = False
Me.txtGueltigVon._TimeOnly = False
Me.txtGueltigVon._TimeOnly_Seconds = False
Me.txtGueltigVon._value = ""
Me.txtGueltigVon._Waehrung = False
Me.txtGueltigVon._WaehrungZeichen = False
Me.txtGueltigVon.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtGueltigVon.ForeColor = System.Drawing.Color.Black
Me.txtGueltigVon.Location = New System.Drawing.Point(96, 45)
Me.txtGueltigVon.MaxLength = 10
Me.txtGueltigVon.MaxLineLength = -1
Me.txtGueltigVon.MaxLines_Warning = ""
Me.txtGueltigVon.MaxLines_Warning_Label = Nothing
Me.txtGueltigVon.Name = "txtGueltigVon"
Me.txtGueltigVon.Size = New System.Drawing.Size(127, 23)
Me.txtGueltigVon.TabIndex = 19
Me.txtGueltigVon.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'txtGueltigBis
'
Me.txtGueltigBis._DateTimeOnly = False
Me.txtGueltigBis._numbersOnly = False
Me.txtGueltigBis._numbersOnlyKommastellen = ""
Me.txtGueltigBis._numbersOnlyTrennzeichen = True
Me.txtGueltigBis._Prozent = False
Me.txtGueltigBis._ShortDateNew = True
Me.txtGueltigBis._ShortDateOnly = False
Me.txtGueltigBis._TimeOnly = False
Me.txtGueltigBis._TimeOnly_Seconds = False
Me.txtGueltigBis._value = ""
Me.txtGueltigBis._Waehrung = False
Me.txtGueltigBis._WaehrungZeichen = False
Me.txtGueltigBis.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtGueltigBis.ForeColor = System.Drawing.Color.Black
Me.txtGueltigBis.Location = New System.Drawing.Point(96, 74)
Me.txtGueltigBis.MaxLength = 10
Me.txtGueltigBis.MaxLineLength = -1
Me.txtGueltigBis.MaxLines_Warning = ""
Me.txtGueltigBis.MaxLines_Warning_Label = Nothing
Me.txtGueltigBis.Name = "txtGueltigBis"
Me.txtGueltigBis.Size = New System.Drawing.Size(127, 23)
Me.txtGueltigBis.TabIndex = 22
Me.txtGueltigBis.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'cbxArchiviert
'
Me.cbxArchiviert.AutoSize = True
Me.cbxArchiviert.Location = New System.Drawing.Point(20, 102)
Me.cbxArchiviert.Name = "cbxArchiviert"
Me.cbxArchiviert.Size = New System.Drawing.Size(70, 17)
Me.cbxArchiviert.TabIndex = 21
Me.cbxArchiviert.Text = "Archiviert"
Me.cbxArchiviert.UseVisualStyleBackColor = True
'
'btnSave
'
Me.btnSave.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnSave.Location = New System.Drawing.Point(410, 125)
Me.btnSave.Name = "btnSave"
Me.btnSave.Size = New System.Drawing.Size(66, 24)
Me.btnSave.TabIndex = 29
Me.btnSave.Text = "Speichern"
Me.btnSave.UseVisualStyleBackColor = True
Me.btnSave.Visible = False
'
'btnOK
'
Me.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK
Me.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnOK.Location = New System.Drawing.Point(410, 124)
Me.btnOK.Name = "btnOK"
Me.btnOK.Size = New System.Drawing.Size(66, 24)
Me.btnOK.TabIndex = 10
Me.btnOK.Text = "OK"
Me.btnOK.UseVisualStyleBackColor = True
'
'ContextMenuStrip1
'
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1, Me.LöschenToolStripMenuItem})
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(119, 48)
'
'ToolStripMenuItem1
'
Me.ToolStripMenuItem1.Image = Global.SDL.My.Resources.Resources.stift1
Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
Me.ToolStripMenuItem1.Size = New System.Drawing.Size(118, 22)
Me.ToolStripMenuItem1.Text = "Ändern"
Me.ToolStripMenuItem1.Visible = False
'
'LöschenToolStripMenuItem
'
Me.LöschenToolStripMenuItem.Image = Global.SDL.My.Resources.Resources.del
Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem"
Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(118, 22)
Me.LöschenToolStripMenuItem.Text = "Löschen"
'
'lblWarning
'
Me.lblWarning.AutoSize = True
Me.lblWarning.ForeColor = System.Drawing.Color.Red
Me.lblWarning.Location = New System.Drawing.Point(118, 30)
Me.lblWarning.Name = "lblWarning"
Me.lblWarning.Size = New System.Drawing.Size(105, 13)
Me.lblWarning.TabIndex = 30
Me.lblWarning.Text = "Gültig von eintragen!"
Me.lblWarning.Visible = False
'
'frmKundenZOLLVollmachten
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(279, 136)
Me.ClientSize = New System.Drawing.Size(499, 383)
Me.Controls.Add(Me.pnl)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
@@ -207,22 +431,42 @@ Partial Class frmKundenZOLLVollmachten
Me.Text = "frmKundenZOLLVollmachten"
Me.pnl.ResumeLayout(False)
Me.pnl.PerformLayout()
CType(Me.dgvVollmachtenEmbedded, System.ComponentModel.ISupportInitialize).EndInit()
Me.pnlDetails.ResumeLayout(False)
Me.pnlDetails.PerformLayout()
Me.Panel1.ResumeLayout(False)
CType(Me.picPDF, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.picDeletePDF, System.ComponentModel.ISupportInitialize).EndInit()
Me.ContextMenuStrip1.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
Friend WithEvents pnl As System.Windows.Forms.Panel
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents lblPDFavailable As System.Windows.Forms.Label
Friend WithEvents btnUploadPDF As System.Windows.Forms.Button
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents btnOK As System.Windows.Forms.Button
Friend WithEvents MyComboBox1 As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents pic As System.Windows.Forms.PictureBox
Friend WithEvents picDeletePDF As System.Windows.Forms.PictureBox
Friend WithEvents cbxErhaltenAm As System.Windows.Forms.CheckBox
Friend WithEvents Panel1 As System.Windows.Forms.Panel
Friend WithEvents txtDat As VERAG_PROG_ALLGEMEIN.MyTextBox
Friend WithEvents txtGueltigVon As VERAG_PROG_ALLGEMEIN.MyTextBox
Friend WithEvents lbl As Label
Friend WithEvents picPDF As PictureBox
Friend WithEvents cbxArchiviert As CheckBox
Friend WithEvents txtGueltigBis As VERAG_PROG_ALLGEMEIN.MyTextBox
Friend WithEvents lblGueltigBis As Label
Friend WithEvents dgvVollmachtenEmbedded As VERAG_PROG_ALLGEMEIN.MyDatagridview
Friend WithEvents Label1 As Label
Friend WithEvents Label3 As Label
Friend WithEvents txtVermerk As VERAG_PROG_ALLGEMEIN.MyTextBox
Friend WithEvents cbxVMarchivieren As CheckBox
Friend WithEvents ContextMenuStrip1 As ContextMenuStrip
Friend WithEvents ToolStripMenuItem1 As ToolStripMenuItem
Friend WithEvents pnlDetails As VERAG_PROG_ALLGEMEIN.MyPanel
Friend WithEvents LöschenToolStripMenuItem As ToolStripMenuItem
Friend WithEvents btnNeu As Button
Friend WithEvents lblGueltigVon As Label
Friend WithEvents btnSave As Button
Friend WithEvents lblWarning As Label
End Class

View File

@@ -117,6 +117,9 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View File

@@ -1,37 +1,59 @@
Public Class frmKundenZOLLVollmachten
Imports System.Web.UI.WebControls.Expressions
Imports System.Windows
Imports System.Windows.Interop
Imports com.sun.org.apache.xpath.internal.functions
Imports DAKOSY_Worker.TR100
Imports DocumentFormat.OpenXml.Drawing
Imports DocumentFormat.OpenXml.Drawing.Charts
'Imports DocumentFormat.OpenXml.Wordprocessing
Imports GrapeCity.ActiveReports
Imports GrapeCity.ActiveReports.Design.DdrDesigner.Services
Imports GrapeCity.ActiveReports.Design.QueryDesignerImpl.SqlParser.Irony.Parsing
Imports javax.validation.constraints
Imports sun.misc
Imports TAlex.WPF.Helpers
Imports SDL.EORI
Imports System.Drawing
Imports System.Runtime.DesignerServices
Public Class frmKundenZOLLVollmachten
Public kdnr As Integer = -1
Public vollmachtId As String
Public filePath As String
Public erhalten As Boolean = False
Public archiviert As Boolean = False
Public geloescht As Boolean = False
Dim id As Integer = -1
'Dim cDATENSERVER As New VERAG_PROG_ALLGEMEIN.cDATENSERVER
Dim ksql As New kundenSQL
Dim vollmachtartId As Integer
Dim vermerk As String = ""
Dim vmId As Integer = -1
'Dim currentVM As frmKundenZOLLVollmachten = Nothing
Dim currentVM2 As New VERAG_PROG_ALLGEMEIN.cKundenVollmachten
Sub New(kdnr, vollmachtId, erhalten, datum, id)
Sub New(kdnr, vollmachtartId)
Me.InitializeComponent()
If erhalten IsNot DBNull.Value Then Me.erhalten = erhalten
Me.kdnr = kdnr
Me.vollmachtId = vollmachtId
Me.txtDat.Text = If(IsDate(If(datum, "")), CDate(datum).ToShortDateString, "")
If id IsNot DBNull.Value Then Me.id = id
Me.vollmachtartId = vollmachtartId
End Sub
Sub New(kdnr, filePath)
Sub New(kdnr, vmaNr, filePath)
Me.InitializeComponent()
Me.erhalten = True
Me.kdnr = kdnr
Me.filePath = filePath
Me.vollmachtartId = vollmachtartId
'UI-Elements
MyComboBox1.Visible = True
Me.txtDat.Text = Now.ToShortDateString
Me.txtGueltigVon.Text = Now.ToShortDateString
Me.txtGueltigBis.Text = Nothing
End Sub
Private Sub frmKundenZOLLVollmachten_Load(sender As Object, e As EventArgs) Handles Me.Load
MyComboBox1.fillWithSQL("SELECT [kdvma_Id],[kdvma_Bezeichnung] FROM [tblKundenVollmachtenArt]", False, "FMZOLL", False)
Me.MyComboBox1._value = vollmachtId
Me.cbxErhaltenAm.Checked = erhalten
Me.MyComboBox1._value = vollmachtartId
initDGVVollmachtenEmbedded(False)
Dim FirmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_VERAGIMEX", "SDL") Then
@@ -46,70 +68,124 @@
'Me.Height = Me.Height - Panel1.Height
End Select
If id > 0 Then
pic.Visible = True
If currentVM2.kdvm_datenarchivId > 0 Then
picDeletePDF.Visible = True
picPDF.Image = My.Resources.pdf
Label2.Text = "PDF vorhanden."
Label2.Cursor = Cursors.Hand
lblPDFavailable.Text = "PDF vorhanden."
lblPDFavailable.Cursor = Cursors.Hand
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Private Sub btnUploadPDF_Click(sender As Object, e As EventArgs) Handles btnUploadPDF.Click
If Me.MyComboBox1._value < 0 Then Exit Sub
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "VOLLMACHTEN", "", "", "", MyComboBox1.Text, kdnr)
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "VOLLMACHTEN", "VMID_" & vmId, "", "", MyComboBox1.Text, kdnr)
Dim path = DS.uploadDataToDATENSERVERFileDialog() ' cDATENSERVER.uploadDataToDATENSERVERFileDialog("DOKUMENTE", "VOLLMACHTEN", kdnr, MyComboBox1.Text)
If path <> "" Then
id = DS.da_id 'cDATENSERVER.getLAST_ID(path)
Label2.Text = "PDF vorhanden."
Label2.Cursor = Cursors.Hand
If path <> "" Then
currentVM2.kdvm_datenarchivId = DS.da_id 'cDATENSERVER.getLAST_ID(path)
lblPDFavailable.Text = "PDF vorhanden."
lblPDFavailable.Cursor = Cursors.Hand
End If
pic.Visible = True = (id > 0)
picDeletePDF.Visible = True = (currentVM2.kdvm_datenarchivId > 0)
saveVM(currentVM2)
dgvVollmachtenEmbedded.GetOrder()
initDGVVollmachtenEmbedded(True)
dgvVollmachtenEmbedded.SetOrder()
End Sub
Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click
Private Sub picDeletePDF_Click(sender As Object, e As EventArgs) Handles picDeletePDF.Click
Label2.Cursor = Cursors.WaitCursor
If (id > 0) Then 'cDATENSERVER.deleteFileByDatenarchivId(id)
If vbYes = MsgBox("Möchten Sie die Vollamcht wirklich löschen?", vbYesNoCancel) Then
lblPDFavailable.Cursor = Cursors.WaitCursor
'If (currentVM.id > 0) Then 'cDATENSERVER.deleteFileByDatenarchivId(id)
If (currentVM2.kdvm_datenarchivId > 0) Then
If vbYes = MsgBox("Möchten Sie das PDF wirklich löschen?", vbYesNoCancel) Then
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(id)
'Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(currentVM.id)
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(currentVM2.kdvm_datenarchivId)
DS.DELETE_COMPLETE()
If ksql.setVollmacht_DSId(kdnr, MyComboBox1._value, -1) Then
id = -1 : pic.Visible = False
Label2.Text = "Kein PDF vorhanden."
'If ksql.setVollmacht_DSId(kdnr, vmId, -1) Then
currentVM2.kdvm_datenarchivId = -1
If currentVM2.SAVE Then
currentVM2.kdvm_datenarchivId = -1 : picDeletePDF.Visible = False
lblPDFavailable.Text = "Kein PDF vorhanden."
picPDF.Image = My.Resources.pdf_gray
End If
End If
End If
Label2.Cursor = Cursors.Default
lblPDFavailable.Cursor = Cursors.Default
dgvVollmachtenEmbedded.GetOrder()
initDGVVollmachtenEmbedded(True)
dgvVollmachtenEmbedded.SetOrder()
End Sub
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
If MyComboBox1._value = "" Then Me.DialogResult = Windows.Forms.DialogResult.None : Exit Sub
Dim datVM As Object = Nothing
If cbxErhaltenAm.Checked Then
If txtDat.Text = "" Or Not IsDate(txtDat.Text) Then
txtDat.ForeColor = Color.Red
Me.DialogResult = Windows.Forms.DialogResult.None
Exit Sub
Else
datVM = txtDat.Text
End If
End If
If Not ksql.setVollmacht(kdnr, MyComboBox1._value, cbxErhaltenAm.Checked, datVM, "", id) Then
Me.DialogResult = Windows.Forms.DialogResult.None
End If
'test
End Sub
Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click
If id > 0 Then
Sub saveVM(VM As VERAG_PROG_ALLGEMEIN.cKundenVollmachten)
lblWarning.Visible = False
If MyComboBox1._value = "" Then Me.DialogResult = Windows.Forms.DialogResult.None : Exit Sub
VM.kdvm_vermerk = txtVermerk.Text
VM.kdvm_kdvmaId = vollmachtartId
VM.kdvm_KundenNr = kdnr
VM.kdvm_archiviert = cbxArchiviert.Checked
If txtGueltigVon.Text = "" Or Not IsDate(txtGueltigVon.Text) Then
txtGueltigVon.ForeColor = Color.Red
lblWarning.Visible = True
Me.DialogResult = Windows.Forms.DialogResult.None
Exit Sub
Else
VM.kdvm_erhalten_Datum = txtGueltigVon.Text
VM.kdvm_gueltig_ab = txtGueltigVon.Text
VM.kdvm_erhalten = True
End If
If txtGueltigBis.Text IsNot "" And Not IsDate(txtGueltigBis.Text) Then
txtGueltigBis.ForeColor = Color.Red
Me.DialogResult = Windows.Forms.DialogResult.None
Exit Sub
ElseIf txtGueltigBis.Text = "" Then
VM.kdvm_gueltig_bis = Nothing
Else
VM.kdvm_gueltig_bis = txtGueltigBis.Text
End If
vollmachtenArchivieren()
If Not VM.SAVE() Then
Me.DialogResult = Windows.Forms.DialogResult.None
End If
If dgvVollmachtenEmbedded.Enabled = False Then
dgvVollmachtenEmbedded.Enabled = True
End If
If btnUploadPDF.Enabled = False Then
btnUploadPDF.Enabled = True
End If
dgvVollmachtenEmbedded.GetOrder()
initDGVVollmachtenEmbedded(True)
dgvVollmachtenEmbedded.SetOrder()
End Sub
Private Sub lblNoPDFavailable_Click(sender As Object, e As EventArgs) Handles lblPDFavailable.Click
If currentVM2.kdvm_datenarchivId > 0 Then
' cDATENSERVER.openDataTMPByDatenarchivId(id)
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(id)
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(currentVM2.kdvm_datenarchivId)
DS.OPEN_SINGLE()
End If
End Sub
@@ -117,20 +193,21 @@
'Private Sub cbxErhaltenAm_CheckedChanged(sender As Object, e As EventArgs) Handles cbxErhaltenAm.CheckedChanged
' ' MyTextBox1.Enabled = sender.checked
'End Sub
Private Sub cbxErhaltenAm_CheckedChanged(sender As Object, e As EventArgs) Handles cbxErhaltenAm.Click
If Not sender.checked Then
txtDat.Text = ""
Else
txtDat.Text = Now.ToShortDateString
End If
'Private Sub cbxErhaltenAm_CheckedChanged(sender As Object, e As EventArgs) Handles cbxErhaltenAm.Click
' 'wird nicht mehr verwendet
' If Not sender.checked Then
' txtGueltigVon.Text = ""
' Else
' txtGueltigVon.Text = Now.ToShortDateString
' End If
'End Sub
Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs) Handles txtGueltigVon.TextChanged
txtGueltigVon.ForeColor = Color.Black
cbxErhaltenAm.Checked = (txtGueltigVon.Text <> "")
End Sub
Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs) Handles txtDat.TextChanged
txtDat.ForeColor = Color.Black
cbxErhaltenAm.Checked = (txtDat.Text <> "")
End Sub
Private Sub MyTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles txtDat.KeyDown
Private Sub MyTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles txtGueltigVon.KeyDown
If e.KeyCode = Keys.Return Then
btnOK.PerformClick()
End If
@@ -144,10 +221,308 @@
End Sub
Private Sub frmKundenZOLLVollmachten_Shown(sender As Object, e As EventArgs) Handles Me.Shown
txtDat.Focus()
If txtDat.Text <> "" Then
txtGueltigVon.Focus()
If txtGueltigVon.Text <> "" Then
cbxErhaltenAm.Checked = True
txtDat.SelectAll()
txtGueltigVon.SelectAll()
End If
End Sub
Sub initDGVVollmachtenEmbedded(enalblePanel As Boolean)
Dim where = " And art.kdvma_Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "'"
If dgvVollmachtenEmbedded.Enabled = False Then
dgvVollmachtenEmbedded.Enabled = True
End If
pnlDetails.Enabled = enalblePanel
With dgvVollmachtenEmbedded
.Columns.Clear()
.DataSource = ksql.loadDgvBySql("SELECT abf.kdvm_Id,art.kdvma_Id, art.kdvma_Bezeichnung, abf.[kdvm_KundenNr], abf.[kdvm_erhalten],abf.[kdvm_erhalten_Datum], abf.kdvm_datenarchivId,abf.kdvm_Info, abf.[kdvm_archiviert], abf.[kdvm_gueltig_bis], abf.[kdvm_vermerk], abf.[kdvm_geloescht]" &
" FROM [tblKundenVollmachtenArt] as art " &
" INNER JOIN (select * from [tblKundenVollmachten]) as abf on art.[kdvma_Id]=abf.[kdvm_kdvmaId]" &
" WHERE art.kdvma_visible=1 AND abf.kdvm_erhalten = 1 AND ISNULL(abf.[kdvm_geloescht],0) != 1 AND [kdvm_KundenNr]='" & kdnr & "' AND [kdvm_kdvmaId]='" & vollmachtartId & "'" & where &
" ORDER BY kdvm_archiviert asc, abf.kdvm_gueltig_bis asc, abf.kdvm_erhalten_Datum desc ", "FMZOLL")
' .RowTemplate.Height = 30
.Columns("kdvm_Id").Visible = False
.Columns("kdvma_Id").Visible = False
.Columns("kdvm_KundenNr").Visible = False
.Columns("kdvm_datenarchivId").Visible = False
.Columns("kdvma_Bezeichnung").Visible = False
.Columns("kdvma_Bezeichnung").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("kdvma_Bezeichnung").HeaderText = "Bezeichnung"
.Columns("kdvm_erhalten").Width = 50
.Columns("kdvm_erhalten").HeaderText = "Erhalten"
.Columns("kdvm_erhalten").Visible = False
.Columns("kdvm_erhalten").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("kdvm_erhalten_Datum").Width = 100
.Columns("kdvm_erhalten_Datum").HeaderText = "Gültig von"
.Columns("kdvm_erhalten_Datum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("kdvm_Info").Width = 200
.Columns("kdvm_Info").HeaderText = "Info"
.Columns("kdvm_Info").Visible = False
.Columns("kdvm_gueltig_bis").Visible = True
.Columns("kdvm_gueltig_bis").Width = 100
.Columns("kdvm_gueltig_bis").HeaderText = "Gültig bis"
.Columns("kdvm_gueltig_bis").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("kdvm_archiviert").Visible = True
.Columns("kdvm_archiviert").Width = 60
.Columns("kdvm_archiviert").HeaderText = "Archiviert"
.Columns("kdvm_archiviert").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("kdvm_vermerk").MinimumWidth = 100
.Columns("kdvm_vermerk").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("kdvm_vermerk").HeaderText = "Vermerk"
.Columns("kdvm_vermerk").Visible = True
.Columns("kdvm_geloescht").Visible = False
If True Then
Dim c As New DataGridViewImageColumn
c.Name = "clmnPDF" : c.HeaderText = "PDF"
c.Image = My.Resources.pdf_gray : c.ImageLayout = DataGridViewImageCellLayout.Zoom
c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White
c.DefaultCellStyle.Tag = "PDF anzeigen"
.Columns.Add(c)
End If
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "UNISPED", "IMEX"
'.Columns("clmnTherefore").Visible = False
.Columns("clmnPDF").Visible = True
Case "FRONTOFFICE"
'.Columns("clmnTherefore").Visible = True
.Columns("clmnPDF").Visible = True
Case Else
'.Columns("clmnTherefore").Visible = True
.Columns("clmnPDF").Visible = True
End Select
For Each r As DataGridViewRow In .Rows
If r.Cells("kdvm_erhalten").Value Is DBNull.Value Then
r.DefaultCellStyle.ForeColor = Color.Gray
ElseIf CBool(r.Cells("kdvm_erhalten").Value) = False Then
r.DefaultCellStyle.ForeColor = Color.Gray
ElseIf IsDate(r.Cells("kdvm_erhalten_Datum").Value) AndAlso CDate(r.Cells("kdvm_erhalten_Datum").Value) < Now.AddYears(-2) Then
r.DefaultCellStyle.ForeColor = Color.Red
End If
If True Then
If r.Cells("kdvm_datenarchivId").Value IsNot DBNull.Value AndAlso CInt(r.Cells("kdvm_datenarchivId").Value) > 0 Then
DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf
End If
End If
Next
End With
End Sub
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles cbxVMarchivieren.CheckedChanged
'If vbYes = MsgBox("Sollen die bestehenden Vollmachten archiviert werden?", vbYesNoCancel) Then
' Dim succeeded = ksql.setVollmachtarchivieren(kdnr, MyComboBox1._value)
' If succeeded = True Then
' MsgBox("Bestehende Vollmachten wurden archiviert.")
' cbxVMarchivieren.Enabled = False
' End If
'End If
End Sub
Private Sub dgvvollmachtenembedded_cellmouseclick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dgvVollmachtenEmbedded.CellMouseClick
'für die Ermittlung des Contextmenüs -> VM löschen
If e.Button = Windows.Forms.MouseButtons.Right Then
If dgvVollmachtenEmbedded.SelectedRows.Count > 0 Then
ContextMenuStrip1.Show(Cursor.Position)
End If
End If
End Sub
Private Sub ToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click
'Contextmenü -> Datensatz ändern -> wird nicht verwendet
If dgvVollmachtenEmbedded.SelectedRows.Count = 1 Then
Dim VM As New VERAG_PROG_ALLGEMEIN.cKundenVollmachten(dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_Id").Value)
loadChangedVMToPanel(True, VM)
setSaveButton()
End If
End Sub
Private Sub loadChangedVMToPanel(enablePanel As Boolean, VM As VERAG_PROG_ALLGEMEIN.cKundenVollmachten)
pnlDetails.Enabled = enablePanel
cbxArchiviert.Checked = VM.kdvm_archiviert
txtVermerk.Text = VM.kdvm_vermerk
txtGueltigVon.Text = VM.kdvm_erhalten_Datum
txtGueltigBis.Text = VM.kdvm_gueltig_bis
If VM.kdvm_datenarchivId > 0 Then
picDeletePDF.Visible = True
picPDF.Visible = True
picPDF.Image = My.Resources.pdf
lblPDFavailable.Text = "PDF vorhanden."
lblPDFavailable.Cursor = Cursors.Hand
Else
picDeletePDF.Visible = False
picPDF.Visible = True
lblPDFavailable.Text = "Kein PDF vorhanden."
picPDF.Image = My.Resources.pdf_gray
End If
setOKButton()
'Listener für Änderungen im Detail-Panel
For Each c As Control In pnlDetails.Controls
If TypeOf (c) Is CheckBox Then
AddHandler CType(c, CheckBox).CheckedChanged, AddressOf SomethingChanged
ElseIf TypeOf (c) Is TextBox Then
AddHandler CType(c, TextBox).TextChanged, AddressOf SomethingChanged
End If
Next
End Sub
Private Sub SomethingChanged(sender As Object, e As EventArgs)
setSaveButton()
End Sub
'Private Sub dgvVollmachtenEmbedded_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvVollmachtenEmbedded.CellClick
'wird aktuell nicht mehr verwendet
' currentVM = New frmKundenZOLLVollmachten(dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_KundenNr").Value, dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvma_Id").Value, dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_Id").Value, dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_erhalten").Value, dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_archiviert").Value, dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_erhalten_Datum").Value, dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_gueltig_bis").Value, dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_vermerk").Value, dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_datenarchivId").Value, dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_Id").Value)
' loadChangedVMToPanel(True, currentVM)
'End Sub
Private Sub dgvVollmachtenEmbedded_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvVollmachtenEmbedded.CellDoubleClick
'Öffnet das PDFs im DGV
If dgvVollmachtenEmbedded.Columns(e.ColumnIndex).Name = "clmnPDF" Then
If dgvVollmachtenEmbedded.Rows(e.RowIndex).Cells("kdvm_datenarchivId").Value IsNot DBNull.Value AndAlso CInt(dgvVollmachtenEmbedded.Rows(e.RowIndex).Cells("kdvm_datenarchivId").Value) > 0 Then
' cDATENSERVER.openDataTMPByDatenarchivId(dgvVollmachten.Rows(e.RowIndex).Cells("kdvm_datenarchivId").Value)
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dgvVollmachtenEmbedded.Rows(e.RowIndex).Cells("kdvm_datenarchivId").Value)
DS.OPEN_SINGLE(True)
End If
End If
End Sub
Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click
'Contextmenü -> Löschen der VM
If dgvVollmachtenEmbedded.SelectedRows.Count = 1 Then
If vbYes = MsgBox("Soll diese Vollmacht gelöscht werden?", vbYesNoCancel) Then
Dim vollmacht = New VERAG_PROG_ALLGEMEIN.cKundenVollmachten(dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_Id").Value)
vollmacht.kdvm_geloescht = True
If vollmacht.SAVE = True Then
MsgBox("Bestehende Vollmacht wurde gelöscht.")
initDGVVollmachtenEmbedded(False)
End If
End If
End If
End Sub
Private Sub btnNeu_Click(sender As Object, e As EventArgs) Handles btnNeu.Click
'Neuanlage einer VM
dgvVollmachtenEmbedded.ClearSelection()
If dgvVollmachtenEmbedded.Rows.Count > 0 Then
cbxVMarchivieren.Visible = True
cbxVMarchivieren.Checked = True
End If
dgvVollmachtenEmbedded.Enabled = False
btnUploadPDF.Enabled = False
currentVM2 = New VERAG_PROG_ALLGEMEIN.cKundenVollmachten With {
.kdvm_KundenNr = kdnr,
.kdvm_kdvmaId = vollmachtartId,
.kdvm_Info = "",
.kdvm_erhalten = False,
.kdvm_archiviert = False,
.kdvm_datenarchivId = -1,
.kdvm_erhalten_Datum = Now.ToShortDateString
}
loadChangedVMToPanel(True, currentVM2)
setSaveButton()
End Sub
Private Sub vollmachtenArchivieren()
If cbxVMarchivieren.Checked = False Then Exit Sub
Dim count As Integer = 0
With dgvVollmachtenEmbedded
For Each r As DataGridViewRow In .Rows
Dim VMindex = r.Cells("kdvm_Id").Value
If r.Cells("kdvm_archiviert").Value <> True Then
count += 1
Dim currentVollmacht = New VERAG_PROG_ALLGEMEIN.cKundenVollmachten(VMindex)
currentVollmacht.kdvm_archiviert = True
currentVollmacht.SAVE()
End If
Next
If count > 0 Then
MsgBox("Bestehende Vollmachten wurden archiviert.")
End If
End With
cbxVMarchivieren.Visible = False
cbxVMarchivieren.Checked = False
End Sub
Private Sub setSaveButton()
btnOK.Visible = False
btnSave.Visible = True
End Sub
Private Sub dgvVollmachtenEmbedded_SelectionChanged(sender As Object, e As EventArgs) Handles dgvVollmachtenEmbedded.SelectionChanged
If dgvVollmachtenEmbedded.SelectedRows.Count > 0 Then
Dim rowindex = dgvVollmachtenEmbedded.SelectedRows(0).Index
currentVM2 = New VERAG_PROG_ALLGEMEIN.cKundenVollmachten(dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_id").Value)
loadChangedVMToPanel(True, currentVM2)
If dgvVollmachtenEmbedded.Enabled = False Then Exit Sub
vmId = dgvVollmachtenEmbedded.SelectedRows(0).Cells("kdvm_id").Value
If btnUploadPDF.Enabled = False Then
btnUploadPDF.Enabled = True
End If
End If
End Sub
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
saveVM(currentVM2)
setOKButton()
End Sub
Private Sub setOKButton()
btnOK.Visible = True
btnSave.Visible = False
End Sub
End Class

View File

@@ -0,0 +1,30 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmKundenZOLLVollmachtenUebersicht
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Text = "frmKundenZOLLVollmachtenUebersicht"
End Sub
End Class

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,3 @@
Public Class frmKundenZOLLVollmachtenUebersicht
End Class

View File

@@ -1104,10 +1104,12 @@ Partial Class frmKundenblatt
Me.txtMautDE_BenutzerNr._DateTimeOnly = False
Me.txtMautDE_BenutzerNr._numbersOnly = True
Me.txtMautDE_BenutzerNr._numbersOnlyKommastellen = ""
Me.txtMautDE_BenutzerNr._numbersOnlyTrennzeichen = True
Me.txtMautDE_BenutzerNr._Prozent = False
Me.txtMautDE_BenutzerNr._ShortDateNew = False
Me.txtMautDE_BenutzerNr._ShortDateOnly = False
Me.txtMautDE_BenutzerNr._TimeOnly = False
Me.txtMautDE_BenutzerNr._TimeOnly_Seconds = False
Me.txtMautDE_BenutzerNr._value = ""
Me.txtMautDE_BenutzerNr._Waehrung = False
Me.txtMautDE_BenutzerNr._WaehrungZeichen = True
@@ -1143,10 +1145,12 @@ Partial Class frmKundenblatt
Me.txtMautDE_FlottenPIN._DateTimeOnly = False
Me.txtMautDE_FlottenPIN._numbersOnly = True
Me.txtMautDE_FlottenPIN._numbersOnlyKommastellen = ""
Me.txtMautDE_FlottenPIN._numbersOnlyTrennzeichen = True
Me.txtMautDE_FlottenPIN._Prozent = False
Me.txtMautDE_FlottenPIN._ShortDateNew = False
Me.txtMautDE_FlottenPIN._ShortDateOnly = False
Me.txtMautDE_FlottenPIN._TimeOnly = False
Me.txtMautDE_FlottenPIN._TimeOnly_Seconds = False
Me.txtMautDE_FlottenPIN._value = ""
Me.txtMautDE_FlottenPIN._Waehrung = False
Me.txtMautDE_FlottenPIN._WaehrungZeichen = True
@@ -1164,10 +1168,12 @@ Partial Class frmKundenblatt
Me.txtMautDEMasterPIN._DateTimeOnly = False
Me.txtMautDEMasterPIN._numbersOnly = True
Me.txtMautDEMasterPIN._numbersOnlyKommastellen = ""
Me.txtMautDEMasterPIN._numbersOnlyTrennzeichen = True
Me.txtMautDEMasterPIN._Prozent = False
Me.txtMautDEMasterPIN._ShortDateNew = False
Me.txtMautDEMasterPIN._ShortDateOnly = False
Me.txtMautDEMasterPIN._TimeOnly = False
Me.txtMautDEMasterPIN._TimeOnly_Seconds = False
Me.txtMautDEMasterPIN._value = ""
Me.txtMautDEMasterPIN._Waehrung = False
Me.txtMautDEMasterPIN._WaehrungZeichen = True

File diff suppressed because it is too large Load Diff

View File

@@ -117,7 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="cntxtAddSdl.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="cntxtAddVM.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

View File

@@ -2,6 +2,7 @@
Imports System.Globalization
Imports System.IO
Imports SDL.EORI
Imports sun.invoke.empty
Public Class usrCntlKundenuebersicht
'Implements INotifyPropertyChanged
@@ -102,7 +103,7 @@ Public Class usrCntlKundenuebersicht
Private Sub frmKundenUebersichtZOLL_Load(sender As Object, e As EventArgs) Handles Me.Load
Private Sub frmKundenUebersichtZOLL_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
Me.BER_STUFE = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG("KUNDEN", "SDL")
@@ -296,7 +297,7 @@ Public Class usrCntlKundenuebersicht
loaded = True
End Sub
Private Sub pnlAbfVerb_MouseHover(sender As Object, e As EventArgs) Handles lblAbfertigungsverbot.MouseHover, rtbInfo.MouseHover
Private Sub pnlAbfVerb_MouseHover(sender As Object, e As EventArgs) Handles rtbInfo.MouseHover, lblAbfertigungsverbot.MouseHover
Dim p As New UserControl
' rtbInfo.Width = 450
rtbInfo.Height = 300
@@ -304,7 +305,7 @@ Public Class usrCntlKundenuebersicht
rtbInfo.Visible = True
End Sub
Private Sub lblAbfertigungsverbot_MouseLeave(sender As Object, e As EventArgs) Handles lblAbfertigungsverbot.MouseLeave, rtbInfo.MouseLeave
Private Sub lblAbfertigungsverbot_MouseLeave(sender As Object, e As EventArgs) Handles rtbInfo.MouseLeave, lblAbfertigungsverbot.MouseLeave
' rtbInfo.Visible = False
rtbInfo.Height = 26
@@ -773,9 +774,9 @@ Public Class usrCntlKundenuebersicht
where = " AND art.kdvma_Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(KUNDE.FilialenNr) & "' "
End If
.DataSource = SQL.loadDgvBySql("SELECT abf.kdvm_Id,art.kdvma_Id, art.kdvma_Bezeichnung, abf.[kdvm_KundenNr], abf.[kdvm_erhalten],abf.[kdvm_erhalten_Datum], abf.kdvm_datenarchivId,abf.kdvm_Info " &
" FROM [tblKundenVollmachtenArt] as art LEFT JOIN (select * from [tblKundenVollmachten] where [kdvm_KundenNr]='" & kdNr & "' ) as abf on art.[kdvma_Id]=abf.[kdvm_kdvmaId] WHERE art.kdvma_visible=1 " & where &
" ORDER BY art.kdvma_id", "FMZOLL")
.DataSource = SQL.loadDgvBySql("SELECT * FROM (SELECT abf.kdvm_Id, art.kdvma_Id, art.kdvma_Bezeichnung, abf.[kdvm_KundenNr], abf.[kdvm_erhalten],abf.[kdvm_erhalten_Datum], abf.[kdvm_gueltig_bis], abf.kdvm_datenarchivId, abf.kdvm_Info, abf.[kdvm_vermerk], abf.[kdvm_archiviert],ROW_NUMBER() OVER(PARTITION BY art.kdvma_Id ORDER BY kdvm_archiviert asc, abf.kdvm_gueltig_bis asc, abf.kdvm_erhalten_Datum desc) RowNumber" &
" FROM [tblKundenVollmachtenArt] as art LEFT JOIN (select * from [tblKundenVollmachten] where [kdvm_KundenNr]='" & kdNr & "' ) as abf on art.[kdvma_Id]=abf.[kdvm_kdvmaId] WHERE art.kdvma_visible=1 AND abf.kdvm_erhalten = 1 AND ISNULL(abf.[kdvm_geloescht],0) != 1 " & where &
" ) A WHERE RowNumber = 1", "FMZOLL")
' .RowTemplate.Height = 30
@@ -785,17 +786,47 @@ Public Class usrCntlKundenuebersicht
.Columns("kdvm_datenarchivId").Visible = False
.Columns("kdvma_Bezeichnung").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("kdvma_Bezeichnung").HeaderText = "Bezeichnung"
.Columns("kdvm_erhalten").Width = 45
.Columns("kdvm_erhalten").Visible = False
.Columns("kdvm_erhalten").Width = 50
.Columns("kdvm_erhalten").HeaderText = "Erhalten"
.Columns("kdvm_erhalten").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("kdvm_erhalten_Datum").Width = 100
.Columns("kdvm_erhalten_Datum").HeaderText = "Erhalten am"
.Columns("kdvm_erhalten_Datum").Width = 80
.Columns("kdvm_erhalten_Datum").HeaderText = "Gültig von"
.Columns("kdvm_erhalten_Datum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("kdvm_gueltig_bis").Width = 80
.Columns("kdvm_gueltig_bis").HeaderText = "Gültig bis"
.Columns("kdvm_gueltig_bis").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("kdvm_Info").Width = 200
.Columns("kdvm_Info").HeaderText = "Info"
.Columns("kdvm_Info").Visible = False
.Columns("kdvm_vermerk").Width = 10
.Columns("kdvm_vermerk").HeaderText = "Vermerk"
.Columns("kdvm_vermerk").Visible = False
.Columns("kdvm_archiviert").Visible = False
.Columns("RowNumber").Visible = False
If True Then
Dim c As New DataGridViewImageColumn
c.Name = "clmnVermerk" : c.HeaderText = ""
c.DefaultCellStyle.NullValue = Nothing
c.ImageLayout = DataGridViewImageCellLayout.Zoom
c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White
c.DefaultCellStyle.Tag = "" '.Columns("kdvm_vermerk")
.Columns.Add(c)
For Each r As DataGridViewRow In .Rows
If r.Cells("kdvm_vermerk").Value IsNot DBNull.Value AndAlso r.Cells("kdvm_vermerk").Value IsNot "" Then
DirectCast(r.Cells("clmnVermerk"), DataGridViewImageCell).Value = My.Resources.warning2
DirectCast(r.Cells("clmnVermerk"), DataGridViewImageCell).ToolTipText = r.Cells("kdvm_vermerk").Value.ToString
End If
Next
End If
If True Then
Dim c As New DataGridViewImageColumn
@@ -832,12 +863,15 @@ Public Class usrCntlKundenuebersicht
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "UNISPED", "IMEX"
.Columns("clmnVermerk").Visible = True
.Columns("clmnTherefore").Visible = False
.Columns("clmnPDF").Visible = True
Case "FRONTOFFICE"
.Columns("clmnVermerk").Visible = True
.Columns("clmnTherefore").Visible = True
.Columns("clmnPDF").Visible = True
Case Else
.Columns("clmnVermerk").Visible = True
.Columns("clmnTherefore").Visible = True
.Columns("clmnPDF").Visible = True
End Select
@@ -860,6 +894,8 @@ Public Class usrCntlKundenuebersicht
End Sub
Sub initDGVGestGarantie()
With dgvGestGarantie
.Columns.Clear()
@@ -1527,12 +1563,16 @@ Public Class usrCntlKundenuebersicht
If tmprowindex < 0 Then Exit Sub
Dim frmGrayOut = cProgramFunctions.grayoutForm(Me)
Dim datum = IIf(dgvVollmachten.Rows(tmprowindex).Cells("kdvm_erhalten_Datum").Value Is DBNull.Value, Now, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_erhalten_Datum").Value)
Dim l As New frmKundenZOLLVollmachten(kdNr, dgvVollmachten.Rows(tmprowindex).Cells("kdvma_Id").Value, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_erhalten").Value, datum, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_datenarchivId").Value)
'Dim datum = IIf(dgvVollmachten.Rows(tmprowindex).Cells("kdvm_erhalten_Datum").Value Is DBNull.Value, Now, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_erhalten_Datum").Value)
'Dim gueltigBis = IIf(dgvVollmachten.Rows(tmprowindex).Cells("kdvm_gueltig_bis").Value Is DBNull.Value, Nothing, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_gueltig_bis").Value)
'Dim l As New frmKundenZOLLVollmachten(kdNr, dgvVollmachten.Rows(tmprowindex).Cells("kdvma_Id").Value, dgvVollmachten.Rows(tmprowindex).Cells("kdvma_Id").Value, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_erhalten").Value, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_archiviert").Value, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_erhalten_Datum").Value, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_gueltig_bis").Value, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_vermerk").Value, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_datenarchivId").Value)
Dim l As New frmKundenZOLLVollmachten(kdNr, dgvVollmachten.Rows(tmprowindex).Cells("kdvma_Id").Value)
If l.ShowDialog(frmGrayOut) = DialogResult.OK Then
initDGVVollmachten()
l.initDGVVollmachtenEmbedded(False)
'initDGVVollmachten()
End If
frmGrayOut.Close()
initDGVVollmachten()
End If
End If
@@ -1559,7 +1599,7 @@ Public Class usrCntlKundenuebersicht
Private Sub dgvUmsatzbericht_SelectionChanged(sender As Object, e As EventArgs) Handles dgvVollmachten.SelectionChanged, dgvOffenePosten.SelectionChanged, dgvUmsatzbericht.SelectionChanged, dgvOfferteDetailsUebersicht.SelectionChanged ', dgvOffertenSperrliste.SelectionChanged
Private Sub dgvUmsatzbericht_SelectionChanged(sender As Object, e As EventArgs) Handles dgvVollmachten.SelectionChanged, dgvUmsatzbericht.SelectionChanged, dgvOfferteDetailsUebersicht.SelectionChanged, dgvOffenePosten.SelectionChanged ', dgvOffertenSperrliste.SelectionChanged
sender.ClearSelection()
End Sub
@@ -2310,33 +2350,8 @@ Public Class usrCntlKundenuebersicht
Me.Cursor = Cursors.Default
End Sub
Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
If cboVertrag._value <> "" And datVertrag._value <> "" Then
Dim KV As New VERAG_PROG_ALLGEMEIN.cKundenVertraege
If Button12.Visible Then
If dgvVertraege.SelectedRows.Count = 1 Then
KV = New VERAG_PROG_ALLGEMEIN.cKundenVertraege(dgvVertraege.SelectedRows(0).Cells("kv_id").Value)
Else
Exit Sub
End If
End If
KV.kv_KundenNr = kdNr
KV.kv_erhalten_Datum = datVertrag._value
'KV.kv_Zollamt = If(cbxKV.Checked, "GENERELL", txtT1VerzollungsadresseBestimmungszollstelle._value)
Private Sub Button11_Click(sender As Object, e As EventArgs)
'If Not Button9.Visible AndAlso VERAG_PROG_ALLGEMEIN.cKundenVertraege.ENTRY_Exists(kdNr, KV.kv_Zollamt) Then
' MsgBox("Der Eintrag existiert bereits!")
' Exit Sub
'End If
KV.kv_vertragArtId = cboVertrag._value
KV.kv_Info = txtVertragVermerk.Text
If KV.SAVE Then
setKD(kdNr)
End If
clearKV()
End If
End Sub
Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
@@ -2389,7 +2404,7 @@ Public Class usrCntlKundenuebersicht
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("Kundendaten_bearbeiten", "SDL") Then
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "KD_VERTRÄGE", "", "", "", "KV_" & dgvVertraege.SelectedRows(0).Cells("kv_id").Value, kdNr)
Dim frmScan As New VERAG_PROG_ALLGEMEIN.frmScan("DirectScan")
frmScan.DefaultFileName = DS.da_name
frmScan.DefaultFileName = DS.da_name
If frmScan.ShowDialog(Me) = DialogResult.OK Then
If frmScan.ReturnValue IsNot Nothing Then
@@ -2408,7 +2423,7 @@ Public Class usrCntlKundenuebersicht
End If
End Sub
Private Sub ToolStripMenuItem7_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem7.Click
Private Sub ToolStripMenuItem7_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem7.Click, Button11.Click
If dgvVertraege.SelectedRows.Count = 1 Then
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("Kundendaten_bearbeiten", "SDL") Then
If vbYes = MsgBox("Möchten Sie das PDF wirklich löschen?", vbYesNoCancel) Then
@@ -2456,7 +2471,7 @@ Public Class usrCntlKundenuebersicht
Process.Start(PdfTmp)
End If
End Sub
End Sub
frmList.Show(Me)
End If
Case "EORI"
@@ -2502,7 +2517,7 @@ Public Class usrCntlKundenuebersicht
For Each W In FileList
If Not W.ToUpper.EndsWith(".EXE") Then
Dim datum = IIf(dgvVollmachten.Rows(tmprowindex).Cells("kdvm_erhalten_Datum").Value Is DBNull.Value, Now, dgvVollmachten.Rows(tmprowindex).Cells("kdvm_erhalten_Datum").Value)
Dim l As New frmKundenZOLLVollmachten(kdNr, W)
Dim l As New frmKundenZOLLVollmachten(kdNr, -1, W)
If l.ShowDialog(frmGrayOut) = DialogResult.OK Then
initDGVVollmachten()
End If
@@ -2526,4 +2541,42 @@ Public Class usrCntlKundenuebersicht
Private Sub Panel5_Paint(sender As Object, e As PaintEventArgs) Handles Panel5.Paint
End Sub
Private Sub Button15_Click_1(sender As Object, e As EventArgs) Handles btnVMhinzufuegen.Click
Dim where = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Dim dt = SQL.loadDgvBySql("SELECT [kdvma_Id], [kdvma_Bezeichnung] FROM [tblKundenVollmachtenArt] where [kdvma_visible] = 1 AND [kdvma_Firma]='" & where & "'", "FMZOLL")
cntxtAddVM.Items.Clear()
For Each dr As DataRow In dt.Rows
Dim i As New ToolStripMenuItem
i.Text = dr.Item(1).ToString
i.Name = "kdvma_id_" & dr.Item(0).ToString
cntxtAddVM.Items.Add(i)
AddHandler i.Click, AddressOf DToolStripMenuItem_Click
Next
btnVMhinzufuegen.ContextMenuStrip = cntxtAddVM
Dim ptLowerLeft As New Point(sender.width, sender.Height)
ptLowerLeft = sender.PointToScreen(ptLowerLeft)
ptLowerLeft.X -= sender.width
cntxtAddVM.Show(ptLowerLeft)
End Sub
Private Sub DToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DToolStripMenuItem.Click
If sender.name.contains("kdvma_id_") Then
Dim vmaText As String = sender.name.ToString.Replace("kdvma_id_", "")
Dim vmaNr As Integer = Convert.ToInt32(vmaText)
Dim l As New frmKundenZOLLVollmachten(kdNr, vmaNr)
If l.ShowDialog(frmGrayOut) = DialogResult.OK Then
End If
initDGVVollmachten()
End If
End Sub
Private Sub dgvVertraege_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvVertraege.CellContentClick
End Sub
End Class

View File

@@ -24,9 +24,9 @@ Partial Class frmBesuchsberichte
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmBesuchsberichte))
Me.Button14 = New System.Windows.Forms.Button()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.btnOK = New System.Windows.Forms.Button()
Me.btnSave = New System.Windows.Forms.Button()
Me.btnCancel = New System.Windows.Forms.Button()
Me.txtVermerk = New System.Windows.Forms.RichTextBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
@@ -63,7 +63,7 @@ Partial Class frmBesuchsberichte
Me.cbxFerry = New System.Windows.Forms.CheckBox()
Me.Label19 = New System.Windows.Forms.Label()
Me.Label20 = New System.Windows.Forms.Label()
Me.Button3 = New System.Windows.Forms.Button()
Me.btnPDFReport = New System.Windows.Forms.Button()
Me.Label21 = New System.Windows.Forms.Label()
Me.lblErr_BesuchtAm = New System.Windows.Forms.Label()
Me.lblErr_Kontaktart = New System.Windows.Forms.Label()
@@ -86,55 +86,55 @@ Partial Class frmBesuchsberichte
Me.datBesuchtAm = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.UsrcntlPDFScanList1 = New VERAG_PROG_ALLGEMEIN.usrcntlPDFScanList()
Me.MyPanel1 = New VERAG_PROG_ALLGEMEIN.MyPanel(Me.components)
Me.Panel1 = New System.Windows.Forms.Panel()
Me.pnlMain = New System.Windows.Forms.Panel()
Me.MyPanel1.SuspendLayout()
Me.Panel1.SuspendLayout()
Me.pnlMain.SuspendLayout()
Me.SuspendLayout()
'
'Button14
'btnOK
'
Me.Button14.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button14.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button14.ForeColor = System.Drawing.Color.Black
Me.Button14.Image = CType(resources.GetObject("Button14.Image"), System.Drawing.Image)
Me.Button14.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button14.Location = New System.Drawing.Point(834, 10)
Me.Button14.Name = "Button14"
Me.Button14.Size = New System.Drawing.Size(87, 39)
Me.Button14.TabIndex = 19
Me.Button14.Text = "OK"
Me.Button14.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button14.UseVisualStyleBackColor = True
Me.btnOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnOK.ForeColor = System.Drawing.Color.Black
Me.btnOK.Image = CType(resources.GetObject("btnOK.Image"), System.Drawing.Image)
Me.btnOK.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnOK.Location = New System.Drawing.Point(834, 10)
Me.btnOK.Name = "btnOK"
Me.btnOK.Size = New System.Drawing.Size(87, 39)
Me.btnOK.TabIndex = 19
Me.btnOK.Text = "OK"
Me.btnOK.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnOK.UseVisualStyleBackColor = True
'
'Button1
'btnSave
'
Me.Button1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.ForeColor = System.Drawing.Color.Black
Me.Button1.Image = CType(resources.GetObject("Button1.Image"), System.Drawing.Image)
Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button1.Location = New System.Drawing.Point(731, 10)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(97, 39)
Me.Button1.TabIndex = 20
Me.Button1.Text = "Speichern"
Me.Button1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button1.UseVisualStyleBackColor = True
Me.btnSave.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnSave.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnSave.ForeColor = System.Drawing.Color.Black
Me.btnSave.Image = CType(resources.GetObject("btnSave.Image"), System.Drawing.Image)
Me.btnSave.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnSave.Location = New System.Drawing.Point(731, 10)
Me.btnSave.Name = "btnSave"
Me.btnSave.Size = New System.Drawing.Size(97, 39)
Me.btnSave.TabIndex = 20
Me.btnSave.Text = "Speichern"
Me.btnSave.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnSave.UseVisualStyleBackColor = True
'
'Button2
'btnCancel
'
Me.Button2.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button2.ForeColor = System.Drawing.Color.Black
Me.Button2.Image = Global.SDL.My.Resources.Resources.del
Me.Button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button2.Location = New System.Drawing.Point(12, 10)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(113, 39)
Me.Button2.TabIndex = 21
Me.Button2.Text = "Abbrechen"
Me.Button2.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button2.UseVisualStyleBackColor = True
Me.btnCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCancel.ForeColor = System.Drawing.Color.Black
Me.btnCancel.Image = Global.SDL.My.Resources.Resources.del
Me.btnCancel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnCancel.Location = New System.Drawing.Point(12, 10)
Me.btnCancel.Name = "btnCancel"
Me.btnCancel.Size = New System.Drawing.Size(113, 39)
Me.btnCancel.TabIndex = 21
Me.btnCancel.Text = "Abbrechen"
Me.btnCancel.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnCancel.UseVisualStyleBackColor = True
'
'txtVermerk
'
@@ -469,20 +469,20 @@ Partial Class frmBesuchsberichte
Me.Label20.TabIndex = 79
Me.Label20.Text = "Anhänge:"
'
'Button3
'btnPDFReport
'
Me.Button3.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button3.ForeColor = System.Drawing.Color.Black
Me.Button3.Image = Global.SDL.My.Resources.Resources.pdf1
Me.Button3.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button3.Location = New System.Drawing.Point(368, 10)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(107, 39)
Me.Button3.TabIndex = 80
Me.Button3.Text = "Bericht"
Me.Button3.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button3.UseVisualStyleBackColor = True
Me.btnPDFReport.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnPDFReport.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnPDFReport.ForeColor = System.Drawing.Color.Black
Me.btnPDFReport.Image = Global.SDL.My.Resources.Resources.pdf1
Me.btnPDFReport.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnPDFReport.Location = New System.Drawing.Point(368, 10)
Me.btnPDFReport.Name = "btnPDFReport"
Me.btnPDFReport.Size = New System.Drawing.Size(107, 39)
Me.btnPDFReport.TabIndex = 80
Me.btnPDFReport.Text = "Bericht"
Me.btnPDFReport.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnPDFReport.UseVisualStyleBackColor = True
'
'Label21
'
@@ -564,10 +564,12 @@ Partial Class frmBesuchsberichte
Me.txtZufriedenNEIN._DateTimeOnly = False
Me.txtZufriedenNEIN._numbersOnly = False
Me.txtZufriedenNEIN._numbersOnlyKommastellen = ""
Me.txtZufriedenNEIN._numbersOnlyTrennzeichen = True
Me.txtZufriedenNEIN._Prozent = False
Me.txtZufriedenNEIN._ShortDateNew = False
Me.txtZufriedenNEIN._ShortDateOnly = False
Me.txtZufriedenNEIN._TimeOnly = False
Me.txtZufriedenNEIN._TimeOnly_Seconds = False
Me.txtZufriedenNEIN._value = ""
Me.txtZufriedenNEIN._Waehrung = False
Me.txtZufriedenNEIN._WaehrungZeichen = True
@@ -587,10 +589,12 @@ Partial Class frmBesuchsberichte
Me.txtDerzeitigerLieferant._DateTimeOnly = False
Me.txtDerzeitigerLieferant._numbersOnly = False
Me.txtDerzeitigerLieferant._numbersOnlyKommastellen = ""
Me.txtDerzeitigerLieferant._numbersOnlyTrennzeichen = True
Me.txtDerzeitigerLieferant._Prozent = False
Me.txtDerzeitigerLieferant._ShortDateNew = False
Me.txtDerzeitigerLieferant._ShortDateOnly = False
Me.txtDerzeitigerLieferant._TimeOnly = False
Me.txtDerzeitigerLieferant._TimeOnly_Seconds = False
Me.txtDerzeitigerLieferant._value = ""
Me.txtDerzeitigerLieferant._Waehrung = False
Me.txtDerzeitigerLieferant._WaehrungZeichen = True
@@ -609,10 +613,12 @@ Partial Class frmBesuchsberichte
Me.txtTransportRoute._DateTimeOnly = False
Me.txtTransportRoute._numbersOnly = False
Me.txtTransportRoute._numbersOnlyKommastellen = ""
Me.txtTransportRoute._numbersOnlyTrennzeichen = True
Me.txtTransportRoute._Prozent = False
Me.txtTransportRoute._ShortDateNew = False
Me.txtTransportRoute._ShortDateOnly = False
Me.txtTransportRoute._TimeOnly = False
Me.txtTransportRoute._TimeOnly_Seconds = False
Me.txtTransportRoute._value = ""
Me.txtTransportRoute._Waehrung = False
Me.txtTransportRoute._WaehrungZeichen = True
@@ -631,10 +637,12 @@ Partial Class frmBesuchsberichte
Me.txtFuhrparkLeasing._DateTimeOnly = False
Me.txtFuhrparkLeasing._numbersOnly = False
Me.txtFuhrparkLeasing._numbersOnlyKommastellen = ""
Me.txtFuhrparkLeasing._numbersOnlyTrennzeichen = True
Me.txtFuhrparkLeasing._Prozent = False
Me.txtFuhrparkLeasing._ShortDateNew = False
Me.txtFuhrparkLeasing._ShortDateOnly = False
Me.txtFuhrparkLeasing._TimeOnly = False
Me.txtFuhrparkLeasing._TimeOnly_Seconds = False
Me.txtFuhrparkLeasing._value = ""
Me.txtFuhrparkLeasing._Waehrung = False
Me.txtFuhrparkLeasing._WaehrungZeichen = True
@@ -653,10 +661,12 @@ Partial Class frmBesuchsberichte
Me.txtFuhrparkEigene._DateTimeOnly = False
Me.txtFuhrparkEigene._numbersOnly = False
Me.txtFuhrparkEigene._numbersOnlyKommastellen = ""
Me.txtFuhrparkEigene._numbersOnlyTrennzeichen = True
Me.txtFuhrparkEigene._Prozent = False
Me.txtFuhrparkEigene._ShortDateNew = False
Me.txtFuhrparkEigene._ShortDateOnly = False
Me.txtFuhrparkEigene._TimeOnly = False
Me.txtFuhrparkEigene._TimeOnly_Seconds = False
Me.txtFuhrparkEigene._value = ""
Me.txtFuhrparkEigene._Waehrung = False
Me.txtFuhrparkEigene._WaehrungZeichen = True
@@ -675,10 +685,12 @@ Partial Class frmBesuchsberichte
Me.txtUmsatz._DateTimeOnly = False
Me.txtUmsatz._numbersOnly = False
Me.txtUmsatz._numbersOnlyKommastellen = ""
Me.txtUmsatz._numbersOnlyTrennzeichen = True
Me.txtUmsatz._Prozent = False
Me.txtUmsatz._ShortDateNew = False
Me.txtUmsatz._ShortDateOnly = False
Me.txtUmsatz._TimeOnly = False
Me.txtUmsatz._TimeOnly_Seconds = False
Me.txtUmsatz._value = ""
Me.txtUmsatz._Waehrung = False
Me.txtUmsatz._WaehrungZeichen = True
@@ -696,10 +708,12 @@ Partial Class frmBesuchsberichte
Me.txtGF._DateTimeOnly = False
Me.txtGF._numbersOnly = False
Me.txtGF._numbersOnlyKommastellen = ""
Me.txtGF._numbersOnlyTrennzeichen = True
Me.txtGF._Prozent = False
Me.txtGF._ShortDateNew = False
Me.txtGF._ShortDateOnly = False
Me.txtGF._TimeOnly = False
Me.txtGF._TimeOnly_Seconds = False
Me.txtGF._value = ""
Me.txtGF._Waehrung = False
Me.txtGF._WaehrungZeichen = True
@@ -718,10 +732,12 @@ Partial Class frmBesuchsberichte
Me.txtMail._DateTimeOnly = False
Me.txtMail._numbersOnly = False
Me.txtMail._numbersOnlyKommastellen = ""
Me.txtMail._numbersOnlyTrennzeichen = True
Me.txtMail._Prozent = False
Me.txtMail._ShortDateNew = False
Me.txtMail._ShortDateOnly = False
Me.txtMail._TimeOnly = False
Me.txtMail._TimeOnly_Seconds = False
Me.txtMail._value = ""
Me.txtMail._Waehrung = False
Me.txtMail._WaehrungZeichen = True
@@ -740,10 +756,12 @@ Partial Class frmBesuchsberichte
Me.txtTel._DateTimeOnly = False
Me.txtTel._numbersOnly = False
Me.txtTel._numbersOnlyKommastellen = ""
Me.txtTel._numbersOnlyTrennzeichen = True
Me.txtTel._Prozent = False
Me.txtTel._ShortDateNew = False
Me.txtTel._ShortDateOnly = False
Me.txtTel._TimeOnly = False
Me.txtTel._TimeOnly_Seconds = False
Me.txtTel._value = ""
Me.txtTel._Waehrung = False
Me.txtTel._WaehrungZeichen = True
@@ -762,10 +780,12 @@ Partial Class frmBesuchsberichte
Me.txtAnsprechpartner._DateTimeOnly = False
Me.txtAnsprechpartner._numbersOnly = False
Me.txtAnsprechpartner._numbersOnlyKommastellen = ""
Me.txtAnsprechpartner._numbersOnlyTrennzeichen = True
Me.txtAnsprechpartner._Prozent = False
Me.txtAnsprechpartner._ShortDateNew = False
Me.txtAnsprechpartner._ShortDateOnly = False
Me.txtAnsprechpartner._TimeOnly = False
Me.txtAnsprechpartner._TimeOnly_Seconds = False
Me.txtAnsprechpartner._value = ""
Me.txtAnsprechpartner._Waehrung = False
Me.txtAnsprechpartner._WaehrungZeichen = True
@@ -811,10 +831,12 @@ Partial Class frmBesuchsberichte
Me.txtTeilgenommen._DateTimeOnly = False
Me.txtTeilgenommen._numbersOnly = False
Me.txtTeilgenommen._numbersOnlyKommastellen = ""
Me.txtTeilgenommen._numbersOnlyTrennzeichen = True
Me.txtTeilgenommen._Prozent = False
Me.txtTeilgenommen._ShortDateNew = False
Me.txtTeilgenommen._ShortDateOnly = False
Me.txtTeilgenommen._TimeOnly = False
Me.txtTeilgenommen._TimeOnly_Seconds = False
Me.txtTeilgenommen._value = ""
Me.txtTeilgenommen._Waehrung = False
Me.txtTeilgenommen._WaehrungZeichen = True
@@ -833,10 +855,12 @@ Partial Class frmBesuchsberichte
Me.datBesuchtAm._DateTimeOnly = False
Me.datBesuchtAm._numbersOnly = False
Me.datBesuchtAm._numbersOnlyKommastellen = ""
Me.datBesuchtAm._numbersOnlyTrennzeichen = True
Me.datBesuchtAm._Prozent = False
Me.datBesuchtAm._ShortDateNew = True
Me.datBesuchtAm._ShortDateOnly = False
Me.datBesuchtAm._TimeOnly = False
Me.datBesuchtAm._TimeOnly_Seconds = False
Me.datBesuchtAm._value = ""
Me.datBesuchtAm._Waehrung = False
Me.datBesuchtAm._WaehrungZeichen = True
@@ -866,87 +890,87 @@ Partial Class frmBesuchsberichte
Me.UsrcntlPDFScanList1.Location = New System.Drawing.Point(624, 62)
Me.UsrcntlPDFScanList1.Margin = New System.Windows.Forms.Padding(0)
Me.UsrcntlPDFScanList1.Name = "UsrcntlPDFScanList1"
Me.UsrcntlPDFScanList1.Size = New System.Drawing.Size(297, 547)
Me.UsrcntlPDFScanList1.Size = New System.Drawing.Size(297, 551)
Me.UsrcntlPDFScanList1.TabIndex = 0
'
'MyPanel1
'
Me.MyPanel1.BackColor = System.Drawing.Color.WhiteSmoke
Me.MyPanel1.Controls.Add(Me.Button2)
Me.MyPanel1.Controls.Add(Me.Button14)
Me.MyPanel1.Controls.Add(Me.Button1)
Me.MyPanel1.Controls.Add(Me.Button3)
Me.MyPanel1.Controls.Add(Me.btnCancel)
Me.MyPanel1.Controls.Add(Me.btnOK)
Me.MyPanel1.Controls.Add(Me.btnSave)
Me.MyPanel1.Controls.Add(Me.btnPDFReport)
Me.MyPanel1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.MyPanel1.Location = New System.Drawing.Point(0, 859)
Me.MyPanel1.Name = "MyPanel1"
Me.MyPanel1.Size = New System.Drawing.Size(930, 59)
Me.MyPanel1.TabIndex = 87
'
'Panel1
'pnlMain
'
Me.Panel1.AutoScroll = True
Me.Panel1.Controls.Add(Me.Label1)
Me.Panel1.Controls.Add(Me.UsrcntlPDFScanList1)
Me.Panel1.Controls.Add(Me.lblErr_Teilgenommen)
Me.Panel1.Controls.Add(Me.txtVermerk)
Me.Panel1.Controls.Add(Me.lblErr_Firma)
Me.Panel1.Controls.Add(Me.Label2)
Me.Panel1.Controls.Add(Me.lblErr_Kontaktart)
Me.Panel1.Controls.Add(Me.datBesuchtAm)
Me.Panel1.Controls.Add(Me.lblErr_BesuchtAm)
Me.Panel1.Controls.Add(Me.txtTeilgenommen)
Me.Panel1.Controls.Add(Me.Label21)
Me.Panel1.Controls.Add(Me.Label3)
Me.Panel1.Controls.Add(Me.cboKontaktart)
Me.Panel1.Controls.Add(Me.Label4)
Me.Panel1.Controls.Add(Me.Label20)
Me.Panel1.Controls.Add(Me.kdFirma)
Me.Panel1.Controls.Add(Me.Label19)
Me.Panel1.Controls.Add(Me.txtFirma)
Me.Panel1.Controls.Add(Me.cbxFerry)
Me.Panel1.Controls.Add(Me.Label5)
Me.Panel1.Controls.Add(Me.cbxYesMonex)
Me.Panel1.Controls.Add(Me.txtAnsprechpartner)
Me.Panel1.Controls.Add(Me.cbxRola)
Me.Panel1.Controls.Add(Me.Label6)
Me.Panel1.Controls.Add(Me.cbxLagerUmschlag)
Me.Panel1.Controls.Add(Me.Label7)
Me.Panel1.Controls.Add(Me.cbxParkplatz)
Me.Panel1.Controls.Add(Me.txtTel)
Me.Panel1.Controls.Add(Me.cbxBrexit)
Me.Panel1.Controls.Add(Me.txtMail)
Me.Panel1.Controls.Add(Me.cbxZollabfertigung)
Me.Panel1.Controls.Add(Me.Label8)
Me.Panel1.Controls.Add(Me.Label18)
Me.Panel1.Controls.Add(Me.txtGF)
Me.Panel1.Controls.Add(Me.txtGarantie)
Me.Panel1.Controls.Add(Me.Label9)
Me.Panel1.Controls.Add(Me.Label17)
Me.Panel1.Controls.Add(Me.txtUmsatz)
Me.Panel1.Controls.Add(Me.Label16)
Me.Panel1.Controls.Add(Me.Label10)
Me.Panel1.Controls.Add(Me.cboZufrieden)
Me.Panel1.Controls.Add(Me.txtFuhrparkEigene)
Me.Panel1.Controls.Add(Me.txtZufriedenNEIN)
Me.Panel1.Controls.Add(Me.txtFuhrparkLeasing)
Me.Panel1.Controls.Add(Me.txtDerzeitigerLieferant)
Me.Panel1.Controls.Add(Me.cbxPlane)
Me.Panel1.Controls.Add(Me.Label15)
Me.Panel1.Controls.Add(Me.cbxKuehltransporte)
Me.Panel1.Controls.Add(Me.Label14)
Me.Panel1.Controls.Add(Me.cbxSondertransporte)
Me.Panel1.Controls.Add(Me.txtTransportRoute)
Me.Panel1.Controls.Add(Me.cbxSprinter)
Me.Panel1.Controls.Add(Me.txtAuftraggeber)
Me.Panel1.Controls.Add(Me.cbxSiloTank)
Me.Panel1.Controls.Add(Me.Label13)
Me.Panel1.Controls.Add(Me.Label11)
Me.Panel1.Controls.Add(Me.Label12)
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Panel1.Location = New System.Drawing.Point(0, 0)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(930, 859)
Me.Panel1.TabIndex = 0
Me.pnlMain.AutoScroll = True
Me.pnlMain.Controls.Add(Me.Label1)
Me.pnlMain.Controls.Add(Me.UsrcntlPDFScanList1)
Me.pnlMain.Controls.Add(Me.lblErr_Teilgenommen)
Me.pnlMain.Controls.Add(Me.txtVermerk)
Me.pnlMain.Controls.Add(Me.lblErr_Firma)
Me.pnlMain.Controls.Add(Me.Label2)
Me.pnlMain.Controls.Add(Me.lblErr_Kontaktart)
Me.pnlMain.Controls.Add(Me.datBesuchtAm)
Me.pnlMain.Controls.Add(Me.lblErr_BesuchtAm)
Me.pnlMain.Controls.Add(Me.txtTeilgenommen)
Me.pnlMain.Controls.Add(Me.Label21)
Me.pnlMain.Controls.Add(Me.Label3)
Me.pnlMain.Controls.Add(Me.cboKontaktart)
Me.pnlMain.Controls.Add(Me.Label4)
Me.pnlMain.Controls.Add(Me.Label20)
Me.pnlMain.Controls.Add(Me.kdFirma)
Me.pnlMain.Controls.Add(Me.Label19)
Me.pnlMain.Controls.Add(Me.txtFirma)
Me.pnlMain.Controls.Add(Me.cbxFerry)
Me.pnlMain.Controls.Add(Me.Label5)
Me.pnlMain.Controls.Add(Me.cbxYesMonex)
Me.pnlMain.Controls.Add(Me.txtAnsprechpartner)
Me.pnlMain.Controls.Add(Me.cbxRola)
Me.pnlMain.Controls.Add(Me.Label6)
Me.pnlMain.Controls.Add(Me.cbxLagerUmschlag)
Me.pnlMain.Controls.Add(Me.Label7)
Me.pnlMain.Controls.Add(Me.cbxParkplatz)
Me.pnlMain.Controls.Add(Me.txtTel)
Me.pnlMain.Controls.Add(Me.cbxBrexit)
Me.pnlMain.Controls.Add(Me.txtMail)
Me.pnlMain.Controls.Add(Me.cbxZollabfertigung)
Me.pnlMain.Controls.Add(Me.Label8)
Me.pnlMain.Controls.Add(Me.Label18)
Me.pnlMain.Controls.Add(Me.txtGF)
Me.pnlMain.Controls.Add(Me.txtGarantie)
Me.pnlMain.Controls.Add(Me.Label9)
Me.pnlMain.Controls.Add(Me.Label17)
Me.pnlMain.Controls.Add(Me.txtUmsatz)
Me.pnlMain.Controls.Add(Me.Label16)
Me.pnlMain.Controls.Add(Me.Label10)
Me.pnlMain.Controls.Add(Me.cboZufrieden)
Me.pnlMain.Controls.Add(Me.txtFuhrparkEigene)
Me.pnlMain.Controls.Add(Me.txtZufriedenNEIN)
Me.pnlMain.Controls.Add(Me.txtFuhrparkLeasing)
Me.pnlMain.Controls.Add(Me.txtDerzeitigerLieferant)
Me.pnlMain.Controls.Add(Me.cbxPlane)
Me.pnlMain.Controls.Add(Me.Label15)
Me.pnlMain.Controls.Add(Me.cbxKuehltransporte)
Me.pnlMain.Controls.Add(Me.Label14)
Me.pnlMain.Controls.Add(Me.cbxSondertransporte)
Me.pnlMain.Controls.Add(Me.txtTransportRoute)
Me.pnlMain.Controls.Add(Me.cbxSprinter)
Me.pnlMain.Controls.Add(Me.txtAuftraggeber)
Me.pnlMain.Controls.Add(Me.cbxSiloTank)
Me.pnlMain.Controls.Add(Me.Label13)
Me.pnlMain.Controls.Add(Me.Label11)
Me.pnlMain.Controls.Add(Me.Label12)
Me.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill
Me.pnlMain.Location = New System.Drawing.Point(0, 0)
Me.pnlMain.Name = "pnlMain"
Me.pnlMain.Size = New System.Drawing.Size(930, 859)
Me.pnlMain.TabIndex = 0
'
'frmBesuchsberichte
'
@@ -954,23 +978,23 @@ Partial Class frmBesuchsberichte
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(930, 918)
Me.Controls.Add(Me.Panel1)
Me.Controls.Add(Me.pnlMain)
Me.Controls.Add(Me.MyPanel1)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "frmBesuchsberichte"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Besuchsbericht"
Me.MyPanel1.ResumeLayout(False)
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
Me.pnlMain.ResumeLayout(False)
Me.pnlMain.PerformLayout()
Me.ResumeLayout(False)
End Sub
Friend WithEvents UsrcntlPDFScanList1 As VERAG_PROG_ALLGEMEIN.usrcntlPDFScanList
Friend WithEvents Button14 As Button
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
Friend WithEvents btnOK As Button
Friend WithEvents btnSave As Button
Friend WithEvents btnCancel As Button
Friend WithEvents txtVermerk As RichTextBox
Friend WithEvents Label1 As Label
Friend WithEvents Label2 As Label
@@ -1021,7 +1045,7 @@ Partial Class frmBesuchsberichte
Friend WithEvents cbxFerry As CheckBox
Friend WithEvents Label19 As Label
Friend WithEvents Label20 As Label
Friend WithEvents Button3 As Button
Friend WithEvents btnPDFReport As Button
Friend WithEvents cboKontaktart As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents Label21 As Label
Friend WithEvents lblErr_BesuchtAm As Label
@@ -1029,5 +1053,5 @@ Partial Class frmBesuchsberichte
Friend WithEvents lblErr_Firma As Label
Friend WithEvents lblErr_Teilgenommen As Label
Friend WithEvents MyPanel1 As VERAG_PROG_ALLGEMEIN.MyPanel
Friend WithEvents Panel1 As Panel
Friend WithEvents pnlMain As Panel
End Class

View File

@@ -118,7 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="Button14.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="btnOK.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAAA+9JREFUSEu9
1klMG1cYB3ADZrExizfAYOxiEGACCS47KBTSQEIgikLSpJWqJIemPTSVUlSpVlSRHEgvlWjopT0EeuBU
@@ -140,7 +140,7 @@
FEaPY4mTFJJ6co823Pd0fUp+pcLwB13/pHM2JK4ajYO8aVLg+wHNP9/gygoUfWs4AAAAAElFTkSuQmCC
</value>
</data>
<data name="Button1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="btnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAAA+9JREFUSEu9
1klMG1cYB3ADZrExizfAYOxiEGACCS47KBTSQEIgikLSpJWqJIemPTSVUlSpVlSRHEgvlWjopT0EeuBU

View File

@@ -135,20 +135,20 @@
Return BB.SAVE()
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
If getvalues(BB) Then
UsrcntlPDFScanList1.Enabled = True
UsrcntlPDFScanList1.INIT(-1, "BESUCHSBERICHTE", VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA, bb_id)
End If
End Sub
Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
If getvalues(BB) Then
Me.Close()
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
Me.Close()
End Sub
@@ -164,4 +164,11 @@
Return True
End Function
Private Sub UsrcntlPDFScanList1_Load(sender As Object, e As EventArgs) Handles UsrcntlPDFScanList1.Load
End Sub
Private Sub btnPDFReport_Click(sender As Object, e As EventArgs) Handles btnPDFReport.Click
End Sub
End Class

View File

@@ -381,7 +381,6 @@ Public Class cADMIN
VERAG_PROG_ALLGEMEIN.cAllgemein.LOAD_DATA()
cGlobal.AktiverMitarbeiter = cMitarbeiterAVISO
Return True
End If
'USERBER = CStr(dr.Item("ber_sicherheitsstufe")) : USRNAME = CStr(dr.Item("mit_vname")) & " " & CStr(dr.Item("mit_nname")) : USRID = CStr(dr.Item("mit_id")) : Return True

View File

@@ -0,0 +1,140 @@
Imports System.Data.SqlClient
Imports System.Reflection
Public Class cKundenVollmachten 'in Arbeit!
Property kdvm_Id As Integer
Property kdvm_KundenNr As Object = Nothing
Property kdvm_kdvmaId As Object = Nothing
Property kdvm_erhalten As Boolean = False
Property kdvm_erhalten_Datum As Object = Nothing
Property kdvm_Info As String
Property kdvm_datenarchivId As Object = Nothing
Property kdvm_archiviert As Boolean = False
Property kdvm_gueltig_bis As Object = Nothing
Property kdvm_gueltig_ab As Object = Nothing
Property kdvm_vermerk As Object = Nothing
Property kdvm_geloescht As Boolean = False
Public hasEntry = False
Dim SQL As New SQL
Sub New(kdvm_Id)
Me.kdvm_Id = kdvm_Id
LOAD()
End Sub
Sub New()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_Id", kdvm_Id,, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_KundenNr", kdvm_KundenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_kdvmaId", kdvm_kdvmaId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_erhalten", kdvm_erhalten))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_erhalten_Datum", kdvm_erhalten_Datum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_Info", kdvm_Info))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_datenarchivId", kdvm_datenarchivId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_archiviert", kdvm_archiviert))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_gueltig_bis", kdvm_gueltig_bis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_gueltig_ab", kdvm_gueltig_ab))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_vermerk", kdvm_vermerk))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdvm_geloescht", kdvm_geloescht))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenVollmachten WHERE kdvm_Id=@kdvm_Id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblKundenVollmachten WHERE kdvm_Id=@kdvm_Id ", conn)
cmd.Parameters.AddWithValue("@kdvm_Id", kdvm_Id)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblKundenVollmachten] SET " & str & " WHERE kdvm_Id=@kdvm_Id ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblKundenVollmachten (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
End Class

View File

@@ -344,6 +344,7 @@
<Compile Include="Classes\cKundenKontakte.vb" />
<Compile Include="Classes\cKundenSDL.vb" />
<Compile Include="Classes\cKundenVertraege.vb" />
<Compile Include="Classes\cKundenVollmachten.vb" />
<Compile Include="Classes\cLanguageText.vb" />
<Compile Include="Classes\cLeistungenBUKonten.vb" />
<Compile Include="Classes\cMessangerListender.vb" />

View File

@@ -0,0 +1,30 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Text = "Form1"
End Sub
End Class

View File

@@ -0,0 +1,16 @@

Public Class listMaAVG
Public mit_id As Integer
Public mit_name As String
Public mit_avg As Integer
Public mit_count As Integer
End Class
Public Class listStatAvisoProleme
Public VermerkeCode As Integer
Public Bezeichnung As String
Public AnzahlVermerke As Integer
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,55 @@
Imports System.Data.OleDb
Public Class cGlobal
'Public Shared ConnStr As String
'Public Shared AufrufenderProzess As AufrufenderProzess
'Public Shared Aktive_ID As Integer
'Public Shared AktiverMitarbeiter As New cMitarbeiter
'Public Shared AngemeldeterUser As String
' Public Shared Admin As Boolean
Public Shared DBPfad As String
' Public Shared Aktive_AuswahlID As Integer
Public Shared Aktive_ID As Integer
Public Shared Aktive_SendungsID As Integer
Public Shared Aktive_Zeile As Integer
Public Shared Ausgewählte_Zeile As Integer = 0
Public Shared AnzahlAlle As Long
Public Shared AnzahlAuswahl As Long
' Public Shared ConnStr_ANZEIGE As String
' Public Shared ConnStrADMIN As String
' Public Shared ConnStrFMZOLL As String
Public Shared AngemeldeterUser As String
Public Shared AngemeldeterUserPwd As String
Public Shared AktiverMitarbeiter As New VERAG_PROG_ALLGEMEIN.cMitarbeiterAVISO
Public Shared Optionen As New cOption
Public Const UStatus_AVEingang = -1
Public Const UStatus_none = ""
Public Const Status_Erfasst = 0
Public Const Status_Vorbereitet = 4
Public Const Status_Vorgeschrieben = 5
Public Const Status_Freigegeben = 1
Public Const Status_NichtEingetroffen = 2
Public Const Status_Ankunft = 3
Shared Function getStatusText(i As Integer) As String
Select Case i
Case 0 : Return "Erfasst"
Case 1 : Return "Freigegeben"
Case 2 : Return "Nicht Eingetroffen"
Case 3 : Return "Ankunft"
Case 4 : Return "Vorbereitet"
Case 5 : Return "Vorgeschrieben"
Case 99 : Return "In Vorbereitung"
Case Else : Return ""
End Select
End Function
End Class
Public Enum AufrufenderProzess
VBZeit = 1
VBZeitVW = 2
End Enum

View File

@@ -0,0 +1,258 @@
Imports System.Windows.Forms
Public Class cMeineFunktionenAVISO
'Diese Klasse beinhaltet alle meine Funktionen, die in allen Projekten verwendet werden können
Public Shared Function grayoutForm() As Form
Dim f As New frmGrayOut
f.Show()
Return f
End Function
Public Const LeerDatum As Date = #12/30/1899# 'wird als leerer Datumswert verwendet, da sonst Probleme bei Null/Date
Public Shared Function SQLDatum(dat As Date) As String
'Datum für SQLAbfrage umwandeln (31.01.1998 --> #1/31/1998#)
SQLDatum = ""
If Not IsDate(dat) Then Exit Function
SQLDatum = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " 00:00:00'"
'SQLDatum = dat.ToString
End Function
Public Shared Function SQLDatumZeit(dat As Date) As String
'Datum inklusive Zeit für SQLAbfrage umwandeln (31.01.1998 10:15 Uhr --> #1/31/1998 10:15:00#)
SQLDatumZeit = ""
If Not IsDate(dat) Then Exit Function
SQLDatumZeit = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " " &
DateAndTime.Hour(dat) & ":" & DateAndTime.Minute(dat) & "'"
End Function
Public Shared Function SQLDatumZeitSekunden(dat As Date) As String
'Datum inklusive Zeit für SQLAbfrage umwandeln (31.01.1998 10:15 Uhr --> #1/31/1998 10:15:00#)
SQLDatumZeitSekunden = ""
If Not IsDate(dat) Then Exit Function
SQLDatumZeitSekunden = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " " &
DateAndTime.Hour(dat) & ":" & DateAndTime.Minute(dat) & ":" & DateAndTime.Second(dat) & "'"
End Function
Public Shared Function SQLNullDate(d As Date) As Object
'Wenn Datum 00.00.0000, dann wird dbnull zurückgegeben
If d = New Date Then : SQLNullDate = DBNull.Value
Else : SQLNullDate = d : End If
End Function
Public Shared Function GetProgrammIcon() As Drawing.Icon
Return My.Resources.Aviso
End Function
Public Shared Function VarToInt(ByVal wert As Object) As Integer
Try
If wert Is Nothing OrElse wert Is DBNull.Value Then
Return 0
Else
Return CInt(wert)
End If
Catch generatedExceptionName As Exception
Return 0
End Try
End Function
Public Shared Function VarToInt2(ByVal wert As Object) As Integer
Try
If wert Is Nothing OrElse wert Is DBNull.Value OrElse Not IsNumeric(wert) Then
Return -1
Else
Return CInt(wert)
End If
Catch generatedExceptionName As Exception
Return -1
End Try
End Function
Public Shared Function VarToLng(ByVal wert As Object) As Long
Try
If wert Is Nothing OrElse wert Is DBNull.Value Then
Return 0
Else
Return CLng(wert)
End If
Catch generatedExceptionName As Exception
Return 0
End Try
End Function
Public Shared Function VarToDbl(ByVal wert As Object) As Double
Try
If wert Is Nothing OrElse wert Is DBNull.Value Then
Return 0
Else
Return CDbl(wert)
End If
Catch generatedExceptionName As Exception
Return 0
End Try
End Function
Public Shared Function checkNullReturnValue(ByVal o As Object, ByVal returnValue As Object) As Object
If o IsNot Nothing And o IsNot DBNull.Value Then Return (o)
Return returnValue
End Function
Public Shared Function VarToBool(ByVal wert As Object) As Boolean
Try
If wert Is Nothing OrElse wert Is DBNull.Value Then
Return False
Else
Return CBool(wert)
End If
Catch generatedExceptionName As Exception
Return False
End Try
End Function
Public Shared Function VarToStr(ByVal wert As Object) As String
Try
If wert Is Nothing OrElse wert Is DBNull.Value Then
Return ""
Else
Return Trim(DirectCast(wert, String))
End If
Catch generatedExceptionName As Exception
Return ""
End Try
End Function
Public Shared Function VarToDate(ByVal wert As Object) As Nullable(Of DateTime)
Try
If wert Is Nothing OrElse wert Is DBNull.Value Then
Return LeerDatum 'Nothing
Else
Return DirectCast(wert, DateTime)
End If
Catch generatedExceptionName As Exception
Return Nothing
End Try
End Function
Public Shared Function IstGleich(i As Integer, ParamArray list As Integer()) As Boolean
'prüft, ob ein Wert in einer Liste enthalten ist - z.B. i = 5 or 7 or 11 or 29
For x As Integer = 0 To list.Length - 1
If list(x) = i Then
Return True
End If
On Error Resume Next
Next
Return False
End Function
Public Shared Function Minuten_auf_Text(hMinuten As Long) As String
If hMinuten <= 0 Then Return ""
Dim hStunden As Long
Dim hMinus As Boolean
Dim hMin As Long
Minuten_auf_Text = ""
hMin = hMinuten
If hMin = 0 Then
Minuten_auf_Text = "0:00"
Exit Function
End If
If hMin < 0 Then
hMinus = True
hMin = hMin * -1
End If
hStunden = CLng(Fix(hMin / 60))
hMin = hMin - (hStunden * 60)
If hMinus Then Minuten_auf_Text = "-" 'Minus wird nur bei Stunden angezeigt
Minuten_auf_Text = Minuten_auf_Text & hStunden & ":" & Format(hMin, "00")
End Function
Public Shared Function ZeitInMinuten(hDat As Date) As Long
ZeitInMinuten = 0
If Not IsDate(hDat) Then Exit Function
ZeitInMinuten = Hour(hDat) * 60 + Minute(hDat)
End Function
Public Shared Function GetNewMaxPosNr(ByVal FilialeNr As Integer, Optional Year As Integer = -1) As Integer
Return VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(FilialeNr, CInt(IIf(Year > 0, Year, Now.Year)))
End Function
Public Shared Function LKWFertig(AvisoID, Optional newLKWOK = Nothing) As Boolean
Dim AvisoDAL As New VERAG_PROG_ALLGEMEIN.cAvisoDAL
Dim VermerkeDAL As New VERAG_PROG_ALLGEMEIN.cVermerkeDAL
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
MsgBox("Keine Berechtigung!")
Return False
End If
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
If AvisoID <= 0 Then
MsgBox("Kein Aviso ausgewählt!")
Return False
End If
'jetzt ausgewählten Datensatz einlesen
Dim Aviso As New cAviso
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
If Aviso Is Nothing Then Return False
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereichts abgeschlossen.", vbInformation) : Return False
If newLKWOK Is Nothing Then
newLKWOK = Not Aviso.LKW_fertig
Else
If newLKWOK = Aviso.LKW_fertig Then Return True 'Wenn schon OK ist
End If
Dim msg As String
Dim antwort As MsgBoxResult
'Taste LKW ist fertig
If Aviso.Status <> VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then
MsgBox("Es kann nur ein LKW mit Status ANKUNFT auf 'FERTIG/nicht FERTIG' gesetzt werden.", vbInformation)
Return False
End If
Dim aendArt As String = ""
Dim aendText As String = ""
'Status ist Ankunft - LKW wird je nach Eintrag auf Fertig/nicht fertig gesetzt
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
Dim hVermerk As New cVermerk 'bei Fertig zusätzlich einen Vermerk setzen
hVermerk.AvisoID = Aviso.AvisoID
hVermerk.Datum = Now
hVermerk.Mitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
hVermerk.MitarbeiterId = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.MitarbeiterID
If newLKWOK Then
Aviso.LKW_fertig = True
Aviso.Änderungen = "LKW ist fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
hVermerk.Hinweis_Vermerk = "LKW ist fertig!"
hVermerk.VermerkCodeId = 26
VermerkeDAL.SpeichernVermerk(hVermerk)
aendArt = "LKW ist fertig - gesetzt"
aendText = "LKW ist fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")
Else
Aviso.LKW_fertig = False
Aviso.Änderungen = "LKW ist nicht fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
hVermerk.Hinweis_Vermerk = "LKW ist nicht fertig."
hVermerk.VermerkCodeId = 27
VermerkeDAL.SpeichernVermerk(hVermerk)
aendArt = "LKW ist nicht fertig - gesetzt"
aendText = "LKW ist nicht fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")
End If
Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
AvisoDAL.addAenderung(tmpid, aendArt, aendText)
Return (tmpid > 0)
End Function
End Class

View File

@@ -0,0 +1,187 @@

Imports System.Data.SqlClient
Imports System.Reflection
Public Class cVermerkeCodes_LIST
Dim LIST As New List(Of cVermerkeCodes)
Sub New()
LOAD_LIST()
End Sub
Public Sub LOAD_LIST()
Try
LIST.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
Using cmd As New SqlCommand("SELECT * FROM VermerkeCodes ", conn)
' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim l As New cVermerkeCodes
For Each i In l.getParameterList()
Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(l, Nothing)
Else
propInfo.SetValue(l, dr.Item(i.Text))
End If
Next
LIST.Add(l)
End While
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function getTxt(VermerkCodeId, language) As String
For Each li In LIST
If li.VermerkCodeId = VermerkCodeId Then
Select Case language
Case "EN" : If li.Beschreibung_EN <> "" Then Return li.Beschreibung_EN
Case "TR" : If li.Beschreibung_TR <> "" Then Return li.Beschreibung_TR
Case "SRB", "YU" : If li.Beschreibung_SRB <> "" Then Return li.Beschreibung_SRB
Case "RO" : If li.Beschreibung_RO <> "" Then Return li.Beschreibung_RO
Case "BG" : If li.Beschreibung_BG <> "" Then Return li.Beschreibung_BG
Case "HU" : If li.Beschreibung_HU <> "" Then Return li.Beschreibung_HU
Case Else : If li.Beschreibung_DE <> "" Then Return li.Beschreibung_DE
End Select
Return li.Bezeichnung
End If
Next
Return ""
End Function
End Class
Public Class cVermerkeCodes
Property VermerkCodeId As Integer
Property Bezeichnung As String = ""
Property LKW_Vermerk As Boolean
Property Kunde_Vermerk As Boolean
Property Beschreibung_DE As String = ""
Property Beschreibung_EN As String = ""
Property Beschreibung_TR As String = ""
Property Beschreibung_SRB As String = ""
Property Beschreibung_RO As String = ""
Property Beschreibung_BG As String = ""
Property Beschreibung_HU As String = ""
Dim SQL As New SQL
Sub New()
End Sub
Sub New(VermerkCodeId)
Me.VermerkCodeId = VermerkCodeId
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermerkCodeId", VermerkCodeId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezeichnung", Bezeichnung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW_Vermerk", LKW_Vermerk))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunde_Vermerk", Kunde_Vermerk))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_DE", Beschreibung_DE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_EN", Beschreibung_EN))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_TR", Beschreibung_TR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_SRB", Beschreibung_SRB))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_RO", Beschreibung_RO))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_BG", Beschreibung_BG))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_HU", Beschreibung_HU))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM VermerkeCodes WHERE VermerkCodeId=@VermerkCodeId) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "AVISO", , list)
End Function
Public Sub LOAD()
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
Using cmd As New SqlCommand("SELECT * FROM VermerkeCodes WHERE VermerkCodeId=@VermerkCodeId ", conn)
cmd.Parameters.AddWithValue("@VermerkCodeId", VermerkCodeId)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [VermerkeCodes] SET " & str & " WHERE VermerkCodeId=@VermerkCodeId ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO VermerkeCodes (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
End Class

View File

@@ -0,0 +1,45 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmGrayOut
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.SuspendLayout()
'
'frmGrayOut
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.SystemColors.ControlDarkDark
Me.ClientSize = New System.Drawing.Size(284, 261)
Me.ForeColor = System.Drawing.SystemColors.Control
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.KeyPreview = True
Me.Name = "frmGrayOut"
Me.Opacity = 0.5R
Me.ShowIcon = False
Me.ShowInTaskbar = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
Me.Text = "frmGrayOut"
Me.ResumeLayout(False)
End Sub
End Class

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,23 @@
Imports System.Drawing
Imports System.Windows.Forms
Public Class frmGrayOut
Private Sub frmGrayOut_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Escape Then
Me.Close()
End If
End Sub
Private Sub frmGrayOut_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.Location = New Point(0, 0)
Me.Size = Screen.PrimaryScreen.WorkingArea.Size
'Damit Center von Child-Form richtig ist
End Sub
Private Sub frmGrayOut_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Me.MaximumSize = Screen.PrimaryScreen.WorkingArea.Size
Me.Size = Screen.PrimaryScreen.WorkingArea.Size
Me.Location = New Point(0, 0)
End Sub
End Class

View File

@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="VERAG_PROG_ALLGEMEIN.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
</sectionGroup>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="VERAG_PROG_ALLGEMEIN.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
</configSections>
<connectionStrings>
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.FMZOLL_PRODConnectionString"
connectionString="Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.ATLASConnectionString"
connectionString="Data Source=192.168.0.95\SQLATLAS;Initial Catalog=atlas;Integrated Security=false;User ID=sa;Password=BmWr501956;" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.SDL_PRODConnectionString"
connectionString="Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=SDL;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.FMZOLLConnectionString"
connectionString="Data Source=192.168.0.90\DEVSQL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.AVISOConnectionStringTEST"
connectionString="Data Source=192.168.0.90\DEVSQL;Initial Catalog=AVISO_new;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.AVISOConnectionString"
connectionString="Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.SDLConnectionString"
connectionString="Data Source=192.168.0.90\DEVSQL;Initial Catalog=SDL;Integrated Security=False;Persist Security Info=True;User ID=AppUser;Password=yp/THDd?xM+pZ$;TrustServerCertificate=False" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.EZOLLConnectionString"
connectionString="Data Source=BUCHHALTUNG.verag.ost.dmn;Initial Catalog=ezoll;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.AVISO_ATILLAConnectionString"
connectionString="Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.ATLAS_SBGConnectionString"
connectionString="Data Source=192.168.133.98;Initial Catalog=atlas;Integrated Security=false;User ID=sa;Password=BmWr501956;" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.UIDConnectionString"
connectionString="Data Source=192.168.0.90\DEVSQL;Initial Catalog=UID;Persist Security Info=True;User ID=sa;Password=BmWr501956" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.UID_PRODConnectionString"
connectionString="Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=UID;Integrated Security=false;User ID=sa;Password=BmWr501956;" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.FDConnectionString"
connectionString="Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=FD;Integrated Security=false;User ID=sa;Password=BmWr501956;" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.FD_PRODConnectionString"
connectionString="Data Source=192.168.0.90\DEVSQL;Initial Catalog=FD;Integrated Security=false;User ID=sa;Password=BmWr501956;" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.DISPOConnectionStringTEST"
connectionString="Data Source=192.168.0.90\DEVSQL;Initial Catalog=DISPO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.SYSKAConnectionString"
connectionString="Data Source=BUCHHALTUNG.verag.ost.dmn;Initial Catalog=FIBU2;Integrated Security=false;User ID=Aviso_User;Password=DMQRNdUCcK;" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.ADMINConnectionString_DEV"
connectionString="Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=ADMIN;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;" />
<add name="VERAG_PROG_ALLGEMEIN.My.MySettings.ADMINConnectionString"
connectionString="Data Source=192.168.0.90\DEVSQL;Initial Catalog=ADMIN;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/>
</startup>
<userSettings>
<VERAG_PROG_ALLGEMEIN.My.MySettings>
<setting name="SCANCANON_PRODConnectionString" serializeAs="String">
<value>Data Source=192.168.0.99;Initial Catalog=Therefore;Integrated Security=false;User ID=sa;Password=BmWr501956;</value>
</setting>
<setting name="DISPOConnectionString" serializeAs="String">
<value>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=DISPO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200</value>
</setting>
<setting name="asdadasdasdasdasdasd" serializeAs="String">
<value />
</setting>
</VERAG_PROG_ALLGEMEIN.My.MySettings>
</userSettings>
<applicationSettings>
<VERAG_PROG_ALLGEMEIN.My.MySettings>
<setting name="VERAG_PROG_ALLGEMEIN_UIDPruefung_checkVatService"
serializeAs="String">
<value>http://ec.europa.eu/taxation_customs/vies/services/checkVatService</value>
</setting>
<setting name="VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_uidAbfrageService"
serializeAs="String">
<value>https://finanzonline.bmf.gv.at/fon/ws/uidAbfrage/</value>
</setting>
<setting name="VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_session_sessionService"
serializeAs="String">
<value>https://finanzonline.bmf.gv.at:443/fonws/ws/session</value>
</setting>
<setting name="VERAG_PROG_ALLGEMEIN_RKSV_DE_DSFinVKService_DSFinVKServer"
serializeAs="String">
<value>http://localhost:8733/DSFinVKService</value>
</setting>
<setting name="VERAG_PROG_ALLGEMEIN_eu_europa_ec_checkVatTestService"
serializeAs="String">
<value>http://ec.europa.eu/taxation_customs/vies/services/checkVatTestService</value>
</setting>
</VERAG_PROG_ALLGEMEIN.My.MySettings>
</applicationSettings>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IDSFinVKServer1" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:8733/DSFinVKService" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IDSFinVKServer1" contract="DSFinVKService.IDSFinVKServer"
name="BasicHttpBinding_IDSFinVKServer1" />
</client>
</system.serviceModel>
</configuration>

View File

@@ -0,0 +1,146 @@
#Region " Class "
#Region " Enums "
Public Enum CodeSetAllowed
CodeA
CodeB
CodeAorB
End Enum
Public Enum CodeSet
CodeA
CodeB
End Enum
#End Region
Public Class Code128Content
Private mCodeList As Integer()
Public Sub New(ByVal AsciiData As String)
mCodeList = StringToCode128(AsciiData)
End Sub
Public ReadOnly Property Codes() As Integer()
Get
Return mCodeList
End Get
End Property
Private Function StringToCode128(ByVal AsciiData As String) As Integer()
Dim asciiBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(AsciiData)
Dim csa1 As CodeSetAllowed = If(asciiBytes.Length > 0, Code128Code.CodesetAllowedForChar(asciiBytes(0)), CodeSetAllowed.CodeAorB)
Dim csa2 As CodeSetAllowed = If(asciiBytes.Length > 0, Code128Code.CodesetAllowedForChar(asciiBytes(1)), CodeSetAllowed.CodeAorB)
Dim currcs As CodeSet = GetBestStartSet(csa1, csa2)
Dim codes As New List(Of Integer)(asciiBytes.Length + 3)
codes.Add(Code128Code.StartCodeForCodeSet(currcs))
For i As Integer = 0 To asciiBytes.Length - 1
Dim thischar As Integer = asciiBytes(i)
Dim nextchar As Integer = If(asciiBytes.Length > (i + 1), asciiBytes(i + 1), -1)
codes.AddRange(Code128Code.CodesForChar(thischar, nextchar, currcs))
Next
Dim checksum As Integer = CInt(codes(0))
For i As Integer = 1 To codes.Count - 1
checksum += i * CInt(codes(i))
Next
codes.Add(checksum Mod 103)
codes.Add(Code128Code.StopCode())
Return codes.ToArray
End Function
Private Function GetBestStartSet(ByVal csa1 As CodeSetAllowed, ByVal csa2 As CodeSetAllowed) As CodeSet
Dim vote As Integer = 0
vote += If((csa1 = CodeSetAllowed.CodeA), 1, 0)
vote += If((csa1 = CodeSetAllowed.CodeB), -1, 0)
vote += If((csa2 = CodeSetAllowed.CodeA), 1, 0)
vote += If((csa2 = CodeSetAllowed.CodeB), -1, 0)
Return If((vote > 0), CodeSet.CodeA, CodeSet.CodeB)
End Function
End Class
Public NotInheritable Class Code128Code
#Region "Constants"
Private Const cSHIFT As Integer = 98
Private Const cCODEA As Integer = 101
Private Const cCODEB As Integer = 100
Private Const cSTARTA As Integer = 103
Private Const cSTARTB As Integer = 104
Private Const cSTOP As Integer = 106
#End Region
Public Shared Function CodesForChar(ByVal CharAscii As Integer, ByVal LookAheadAscii As Integer, ByRef CurrCodeSet As CodeSet) As Integer()
Dim result As Integer()
Dim shifter As Integer = -1
If Not CharCompatibleWithCodeset(CharAscii, CurrCodeSet) Then
If (LookAheadAscii <> -1) AndAlso Not CharCompatibleWithCodeset(LookAheadAscii, CurrCodeSet) Then
Select Case CurrCodeSet
Case CodeSet.CodeA
shifter = cCODEB
CurrCodeSet = CodeSet.CodeB
Exit Select
Case CodeSet.CodeB
shifter = cCODEA
CurrCodeSet = CodeSet.CodeA
Exit Select
End Select
Else
shifter = cSHIFT
End If
End If
If shifter <> -1 Then
result = New Integer(1) {}
result(0) = shifter
result(1) = CodeValueForChar(CharAscii)
Else
result = New Integer(0) {}
result(0) = CodeValueForChar(CharAscii)
End If
Return result
End Function
Public Shared Function CodesetAllowedForChar(ByVal CharAscii As Integer) As CodeSetAllowed
If CharAscii >= 32 AndAlso CharAscii <= 95 Then
Return CodeSetAllowed.CodeAorB
Else
Return If((CharAscii < 32), CodeSetAllowed.CodeA, CodeSetAllowed.CodeB)
End If
End Function
Public Shared Function CharCompatibleWithCodeset(ByVal CharAscii As Integer, ByVal currcs As CodeSet) As Boolean
Dim csa As CodeSetAllowed = CodesetAllowedForChar(CharAscii)
Return csa = CodeSetAllowed.CodeAorB OrElse (csa = CodeSetAllowed.CodeA AndAlso currcs = CodeSet.CodeA) OrElse (csa = CodeSetAllowed.CodeB AndAlso currcs = CodeSet.CodeB)
End Function
Public Shared Function CodeValueForChar(ByVal CharAscii As Integer) As Integer
Return If((CharAscii >= 32), CharAscii - 32, CharAscii + 64)
End Function
Public Shared Function StartCodeForCodeSet(ByVal cs As CodeSet) As Integer
Return If(cs = CodeSet.CodeA, cSTARTA, cSTARTB)
End Function
Public Shared Function StopCode() As Integer
Return cSTOP
End Function
End Class
#End Region

View File

@@ -0,0 +1,180 @@
Imports System.Drawing
Imports System.Diagnostics
Public NotInheritable Class Code128Rendering
#Region "Code patterns"
Private Shared ReadOnly cPatterns As Integer(,) = {{2, 1, 2, 2, 2, 2, _
0, 0}, {2, 2, 2, 1, 2, 2, _
0, 0}, {2, 2, 2, 2, 2, 1, _
0, 0}, {1, 2, 1, 2, 2, 3, _
0, 0}, {1, 2, 1, 3, 2, 2, _
0, 0}, {1, 3, 1, 2, 2, 2, _
0, 0}, _
{1, 2, 2, 2, 1, 3, _
0, 0}, {1, 2, 2, 3, 1, 2, _
0, 0}, {1, 3, 2, 2, 1, 2, _
0, 0}, {2, 2, 1, 2, 1, 3, _
0, 0}, {2, 2, 1, 3, 1, 2, _
0, 0}, {2, 3, 1, 2, 1, 2, _
0, 0}, _
{1, 1, 2, 2, 3, 2, _
0, 0}, {1, 2, 2, 1, 3, 2, _
0, 0}, {1, 2, 2, 2, 3, 1, _
0, 0}, {1, 1, 3, 2, 2, 2, _
0, 0}, {1, 2, 3, 1, 2, 2, _
0, 0}, {1, 2, 3, 2, 2, 1, _
0, 0}, _
{2, 2, 3, 2, 1, 1, _
0, 0}, {2, 2, 1, 1, 3, 2, _
0, 0}, {2, 2, 1, 2, 3, 1, _
0, 0}, {2, 1, 3, 2, 1, 2, _
0, 0}, {2, 2, 3, 1, 1, 2, _
0, 0}, {3, 1, 2, 1, 3, 1, _
0, 0}, _
{3, 1, 1, 2, 2, 2, _
0, 0}, {3, 2, 1, 1, 2, 2, _
0, 0}, {3, 2, 1, 2, 2, 1, _
0, 0}, {3, 1, 2, 2, 1, 2, _
0, 0}, {3, 2, 2, 1, 1, 2, _
0, 0}, {3, 2, 2, 2, 1, 1, _
0, 0}, _
{2, 1, 2, 1, 2, 3, _
0, 0}, {2, 1, 2, 3, 2, 1, _
0, 0}, {2, 3, 2, 1, 2, 1, _
0, 0}, {1, 1, 1, 3, 2, 3, _
0, 0}, {1, 3, 1, 1, 2, 3, _
0, 0}, {1, 3, 1, 3, 2, 1, _
0, 0}, _
{1, 1, 2, 3, 1, 3, _
0, 0}, {1, 3, 2, 1, 1, 3, _
0, 0}, {1, 3, 2, 3, 1, 1, _
0, 0}, {2, 1, 1, 3, 1, 3, _
0, 0}, {2, 3, 1, 1, 1, 3, _
0, 0}, {2, 3, 1, 3, 1, 1, _
0, 0}, _
{1, 1, 2, 1, 3, 3, _
0, 0}, {1, 1, 2, 3, 3, 1, _
0, 0}, {1, 3, 2, 1, 3, 1, _
0, 0}, {1, 1, 3, 1, 2, 3, _
0, 0}, {1, 1, 3, 3, 2, 1, _
0, 0}, {1, 3, 3, 1, 2, 1, _
0, 0}, _
{3, 1, 3, 1, 2, 1, _
0, 0}, {2, 1, 1, 3, 3, 1, _
0, 0}, {2, 3, 1, 1, 3, 1, _
0, 0}, {2, 1, 3, 1, 1, 3, _
0, 0}, {2, 1, 3, 3, 1, 1, _
0, 0}, {2, 1, 3, 1, 3, 1, _
0, 0}, _
{3, 1, 1, 1, 2, 3, _
0, 0}, {3, 1, 1, 3, 2, 1, _
0, 0}, {3, 3, 1, 1, 2, 1, _
0, 0}, {3, 1, 2, 1, 1, 3, _
0, 0}, {3, 1, 2, 3, 1, 1, _
0, 0}, {3, 3, 2, 1, 1, 1, _
0, 0}, _
{3, 1, 4, 1, 1, 1, _
0, 0}, {2, 2, 1, 4, 1, 1, _
0, 0}, {4, 3, 1, 1, 1, 1, _
0, 0}, {1, 1, 1, 2, 2, 4, _
0, 0}, {1, 1, 1, 4, 2, 2, _
0, 0}, {1, 2, 1, 1, 2, 4, _
0, 0}, _
{1, 2, 1, 4, 2, 1, _
0, 0}, {1, 4, 1, 1, 2, 2, _
0, 0}, {1, 4, 1, 2, 2, 1, _
0, 0}, {1, 1, 2, 2, 1, 4, _
0, 0}, {1, 1, 2, 4, 1, 2, _
0, 0}, {1, 2, 2, 1, 1, 4, _
0, 0}, _
{1, 2, 2, 4, 1, 1, _
0, 0}, {1, 4, 2, 1, 1, 2, _
0, 0}, {1, 4, 2, 2, 1, 1, _
0, 0}, {2, 4, 1, 2, 1, 1, _
0, 0}, {2, 2, 1, 1, 1, 4, _
0, 0}, {4, 1, 3, 1, 1, 1, _
0, 0}, _
{2, 4, 1, 1, 1, 2, _
0, 0}, {1, 3, 4, 1, 1, 1, _
0, 0}, {1, 1, 1, 2, 4, 2, _
0, 0}, {1, 2, 1, 1, 4, 2, _
0, 0}, {1, 2, 1, 2, 4, 1, _
0, 0}, {1, 1, 4, 2, 1, 2, _
0, 0}, _
{1, 2, 4, 1, 1, 2, _
0, 0}, {1, 2, 4, 2, 1, 1, _
0, 0}, {4, 1, 1, 2, 1, 2, _
0, 0}, {4, 2, 1, 1, 1, 2, _
0, 0}, {4, 2, 1, 2, 1, 1, _
0, 0}, {2, 1, 2, 1, 4, 1, _
0, 0}, _
{2, 1, 4, 1, 2, 1, _
0, 0}, {4, 1, 2, 1, 2, 1, _
0, 0}, {1, 1, 1, 1, 4, 3, _
0, 0}, {1, 1, 1, 3, 4, 1, _
0, 0}, {1, 3, 1, 1, 4, 1, _
0, 0}, {1, 1, 4, 1, 1, 3, _
0, 0}, _
{1, 1, 4, 3, 1, 1, _
0, 0}, {4, 1, 1, 1, 1, 3, _
0, 0}, {4, 1, 1, 3, 1, 1, _
0, 0}, {1, 1, 3, 1, 4, 1, _
0, 0}, {1, 1, 4, 1, 3, 1, _
0, 0}, {3, 1, 1, 1, 4, 1, _
0, 0}, _
{4, 1, 1, 1, 3, 1, _
0, 0}, {2, 1, 1, 4, 1, 2, _
0, 0}, {2, 1, 1, 2, 1, 4, _
0, 0}, {2, 1, 1, 2, 3, 2, _
0, 0}, {2, 3, 3, 1, 1, 1, _
2, 0}}
#End Region
Private Const cQuietWidth As Integer = 10
Public Shared Function MakeBarcodeImage(ByVal InputData As String, ByVal BarWeight As Double, ByVal AddQuietZone As Boolean, Optional heightOpt As Object = Nothing) As Image
Dim content As New Code128Content(InputData)
Dim codes As Integer() = content.Codes
Dim width As Integer, height As Integer
width = ((codes.Length - 3) * 11 + 35) * BarWeight
If heightOpt IsNot Nothing Then
height = CInt(heightOpt)
Else
height = Convert.ToInt32(System.Math.Ceiling(Convert.ToSingle(width) * 0.15F))
End If
If AddQuietZone Then
width += 2 * cQuietWidth * BarWeight
End If
Dim myimg As Image = New System.Drawing.Bitmap(width, height)
Using gr As Graphics = Graphics.FromImage(myimg)
gr.FillRectangle(System.Drawing.Brushes.White, 0, 0, width, height)
Dim cursor As Integer = If(AddQuietZone, cQuietWidth * BarWeight, 0)
For codeidx As Integer = 0 To codes.Length - 1
Dim code As Integer = codes(codeidx)
For bar As Integer = 0 To 7 Step 2
Dim barwidth As Integer = cPatterns(code, bar) * BarWeight
Dim spcwidth As Integer = cPatterns(code, bar + 1) * BarWeight
If barwidth > 0 Then
gr.FillRectangle(System.Drawing.Brushes.Black, cursor, 0, barwidth, height)
End If
cursor += (barwidth + spcwidth)
Next
Next
End Using
Return myimg
End Function
End Class

View File

@@ -0,0 +1,17 @@
Partial Class DateTimePickerEx
Inherits System.Windows.Forms.DateTimePicker
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal container As System.ComponentModel.IContainer)
MyClass.New()
'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
If (container IsNot Nothing) Then
container.Add(Me)
End If
End Sub
End Class

View File

@@ -0,0 +1,267 @@
Imports System.ComponentModel
'-----------------------------------------------------------
'Class name : DateTimePickerEx
'Description: Extends the datetimepicker class to allow binding a DBNull database value
' to it.
'
' This class uses the display format to simulate an "empty" selection since the
' base datetimepicker class doesn't support displaying an empty text string.
'
' Since DBNull is not compatible with Date datatype, I created a new method called
' NullableValue to support it.
'History :
'-----------------------------------------------------------
Public Class DateTimePickerEx
Inherits System.Windows.Forms.DateTimePicker
'Public Property _value As String = Nothing
Public Property _value As String
Get
If Not Me.Checked Then
Return ""
Else
Return (Me.Value)
End If
End Get
Set(ByVal newValue As String)
If newValue Is DBNull.Value Or newValue = "" Then
' MsgBox("null")
Me.NullableValue = DBNull.Value
Me.Checked = False
Else
'MsgBox(newValue)
Me.NullableValue = newValue
End If
End Set
End Property
Private m_enmOriginalFormat As Windows.Forms.DateTimePickerFormat
Private m_strOriginalCustomFormat As String
Private m_blnRefreshing As Boolean = False
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
InitializeMembers()
End Sub
'UserControl overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container
End Sub
#End Region
#Region " Event Declarations "
Public Event NullableValueChanged As EventHandler
'-----------------------------------------------------------
'Description: Raise the NullableValueChanged event.
' Required for "Bindable" properties.
'Return :
'Parameters :
'History :
'-----------------------------------------------------------
Protected Overridable Sub OnNullableValueChanged(ByVal e As EventArgs)
RaiseEvent NullableValueChanged(Me, e)
End Sub
#End Region
#Region " Public Methods and Properties "
'-----------------------------------------------------------
'Description: Gets or Sets the date time picker value.
' Accepts DBNull values.
'Return :
'Parameters :
'History :
'-----------------------------------------------------------
<Bindable(True), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)> _
Public Property NullableValue() As Object
Get
If Not Me.Checked Then
Return (DBNull.Value)
Else
Return (Me.Value)
End If
End Get
Set(ByVal newValue As Object)
Dim blnRaiseEvent As Boolean = False
If newValue Is DBNull.Value Then
'If the value changed
If Me.Checked Then
Me.Checked = False
Me.RefreshText()
blnRaiseEvent = True
End If
ElseIf IsDate(newValue) Then
'If only the "Checked" state changes (newValue parameter is equal to the Value property)
'We must raise the NullableValueChanged event manually since the parents ValueChanged
'event won't be fired.
blnRaiseEvent = (Not Me.Checked) And (CType(newValue, Date).Equals(Me.Value))
Me.Checked = True
Me.Value = CType(newValue, Date)
Me.RefreshText()
Else
Throw New ArgumentException
End If
If blnRaiseEvent Then
Me.OnNullableValueChanged(New EventArgs)
End If
End Set
End Property
#End Region
#Region " Base Class Overrides "
'-----------------------------------------------------------
'Description: When the user changes the value, we need to refresh
' the display text formats and to throw our NullableValueChanged event.
'Return :
'Parameters :
'History :
'-----------------------------------------------------------
Protected Overrides Sub OnValueChanged(ByVal e As System.EventArgs)
Me.RefreshText()
'When the value changes, the nullable value also changes.
Me.OnNullableValueChanged(e)
MyBase.OnValueChanged(e)
End Sub
'-----------------------------------------------------------
'Description: If the format is changed we need to get the
' new format and store it as the new original format.
'Return :
'Parameters :
'History :
'-----------------------------------------------------------
Protected Overrides Sub OnFormatChanged(ByVal e As System.EventArgs)
'If the format changes because of our RefreshText method, we don't want to save
'the "temporary" format used to hide text as our original format...
If Not m_blnRefreshing Then
Me.SaveOriginalFormats()
End If
MyBase.OnFormatChanged(e)
End Sub
'-----------------------------------------------------------
'Description: When the control is ask to refresh itself, we also
' refresh the display format.
'Return :
'Parameters :
'History :
'-----------------------------------------------------------
Public Overrides Sub Refresh()
Me.RefreshText()
MyBase.Refresh()
End Sub
#End Region
'-----------------------------------------------------------
'Description: Initialize the member variables.
'Return :
'Parameters :
'History :
'-----------------------------------------------------------
Private Sub InitializeMembers()
Me.SaveOriginalFormats()
'The default for the DateTimePickerEx is to display the checkbox.
MyBase.ShowCheckBox = False
End Sub
'-----------------------------------------------------------
'Description: Save the current display formats.
'Return :
'Parameters :
'History :
'-----------------------------------------------------------
Private Sub SaveOriginalFormats()
m_enmOriginalFormat = Me.Format
m_strOriginalCustomFormat = Me.CustomFormat
End Sub
'-----------------------------------------------------------
'Description: Restore the original display formats
'Return :
'Parameters :
'History :
'-----------------------------------------------------------
Private Sub RestoreOriginalFormats()
Me.CustomFormat = m_strOriginalCustomFormat
Me.Format = m_enmOriginalFormat
End Sub
'-----------------------------------------------------------
'Description: Refresh the display format based on the current state
' (Checked or not)
'Return :
'Parameters :
'History :
'-----------------------------------------------------------
Private Sub RefreshText()
m_blnRefreshing = True
If Me.Checked Then
Me.RestoreOriginalFormats()
Else
Me.Format = Windows.Forms.DateTimePickerFormat.Custom
Me.CustomFormat = " "
End If
m_blnRefreshing = False
End Sub
End Class

View File

@@ -0,0 +1,15 @@
Imports System.Drawing
Public Class FlatButton
Inherits System.Windows.Forms.Button
Public Property allowBorder As Boolean = False
Public Sub New()
MyBase.FlatStyle = Windows.Forms.FlatStyle.Flat
MyBase.ForeColor = Color.Black
MyBase.FlatAppearance.BorderSize = 0
If Not allowBorder Then
MyBase.FlatAppearance.BorderSize = 0
End If
End Sub
End Class

View File

@@ -0,0 +1,213 @@
Namespace McDull.Windows.Forms
Partial Class HTMLTextBox
Private components As System.ComponentModel.IContainer = Nothing
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso (components IsNot Nothing) Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(HTMLTextBox))
Me.toolStripToolBar = New System.Windows.Forms.ToolStrip()
Me.toolStripComboBoxName = New System.Windows.Forms.ToolStripComboBox()
Me.toolStripButtonBold = New System.Windows.Forms.ToolStripButton()
Me.toolStripButtonItalic = New System.Windows.Forms.ToolStripButton()
Me.toolStripButtonUnderline = New System.Windows.Forms.ToolStripButton()
Me.toolStripButtonColor = New System.Windows.Forms.ToolStripButton()
Me.toolStripSeparatorFont = New System.Windows.Forms.ToolStripSeparator()
Me.toolStripButtonNumbers = New System.Windows.Forms.ToolStripButton()
Me.toolStripButtonBullets = New System.Windows.Forms.ToolStripButton()
Me.toolStripButtonOutdent = New System.Windows.Forms.ToolStripButton()
Me.toolStripButtonIndent = New System.Windows.Forms.ToolStripButton()
Me.toolStripSeparatorFormat = New System.Windows.Forms.ToolStripSeparator()
Me.toolStripButtonLeft = New System.Windows.Forms.ToolStripButton()
Me.toolStripButtonCenter = New System.Windows.Forms.ToolStripButton()
Me.toolStripButtonRight = New System.Windows.Forms.ToolStripButton()
Me.toolStripButtonFull = New System.Windows.Forms.ToolStripButton()
Me.toolStripSeparatorAlign = New System.Windows.Forms.ToolStripSeparator()
Me.toolStripButtonLine = New System.Windows.Forms.ToolStripButton()
Me.toolStripButtonHyperlink = New System.Windows.Forms.ToolStripButton()
Me.toolStripButtonPicture = New System.Windows.Forms.ToolStripButton()
Me.webBrowserBody = New System.Windows.Forms.WebBrowser()
Me.toolStripComboBoxSize = New ToolStripComboBoxEx()
Me.toolStripToolBar.SuspendLayout()
Me.SuspendLayout()
Me.toolStripToolBar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
Me.toolStripToolBar.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.toolStripComboBoxName, Me.toolStripComboBoxSize, Me.toolStripButtonBold, Me.toolStripButtonItalic, Me.toolStripButtonUnderline, Me.toolStripButtonColor, Me.toolStripSeparatorFont, Me.toolStripButtonNumbers, Me.toolStripButtonBullets, Me.toolStripButtonOutdent, Me.toolStripButtonIndent, Me.toolStripSeparatorFormat, Me.toolStripButtonLeft, Me.toolStripButtonCenter, Me.toolStripButtonRight, Me.toolStripButtonFull, Me.toolStripSeparatorAlign, Me.toolStripButtonLine, Me.toolStripButtonHyperlink, Me.toolStripButtonPicture})
Me.toolStripToolBar.Location = New System.Drawing.Point(0, 0)
Me.toolStripToolBar.Name = "toolStripToolBar"
Me.toolStripToolBar.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
Me.toolStripToolBar.Size = New System.Drawing.Size(600, 25)
Me.toolStripToolBar.TabIndex = 1
Me.toolStripToolBar.Text = "Tool Bar"
Me.toolStripComboBoxName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.toolStripComboBoxName.FlatStyle = System.Windows.Forms.FlatStyle.System
Me.toolStripComboBoxName.MaxDropDownItems = 30
Me.toolStripComboBoxName.Name = "toolStripComboBoxName"
Me.toolStripComboBoxName.Size = New System.Drawing.Size(150, 25)
' AddHandler Me.toolStripComboBoxName.SelectedIndexChanged, New System.EventHandler(Me.toolStripComboBoxName_SelectedIndexChanged)
Me.toolStripButtonBold.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonBold.Image = (CType((resources.GetObject("toolStripButtonBold.Image")), System.Drawing.Image))
Me.toolStripButtonBold.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonBold.Name = "toolStripButtonBold"
Me.toolStripButtonBold.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonBold.Text = "Bold"
' AddHandler Me.toolStripButtonBold.Click, New System.EventHandler(Me.toolStripButtonBold_Click)
Me.toolStripButtonItalic.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonItalic.Image = (CType((resources.GetObject("toolStripButtonItalic.Image")), System.Drawing.Image))
Me.toolStripButtonItalic.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonItalic.Name = "toolStripButtonItalic"
Me.toolStripButtonItalic.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonItalic.Text = "Italic"
' AddHandler Me.toolStripButtonItalic.Click, Me.toolStripButtonItalic_Click(Me, New EventArgs)
Me.toolStripButtonUnderline.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonUnderline.Image = (CType((resources.GetObject("toolStripButtonUnderline.Image")), System.Drawing.Image))
Me.toolStripButtonUnderline.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonUnderline.Name = "toolStripButtonUnderline"
Me.toolStripButtonUnderline.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonUnderline.Text = "Underline"
' AddHandler Me.toolStripButtonUnderline.Click, New System.EventHandler(Me.toolStripButtonUnderline_Click)
Me.toolStripButtonColor.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonColor.Image = (CType((resources.GetObject("toolStripButtonColor.Image")), System.Drawing.Image))
Me.toolStripButtonColor.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonColor.Name = "toolStripButtonColor"
Me.toolStripButtonColor.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonColor.Text = "Font Color"
' AddHandler Me.toolStripButtonColor.Click, New System.EventHandler(Me.toolStripButtonColor_Click)
Me.toolStripSeparatorFont.Name = "toolStripSeparatorFont"
Me.toolStripSeparatorFont.Size = New System.Drawing.Size(6, 25)
Me.toolStripButtonNumbers.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonNumbers.Image = (CType((resources.GetObject("toolStripButtonNumbers.Image")), System.Drawing.Image))
Me.toolStripButtonNumbers.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonNumbers.Name = "toolStripButtonNumbers"
Me.toolStripButtonNumbers.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonNumbers.Text = "Format Numbers"
' AddHandler Me.toolStripButtonNumbers.Click, New System.EventHandler(Me.toolStripButtonNumbers_Click)
Me.toolStripButtonBullets.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonBullets.Image = (CType((resources.GetObject("toolStripButtonBullets.Image")), System.Drawing.Image))
Me.toolStripButtonBullets.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonBullets.Name = "toolStripButtonBullets"
Me.toolStripButtonBullets.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonBullets.Text = "Format Bullets"
' AddHandler Me.toolStripButtonBullets.Click, New System.EventHandler(Me.toolStripButtonBullets_Click)
Me.toolStripButtonOutdent.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonOutdent.Image = (CType((resources.GetObject("toolStripButtonOutdent.Image")), System.Drawing.Image))
Me.toolStripButtonOutdent.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonOutdent.Name = "toolStripButtonOutdent"
Me.toolStripButtonOutdent.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonOutdent.Text = "Decrease Indentation"
' AddHandler Me.toolStripButtonOutdent.Click, New System.EventHandler(Me.toolStripButtonOutdent_Click)
Me.toolStripButtonIndent.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonIndent.Image = (CType((resources.GetObject("toolStripButtonIndent.Image")), System.Drawing.Image))
Me.toolStripButtonIndent.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonIndent.Name = "toolStripButtonIndent"
Me.toolStripButtonIndent.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonIndent.Text = "Increase Indentation"
'AddHandler Me.toolStripButtonIndent.Click, New System.EventHandler(Me.toolStripButtonIndent_Click)
Me.toolStripSeparatorFormat.Name = "toolStripSeparatorFormat"
Me.toolStripSeparatorFormat.Size = New System.Drawing.Size(6, 25)
Me.toolStripButtonLeft.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonLeft.Image = (CType((resources.GetObject("toolStripButtonLeft.Image")), System.Drawing.Image))
Me.toolStripButtonLeft.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonLeft.Name = "toolStripButtonLeft"
Me.toolStripButtonLeft.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonLeft.Text = "Align Left"
' AddHandler Me.toolStripButtonLeft.Click, New System.EventHandler(Me.toolStripButtonLeft_Click)
Me.toolStripButtonCenter.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonCenter.Image = (CType((resources.GetObject("toolStripButtonCenter.Image")), System.Drawing.Image))
Me.toolStripButtonCenter.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonCenter.Name = "toolStripButtonCenter"
Me.toolStripButtonCenter.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonCenter.Text = "Center"
' AddHandler Me.toolStripButtonCenter.Click, New System.EventHandler(Me.toolStripButtonCenter_Click)
Me.toolStripButtonRight.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonRight.Image = (CType((resources.GetObject("toolStripButtonRight.Image")), System.Drawing.Image))
Me.toolStripButtonRight.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonRight.Name = "toolStripButtonRight"
Me.toolStripButtonRight.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonRight.Text = "Align Right"
'AddHandler Me.toolStripButtonRight.Click, New System.EventHandler(Me.toolStripButtonRight_Click)
Me.toolStripButtonFull.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonFull.Image = (CType((resources.GetObject("toolStripButtonFull.Image")), System.Drawing.Image))
Me.toolStripButtonFull.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonFull.Name = "toolStripButtonFull"
Me.toolStripButtonFull.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonFull.Text = "Justify"
' AddHandler Me.toolStripButtonFull.Click, New System.EventHandler(Me.toolStripButtonFull_Click)
Me.toolStripSeparatorAlign.Name = "toolStripSeparatorAlign"
Me.toolStripSeparatorAlign.Size = New System.Drawing.Size(6, 25)
Me.toolStripButtonLine.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonLine.Image = (CType((resources.GetObject("toolStripButtonLine.Image")), System.Drawing.Image))
Me.toolStripButtonLine.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonLine.Name = "toolStripButtonLine"
Me.toolStripButtonLine.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonLine.Text = "Insert Horizontal Line"
'AddHandler Me.toolStripButtonLine.Click, New System.EventHandler(Me.toolStripButtonLine_Click)
Me.toolStripButtonHyperlink.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonHyperlink.Image = (CType((resources.GetObject("toolStripButtonHyperlink.Image")), System.Drawing.Image))
Me.toolStripButtonHyperlink.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonHyperlink.Name = "toolStripButtonHyperlink"
Me.toolStripButtonHyperlink.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonHyperlink.Text = "Create a Hyperlink"
' AddHandler Me.toolStripButtonHyperlink.Click, New System.EventHandler(Me.toolStripButtonHyperlink_Click)
Me.toolStripButtonPicture.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButtonPicture.Image = (CType((resources.GetObject("toolStripButtonPicture.Image")), System.Drawing.Image))
Me.toolStripButtonPicture.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButtonPicture.Name = "toolStripButtonPicture"
Me.toolStripButtonPicture.Size = New System.Drawing.Size(23, 22)
Me.toolStripButtonPicture.Text = "Insert Picture"
'AddHandler Me.toolStripButtonPicture.Click, New System.EventHandler(Me.toolStripButtonPicture_Click)
Me.webBrowserBody.AllowWebBrowserDrop = False
Me.webBrowserBody.Dock = System.Windows.Forms.DockStyle.Fill
Me.webBrowserBody.IsWebBrowserContextMenuEnabled = False
Me.webBrowserBody.Location = New System.Drawing.Point(0, 25)
Me.webBrowserBody.MinimumSize = New System.Drawing.Size(20, 20)
Me.webBrowserBody.Name = "webBrowserBody"
Me.webBrowserBody.Size = New System.Drawing.Size(600, 425)
Me.webBrowserBody.TabIndex = 0
' AddHandler Me.webBrowserBody.PreviewKeyDown, Me.webBrowserBody_PreviewKeyDown(Me.webBrowserBody, New EventArgs)
' Me.webBrowserBody.DocumentCompleted += New System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(Me.webBrowserBody_DocumentCompleted)
Me.toolStripComboBoxSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.toolStripComboBoxSize.FlatStyle = System.Windows.Forms.FlatStyle.System
Me.toolStripComboBoxSize.Name = "toolStripComboBoxSize"
Me.toolStripComboBoxSize.Size = New System.Drawing.Size(36, 25)
' AddHandler Me.toolStripComboBoxSize.SelectedIndexChanged, New System.EventHandler(Me.toolStripComboBoxSize_SelectedIndexChanged)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None
Me.Controls.Add(Me.webBrowserBody)
Me.Controls.Add(Me.toolStripToolBar)
Me.Name = "HTMLTextBox"
Me.Size = New System.Drawing.Size(600, 450)
Me.toolStripToolBar.ResumeLayout(False)
Me.toolStripToolBar.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Private toolStripToolBar As System.Windows.Forms.ToolStrip
Private webBrowserBody As System.Windows.Forms.WebBrowser
Private toolStripComboBoxName As System.Windows.Forms.ToolStripComboBox
Private toolStripComboBoxSize As ToolStripComboBoxEx
Private toolStripButtonBold As System.Windows.Forms.ToolStripButton
Private toolStripButtonItalic As System.Windows.Forms.ToolStripButton
Private toolStripButtonUnderline As System.Windows.Forms.ToolStripButton
Private toolStripButtonColor As System.Windows.Forms.ToolStripButton
Private toolStripSeparatorFont As System.Windows.Forms.ToolStripSeparator
Private toolStripButtonNumbers As System.Windows.Forms.ToolStripButton
Private toolStripButtonBullets As System.Windows.Forms.ToolStripButton
Private toolStripButtonOutdent As System.Windows.Forms.ToolStripButton
Private toolStripButtonIndent As System.Windows.Forms.ToolStripButton
Private toolStripSeparatorFormat As System.Windows.Forms.ToolStripSeparator
Private toolStripButtonLeft As System.Windows.Forms.ToolStripButton
Private toolStripButtonCenter As System.Windows.Forms.ToolStripButton
Private toolStripButtonRight As System.Windows.Forms.ToolStripButton
Private toolStripButtonFull As System.Windows.Forms.ToolStripButton
Private toolStripSeparatorAlign As System.Windows.Forms.ToolStripSeparator
Private toolStripButtonLine As System.Windows.Forms.ToolStripButton
Private toolStripButtonHyperlink As System.Windows.Forms.ToolStripButton
Private toolStripButtonPicture As System.Windows.Forms.ToolStripButton
End Class
End Namespace

View File

@@ -0,0 +1,261 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolStripToolBar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="toolStripButtonBold.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAC1JREFUOE9jYBh2
4D/QR/gwUR5GNgCmAZsYTsMGlwHo4TESwoAq6YCogBpGigDXJzrGE301bAAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButtonItalic.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADVJREFUOE9jYBj2
4D/Qh+iYZE+DDVizYiaIJg1ANcFcQJpmqOpR28kIeWzxTnr0kRVfQ1cTAOjCLVxq2QiuAAAAAElFTkSu
QmCC
</value>
</data>
<data name="toolStripButtonUnderline.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAERJREFUOE9jYBh2
4D/QR8gY5EFsYng9DtOArAibGE5DRg1AhDplgbhmxUxQYDJAaZJiAVvcgw2jC0BPddj4dHEI8ZYAADTJ
N6c8hf3vAAAAAElFTkSuQmCC
</value>
</data>
<data name="toolStripButtonColor.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGRJREFUOE9jYKAD
+E+2HWtWzARp/g+lyTIHbAAUk2YAzHaYAeS4Atlm0lyBZDvM2SSHBbLf0dn4wwKL7SS7Ap9/8YcFHtuJ
dgW+eCctLEhLNVDVQCv+E4uxWkCsZpA6slyITRMAH5Zv5oCq9bQAAAAASUVORK5CYII=
</value>
</data>
<data name="toolStripButtonNumbers.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAALdJREFUOE9jYKAG
ePTy13+f0lP/yTYrpOn+f4/8A+gGgPiEMMTOxy9//HdIXv3/6Pmn5LnCNXvHf4vw6f+N/TvIM4Bsv8M0
BtXf+B9QfeX/rPU3yHfBztPv/9vELkA2gFAAItSeufntv2vW9v+Hzz0mzwWeBQf+W0bM+G/k20KeARQH
on/Vxf++5ef+O6SsJt8FfhXn/m8+9IC8QAR5YcLK2//NgieQ5wKPwoPgQDx4+iF5BlASiADwc282sbGz
ZAAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButtonBullets.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGlJREFUOE9jYKAG
OHDmyf+C7kP/QTRZ5oE0h7Y8+S9rXQU3gIWJ5T8+jGIRyGaQ5jkrj5LnArKcTVVNo4FIheDcdeTG/8SK
5f9BNFnGgTR7Fh39L2mcSV5KBNkM0jxr6V7yXECWs6mlCQDlBWMQibjNkwAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButtonOutdent.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKFJREFUOE9jYMAP
/hOQp640yDZkDDIdXQwbn0qu+PTt7/8Fuz/8L5l8GdnfhF3w7M2f/3N2ff8f3f3uf0DNtf9PXn4lzYCw
1of/Q5ru/fevvPjfIXn1f4vwaf9Ng/qID/3nb77/n7Hm6n/buEVAjb3/Hzz9QIwLMAPu09ef/ycsOvY/
qmAeeQZQIy4GOB1gSXXIKZEaPiTPDOLTA3nmMzAAAFijgMKTQOD0AAAAAElFTkSuQmCC
</value>
</data>
<data name="toolStripButtonIndent.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKVJREFUOE9jYMAP
/hOQp640yDZkDDIdXQwbnwquCG1/8T+p//n/Kw9/oPuZOBdcefDrv1/js/9uFbf/z1x/+/+z119hBhE2
IKzl0f/wtmf/g+pv/bdPXvXfLGTif5OAbtJC//r99/8tI2f9Nwns+R+cs+D/wdP3CLkANeAS63b8T65a
/f/+03fEhgEVQh6LEQOYDqCuwecC2viZGFNJSw/EmIiuBgAein31gYqs0gAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButtonLeft.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBhM
4D/QMfgw7d1KyAXI8rRxDSEX0MZWZFMJuWA0DFBTKe1jhH42AAD5sDjIZUq+7gAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButtonCenter.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBis
4D/QYeiY9m7FZisuMdq6Bp9LBs7mwREjtPU/yPTBkw5o71dkGwCUJzHPYqsAPQAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButtonRight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBis
4D/QYfgwbdxNyFZkedq4ANlUQq6hjQsI2ToaBqgpkzaxMDCmAgDawTjIJO+/7AAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButtonFull.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAChJREFUOE9jYBgs
4D/QIeRg6rmfHNtBeqgHRl1AXhoYbrFAvRRFqkkAJdBTrRhJgKYAAAAASUVORK5CYII=
</value>
</data>
<data name="toolStripButtonLine.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAB9JREFUOE9jYBgF
wywE/gP9QwrG8D4pmkFqR8HwCQEAckQX6SRiW/8AAAAASUVORK5CYII=
</value>
</data>
<data name="toolStripButtonHyperlink.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAuZJREFUOE990HlI
03EYx/H5R1DQPxF0QNFlKnRR9IdpTLsw1MQOqbTD0qhZuk67mDqtDJ3Z8kizuX7aqq2c5rKa1nQ6mVcp
ai7MTLNGYSF2X/YuEioZ9cAXni+fh9cDj5Por+rstGF/h+jl8D5R6+enotGfholcv00SOY8dLpoydZbT
37MOfVXTA4T2Sor6TQg9BRx/tImIlmksyDyILKcDU1Ud/wSsrc0ctUWT8+IE9752ceNJE8p2JdEVK1mY
coalyd0sUakpt5ocka4uG/JSDdJWd87aoyl+cx3rgBnds3IkggE/RR+zhFNMvr2QVZeljoC18TFbs80E
31jJnsdexDav4VBZDKF5xWxIeceKlKe4FfgzodCdaSofzA3moUihpZcjwjdWK7bhXe6Cn96f0EQjYac+
sPHEW2bnKZig82SssIBxp72RF2UNBfKNLzmQD+FJVfglLMdDG4SnLpFVymeslb1nkSwc59QZjMx0YUyC
FwfUGUMBQ2UHUbmwIxtC40wsUazDzbAYF00kXnGNLIs4hodEzOj4GcyUBqPRFw0FGpubiDr7ik3psDFp
gIAYgemZ8xivcmN+dDDi7cV4bM5AHB5GYPh6HrbVOh4y/Uo9u850sy/tPjHZN9mXnk+IPB7fCDnu2+8Q
sL+SHfJrJJ4zkJxbgnDNiKWm+g9kqq5BVViHrfs1A0D/R7hleUhkgoag/XoyddUOWUzqZUrKSgeRS4ZK
Ou1vOJQkMNF9HXN8d3JSXUFeSQtZBXUUVrSTW9yAZ6AE/y1HyNLcRLheT1ScchBQqI0/94KrOISGe9UU
mFp+/T9+B3s/tPZ8wWp7y97YZFoeNJCaV4a1rY+5vpJB4IL+LvVtdlJyriJNOIfyYimjZgYwwtnn9/Ne
I/2daW/VcvK8kZDI2EHAUluDQmVAe7uRmrZeyuqfE5thwDdURppa+88sX6v7c8hyi5ljaRfwD5MhDtqN
5HAiuiL9r4H/ZT8AiiIwr0t0DcYAAAAASUVORK5CYII=
</value>
</data>
<data name="toolStripButtonPicture.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAkJJREFUOE+tk1tI
02EYxr2MCKKLIOjCiIguopQIojAjpEDSkrwwpANKBUpJiWW5TFyQpcUSdOhopaazMrNpmZiJiiPtoM3p
TJoLXJE680SHtc1fvv/Q/wiioD54L5/f8x6eLyjof7zCOx0EVn6FhdybrVwobkKT/5jUXDNJ2ioSMkzE
p5USm2JkT7KBeW8Re338tj5/g7HpGVxjMwx88NPl9LNmZ9bfAdw2O/ZDodgOhmBttynisvpBVu84/2eA
OIsYVwOepyd5vncFbXY/N2rfsCoiACAz/zrCXNu2AyE/xXkRWGKCaej2UXzPysrtmWoHsrBAQODM0rY4
i/j+g9fUdPooMHUSvO2cCpBtzwH6B4c5kW1QqqPvkzKztC3OIq5s96IraWV5mEYFyKkE4BgaU4QO1zjW
gVG2RiViqH5F+O7DShXV9FPa4iXP0MiyLRkqQO48J34/MsnQxy8863FT2dBLZFwS5idd1Lf0iICiR24u
FtaxdNNZFSAhEedh9xST0x6sjgmM5rfcbnSin503Ov4YJXeb0V2vVSDaa9Us2XhGBUjCvnv9jE566HNO
UfbQwdXyXnKML8k1WkjRmggJjyVFk09S+hUFsnhDugqQeI6Mf+VFn5uqpnfz4qyCFtIu15KcWU5MglaB
RO47Tnh0IotCT6sAybbdOUFFXTfZ+jY0ukbScmpmhbdISNUTd/QS0fs1hO06wtrNUUotXB8AkI8h2ZZ4
SsIkJHJnOZVsWxYmM0vb4iziBetOqR38y4/+Ac89P6VDkey1AAAAAElFTkSuQmCC
</value>
</data>
</root>

View File

@@ -0,0 +1,415 @@
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Data
Imports System.Text
Imports System.Windows.Forms
Imports System.Runtime.InteropServices
Namespace McDull.Windows.Forms
<Description("Provides a user control that allows the user to edit HTML page."), ClassInterface(ClassInterfaceType.AutoDispatch)>
Public Partial Class HTMLTextBox
Inherits UserControl
Public Sub New()
dataUpdate = 0
InitializeComponent()
InitializeControls()
End Sub
Public Overrides Property Text As String
Get
Return webBrowserBody.DocumentText
End Get
Set(ByVal value As String)
webBrowserBody.DocumentText = value.Replace(vbCrLf, "<br>")
End Set
End Property
Public ReadOnly Property Images As String()
Get
Dim imagestmp As List(Of String) = New List(Of String)()
For Each element As HtmlElement In webBrowserBody.Document.Images
Dim image As String = element.GetAttribute("src")
If Not imagestmp.Contains(image) Then
imagestmp.Add(image)
End If
Next
Return imagestmp.ToArray()
End Get
End Property
Private Sub InitializeControls()
BeginUpdate()
For Each family As FontFamily In FontFamily.Families
toolStripComboBoxName.Items.Add(family.Name)
Next
toolStripComboBoxSize.Items.AddRange(FontSize.All.ToArray())
webBrowserBody.DocumentText = String.Empty
AddHandler webBrowserBody.Document.Click, AddressOf webBrowserBody_DocumentClick
AddHandler webBrowserBody.Document.Focusing, AddressOf webBrowserBody_DocumentFocusing
webBrowserBody.Document.ExecCommand("EditMode", False, Nothing)
webBrowserBody.Document.ExecCommand("LiveResize", False, Nothing)
EndUpdate()
End Sub
Private Sub RefreshToolBar()
BeginUpdate()
Try
Dim document = webBrowserBody.Document.DomDocument 'As mshtml.IHTMLDocument2 = CType(webBrowserBody.Document.DomDocument, mshtml.IHTMLDocument2)
toolStripComboBoxName.Text = document.queryCommandValue("FontName").ToString()
toolStripComboBoxSize.SelectedItem = FontSize.Find(CInt(document.queryCommandValue("FontSize")))
toolStripButtonBold.Checked = document.queryCommandState("Bold")
toolStripButtonItalic.Checked = document.queryCommandState("Italic")
toolStripButtonUnderline.Checked = document.queryCommandState("Underline")
toolStripButtonNumbers.Checked = document.queryCommandState("InsertOrderedList")
toolStripButtonBullets.Checked = document.queryCommandState("InsertUnorderedList")
toolStripButtonLeft.Checked = document.queryCommandState("JustifyLeft")
toolStripButtonCenter.Checked = document.queryCommandState("JustifyCenter")
toolStripButtonRight.Checked = document.queryCommandState("JustifyRight")
toolStripButtonFull.Checked = document.queryCommandState("JustifyFull")
Catch e As Exception
System.Diagnostics.Debug.WriteLine(e)
Finally
EndUpdate()
End Try
End Sub
Private dataUpdate As Integer
Private ReadOnly Property Updating As Boolean
Get
Return dataUpdate<> 0
End Get
End Property
Private Sub BeginUpdate()
dataUpdate += 1
End Sub
Private Sub EndUpdate()
dataUpdate -= 1
End Sub
Private Sub toolStripComboBoxName_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("FontName", False, toolStripComboBoxName.Text)
End Sub
Private Sub toolStripComboBoxSize_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
Dim size As Integer = If((toolStripComboBoxSize.SelectedItem Is Nothing), 1, (TryCast(toolStripComboBoxSize.SelectedItem, FontSize)).Value)
webBrowserBody.Document.ExecCommand("FontSize", False, size)
End Sub
Private Sub toolStripButtonBold_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("Bold", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonItalic_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("Italic", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonUnderline_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("Underline", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonColor_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
' Dim fontcolor As Integer = CInt((CType(webBrowserBody.Document.DomDocument, mshtml.IHTMLDocument2)).queryCommandValue("ForeColor"))
Dim dialog As ColorDialog = New ColorDialog()
''' Cannot convert ExpressionStatementSyntax, System.ArgumentOutOfRangeException: Exception of type 'System.ArgumentOutOfRangeException' was thrown.
''' Parameter name: op
''' Actual value was RightShiftExpression.
''' at ICSharpCode.CodeConverter.Util.VBUtil.GetExpressionOperatorTokenKind(SyntaxKind op)
''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitBinaryExpression(BinaryExpressionSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitBinaryExpression(BinaryExpressionSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitParenthesizedExpression(ParenthesizedExpressionSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.ParenthesizedExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitParenthesizedExpression(ParenthesizedExpressionSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.ParenthesizedExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitBinaryExpression(BinaryExpressionSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitBinaryExpression(BinaryExpressionSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitArgument(ArgumentSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitArgument(ArgumentSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at ICSharpCode.CodeConverter.VB.NodesVisitor.<VisitArgumentList>b__99_0(ArgumentSyntax a)
''' at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
''' at Microsoft.CodeAnalysis.VisualBasic.SyntaxFactory.SeparatedList[TNode](IEnumerable`1 nodes)
''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitArgumentList(ArgumentListSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentListSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitArgumentList(ArgumentListSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentListSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitInvocationExpression(InvocationExpressionSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.InvocationExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitInvocationExpression(InvocationExpressionSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.InvocationExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at ICSharpCode.CodeConverter.VB.NodesVisitor.MakeAssignmentStatement(AssignmentExpressionSyntax node)
''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitAssignmentExpression(AssignmentExpressionSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.AssignmentExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitAssignmentExpression(AssignmentExpressionSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.AssignmentExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at ICSharpCode.CodeConverter.VB.MethodBodyVisitor.ConvertSingleExpression(ExpressionSyntax node)
''' at ICSharpCode.CodeConverter.VB.MethodBodyVisitor.VisitExpressionStatement(ExpressionStatementSyntax node)
''' at Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionStatementSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
''' at ICSharpCode.CodeConverter.VB.CommentConvertingMethodBodyVisitor.ConvertWithTrivia(SyntaxNode node)
''' at ICSharpCode.CodeConverter.VB.CommentConvertingMethodBodyVisitor.DefaultVisit(SyntaxNode node)
'''
''' Input:
''' dialog.Color = Color.FromArgb(0xff, fontcolor & 0xff, (fontcolor >> 8) & 0xff, (fontcolor >> 16) & 0xff);
'''
Dim result As DialogResult = dialog.ShowDialog()
If result = DialogResult.OK Then
Dim color As String = dialog.Color.Name
If Not dialog.Color.IsNamedColor Then
color = "#" & color.Remove(0, 2)
End If
webBrowserBody.Document.ExecCommand("ForeColor", False, color)
End If
RefreshToolBar()
End Sub
Private Sub toolStripButtonNumbers_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("InsertOrderedList", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonBullets_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("InsertUnorderedList", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonOutdent_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("Outdent", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonIndent_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("Indent", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonLeft_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("JustifyLeft", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonCenter_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("JustifyCenter", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonRight_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("JustifyRight", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonFull_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("JustifyFull", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonLine_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("InsertHorizontalRule", False, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonHyperlink_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("CreateLink", True, Nothing)
RefreshToolBar()
End Sub
Private Sub toolStripButtonPicture_Click(ByVal sender As Object, ByVal e As EventArgs)
If Updating Then
Return
End If
webBrowserBody.Document.ExecCommand("InsertImage", True, Nothing)
RefreshToolBar()
End Sub
Private Sub webBrowserBody_DocumentCompleted(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
End Sub
Private Sub webBrowserBody_PreviewKeyDown(ByVal sender As Object, ByVal e As PreviewKeyDownEventArgs)
If e.IsInputKey Then
Return
End If
RefreshToolBar()
End Sub
Private Sub webBrowserBody_DocumentClick(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
RefreshToolBar()
End Sub
Private Sub webBrowserBody_DocumentFocusing(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
RefreshToolBar()
End Sub
Private Class FontSize
Private Shared allFontSize As List(Of FontSize) = Nothing
Public Shared ReadOnly Property All As List(Of FontSize)
Get
If allFontSize Is Nothing Then
allFontSize = New List(Of FontSize)()
allFontSize.Add(New FontSize(8, 1))
allFontSize.Add(New FontSize(10, 2))
allFontSize.Add(New FontSize(12, 3))
allFontSize.Add(New FontSize(14, 4))
allFontSize.Add(New FontSize(18, 5))
allFontSize.Add(New FontSize(24, 6))
allFontSize.Add(New FontSize(36, 7))
End If
Return allFontSize
End Get
End Property
Public Shared Function Find(ByVal value As Integer) As FontSize
If value< 1 Then
Return All(0)
End If
If value > 7 Then
Return All(6)
End If
Return All(value - 1)
End Function
Private Sub New(ByVal display As Integer, ByVal value As Integer)
displaySize = display
valueSize = value
End Sub
Private valueSize As Integer
Public ReadOnly Property Value As Integer
Get
Return valueSize
End Get
End Property
Private displaySize As Integer
Public ReadOnly Property Display As Integer
Get
Return displaySize
End Get
End Property
Public Overrides Function ToString() As String
Return displaySize.ToString()
End Function
End Class
Private Class ToolStripComboBoxEx
Inherits ToolStripComboBox
Public Overrides Function GetPreferredSize(ByVal constrainingSize As Size) As Size
Dim size As Size = MyBase.GetPreferredSize(constrainingSize)
size.Width = Math.Max(Width, &H20)
Return size
End Function
End Class
End Class
End Namespace

View File

@@ -0,0 +1,30 @@
Partial Class KdSearchBox
Inherits System.Windows.Forms.TextBox
'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Komponenten-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich.
'Das Bearbeiten ist mit dem Komponenten-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
End Class

View File

@@ -0,0 +1,918 @@
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
'Imports System.Threading
Public Class KdSearchBox
Inherits System.Windows.Forms.TextBox
Implements INotifyPropertyChanged
' Dim sql As New SDL.SQL
' Dim KUNDENSQL As New SDL.kundenSQL
Dim form As Form = Me.FindForm
'Public KdData As SDL.cKundenFMZOLL
Public KdData_KUNDE As cKunde = Nothing
Public KdData_ADRESSEN As cAdressen = Nothing
Public KdData_KUNDE_ERW As cKundenErweitert = Nothing
Public Property searchActive As Boolean = True
Public Property _AllowSetValue As Boolean = False
Public Property _displayFullName As Boolean = False ' nur wenn _loadKdData
Public Property _display_Name1 As Boolean = False ' nur wenn _loadKdData
Public Property _ValueKdAndName As Boolean = True
Public Property _loadKdData As Boolean = False
Public Property _hideIfListEmpty As Boolean = True
Public Property _displayWoelflKd As Boolean = False
Public Property _displayAVISO_Email As Boolean = False
Public Property nurAktive As Boolean = True
Public Property kdNrField As Control = Nothing
Public Property dgvpos As String = "LEFT"
Public Property _autoSizeGross As Boolean = False
Public Property _AlleFirmenCLUSTER As Boolean = False
Public Property _UseFIRMA As String = ""
Dim last_search As DateTime = Now
Dim last_eingabe As DateTime = Now
Public Property TIMER_SEARCH As Boolean = True
Dim Eingabe_verarbeitet = True
Dim WithEvents tmr_Search As New Timer
Public usrcntlWIDTH = 600
Public usrcntlHEIGHT = 380
Public WithEvents usrcntl As usrcntlKdSearch '= DirectCast(Me.FindForm.Controls.Find("dgvFindKD", False)(0), DataGridView)
' Public WithEvents dgv As DataGridView
' Public WithEvents dgvInaktiv As DataGridView
Dim SQL As New SQL
Public Sub FireReturn()
dgvFindKD_Click(Me, New KeyEventArgs(Keys.Return))
End Sub
Protected Overrides Sub OnPaint(e As PaintEventArgs)
Try
MyBase.OnPaint(e)
Catch ex As Exception
Me.Invalidate()
End Try
End Sub
Private Sub KdSearchBox_GotFocus(sender As Object, e As EventArgs) Handles Me.GotFocus
Try
Me.SelectionLength = 0
Me.HideSelection = False
Me.SelectAll()
Me.Select()
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_01")
End Try
End Sub
Public Sub RESARCH()
KdSearchBox_KeyUp(Me, New KeyEventArgs(Keys.Space))
End Sub
Private Sub KdSearchBox_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
Try
'Console.WriteLine(String.Format("TEEST 01"))
If Not searchActive Then Exit Sub
' If dgv Is Nothing Then dgv = usrcntl.dgvKundenAktiv
' If dgvInaktiv Is Nothing Then dgvInaktiv = usrcntl.dgvKundenInAktiv
If e.KeyCode = Keys.Tab Then
If usrcntl IsNot Nothing Then usrcntl.Visible = False
e.Handled = True
Exit Sub
End If
If e.KeyCode = Keys.ShiftKey Or e.KeyCode = Keys.Shift Or e.KeyCode = Keys.Alt Or e.KeyCode = Keys.Control Or e.KeyCode = Keys.Left Or e.KeyCode = Keys.Right Or e.KeyCode = Keys.End Or e.KeyCode = Keys.Home Or e.KeyCode = Keys.CapsLock Then 'Bei Shift Tab..
If usrcntl IsNot Nothing Then usrcntl.Visible = False
e.Handled = True
Exit Sub
End If
If e.KeyCode = Keys.Return Then
e.Handled = True
Exit Sub
End If
If e.KeyCode = Keys.Up Then
If usrcntl IsNot Nothing Then prevLKW(usrcntl.dgvKundenAktiv)
e.Handled = True
Exit Sub
End If
If e.KeyCode = Keys.Down Then
If usrcntl IsNot Nothing Then nextLKW(usrcntl.dgvKundenAktiv)
e.Handled = True
Exit Sub
End If
If e.KeyCode = Keys.Escape Then
hideDgv(usrcntl)
e.Handled = True
Exit Sub
End If
If kdNrField IsNot Nothing Then kdNrField.Text = ""
KdNr_value = -1
KdData_KUNDE = Nothing
KdData_ADRESSEN = Nothing
KdData_KUNDE_ERW = Nothing
If Me.Text.Trim = "" Then
KdNr = -1
KdName = ""
' KdData = Nothing
KdData_KUNDE = Nothing
KdData_ADRESSEN = Nothing
KdData_KUNDE_ERW = Nothing
setMeValue()
hideDgv(usrcntl)
Exit Sub
End If
If usrcntl Is Nothing Then
Exit Sub
End If
Eingabe_verarbeitet = False
last_eingabe = Now
doKeyDown(Now)
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_02")
End Try
End Sub
Sub doKeyDown(srchdate As DateTime)
Try
If usrcntl Is Nothing Then Exit Sub
If Eingabe_verarbeitet Then Exit Sub ' Bereits abgearbetiet -> Timer
Dim span_last_search = CInt(DirectCast((srchdate - last_search), TimeSpan).TotalMilliseconds)
Dim span_last_eingabe = CInt(DirectCast((srchdate - last_eingabe), TimeSpan).TotalMilliseconds)
'TIMER_SEARCH
If TIMER_SEARCH Then
If span_last_search < 500 And span_last_eingabe < 500 Then
Exit Sub
End If
End If
If usrcntl.Visible = False Then
usrcntl.Width = usrcntlWIDTH
usrcntl.Height = usrcntlHEIGHT
Dim locationOnForm As Point = Nothing
If Me.FindForm IsNot Nothing Then
If dgvpos = "LEFT" Or dgvpos = "" Then
locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
ElseIf dgvpos = "RIGHT" Then
locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
locationOnForm.X = locationOnForm.X - (usrcntl.Width - Me.Width)
End If
End If
If locationOnForm.Y + usrcntl.Height + Me.Height > form.ClientRectangle.Height Then
usrcntl.Height = form.ClientRectangle.Height - locationOnForm.Y - Me.Height
End If
usrcntl.Location = locationOnForm
usrcntl.Top += Me.Height
End If
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
With usrcntl.dgvKundenAktiv
If usrcntl.Visible = False Then
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = False
.AllowUserToResizeRows = False
.ReadOnly = True
.MultiSelect = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.BackgroundColor = Color.White
.ForeColor = Color.Black
Try
.GridColor = Color.White
Catch ex As Exception
'Keine Ahnung warum hier ein Fehler kommt
End Try
End If
'THREADING AKTIV
Me.ThreadInitAKTIV()
' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV)
' ThreadInitAKTIV.IsBackground = True
' ThreadInitAKTIV.Start()
End With
End If
If nurAktive Then
usrcntl.dgvKundenInAktiv.Visible = False
usrcntl.Panel1.Visible = False
Else
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
With usrcntl.dgvKundenInAktiv
If usrcntl.Visible = False Then
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = False
.AllowUserToResizeRows = False
.ReadOnly = True
.MultiSelect = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.BackgroundColor = Color.White
.ForeColor = Color.Black
Try
.GridColor = Color.White
Catch ex As Exception
'Keine Ahnung warum hier ein Fehler kommt
End Try
.DefaultCellStyle.ForeColor = Color.Gray
End If
Me.ThreadInitINAKTIV()
'THREADING INAKTIV
'Dim ThreadInitINAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitINAKTIV)
'ThreadInitINAKTIV.IsBackground = True
'ThreadInitINAKTIV.Start()
End With
End If
End If
If _hideIfListEmpty Then
If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
setObjectVisible(usrcntl, False)
Else
setObjectVisible(usrcntl, True)
End If
If False Then
'THREADING ThreadWaitAndSee
Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
Threading.Thread.Sleep(200)
If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
setObjectVisible(usrcntl, False)
Else
setObjectVisible(usrcntl, True)
End If
End Sub)
ThreadWaitAndSee.IsBackground = True
ThreadWaitAndSee.Start()
End If
Else
usrcntl.Visible = True
usrcntl.Show()
usrcntl.BringToFront()
End If
Eingabe_verarbeitet = True
last_search = Now
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
End Sub
Public Sub hideDgv(o) '(sender As Object, e As EventArgs)
If o IsNot Nothing Then
Me.searchActive = False
o.visible = False
Me.searchActive = True
End If
End Sub
Sub ThreadInitAKTIV()
Try
If usrcntl Is Nothing Then Exit Sub
If usrcntl.dgvKundenAktiv Is Nothing Then Exit Sub
With usrcntl.dgvKundenAktiv
Dim srch As String = Me.Text.Replace("'", "").ToString.Trim
If srch.StartsWith("*") Then srch = Replace(srch, "*", "%", , 1) ' Suche mit beginnenden *
Dim srch2 As String = ""
If srch.Contains(",") Then
Dim spitter() = srch.Split(",")
srch = spitter(0).ToString.Trim
srch2 = spitter(1).ToString.Trim
End If
If srch2.StartsWith("*") Then srch2 = Replace(srch2, "*", "%", , 1) ' Suche mit beginnenden *
Dim topAnz = 10
If nurAktive Then topAnz = 16
Dim AvisoEmail = ""
If _displayAVISO_Email Then
AvisoEmail = ", (SELECT CASE WHEN Count(*)>0 Then 'JA' ELSE '' END [Adressen] FROM [tblEmailBenachrichtigung] WHERE [eb_KundenNr]=AdressenNr) as [E-Mail] "
End If
Dim SQLstr As String = " SELECT top " & topAnz & " Ordnungsbegriff as Firma, AdressenNr as KdNr,Adressen.[LandKz] + ' ' + Adressen.[PLZ] + ' - ' + Adressen.[Ort] + ' ' + Adressen.[Straße] as Adresse " & AvisoEmail & " "
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern "
SQLstr &= " FROM [Adressen] "
SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr "
SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) "
SQLstr &= " WHERE 1=1 "
SQLstr &= " AND ( "
SQLstr &= " Ordnungsbegriff LIKE '" & srch & "%' " : If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' "
SQLstr &= " ) "
If srch2 <> "" Then SQLstr &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) "
SQLstr &= " AND [Auswahl]='A' "
'If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then
' SQLstr &= " AND (Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' OR Filialen.CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "') "
'Else
' SQLstr &= " AND Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' "
'End If
If _AlleFirmenCLUSTER Then
SQLstr &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
ElseIf _UseFIRMA <> "" Then
SQLstr &= " AND '" & _UseFIRMA & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
Else
SQLstr &= " AND ( '" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA.Replace("ATILLA", "VERAG") & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Then
SQLstr &= " OR Filialen.Firma IN ('IMEX') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then
SQLstr &= " OR Filialen.Firma IN ('IMEX','VERAG') " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_UNISPED_BREXIT", "SDL") Then
SQLstr &= " OR (Filialen.Firma IN ('UNISPED') AND Kunden.[FilialenNr]=7002) " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_FRONTOFFICE", "SDL") Then
SQLstr &= " OR Filialen.Firma IN ('FRONTOFFICE') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
End If
SQLstr &= " ) "
End If
'AUSNAHME BIS BESSERE LÖSUNG:
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then
SQLstr &= " and Filialen.Firma NOT IN ('AMBAR') "
End If
'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then 'Keine
' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5701') "
'ElseIf VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "VERAG" And VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "ATILLA" Then
' SQLstr &= " AND Kunden.[FilialenNr]='" & VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE & "' "
'Else
' 'SQLstr &= " AND isnull(Kunden.[FilialenNr],0)<>'5501' "
' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5501','5601','5701','5801') "
'End If
If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'"
SQLstr &= " order by Ordnungsbegriff "
setDS(usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL"))
End With
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_03")
End Try
End Sub
Sub ThreadInitINAKTIV()
Try
If usrcntl Is Nothing Then Exit Sub
If usrcntl.dgvKundenInAktiv Is Nothing Then Exit Sub
With usrcntl.dgvKundenInAktiv
Dim srch As String = Me.Text.Replace("'", "").ToString.Trim
If srch.StartsWith("*") Then srch = Replace(srch, "*", "%", , 1) ' Suche mit beginnenden *
Dim srch2 As String = ""
If srch.Contains(",") Then
Dim spitter() = srch.Split(",")
srch = spitter(0).ToString.Trim
srch2 = spitter(1).ToString.Trim
End If
If srch2.StartsWith("*") Then srch2 = Replace(srch2, "*", "%", , 1) ' Suche mit beginnenden *
Dim SQLstr As String = " SELECT top 4 Ordnungsbegriff as Firma, AdressenNr as KdNr,Adressen.[LandKz] + ' ' + Adressen.[PLZ] + ' - ' + Adressen.[Ort] + ' ' + Adressen.[Straße] as Adresse "
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern "
SQLstr &= " FROM [Adressen] "
SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr "
SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) "
SQLstr &= " WHERE 1=1 "
SQLstr &= " AND ( "
SQLstr &= " Ordnungsbegriff LIKE '" & srch & "%' " : If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' "
SQLstr &= " ) "
If srch2 <> "" Then SQLstr &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) "
SQLstr &= " AND [Auswahl]='I' "
'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then 'Keine
' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5701') "
'ElseIf VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "VERAG" And VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "ATILLA" Then
' SQLstr &= " AND Kunden.[FilialenNr]='" & VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE & "' "
'Else
' 'SQLstr &= " AND isnull([FilialenNr],0)<>'5501' "
' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5501','5601','5701','5801') "
'End If
'If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then
' SQLstr &= " AND (Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' OR Filialen.CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "') "
'Else
' SQLstr &= " AND Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' "
'End If
If _AlleFirmenCLUSTER Then
SQLstr &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
ElseIf _UseFIRMA <> "" Then
SQLstr &= " AND '" & _UseFIRMA & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
Else
SQLstr &= " AND ( '" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA.Replace("ATILLA", "VERAG") & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Then
SQLstr &= " OR Filialen.Firma IN ('IMEX') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then
SQLstr &= " OR Filialen.Firma IN ('IMEX','VERAG') " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_UNISPED_BREXIT", "SDL") Then
SQLstr &= " OR (Filialen.Firma IN ('UNISPED') AND Kunden.[FilialenNr]=7002) " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_FRONTOFFICE", "SDL") Then
SQLstr &= " OR Filialen.Firma IN ('FRONTOFFICE') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
End If
SQLstr &= " ) "
End If
'AUSNAHME BIS BESSERE LÖSUNG:
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then
SQLstr &= " and Filialen.Firma NOT IN ('AMBAR') "
End If
If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'"
SQLstr &= " order by Ordnungsbegriff "
setDS(usrcntl.dgvKundenInAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL"))
End With
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_04")
End Try
End Sub
'threadsicherer Aufruf
' Delegate Sub setLabelCallback(l As DataGridView, t As DataTable)
Private Sub setDS(l As DataGridView, t As DataTable)
Try
If l Is Nothing Then Exit Sub
If t Is Nothing Then Exit Sub
'' If Me.InvokeRequired Then
'Dim d As New setLabelCallback(AddressOf setDS)
' Me.Invoke(d, New Object() {l, t})
' Else
With l
.Columns.Clear()
.DataSource = t
If .ColumnCount = 0 Then Exit Sub
.RowHeadersVisible = False
If .Columns("KdNr") IsNot Nothing AndAlso .Columns("KdNr") IsNot DBNull.Value Then .Columns("KdNr").Width = 60 : .Columns("KdNr").HeaderText = "KundenNr"
If .Columns("Firma") IsNot Nothing AndAlso .Columns("Firma") IsNot DBNull.Value Then .Columns("Firma").Width = 250
If .Columns("Adresse") IsNot Nothing AndAlso .Columns("Adresse") IsNot DBNull.Value Then .Columns("Adresse").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
If .Columns("E-Mail") IsNot Nothing AndAlso .Columns("E-Mail") IsNot DBNull.Value Then .Columns("E-Mail").Width = 50 : .Columns("E-Mail").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
If .Columns("Firma_Intern") IsNot Nothing AndAlso .Columns("Firma_Intern") IsNot DBNull.Value Then .Columns("Firma_Intern").Width = 60 : .Columns("Firma_Intern").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter : .Columns("Firma_Intern").HeaderText = ""
.ClearSelection()
End With
' End If
Catch ex As Exception
' Try
' MsgBox("Es ist ein Fehler beim Kunden-Such-Feld aufgetreten 05: " & vbNewLine & vbNewLine & ex.Message)
'Catch ex2 As Exception
' MsgBox("ERR", vbCritical)
'End Try
End Try
End Sub
'threadsicherer Aufruf
'Delegate Sub setObjectVisibleCallback(l As Object, v As Boolean)
Private Sub setObjectVisible(l As Object, v As Boolean)
Try
If l Is Nothing Then Exit Sub
' If Me.InvokeRequired Then
' Dim d As New setObjectVisibleCallback(AddressOf setObjectVisible)
'Me.Invoke(d, New Object() {l, v})
' Else
l.visible = v
If v = True Then
l.Show()
l.BringToFront()
End If
' End If
Catch ex As Exception
' MsgBox("Es ist ein Fehler beim Kunden-Such-Feld aufgetreten 06: " & vbNewLine & vbNewLine & ex.Message)
End Try
End Sub
Public Sub nextLKW(dgv As DataGridView) '(sender As Object, e As EventArgs)
Try
If dgv.SelectedRows.Count > 0 Then
Dim i As Integer = dgv.SelectedRows(0).Index
If (i + 1 < dgv.RowCount) Then
'dgv.CurrentCell = dgv.Item(2, i + 1)
dgv.ClearSelection()
dgv.Rows(i + 1).Selected = True
End If
Else
If dgv.Rows.Count > 0 Then ' dgv.CurrentCell = dgv.Item(2, 0)
dgv.ClearSelection()
dgv.Rows(0).Selected = True
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_03_1")
End Try
End Sub
Public Sub prevLKW(dgv As DataGridView) '(sender As Object, e As EventArgs)
Try
If dgv.SelectedRows.Count > 0 Then
Dim i As Integer = dgv.SelectedRows(0).Index
If (i > 0) Then
'dgv.CurrentCell = dgv.Item(2, i - 1)
dgv.ClearSelection()
dgv.Rows(i - 1).Selected = True
End If
Else
If dgv.Rows.Count > 0 Then 'dgv.CurrentCell = dgv.Item(2, dgv.Rows.Count - 1)
dgv.ClearSelection()
dgv.Rows(dgv.Rows.Count - 1).Selected = True
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_06")
End Try
End Sub
Private Sub usrcntl_CLOSE(sender As Object, e As EventArgs) Handles usrcntl.CLOSE
hideDgv(usrcntl)
End Sub
Private Sub dgvFindKD_Click(sender As Object, e As EventArgs) Handles usrcntl.DGV_Click
Try
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
With usrcntl.dgvKundenAktiv
If .SelectedRows.Count > 0 Then
If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
KdNr = .SelectedRows(0).Cells("KdNr").Value
KdName = .SelectedRows(0).Cells("Firma").Value
setMeValue()
hideDgv(usrcntl)
End If
End If
End With
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_07")
End Try
End Sub
Private Sub dgvFindKD_Click2(sender As Object, e As EventArgs) Handles usrcntl.DGV_INAKTIV_Click
Try
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
With usrcntl.dgvKundenInAktiv
If .SelectedRows.Count > 0 Then
If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
KdNr = .SelectedRows(0).Cells("KdNr").Value
KdName = .SelectedRows(0).Cells("Firma").Value
setMeValue()
hideDgv(usrcntl)
End If
End If
End With
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_08")
End Try
End Sub
Private Sub TextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown
Try
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
If e.KeyData = Keys.Tab And usrcntl.Visible Then ' wenn usrcntl eingeblendet, soll der TABULATOR als InputKey gesehen werden.
If usrcntl.dgvKundenAktiv.SelectedRows.Count > 0 Then e.IsInputKey = True Else usrcntl.Visible = False
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_09")
End Try
End Sub
Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles Me.KeyDown, usrcntl.DGV_KeyDown
Try
If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then
last_search = Now.AddSeconds(-10)
doKeyDown(Now) ' Damit Suche-Timer sicherausgelöst wurde
' System.Threading.Thread.Sleep(5000)
End If
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
With usrcntl.dgvKundenAktiv
If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then
If e.KeyCode = Keys.Return And .RowCount > 0 And .SelectedRows.Count = 0 Then .Rows(0).Selected = True
If .SelectedRows.Count > 0 Then
If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
KdNr = .SelectedRows(0).Cells("KdNr").Value
KdName = .SelectedRows(0).Cells("Firma").Value
setMeValue()
hideDgv(usrcntl)
End If
Else
usrcntl.Visible = False
End If
e.Handled = True
e.SuppressKeyPress = True
End If
End With
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_10")
End Try
End Sub
Private Sub dgvFindKD_Click2(sender As Object, e As KeyEventArgs) Handles usrcntl.DGV_KeyDown
Try
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
With usrcntl.dgvKundenInAktiv
If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then
If .SelectedRows.Count > 0 Then
If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
KdNr = .SelectedRows(0).Cells("KdNr").Value
KdName = .SelectedRows(0).Cells("Firma").Value
setMeValue()
hideDgv(usrcntl)
End If
Else
usrcntl.Visible = False
End If
e.Handled = True
e.SuppressKeyPress = True
End If
End With
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_11")
End Try
End Sub
Sub reloadKdData()
Me.KdData_KUNDE = New cKunde(KdNr_value)
Me.KdData_ADRESSEN = New cAdressen(KdNr_value)
Me.KdData_KUNDE_ERW = New cKundenErweitert(KdNr_value)
End Sub
Sub setMeValue()
Try
If Me.kdNrField IsNot Nothing Then Me.kdNrField.Text = IIf(Me.KdNr_value > 0, Me.KdNr_value, "")
If _AllowSetValue Then
If _loadKdData Then 'Kundendaten sollen mitgeladen werden...
' Me.KdData = KUNDENSQL.getKundeFMZOLLByKdNr(KdNr_value)
Me.KdData_KUNDE = New cKunde(KdNr_value)
Me.KdData_ADRESSEN = New cAdressen(KdNr_value)
Me.KdData_KUNDE_ERW = New cKundenErweitert(KdNr_value)
If Me.KdData_ADRESSEN Is Nothing Then
KdName = ""
Me.Text = ""
Else
KdName = KdData_ADRESSEN.Ordnungsbegriff
If _ValueKdAndName Then
If KdNr_value > 0 Then
If _displayFullName Then
Me.Text = KdNr_value & " - " & (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim
ElseIf _display_Name1 Then
Me.Text = KdNr_value & " - " & Me.KdData_ADRESSEN.Name_1
Else
Me.Text = KdNr_value & " - " & KdName
End If
Else
KdName = ""
Me.Text = ""
End If
' -1 |-|
'If Me.Text.Trim = "-" Then Me.Text = ""
' Me.Text = KdNr_value & " - " & IIf(_displayFullName, (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim, KdName)
Else
If _displayFullName Then
Me.Text = (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim
ElseIf _display_Name1 Then
Me.Text = Me.KdData_ADRESSEN.Name_1
Else
Me.Text = KdName
End If
' Me.Text = IIf(_displayFullName, (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim, KdName)
End If
End If
Else '... wenn nicht sollte beim Binding auch KdName gesetzt sein, sonst wird dieser nicht geladen
If KdNr_value > 0 Then
' If KdName = "" Then
KdName = SQL.getValueTxtBySql("SELECT Ordnungsbegriff FROM Adressen WHERE AdressenNr =" & KdNr_value, "FMZOLL")
If _ValueKdAndName Then
Me.Text = KdNr_value & " - " & KdName
Else
Me.Text = KdName
End If
Else
KdName = ""
Me.Text = ""
End If
End If
' searchActive = False
End If
If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength)
Eingabe_verarbeitet = True
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_12")
End Try
End Sub
Public KdNr_value As Integer = -1 'Hier ist der richtige Wert drin...
Public Property KdName As String 'Muss vom Typ String sein, sonst geht es nicht... (BINDING NULL VALUE)
Public Property KdNr As String
Get
Return KdNr_value
End Get
Set(v As String)
Try
KdNr_value = IIf(IsNumeric(v), v, -1)
OnPropertyChanged("KdNr")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_14")
End Try
End Set
End Property
Public Sub setKdNrKeepName()
Dim nameTmp = KdName
KdNr = -1
KdName = nameTmp
Me.Text = nameTmp
End Sub
Public Function getFirma() As String
If Me.KdData_KUNDE IsNot Nothing And KdNr_value > 0 Then
Return VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale2(Me.KdData_KUNDE.FilialenNr,, "")
End If
Return ""
End Function
Public Function checkFirma(FirmaPruef As String) As Boolean
Dim KdFirma = getFirma()
If KdFirma <> "" And FirmaPruef <> "" And KdNr_value > 0 Then
If KdFirma <> FirmaPruef Then
Return False
End If
End If
Return True
End Function
Public Property KdNrNullInt As Object
Get
If KdNr_value > 0 Then
Return KdNr_value
Else
Return Nothing
End If
' Return CObj(If(KdNr_value > 0, KdNr_value, Nothing))
End Get
Set(v As Object)
'NIX...
End Set
End Property
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Protected Sub OnPropertyChanged(ByVal name As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
End Sub
Private Sub KdSearchBox_PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Handles Me.PropertyChanged
setMeValue()
End Sub
Sub initKdBox(control As Control, Optional kdNrBox As Control = Nothing)
Try
If control Is Nothing Then Exit Sub
Me.form = control
Me.usrcntl = New usrcntlKdSearch
control.Controls.Add(usrcntl)
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Then
_AlleFirmenCLUSTER = True
End If
'Me.usrcntl = usrcntl
hideDgv(Me.usrcntl)
If kdNrBox IsNot Nothing Then Me.kdNrField = kdNrBox
tmr_Search.Interval = 200
tmr_Search.Enabled = True
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_13")
End Try
End Sub
Private Sub KdSearchBox_LostFocus(sender As Object, e As EventArgs) Handles Me.LostFocus
'THREADING ThreadWaitAndSee
Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
Try
Threading.Thread.Sleep(300)
' MsgBox(Me.form.ActiveControl.Name)
If Me.form Is Nothing Then Exit Sub
If Me.form.ActiveControl Is Nothing Then Exit Sub
If Me.form.ActiveControl IsNot Me Then
setObjectVisible(usrcntl, False)
End If
Catch ex As Exception
End Try
End Sub)
ThreadWaitAndSee.IsBackground = True
ThreadWaitAndSee.Start()
Try
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
If usrcntl.dgvKundenAktiv.SelectedCells.Count = 0 And usrcntl.dgvKundenInAktiv.SelectedCells.Count = 0 Then
Me.SelectionLength = 0
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_LF")
End Try
End Sub
Private Sub KdSearchBox_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
If _autoSizeGross Then
Me.CharacterCasing = Windows.Forms.CharacterCasing.Upper
' If Me.Text <> "" Then Me.Text = Me.Text.ToUpper
End If
End Sub
Private Sub KdSearchBox_TextChanged(sender As Object, e As EventArgs) Handles Me.TextChanged
If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength)
End Sub
Private Sub tmr_Search_Tick(sender As Object, e As EventArgs) Handles tmr_Search.Tick
If TIMER_SEARCH Then doKeyDown(Now)
End Sub
End Class

View File

@@ -0,0 +1,47 @@
Partial Class MyCheckBoxValue
Inherits System.Windows.Forms.CheckBox
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal container As System.ComponentModel.IContainer)
MyClass.New()
'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
If (container IsNot Nothing) Then
container.Add(Me)
End If
End Sub
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New()
MyBase.New()
'Dieser Aufruf ist für den Komponenten-Designer erforderlich.
InitializeComponent()
End Sub
'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Komponenten-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich.
'Das Bearbeiten ist mit dem Komponenten-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
End Class

View File

@@ -0,0 +1,42 @@
Imports System.ComponentModel
Imports System.Windows.Forms
Public Class MyCheckBoxValue
Inherits CheckBox
Property _value As String = ""
'Dim bold = False
Property _showdate As Boolean = False
Property _date As Object = Nothing
Private Sub MyCheckBoxValue_CheckedChanged(sender As Object, e As EventArgs) Handles Me.CheckedChanged
If Me.Text.Contains(", am ") Then Me.Text = Me.Text.Substring(0, Me.Text.IndexOf(", am ")) 'ersetzen des Datum-Strings
If Me.CheckState = Windows.Forms.CheckState.Checked Then
If Me._date IsNot Nothing AndAlso IsDate(Me._date) AndAlso Me._date > CDate("01.01.1990") Then
Me.Text &= ", am " & Me._date.ToShortDateString
End If
' Me.Font = New System.Drawing.Font(Me.Font.FontFamily, Me.Font.Size, Drawing.FontStyle.Bold)
Else
Me._date = Nothing
' Me.Font = New System.Drawing.Font(Me.Font.FontFamily, Me.Font.Size, If(bold, Drawing.FontStyle.Bold, Drawing.FontStyle.Regular))
End If
End Sub
Private Sub MyCheckBoxValue_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Space Then
If Me.CheckState <> Windows.Forms.CheckState.Checked Then Me._date = Now
End If
End Sub
' Private Sub MyCheckBoxValue_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
' bold = Me.Font.Bold
'End Sub
Private Sub MyCheckBoxValue_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
If Me.CheckState <> Windows.Forms.CheckState.Checked Then Me._date = Now
End Sub
End Class

View File

@@ -0,0 +1,47 @@
Partial Class MyCheckbox
Inherits System.Windows.Forms.CheckBox
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal container As System.ComponentModel.IContainer)
MyClass.New()
'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
If (container IsNot Nothing) Then
container.Add(Me)
End If
End Sub
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New()
MyBase.New()
'Dieser Aufruf ist für den Komponenten-Designer erforderlich.
InitializeComponent()
End Sub
'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Komponenten-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich.
'Das Bearbeiten ist mit dem Komponenten-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
End Class

View File

@@ -0,0 +1,41 @@
Imports System.ComponentModel
Imports System.Windows.Forms
Public Class MyCheckbox
Inherits CheckBox
Implements INotifyPropertyChanged
Property _value As String = ""
Property Checked_value As Boolean = False
' Protected Overrides Sub OnCheckedChanged(ByVal e As EventArgs)
' Me.Checked = Me.Checked_value
' End Sub
Private Sub MyCheckbox_Click(sender As Object, e As EventArgs) Handles Me.Click
Me.Checked = Me.Checked_value
End Sub
Public Property CheckedValue As Boolean
Get
Return Checked_value
End Get
Set(v As Boolean)
Checked_value = v
Me.Checked = Checked_value
OnPropertyChanged("CheckedValue")
End Set
End Property
Public Event PropertyChanged As PropertyChangedEventHandler _
Implements INotifyPropertyChanged.PropertyChanged
Protected Sub OnPropertyChanged(ByVal name As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
End Sub
End Class

View File

@@ -0,0 +1,185 @@
Imports System.ComponentModel
Public Class MyComboBox
Inherits System.Windows.Forms.ComboBox
Public Property _allowFreiText As Boolean = False
Public Property _allowedValuesFreiText As String() = Nothing
' Public Property _allowedValuesFreiText_SET As String() = Nothing
Public Sub New()
End Sub
Sub fillWithMyListItem(l As List(Of MyListItem), Optional firstEmpty As Boolean = False, Optional clearList As Boolean = True, Optional firstEmptyName As String = "")
If clearList Then MyBase.Items.Clear()
If firstEmpty Then
Me.Items.Insert(0, New MyListItem(firstEmptyName, ""))
End If
If l IsNot Nothing Then
For Each i In l : MyBase.Items.Add(i) : Next
End If
End Sub
Sub fillWithSQL(sqlstr As String, Optional showValueInText As Boolean = True, Optional conn As String = "SDL", Optional firstEmpty As Boolean = False, Optional clearList As Boolean = True, Optional firstEmptyName As String = "")
fillWithMyListItem((New SQL).loadCboBySqlWithListItem(sqlstr, showValueInText, conn), firstEmpty, clearList, firstEmptyName)
_TRANSLATE()
End Sub
Public Property _value As String
Get
Return getValueOfItem()
End Get
Set(v As String)
'If _allowedValuesFreiText Is Nothing OrElse Not valueAllowed(v) Then
If v = "" Then
If Me.Items.Count > 0 And Not _allowFreiText Then Me.SelectedItem = Me.Items(0)
Else
changeItem(v, valueAllowed(v))
'End If
End If
End Set
End Property
Function valueAllowed(t)
If _allowedValuesFreiText IsNot Nothing Then
For Each s In _allowedValuesFreiText
Try : If t.ToUpper = CStr(s).ToUpper Then Return True
Catch : End Try
Next
End If
Return False
End Function
Function changeItem(v, Optional Valueallowed = False) As Boolean
'
Try
If v Is Nothing Then Me.Text = "" : Return True
If v Is DBNull.Value Then Me.Text = "" : Return True
If Me.Items.Count = 0 Then Me.Text = "" : Return True
If Me.Items(0).GetType.Name = "MyListItem" Then
Try : If DirectCast(Me.SelectedItem, MyListItem).Value.ToUpper = CStr(v).ToUpper Then Return True 'warum nochmal?
Catch : End Try ' Wenn der ausgewählte EIntrag bereits korrekt ist.
For Each i In Me.Items
' MsgBox(DirectCast(i, MyListItem).Value & " - " & v)
If DirectCast(i, MyListItem).Value.ToUpper = CStr(v).ToUpper Then
'me.SelectedIndex = i : Return True
Me.SelectedItem = i : Return True
End If
Next
For Each i In Me.Items
' MsgBox(DirectCast(i, MyListItem).Value & " - " & v)
If DirectCast(i, MyListItem).Text.ToUpper = CStr(v).ToUpper Then
Me.SelectedItem = i : Return True
End If
Next
Else
'WEnn die Items normale Strings beinhalten, wird keine Änderung des ._value Wertes vorgenommen.
Return True
End If
Catch ex As Exception
' MsgBox(ex.Message)
End Try
If Not _allowFreiText And Not Valueallowed Then
Me._value = ""
End If
If Valueallowed Then
Me.Text = v
End If
Return False
End Function
Function getValueOfItem() As String
If Me.Items.Count = 0 Then Return ""
Try : Return DirectCast(MyBase.SelectedItem, MyListItem).Value
Catch
Try : Return MyBase.SelectedItem.ToString : Catch : End Try
End Try
If _allowFreiText Or valueAllowed(Me.Text) Then Return Me.Text
Return ""
End Function
Private Sub MyComboBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave
If Me.DropDownStyle = Windows.Forms.ComboBoxStyle.DropDown Then
If Me.Text = "" Then
If Me.Items.Count > 0 Then Me.SelectedItem = Me.Items(0)
End If
End If
Me._value = Me.Text
changeItem(CStr(Me.Text), valueAllowed(Me.Text))
Exit Sub
If valueAllowed(Me.Text) Then
Dim t = Me.Text
changeItem(CStr(t)) 'Wenn nicht schon in der Auswahl gefunden, dann wird _value gesetzt
Me._value = t
Else
If Me._value = "" And Me.Text <> "" Then
If Not changeItem(CStr(Me.Text)) And _allowFreiText Then
Me.Text = ""
If Me.Items.Count > 0 Then Me.SelectedItem = Me.Items(0)
Me._value = ""
End If
End If
End If
End Sub
Private Sub MyComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Me.SelectedIndexChanged
Me._value = getValueOfItem()
'Geht nicht, da sonst Auswahl nicht Funktioniert
' MsgBox(Me._value)
End Sub
Public Sub _TRANSLATE()
Try
If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "" Then Exit Sub
If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "DE" Then Exit Sub
Dim lanTxtAll = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = Me.FindForm.Name And x.trs_control = Me.Name And x.trs_sprache = VERAG_PROG_ALLGEMEIN.cAllgemein._LAN)
If lanTxtAll.Count > 0 Then
Dim listItems(Me.Items.Count) As MyListItem
Me.Items.CopyTo(listItems, 0)
Me.Items.Clear()
For Each li In listItems
If li IsNot Nothing Then
Dim lanTxt = li.Text
For Each txt In lanTxtAll
If txt.trs_subControl IsNot DBNull.Value AndAlso txt.trs_subControl = li.Text Then
lanTxt = txt.trs_text
End If
Next
' Dim lanTxt = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.Find(Function(x) x.trs_object = Me.FindForm.Name And x.trs_control = Me.Name And x.trs_sprache = VERAG_PROG_ALLGEMEIN.cAllgemein._LAN And (x.trs_subControl IsNot DBNull.Value AndAlso x.trs_subControl = l.Text))
' MsgBox(If(lanTxt Is Nothing, "noth " & Me.Name, lanTxt.trs_text))
Me.Items.Add(New MyListItem(lanTxt, li.Value))
End If
Next
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
End Sub
End Class

View File

@@ -0,0 +1,51 @@
Partial Class MyDatagridview
Inherits System.Windows.Forms.DataGridView
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal container As System.ComponentModel.IContainer)
MyClass.New()
'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
If (container IsNot Nothing) Then
container.Add(Me)
End If
End Sub
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New()
MyBase.New()
'Dieser Aufruf ist für den Komponenten-Designer erforderlich.
InitializeComponent()
End Sub
'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
Try
MyBase.Dispose(disposing)
Catch ex As Exception
End Try
End Try
End Sub
'Wird vom Komponenten-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich.
'Das Bearbeiten ist mit dem Komponenten-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
End Class

View File

@@ -0,0 +1,319 @@
Imports System.ComponentModel
Imports System.Reflection
Imports System.Windows.Forms
Public Class MyDatagridview
Inherits DataGridView
Implements INotifyPropertyChanged
Dim SQL_STR As String = ""
Dim CONN_ART As String = ""
Dim SQL_PARAM As List(Of SQLVariable) = Nothing
Public RELOAD_PARAMS() As String = Nothing ' Die Spaltennamen, anhand dieser die Auswhal bei einem Reload wiederhergesatllt wird
Dim RELOAD_PARAMS_Save As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
Property AKTUALISIERUNGS_INTERVALL As Integer = -1
WithEvents timer As New Timer
Public VALUE_CHANGED As Boolean = False
Event RELOADED()
' Protected Overrides Sub OnCheckedChanged(ByVal e As EventArgs)
' Me.Checked = Me.Checked_value
' End Sub
Dim SortColumn = Nothing
Dim sel_row_index = -1
Dim SortDirection As Windows.Forms.SortOrder
Dim ScrollPos_X = Nothing
Dim ScrollPos_Y = Nothing
'Dim ScrollPos_Y2 = Nothing
Dim SQL As New SQL
Public Sub GetOrder()
' dataGridView1.HorizontalScrollingOffset = dataGridView1.HorizontalScrollingOffset + 10
If Me.Columns.Count > 0 Then
RELOAD_PARAMS_Save.Clear()
If Me.SortedColumn IsNot Nothing Then
SortColumn = Me.SortedColumn.Index
SortDirection = Me.SortedColumn.HeaderCell.SortGlyphDirection
End If
ScrollPos_X = Me.HorizontalScrollingOffset
ScrollPos_Y = Me.FirstDisplayedScrollingRowIndex 'Me.VerticalScrollingOffset
'ScrollPos_Y2 = Me.VerticalScrollingOffset
If Me.SelectedRows.Count > 0 Then
sel_row_index = Me.SelectedRows(0).Index
If RELOAD_PARAMS IsNot Nothing Then
For Each p In RELOAD_PARAMS
RELOAD_PARAMS_Save.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(p, Me.SelectedRows(0).Cells(p).Value))
Next
End If
End If
End If
End Sub
Protected Overrides Sub OnPaint(e As PaintEventArgs)
Try
MyBase.OnPaint(e)
If AKTUALISIERUNGS_INTERVALL > 0 Then timer.Interval = AKTUALISIERUNGS_INTERVALL : timer.Enabled = True
Catch ex As Exception
Me.Invalidate()
End Try
End Sub
Public Sub SET_SQL(SQL_STR As String, CONN_ART As String, Optional SQL_PARAM As List(Of SQLVariable) = Nothing, Optional RELOAD_PARAMS As String() = Nothing)
Me.SQL_STR = SQL_STR
Me.CONN_ART = CONN_ART
Me.SQL_PARAM = SQL_PARAM
Me.RELOAD_PARAMS = RELOAD_PARAMS
End Sub
Public Sub SetOrder()
If Me.Columns.Count > 0 Then
If SortColumn IsNot Nothing Then
If SortDirection = Windows.Forms.SortOrder.Ascending Then
Me.Sort(Me.Columns(CInt(SortColumn)), ListSortDirection.Ascending)
ElseIf SortDirection = Windows.Forms.SortOrder.Descending Then
Me.Sort(Me.Columns(CInt(SortColumn)), ListSortDirection.Descending)
Else
Me.Sort(Me.Columns(CInt(SortColumn)))
End If
End If
If ScrollPos_X IsNot Nothing Then Me.HorizontalScrollingOffset = ScrollPos_X
Try
' Me.DataBind
Me.FirstDisplayedScrollingRowIndex = ScrollPos_Y
Catch ex As Exception
'If ScrollPos_Y IsNot Nothing Then Me.HorizontalScrollBar.Value = ScrollPos_Y2
End Try
If RELOAD_PARAMS IsNot Nothing And RELOAD_PARAMS_Save.Count > 0 Then
For Each r As DataGridViewRow In Me.Rows
Dim found = True
For Each p In RELOAD_PARAMS_Save
If r.Cells(p.Text).Value <> p.Value Then found = False
Next
If found Then
r.Selected = True
For Each c As DataGridViewCell In Me.Rows(sel_row_index).Cells
If c.Visible Then
Me.CurrentCell = c 'Damit der Cursor in der DGV richtig steht
Exit For
End If
Next
Exit For
End If
Next
Else
If sel_row_index > 0 And Me.Rows.Count > sel_row_index Then
Me.ClearSelection()
Me.Rows(sel_row_index).Selected = True
For Each c As DataGridViewCell In Me.Rows(sel_row_index).Cells
If c.Visible Then
Me.CurrentCell = c 'Damit der Cursor in der DGV richtig steht
Exit For
End If
Next
End If
End If
End If
End Sub
Public Sub LOAD(Optional showErr As Boolean = False, Optional ByRef errOccured As Boolean = False)
If SQL_STR <> "" Then
Me.DataSource = SQL.loadDgvBySql_Param(SQL_STR, CONN_ART, , SQL_PARAM, showErr, errOccured)
Me._TRANSLATE()
End If
End Sub
Public Sub RELOAD()
GetOrder()
LOAD()
SetOrder()
RaiseEvent RELOADED()
End Sub
Public Event PropertyChanged As PropertyChangedEventHandler _
Implements INotifyPropertyChanged.PropertyChanged
Protected Sub OnPropertyChanged(ByVal name As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
End Sub
' Private Sub MyDatagridview_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
' End Sub
Private Sub timer_Tick(sender As Object, e As EventArgs) Handles timer.Tick
If VALUE_CHANGED Then
RELOAD()
VALUE_CHANGED = False
End If
End Sub
'_______________________________________________________________________________
#Region "Operations"
Public Sub DefineSingleClickColumns(ParamArray columns As DataGridViewColumn())
singleClickColumns.Clear()
For Each column As DataGridViewColumn In columns
If Me.Columns.IndexOf(column) = -1 Then
Throw New ArgumentException("Instance of column (" + column.Name + ") is not in this DataGridView")
End If
singleClickColumns.Add(column)
Next
End Sub
Public Sub DefineSingleClickColumns(ParamArray columnIndexes As Integer())
singleClickColumns.Clear()
For Each columnIndex As Integer In columnIndexes
If columnIndex < 0 OrElse columnIndex >= Me.Columns.Count Then
Throw New ArgumentOutOfRangeException("Column index (" + columnIndex + ") is out of range")
End If
singleClickColumns.Add(Me.Columns(columnIndex))
Next
End Sub
Protected Sub BaseOnMouseDown(ByVal e As MouseEventArgs)
MyBase.OnMouseDown(e)
End Sub
#End Region
#Region "Overrides"
Protected Overloads Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
' If primary mouse button not down, do standard processing
If e.Button <> MouseButtons.Left Then
MyBase.OnMouseDown(e)
Return
End If
' Get info on where user clicked
Dim hitInfo As DataGridView.HitTestInfo = HitTest(e.X, e.Y)
' If a cell wasn't clicked, column isn't text or it's read only, do standard processing
If hitInfo.Type <> DataGridViewHitTestType.Cell OrElse Not (TypeOf Me.Columns(hitInfo.ColumnIndex) Is DataGridViewTextBoxColumn) OrElse Me.Columns(hitInfo.ColumnIndex).[ReadOnly] Then
MyBase.OnMouseDown(e)
Return
End If
' If functionality enabled for specific columns and column clicked is not
' one of these, do standard processing
If singleClickColumns.Count >= 1 AndAlso singleClickColumns.IndexOf(Me.Columns(hitInfo.ColumnIndex)) = -1 Then
MyBase.OnMouseDown(e)
Return
End If
' Get clicked cell
Dim clickedCell As DataGridViewCell = Me.Rows(hitInfo.RowIndex).Cells(hitInfo.ColumnIndex)
' If cell not current, try and make it so
If CurrentCell IsNot clickedCell Then
' Allow standard processing make clicked cell current
MyBase.OnMouseDown(e)
' If this didn't happen (validation failed etc), abort
If Me.CurrentCell IsNot clickedCell Then
Return
End If
End If
' If already in edit mode, do standard processing (will position caret)
If Me.CurrentCell.IsInEditMode Then
MyBase.OnMouseDown(e)
Return
End If
' Enter edit mode
Me.BeginEdit(False)
If Me.EditingControl IsNot Nothing Then
' Ensure text is scrolled to the left
Dim textBox As TextBoxBase = DirectCast(Me.EditingControl, TextBoxBase)
textBox.SelectionStart = 0
textBox.ScrollToCaret()
' Position caret by simulating a mouse click within control
Dim editOffset As Integer = e.X - hitInfo.ColumnX - Me.EditingControl.Left
Dim lParam As Int32 = MakeLong(editOffset, 0)
SendMessage(Me.EditingControl.Handle, WM_LBUTTONDOWN, 0, lParam)
SendMessage(Me.EditingControl.Handle, WM_LBUTTONUP, 0, lParam)
End If
End Sub
#End Region
#Region "Implementation"
Const WM_LBUTTONDOWN As Integer = 513
Const WM_LBUTTONUP As Integer = 514
<System.Runtime.InteropServices.DllImport("user32.dll")> _
Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal msg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Boolean
End Function
Private singleClickColumns As New List(Of DataGridViewColumn)()
Private Function MakeLong(ByVal loWord As Integer, ByVal hiWord As Integer) As Integer
Return (hiWord << 16) Or (loWord And 65535)
End Function
#End Region
Public Sub _TRANSLATE()
Try
If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "" Then Exit Sub
If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "DE" Then Exit Sub
Dim lanTxtAll = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = Me.FindForm.Name And x.trs_control = Me.Name And x.trs_sprache = VERAG_PROG_ALLGEMEIN.cAllgemein._LAN)
If lanTxtAll.Count > 0 Then
For Each txt In lanTxtAll
If Me.Columns(txt.trs_subControl) IsNot Nothing Then
Me.Columns(txt.trs_subControl).HeaderText = txt.trs_text
End If
Next
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
End Sub
End Class

View File

@@ -0,0 +1,47 @@
Partial Class MyFlowLayoutPanel
Inherits System.Windows.Forms.FlowLayoutPanel
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal container As System.ComponentModel.IContainer)
MyClass.New()
'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
If (container IsNot Nothing) Then
container.Add(Me)
End If
End Sub
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New()
MyBase.New()
'Dieser Aufruf ist für den Komponenten-Designer erforderlich.
InitializeComponent()
End Sub
'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Komponenten-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich.
'Das Bearbeiten ist mit dem Komponenten-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
End Class

View File

@@ -0,0 +1,15 @@
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Drawing
Public Class MyFlowLayoutPanel
Inherits FlowLayoutPanel
Protected Overrides Function ScrollToControl(ByVal activecontrol As Control) As Point
Return Me.AutoScrollPosition
End Function
End Class

View File

@@ -0,0 +1,27 @@
Imports System.Windows.Forms
Public Class MyLinkLabelVALUE
Inherits System.Windows.Forms.LinkLabel
Public Property valuename As String
Public Property linkedTextBox As TextBox
Protected Overrides Sub OnClick(e As EventArgs)
MyBase.OnClick(e)
End Sub
End Class
Public Class MyLinkPicBoxVALUE
Inherits System.Windows.Forms.PictureBox
Public Property valuename As String
Public Property linkedTextBox As TextBox
Public Property linkedPictureBox As PictureBox
Protected Overrides Sub OnClick(e As EventArgs)
MyBase.OnClick(e)
End Sub
End Class

View File

@@ -0,0 +1,39 @@
Imports System.ComponentModel
Public Class MyListBox
Inherits System.Windows.Forms.ListBox
Public Sub New()
End Sub
Sub fillWithMyListItem(l As List(Of MyListItem))
MyBase.Items.Clear()
For Each i In l : MyBase.Items.Add(i) : Next
End Sub
Sub fillWithSQL(sql As String, Optional showValueInText As Boolean = True, Optional conn As String = "SDL")
fillWithMyListItem((New SQL).loadCboBySqlWithListItem(sql, showValueInText, conn))
End Sub
Public Property _value As String
Get
Return getValueOfItem()
End Get
Set(v As String)
changeItem(v)
End Set
End Property
Sub changeItem(v)
For Each i In MyBase.Items
If DirectCast(i, MyListItem).Value = v Then
MyBase.SelectedItem = i : Exit Sub
End If
Next
End Sub
Function getValueOfItem() As String
Try : Return DirectCast(MyBase.SelectedItem, MyListItem).Value : Catch : End Try
Return ""
End Function
End Class

View File

@@ -0,0 +1,47 @@
Partial Class MyPanel
Inherits System.Windows.Forms.Panel
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal container As System.ComponentModel.IContainer)
MyClass.New()
'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
If (container IsNot Nothing) Then
container.Add(Me)
End If
End Sub
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New()
MyBase.New()
'Dieser Aufruf ist für den Komponenten-Designer erforderlich.
InitializeComponent()
End Sub
'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Komponenten-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich.
'Das Bearbeiten ist mit dem Komponenten-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
End Class

View File

@@ -0,0 +1,15 @@
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Drawing
Public Class MyPanel
Inherits Panel
Protected Overrides Function ScrollToControl(ByVal activecontrol As Control) As Point
Return Me.AutoScrollPosition
End Function
End Class

View File

@@ -0,0 +1,40 @@
Partial Class MyRadioButton
Inherits System.Windows.Forms.RadioButton
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal container As System.ComponentModel.IContainer)
MyClass.New()
'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
If (container IsNot Nothing) Then
container.Add(Me)
End If
End Sub
'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Komponenten-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich.
'Das Bearbeiten ist mit dem Komponenten-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
End Class

View File

@@ -0,0 +1,34 @@
Imports System.Windows.Forms
Public Class MyRadioButton
Inherits System.Windows.Forms.RadioButton
Public Sub New()
End Sub
Public Property GroupName As String
Private Sub MyRadioButton_Click(sender As Object, e As EventArgs) Handles Me.Click
' Dim rb As MyRadioButton = DirectCast(sender, MyRadioButton)
' MsgBox(Me.Checked)
' If Not Me.Checked Then
uncheck(Me.FindForm, Me.GroupName)
Me.Checked = True
' End If
End Sub
Sub uncheck(c As Control, GroupName As String)
' MsgBox(c.GetType.Name)
If c.GetType.Name = "MyRadioButton" AndAlso DirectCast(c, MyRadioButton).GroupName = GroupName Then
DirectCast(c, MyRadioButton).Checked = False
ElseIf c.HasChildren Then
For Each csub In c.Controls
uncheck(csub, GroupName)
Next
End If
End Sub
End Class

View File

@@ -0,0 +1,40 @@
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Public Class MyRichTextBox
Inherits System.Windows.Forms.RichTextBox
Property MaxLines_Warning As String = ""
Property MaxLines_Warning_Label As Label = Nothing
Property MaxLineLength As Integer = -1
Private Sub MyTextBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave
If MaxLineLength > 0 Then
Dim str() As String = Me.Lines
For i = 0 To Me.Lines.Count - 1
If str(i).Length > MaxLineLength Then
str(i) = str(i).Substring(0, MaxLineLength)
End If
Next
Me.Lines = str
End If
End Sub
Private Sub MyTextBox_Textchanged(sender As Object, e As EventArgs) Handles Me.TextChanged
'sender.ForeColor = System.Drawing.Color.Black
If Me.Multiline And IsNumeric(MaxLines_Warning) Then
' If Me.Lines.Length > MaxLines Then
If MaxLines_Warning_Label IsNot Nothing Then
MaxLines_Warning_Label.Visible = CBool(Me.Lines.Length > MaxLines_Warning)
End If
'End If
End If
End Sub
End Class

View File

@@ -0,0 +1,41 @@
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Public Class MyRichTextBox2
Inherits System.Windows.Forms.RichTextBox
Property MaxLines_Warning As String = ""
Property MaxLines_Warning_Label As Label = Nothing
Property MaxLineLength As Integer = -1
Private Sub MyTextBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave
If MaxLineLength > 0 Then
Dim str() As String = Me.Lines
For i = 0 To Me.Lines.Count - 1
If str(i).Length > MaxLineLength Then
str(i) = str(i).Substring(0, MaxLineLength)
End If
Next
Me.Lines = str
End If
End Sub
Private Sub MyTextBox_Textchanged(sender As Object, e As EventArgs) Handles Me.TextChanged
'sender.ForeColor = System.Drawing.Color.Black
If Me.Multiline And IsNumeric(MaxLines_Warning) Then
' If Me.Lines.Length > MaxLines Then
If MaxLines_Warning_Label IsNot Nothing Then
MaxLines_Warning_Label.Visible = CBool(Me.Lines.Length > MaxLines_Warning)
End If
'End If
End If
End Sub
End Class

View File

@@ -0,0 +1,30 @@
Partial Class MySearchBox
Inherits System.Windows.Forms.TextBox
'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Komponenten-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich.
'Das Bearbeiten ist mit dem Komponenten-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
End Class

View File

@@ -0,0 +1,638 @@
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
'Imports System.Threading
Public Class MySearchBox
Inherits System.Windows.Forms.TextBox
Implements INotifyPropertyChanged
' Dim sql As New SDL.SQL
' Dim KUNDENSQL As New SDL.kundenSQL
Dim form As Form = Me.FindForm
'Public KdData As SDL.cKundenFMZOLL
Public DR As DataRow = Nothing
Public Property searchActive As Boolean = True
Public Property _AllowSetValue As Boolean = False
Public Property _allowFreitext As Boolean = False
Public Property _hideIfListEmpty As Boolean = True
Public Property dgvpos As String = "LEFT"
Public Property _autoSizeGross As Boolean = False
Public Property SQL_WhereParamList As String()
Public Property INVISIBLE_COLUMNS As String()
Public Property SQL_SELECT As String
Public Property SQL_WHERE As String
Public Property KEYPARAM As String
Public Property DISPLAY_PARAM As String
' Public Property DISPLAY_PARAM_VALUE As String
Public Property SQL_ORDER_BY As String
Public Property conn_art As String = "FMZOLL"
Public Property key_visible As Boolean = False
Public Property _allowSpaceAsSplitter As Boolean = False
Dim SrchHeight As Integer = 300
Dim SrchWidth As Integer = 300
Public Event VALUE_CHANGED()
Dim active = False
Public Property _value As String
' Public Propvalue As String
' Public Property _value As String
' Get
' Return Me.Propvalue
' End Get
' Set(v As String)
' SET_VALUE(v)
' OnPropertyChanged("_value")
' End Set
'End Property
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Protected Sub OnPropertyChanged(ByVal name As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
End Sub
Public WithEvents usrcntl As usrcntlKdSearch '= DirectCast(Me.FindForm.Controls.Find("dgvFindKD", False)(0), DataGridView)
' Public WithEvents dgv As DataGridView
' Public WithEvents dgvInaktiv As DataGridView
Dim SQL As New SQL
Public Sub FireReturn()
dgvFindKD_Click(Me, New KeyEventArgs(Keys.Return))
End Sub
Protected Overrides Sub OnPaint(e As PaintEventArgs)
Try
MyBase.OnPaint(e)
Catch ex As Exception
Me.Invalidate()
End Try
End Sub
Private Sub KdSearchBox_GotFocus(sender As Object, e As EventArgs) Handles Me.GotFocus
Try
Me.SelectionLength = 0
Me.HideSelection = False
Me.SelectAll()
Me.Select()
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 01: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
End Try
End Sub
Private Sub KdSearchBox_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
Try
'Console.WriteLine(String.Format("TEEST 01"))
If Not searchActive Then Exit Sub
' If dgv Is Nothing Then dgv = usrcntl.dgvKundenAktiv
' If dgvInaktiv Is Nothing Then dgvInaktiv = usrcntl.dgvKundenInAktiv
If e.KeyCode = Keys.ShiftKey Or e.KeyCode = Keys.Shift Or e.KeyCode = Keys.Alt Or e.KeyCode = Keys.Control Or e.KeyCode = Keys.Left Or e.KeyCode = Keys.Right Or e.KeyCode = Keys.End Or e.KeyCode = Keys.Home Or e.KeyCode = Keys.CapsLock Then 'Bei Shift Tab..
If usrcntl IsNot Nothing Then usrcntl.Visible = False
e.Handled = True
Exit Sub
End If
If e.KeyCode = Keys.Tab Then
If usrcntl IsNot Nothing Then usrcntl.Visible = False
e.Handled = True
Exit Sub
End If
If e.KeyCode = Keys.Return Then
e.Handled = True
Exit Sub
End If
If e.KeyCode = Keys.Up Then
If usrcntl IsNot Nothing Then prevLKW(usrcntl.dgvKundenAktiv)
e.Handled = True
Exit Sub
End If
If e.KeyCode = Keys.Down Then
If usrcntl IsNot Nothing Then nextLKW(usrcntl.dgvKundenAktiv)
e.Handled = True
Exit Sub
End If
If e.KeyCode = Keys.Escape Then
hideDgv(usrcntl)
e.Handled = True
Exit Sub
End If
DR = Nothing
_value = ""
If Me.Text.Trim = "" Then
setMeValue(DR)
hideDgv(usrcntl)
Exit Sub
End If
If usrcntl Is Nothing Then
Exit Sub
End If
If usrcntl.Visible = False Then
usrcntl.Width = SrchWidth
usrcntl.Height = SrchHeight
Dim locationOnForm As Point = Nothing
If dgvpos = "LEFT" Or dgvpos = "" Then
locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
ElseIf dgvpos = "RIGHT" Then
locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
locationOnForm.X = locationOnForm.X - (usrcntl.Width - Me.Width)
' MsgBox(locationOnForm.X & "/" & locationOnForm.Y)
End If
If locationOnForm.Y + usrcntl.Height + Me.Height > form.ClientRectangle.Height Then
usrcntl.Height = form.ClientRectangle.Height - locationOnForm.Y - Me.Height
End If
usrcntl.Location = locationOnForm
usrcntl.Top += Me.Height
End If
With usrcntl.dgvKundenAktiv
If usrcntl.Visible = False Then
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = False
.AllowUserToResizeRows = False
.ReadOnly = True
.MultiSelect = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.BackgroundColor = Color.White
.ForeColor = Color.Black
.GridColor = Color.White
End If
'THREADING AKTIV
Me.ThreadInitAKTIV()
' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV)
' ThreadInitAKTIV.IsBackground = True
' ThreadInitAKTIV.Start()
End With
usrcntl.dgvKundenInAktiv.Visible = False
usrcntl.Panel1.Visible = False
If _hideIfListEmpty Then
If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
setObjectVisible(usrcntl, False)
Else
setObjectVisible(usrcntl, True)
End If
If False Then
'THREADING ThreadWaitAndSee
Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
Threading.Thread.Sleep(200)
If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
setObjectVisible(usrcntl, False)
Else
setObjectVisible(usrcntl, True)
End If
End Sub)
ThreadWaitAndSee.IsBackground = True
ThreadWaitAndSee.Start()
End If
Else
usrcntl.Visible = True
usrcntl.Show()
usrcntl.BringToFront()
End If
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 02: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Sub hideDgv(o) '(sender As Object, e As EventArgs)
If o IsNot Nothing Then
Me.searchActive = False
o.visible = False
Me.searchActive = True
End If
End Sub
Sub ThreadInitAKTIV()
Try
If usrcntl Is Nothing Then Exit Sub
If usrcntl.dgvKundenAktiv Is Nothing Then Exit Sub
With usrcntl.dgvKundenAktiv
Dim srch As String = Me.Text.Replace("'", "").ToString.Trim
If _allowSpaceAsSplitter Then srch = srch.Replace(" ", ",")
Dim srch2 As String = ""
If srch.Contains(",") Then
Dim spitter() = srch.Split(",")
srch = spitter(0).ToString.Trim
srch2 = spitter(1).ToString.Trim
End If
Dim topAnz = 16
Dim AvisoEmail = ""
Dim SQLstr As String = "SELECT TOP " & topAnz & " " & SQL_SELECT & " WHERE 1=1 "
SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "")
If srch <> "" And SQL_WhereParamList.Count > 0 Then 'erster Suchparameter
SQLstr &= " AND ( 1<>1 "
For Each s In SQL_WhereParamList
SQLstr &= " OR " & s & " LIKE '" & srch & "%' "
Next
SQLstr &= " ) "
End If
If srch2 <> "" And SQL_WhereParamList.Count > 0 Then 'Wenn zweiter Suchparameter
SQLstr &= " AND ( 1<>1 "
For Each s In SQL_WhereParamList
SQLstr &= " OR " & s & " LIKE '" & srch2 & "%' "
Next
SQLstr &= " ) "
End If
If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY
'MsgBox(SQLstr)
' MsgBox(SQL.loadDgvBySql(SQLstr, conn_art).Rows.Count)
setDS(usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, conn_art))
End With
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Sub SET_VALUE(KEYPARAM_Value, Optional showerror = True)
Try
If Not active Then Exit Sub
If KEYPARAM_Value Is Nothing Then KEYPARAM_Value = ""
Dim SQLstr As String = "SELECT TOP 1 " & SQL_SELECT & " WHERE 1=1 "
SQLstr &= " AND " & KEYPARAM & " = '" & KEYPARAM_Value & "' "
SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "")
If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY
' MsgBox(SQLstr)
Dim dttmp As DataTable = SQL.loadDgvBySql(SQLstr, conn_art, , showerror)
If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then
setMeValue(dttmp.Rows(0))
Else
If _allowFreitext Then
Me.Text = KEYPARAM_Value
Me._value = KEYPARAM_Value
Else
Me.Text = ""
Me._value = ""
End If
hideDgv(usrcntl)
End If
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function GET_VALUE_OnlyReturn(KEYPARAM_Value, Optional showerror = True)
Try
If SQL_SELECT = "" Then Return Nothing 'Ohne dem gehts nicht
If KEYPARAM = "" Then Return Nothing 'Ohne dem gehts nicht
If KEYPARAM_Value Is Nothing Then KEYPARAM_Value = ""
Dim SQLstr As String = "SELECT TOP 1 " & SQL_SELECT & " WHERE 1=1 "
SQLstr &= " AND " & KEYPARAM & " = '" & KEYPARAM_Value & "' "
SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "")
If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY
Dim dttmp As DataTable = SQL.loadDgvBySql(SQLstr, conn_art, , showerror)
If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then
Return dttmp.Rows(0)(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString
End If
Catch ex As Exception
End Try
Return Nothing
End Function
Public Function GET_VALUE_OnlyReturnBySQL(SQL_str, Optional showerror = True)
Try
Dim dttmp As DataTable = SQL.loadDgvBySql(SQL_str, conn_art, , showerror)
If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then
Return dttmp.Rows(0)(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString
End If
Catch ex As Exception
End Try
Return Nothing
End Function
'threadsicherer Aufruf
' Delegate Sub setLabelCallback(l As DataGridView, t As DataTable)
Private Sub setDS(l As DataGridView, t As DataTable)
Try
If l Is Nothing Then Exit Sub
If t Is Nothing Then Exit Sub
'' If Me.InvokeRequired Then
'Dim d As New setLabelCallback(AddressOf setDS)
' Me.Invoke(d, New Object() {l, t})
' Else
With l
.Columns.Clear()
.DataSource = t
If .ColumnCount = 0 Then Exit Sub
.RowHeadersVisible = False
.Columns(KEYPARAM).Visible = key_visible
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
.ClearSelection()
If INVISIBLE_COLUMNS IsNot Nothing Then
For Each i In INVISIBLE_COLUMNS
.Columns(i).Visible = False
Next
End If
End With
' End If
Catch ex As Exception
' Try
' MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.name & ") aufgetreten 05: " & vbNewLine & vbNewLine & ex.Message)
'Catch ex2 As Exception
' MsgBox("ERR", vbCritical)
'End Try
End Try
End Sub
'threadsicherer Aufruf
'Delegate Sub setObjectVisibleCallback(l As Object, v As Boolean)
Private Sub setObjectVisible(l As Object, v As Boolean)
Try
If l Is Nothing Then Exit Sub
' If Me.InvokeRequired Then
' Dim d As New setObjectVisibleCallback(AddressOf setObjectVisible)
'Me.Invoke(d, New Object() {l, v})
' Else
l.visible = v
If v = True Then
l.Show()
l.BringToFront()
End If
' End If
Catch ex As Exception
' MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.name & ") aufgetreten 06: " & vbNewLine & vbNewLine & ex.Message)
End Try
End Sub
Public Sub nextLKW(dgv As DataGridView) '(sender As Object, e As EventArgs)
Try
If dgv.SelectedRows.Count > 0 Then
Dim i As Integer = dgv.SelectedRows(0).Index
If (i + 1 < dgv.RowCount) Then
'dgv.CurrentCell = dgv.Item(2, i + 1)
dgv.ClearSelection()
dgv.Rows(i + 1).Selected = True
End If
Else
If dgv.Rows.Count > 0 Then ' dgv.CurrentCell = dgv.Item(2, 0)
dgv.ClearSelection()
dgv.Rows(0).Selected = True
End If
End If
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03,1: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Sub prevLKW(dgv As DataGridView) '(sender As Object, e As EventArgs)
Try
If dgv.SelectedRows.Count > 0 Then
Dim i As Integer = dgv.SelectedRows(0).Index
If (i > 0) Then
'dgv.CurrentCell = dgv.Item(2, i - 1)
dgv.ClearSelection()
dgv.Rows(i - 1).Selected = True
End If
Else
If dgv.Rows.Count > 0 Then 'dgv.CurrentCell = dgv.Item(2, dgv.Rows.Count - 1)
dgv.ClearSelection()
dgv.Rows(dgv.Rows.Count - 1).Selected = True
End If
End If
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03,2: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
End Try
End Sub
Private Sub usrcntl_CLOSE(sender As Object, e As EventArgs) Handles usrcntl.CLOSE
hideDgv(usrcntl)
End Sub
Private Sub dgvFindKD_Click(sender As Object, e As EventArgs) Handles usrcntl.DGV_Click
Try
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
With usrcntl.dgvKundenAktiv
If .SelectedRows.Count > 0 Then
' If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
setMeValue(ToDataRow(.SelectedRows(0)))
hideDgv(usrcntl)
'End If
End If
End With
End If
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 07: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Shared Function ToDataRow(ByVal Value As DataGridViewRow) As DataRow
Try
Dim dv As System.Data.DataRowView = CType(Value.DataBoundItem, DataRowView)
Return dv.Row
Catch ex As Exception
Return Nothing
End Try
End Function
Private Sub TextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown
Try
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
If e.KeyData = Keys.Tab And usrcntl.Visible Then ' wenn usrcntl eingeblendet, soll der TABULATOR als InputKey gesehen werden.
If usrcntl.dgvKundenAktiv.SelectedRows.Count > 0 Then e.IsInputKey = True Else usrcntl.Visible = False
End If
End If
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 09: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
End Try
End Sub
Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles Me.KeyDown, usrcntl.DGV_KeyDown
Try
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
With usrcntl.dgvKundenAktiv
If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then
If e.KeyCode = Keys.Return And .RowCount > 0 And .SelectedRows.Count = 0 Then .Rows(0).Selected = True
If .SelectedRows.Count > 0 Then
' If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
setMeValue(ToDataRow(.SelectedRows(0)))
hideDgv(usrcntl)
'End If
Else
usrcntl.Visible = False
End If
e.Handled = True
e.SuppressKeyPress = True
End If
End With
End If
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 10: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
End Try
End Sub
Private Sub setMeValue(row As DataRow)
Try
If Not active Then Exit Sub
Me.DR = row
Me._value = ""
If Me.DR Is Nothing Then
Me.Text = ""
Else
Me.Text = row(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString
Me._value = row(KEYPARAM).ToString
hideDgv(usrcntl)
End If
RaiseEvent VALUE_CHANGED()
If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength)
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 12: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
End Try
End Sub
Private Sub KdSearchBox_PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Handles Me.PropertyChanged
' setMeValue() ???????????????
End Sub
Sub initSearchBox(control As Control, SQL_SELECT As String, SQL_WhereParamList() As String, SQL_WHERE As String, SQL_ORDER_BY As String, KEYPARAM As String, Optional DISPLAY_PARAM As String = "", Optional conn_art As String = "FMZOLL", Optional key_visible As Boolean = True, Optional SrchWidth As Integer = 300, Optional Srchheight As Integer = 300, Optional INVISIBLE_COLUMNS() As String = Nothing)
Try
If control Is Nothing Then Exit Sub
Me.form = control
Me.usrcntl = New usrcntlKdSearch
control.Controls.Add(usrcntl)
Me.SQL_WhereParamList = SQL_WhereParamList
Me.SQL_SELECT = SQL_SELECT
Me.SQL_WHERE = SQL_WHERE
Me.KEYPARAM = KEYPARAM
Me.DISPLAY_PARAM = DISPLAY_PARAM
Me.SQL_ORDER_BY = SQL_ORDER_BY
Me.conn_art = conn_art
Me.key_visible = key_visible
Me.SrchHeight = Srchheight
Me.SrchWidth = SrchWidth
Me.INVISIBLE_COLUMNS = INVISIBLE_COLUMNS
'Me.usrcntl = usrcntl
hideDgv(Me.usrcntl)
active = True
Catch ex As Exception
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 13: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
End Try
End Sub
Private Sub KdSearchBox_LostFocus(sender As Object, e As EventArgs) Handles Me.LostFocus
'THREADING ThreadWaitAndSee
Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
Try
Threading.Thread.Sleep(300)
' MsgBox(Me.form.ActiveControl.Name)
If Me.form Is Nothing Then Exit Sub
If Me.form.ActiveControl Is Nothing Then Exit Sub
If Me.form.ActiveControl IsNot Me Then
setObjectVisible(usrcntl, False)
End If
Catch ex As Exception
End Try
End Sub)
ThreadWaitAndSee.IsBackground = True
ThreadWaitAndSee.Start()
Try
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
If usrcntl.dgvKundenAktiv.SelectedCells.Count = 0 And usrcntl.dgvKundenInAktiv.SelectedCells.Count = 0 Then
Me.SelectionLength = 0
End If
End If
Catch ex As Exception
MsgBox("KdSearchBox_LostFocus: " & ex.Message)
End Try
End Sub
Private Sub KdSearchBox_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
If _autoSizeGross Then
Me.CharacterCasing = Windows.Forms.CharacterCasing.Upper
' If Me.Text <> "" Then Me.Text = Me.Text.ToUpper
End If
End Sub
Private Sub KdSearchBox_TextChanged(sender As Object, e As EventArgs) Handles Me.TextChanged
If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength)
End Sub
Private Sub MySearchBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave
If Me._value = "" And Me.Text <> "" Then
SET_VALUE(Me.Text, False) 'Versucht, ob der Wert genau passt
End If
' hideDgv(usrcntl) 'Geht ned, sonst kann man auch keinen Mausklick auf die DGV machen!!
End Sub
End Class

View File

@@ -0,0 +1,709 @@
Imports System.ComponentModel
Imports System.Drawing
Imports System.Globalization
Imports System.Windows.Forms
Public Class MyTextBox
Inherits System.Windows.Forms.TextBox
Implements INotifyPropertyChanged
Property _numbersOnly As Boolean = False
Property _numbersOnlyKommastellen As String = ""
Property _numbersOnlyTrennzeichen As Boolean = True
Property _ShortDateOnly As Boolean = False ' nicht mehr public , da fehler
Property _ShortDateNew As Boolean = False
Property _DateTimeOnly As Boolean = False
Property _TimeOnly As Boolean = False
Property _TimeOnly_Seconds As Boolean = False
Property _Waehrung As Boolean = False
Property _WaehrungZeichen As Boolean = True
Property _Prozent As Boolean = False
' Property MaxLines As String = ""
Property MaxLines_Warning As String = ""
Property MaxLines_Warning_Label As Label = Nothing
Property MaxLineLength As Integer = -1
Public Event ValueChanged()
Public Sub New()
If _Waehrung Then MyBase.TextAlign = HorizontalAlignment.Right
' Me.Focus()
End Sub
Private Sub MyTextBox_BindingContextChanged(sender As Object, e As EventArgs) Handles Me.BindingContextChanged
' If _ShortDateOnly Then
'If IsDate(sender.text) Then sender.text = CDate(sender.text).ToShortDateString
' End If
' If _Waehrung Then
'If IsNumeric(sender.text) Then sender.text = String.Format("{0:N2}", CDbl(sender.text))
'End If
' If _ShortDateNew Then
'If IsDate(sender._value) Then
'sender._value = MyBase.Text
' End If
' End If
End Sub
Sub fillWithSQL(sql As String, Optional conn As String = "SDL")
' MsgBox((New SQL).getValueTxtBySql(sql, conn))
Me._value = (New SQL).getValueTxtBySql(sql, conn)
' MsgBox(Me._value)
'Me.Text = Me._value
End Sub
Private Sub MyTextBox_KeyDown(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress
Exit Sub
If False Then
'geht end
If MaxLineLength > 0 And e.KeyChar <> Chr(13) Then
Dim str() As String = Me.Text.Split(vbNewLine)
For Each s In Me.Lines
If s.Length > MaxLineLength Then
s = s.Substring(0, MaxLineLength)
End If
Next
End If
End If
If _numbersOnly Then
If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then
e.Handled = True
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then
e.Handled = False
End If
End If
End Sub
Private Sub MyTextBox_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
MyBase.CausesValidation = True
If _ShortDateOnly Then MyBase.MaxLength = 10
If _ShortDateNew Then MyBase.MaxLength = 10 ': addPicToGueltigBis()
If _DateTimeOnly Then MyBase.MaxLength = 16 ': addPicToGueltigBis()
If _TimeOnly Then MyBase.MaxLength = 8
End Sub
Sub initDatePicture()
addNowBtnToDate()
'addPicToGueltigBis()
End Sub
Sub initDatePicture2()
addNowBtnToDate2()
'addPicToGueltigBis()
End Sub
Sub initPINSHowPic()
addNowBtnToPIN()
'addPicToGueltigBis()
End Sub
Public Sub addNowBtnToDate()
Dim tb = Me
Dim pb As New MyLinkPicBoxVALUE
tb.Parent.Controls.Add(pb)
pb.Tag = "Heute"
pb.Left = tb.Left + tb.Width + 5 : pb.Top = tb.Top
pb.Height = 18 : pb.Width = 20
pb.Anchor = tb.Anchor
pb.SizeMode = PictureBoxSizeMode.Zoom
pb.Cursor = Cursors.Hand
pb.Image = My.Resources.today
pb.linkedTextBox = tb
' ToolTip Text zuordnen
Dim tooltip As New ToolTip '
tooltip.SetToolTip(pb, "Heute")
AddHandler pb.Click, AddressOf linkclicked
End Sub
Public Sub addNowBtnToDate2()
Dim tb = Me
Dim pb As New MyLinkPicBoxVALUE
tb.Parent.Controls.Add(pb)
pb.Tag = "Heute"
pb.Left = tb.Left + tb.Width - 11 : pb.Top = tb.Top + tb.Height - 11
pb.Height = 10 : pb.Width = 10
pb.Anchor = tb.Anchor
pb.SizeMode = PictureBoxSizeMode.Zoom
'pb.Cursor = Cursors.Hand
' pb.Image = My.Resources.ok
'pb.BackColor = Color.Green
pb.linkedTextBox = tb
pb.BringToFront()
' ToolTip Text zuordnen
'Dim tooltip As New ToolTip '
'tooltip.SetToolTip(pb, "Gül")
pb.Image = Nothing
If tb.Text.Length = 10 AndAlso IsDate(tb.Text) Then
If CDate(tb.Text) >= Now.ToShortDateString Then
pb.Image = My.Resources.ok
Else
pb.Image = My.Resources.del
End If
End If
AddHandler tb.TextChanged, Sub(send As Object, ev As EventArgs)
pb.Image = Nothing
If send.text.length = 10 AndAlso IsDate(send.text) Then
If CDate(send.text) >= Now.ToShortDateString Then
pb.Image = My.Resources.ok
Else
pb.Image = My.Resources.del
End If
End If
End Sub
End Sub
Public Sub addNowBtnToPIN()
Dim tb = Me
Dim pb As New MyLinkPicBoxVALUE
tb.Parent.Controls.Add(pb)
pb.Tag = "Feld bearbeiten"
pb.Left = tb.Left + tb.Width + 5 : pb.Top = tb.Top
pb.Height = 15 : pb.Width = 15
pb.Anchor = tb.Anchor
pb.SizeMode = PictureBoxSizeMode.Zoom
pb.Cursor = Cursors.Hand
pb.Image = My.Resources.stift
pb.linkedTextBox = tb
' ToolTip Text zuordnen
Dim tooltip As New ToolTip '
tooltip.SetToolTip(pb, "Heute")
AddHandler pb.Click, AddressOf linkclickedPIN
'AddHandler tb.EnabledChanged, Sub(send, ev)
' tb.ForeColor = Color.Black
' End Sub
End Sub
Sub linkclicked(sender As Object, e As EventArgs)
'Dim DateTimePicker1 As New DateTimePicker
' Me.Parent.Controls.Add(DateTimePicker1)
Try
Dim tb As TextBox = sender.linkedTextBox
tb.Text = Now.ToShortDateString
' DateTimePicker1.Focus()
' SendKeys.Send("{F4}")
Catch ex As Exception
End Try
End Sub
Sub linkclickedPIN(sender As Object, e As EventArgs)
'Dim DateTimePicker1 As New DateTimePicker
' Me.Parent.Controls.Add(DateTimePicker1)
Try
Dim tb As TextBox = sender.linkedTextBox
' tb.Enabled = True
tb.ReadOnly = False
tb.BackColor = Color.White
Catch ex As Exception
End Try
End Sub
Public Sub addPicToGueltigBis()
Dim tb = Me
Dim pb As New MyLinkPicBoxVALUE
tb.Parent.Controls.Add(pb)
pb.Tag = "Gültig Bis"
pb.Left = tb.Left + tb.Width + 5 : pb.Top = tb.Top
pb.Height = 18 : pb.Width = 20
pb.SizeMode = PictureBoxSizeMode.Zoom
pb.Name = "picGueltigBisUhr"
' pb = checkGueltigBis(pb, tb)
pb.linkedTextBox = tb
pb.linkedPictureBox = pb
pb.Image = My.Resources.uhr_notime
Dim tgb As New Label
tb.Parent.Controls.Add(tgb)
tgb.Name = "txtGueltigBisUhr"
tgb.Left = tb.Left + tb.Width + pb.Width + 5 : tgb.Top = tb.Top
' tgb.Visible = False
' tgb.Text = "abgelaufen"
tgb.ForeColor = Color.Red
AddHandler tb.TextChanged, AddressOf checkGueltigBis
checkGueltigBis(tb, New EventArgs)
End Sub
Sub checkGueltigBis(sender As Object, e As EventArgs)
' MsgBox("änderung")
Try
Dim tb As TextBox = sender
Dim pb As MyLinkPicBoxVALUE = CType(tb.FindForm.Controls.Find("picGueltigBisUhr", True)(0), MyLinkPicBoxVALUE)
Dim tgb As Label = CType(tb.FindForm.Controls.Find("txtGueltigBisUhr", True)(0), Label)
' MsgBox(tgb.Name)
If tb.Text.Length = 10 And IsDate(tb.Text) Then
If CDate(tb.Text) < Now Then
pb.Image = My.Resources.uhr_red
tgb.Text = "abgelaufen"
tgb.Visible = True
tgb.ForeColor = Color.Red
ElseIf CDate(tb.Text) >= Now Then
pb.Image = My.Resources.uhr_green
tgb.Text = "gültig"
'tgb.Visible = False
tgb.ForeColor = Color.Green
End If
Else
pb.Image = My.Resources.uhr_notime
' tgb.Visible = False
tgb.Text = ""
End If
Catch ex As Exception
End Try
Return
End Sub
Private Sub MyTextBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave
' If _DateOnly AndAlso Not isShortDate(sender.text) Then sender.focus()
Dim pruefungHandled = False
If _numbersOnly Then
'If sender.text.ToString.StartsWith("21") Then
' For Each s In sender.text.ToString
' MsgBox(s & " - " & Convert.ToByte(s))
' Next
' ' MsgBox(CInt(sender.text.ToString.Chars(3)))
'End If
sender.text = sender.text.ToString.Replace(" ", "").Replace(Chr(160), "") ' 160: irgend ein Sonder-Leerzeichen
pruefungHandled = True
Try
If Not _numbersOnlyTrennzeichen And IsNumeric(sender.text) Then
Me._value = CInt(sender.text)
ElseIf IsNumeric(_numbersOnlyKommastellen) And IsNumeric(sender.text) Then
sender.text = CDbl(sender.text).ToString("N" & _numbersOnlyKommastellen) ' , CultureInfo.InvariantCulture)
Me._value = CDbl(sender.text)
' Else
' sender.text = CDbl(sender.text)
ElseIf IsNumeric(sender.text) Then
Me._value = CDbl(sender.text)
Else
Me._value = ""
End If
Catch : sender.ForeColor = System.Drawing.Color.Red
End Try
End If
If _Waehrung Then
pruefungHandled = True
Try
' sender.text = String.Format("{0:N2}", CDbl(sender.text))
If sender.text = "" Then
Me._value = Nothing
End If
sender.text = CDbl(sender.text).ToString(If(_WaehrungZeichen, "C2", "N2")) ' String.Format("C2", CDbl(sender.text))
sender.ForeColor = System.Drawing.Color.Black
Me._value = CDbl(sender.text) 'sender.text)
Catch ex As Exception
sender.ForeColor = System.Drawing.Color.Red
End Try
End If
If _ShortDateOnly Then
pruefungHandled = True
Try 'wenn datetime wird es in shortdate umgewandelt
If Me.Text <> "" Then sender.text = Convert.ToDateTime(sender.text).ToShortDateString
Catch : Me.Text = "" : Me._value = Nothing 'Me.Focus()
End Try
If Not isShortDate(sender.text) Then sender.ForeColor = System.Drawing.Color.Red
End If
If _TimeOnly Then
If Me.Text <> "" AndAlso IsNumeric(Me.Text) AndAlso CInt(Me.Text) >= 0 AndAlso CInt(Me.Text) < 24 Then
pruefungHandled = True
If _TimeOnly_Seconds Then
Me.Text &= ":00:00"
Else
Me.Text &= ":00"
End If
OnPropertyChanged("_value")
End If
End If
If _ShortDateNew Then
pruefungHandled = True
Me.ForeColor = Color.Black
'------ falls Jahr zweistellig:
Me.Text = Me.Text.Replace(",", ".")
If Me.Text.Length = 8 Then
Dim split = Me.Text.Split(".")
If split.Count = 3 Then
Me.Text = split(0) & "." & split(1) & ".20" & split(2)
End If
End If
' +2 = zwei Tage von heute weg
If Me.Text <> "" AndAlso Not IsDate(Me.Text) AndAlso IsNumeric(Me.Text) Then
Me.Text = Now.AddDays(Int(Me.Text)).ToShortDateString
End If
If (Me.Text.Length >= 6 And Me.Text.Length <= 10) AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900") Then
'MsgBox(Me.Text)
''------ falls Jahr zweistellig:
'Dim split = Me.Text.Replace(",", ".").Split
'If split.Count = 3 Then
' Me.Text = split(0) & "." & split(1) & ".20" & split(2)
'End If
'MsgBox(Me.Text)
'------
Me._value = CDate(Me.Text).ToShortDateString 'Nur wenns Passt
Me.Text = CDate(Me.Text).ToShortDateString
ElseIf Me.Text = "" Then
Me._value = ""
Else
Me.ForeColor = Color.Red
End If
OnPropertyChanged("_value")
End If
If _DateTimeOnly Then
pruefungHandled = True
Me.ForeColor = Color.Black
If Me.Text.Length > 16 Then Me.Text = Me.Text.Substring(0, 16)
If (Me.Text.Length >= 6 And Me.Text.Length <= 16) AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900") Then
'------ falls Jahr zweistellig:
Dim split = Me.Text.Replace(",", ".").Split
If split.Count = 3 Then
Me.Text = split(0) & "." & split(1) & ".20" & split(2)
End If
'------
Me._value = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm") 'Nur wenns Passt
Me.Text = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm")
ElseIf Me.Text = "" Then
Me._value = ""
Else
Me.ForeColor = Color.Red
End If
OnPropertyChanged("_value")
End If
If _Prozent Then
pruefungHandled = True
Try
If sender.text = "" Then
Me._value = "" : Propvalue = ""
Else
Me._value = CDbl(sender.text.ToString.Replace("%", "")) / 100
End If
Catch ex As Exception
sender.ForeColor = System.Drawing.Color.Red
Me._value = Propvalue
End Try
End If
If MaxLineLength > 0 Then
Dim str() As String = Me.Lines
For i = 0 To Me.Lines.Count - 1
If str(i).Length > MaxLineLength Then
str(i) = str(i).Substring(0, MaxLineLength)
End If
Next
Me.Lines = str
End If
If Not pruefungHandled Then
Me._value = Me.Text
End If
End Sub
Private Sub MyTextBox_Textchanged(sender As Object, e As EventArgs) Handles Me.TextChanged
sender.ForeColor = System.Drawing.Color.Black
Dim pruefungHandled = False
If _numbersOnly Then
pruefungHandled = True
If Not IsNumeric(sender.text) Then sender.ForeColor = System.Drawing.Color.Red
End If
If _TimeOnly Then
pruefungHandled = True
Dim regTime1 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9])$")
Dim regTime2 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$")
If Not regTime1.IsMatch(sender.Text) And Not regTime2.IsMatch(sender.Text) Then
sender.ForeColor = System.Drawing.Color.Red
End If
End If
If _Waehrung Then
pruefungHandled = True
End If
If _Waehrung And False Then 'sonst bei jedem Zeichen kontrolle, zeiger hüpft
pruefungHandled = True
Try
sender.text = CDbl(sender.text).ToString(If(_WaehrungZeichen, "C2", "N2")) ' String.Format("{0:N2}", CDbl(sender.text))
Me._value = CDbl(sender.text)
Catch ex As Exception
sender.ForeColor = System.Drawing.Color.Red
End Try
End If
If _ShortDateNew Then
pruefungHandled = True
Me.ForeColor = Color.Black
If Me.Text.Length = 10 AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900") Then
Try
Me._value = CDate(Me.Text).ToShortDateString 'Nur wenns Passt
Me.Text = CDate(Me.Text).ToShortDateString
Catch ex As Exception
sender.ForeColor = System.Drawing.Color.Red
End Try
ElseIf Me.Text = "" Then
Me._value = ""
Else
Me.ForeColor = Color.Red
End If
OnPropertyChanged("_value")
End If
If _Prozent Then
'pruefungHandled = True
'Dim txt = sender.text
'If Not sender.text.ToString.Contains("%") Then txt = sender.text & " %"
Me._value = sender.text
End If
If _DateTimeOnly Then
pruefungHandled = True
Me.ForeColor = Color.Black
If Me.Text.Length = 16 AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900 00:00") Then
Me._value = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm") 'Nur wenns Passt
Me.Text = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm")
ElseIf Me.Text = "" Then
Me._value = ""
Else
Me.ForeColor = Color.Red
End If
OnPropertyChanged("_value")
End If
' If Me.Multiline And IsNumeric(MaxLines) Then
'If Me.Lines.Length > MaxLines Then
'Dim s() As String = Me.Text.Split(vbNewLine)
' If s.Count > 3 Then
'Me.Text = s(0) & vbNewLine & s(1) & vbNewLine & s(2)
' End If
' End If
' End If
If Me.Multiline And IsNumeric(MaxLines_Warning) Then
' If Me.Lines.Length > MaxLines Then
If MaxLines_Warning_Label IsNot Nothing Then
MaxLines_Warning_Label.Visible = CBool(Me.Lines.Length > MaxLines_Warning)
End If
'End If
End If
If Not pruefungHandled Then
Me._value = Me.Text
End If
End Sub
Function isShortDate(d) As Boolean
Return CBool(IsDate(d) And d.length = 10)
End Function
Public Propvalue As String
Public Property _value As String
Get
Return Propvalue
End Get
Set(v As String)
' MsgBox(v)
If _Prozent Then
If IsNumeric(v) Then
Propvalue = v
Me.Text = String.Format("{0:P2}", CDbl(v))
' OnPropertyChanged("_value")
' MsgBox(String.Format("{0:P2}", CDbl(v)))
End If
ElseIf _ShortDateOnly Then
If v Is Nothing Then
Propvalue = ""
Me.Text = ""
Else
Propvalue = v
Me.Text = v
End If
ElseIf _Waehrung Then
If v IsNot Nothing AndAlso IsNumeric(v) Then
Propvalue = CDbl(v)
Me.Text = CDbl(v).ToString(If(_WaehrungZeichen, "C2", "N2"))
Else
Propvalue = ""
Me.Text = ""
End If
ElseIf _ShortDateNew Then
If v Is Nothing Then
Propvalue = ""
Me.Text = ""
Else
Propvalue = v
Me.Text = v
End If
ElseIf _DateTimeOnly Then
If v Is Nothing Then
Propvalue = ""
Me.Text = ""
Else
If v.Length > 16 Then v = v.Substring(0, 16)
Propvalue = v
Me.Text = v
End If
ElseIf _numbersOnly Then
If Not _numbersOnlyTrennzeichen And IsNumeric(v) Then
Propvalue = CInt(v)
Me.Text = v
ElseIf IsNumeric(Me._numbersOnlyKommastellen) And IsNumeric(v) Then
Propvalue = CDbl(v)
Me.Text = CDbl(v).ToString("N" & Me._numbersOnlyKommastellen) ' , CultureInfo.InvariantCulture)
ElseIf IsNumeric(v) Then
Propvalue = CDbl(v)
Me.Text = v
Else
Propvalue = ""
Me.Text = ""
End If
Else
If v IsNot Nothing AndAlso v.ToString.Length > Me.MaxLength Then
Me.Text = v.Substring(0, Me.MaxLength)
Propvalue = v.Substring(0, Me.MaxLength)
Else
Me.Text = v
Propvalue = v
End If
End If
RaiseEvent ValueChanged()
End Set
End Property
Public Event PropertyChanged As PropertyChangedEventHandler _
Implements INotifyPropertyChanged.PropertyChanged
Protected Sub OnPropertyChanged(ByVal name As String)
' MsgBox("AHAASO")
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
End Sub
Private Sub MyTextBox_Validating(sender As Object, e As CancelEventArgs) Handles Me.Validating
If sender.text = "" Then e.Cancel = False : Exit Sub 'wenn der Test leer ist, stimmt die Eingabe
Dim errMessage As String = "Es ist ein Validierungsfehler aufgetreten:" & vbNewLine
Dim errDescription As String = "Überprüfen Sie die Eingabe!"
If _numbersOnly Then
Try
'String.Format("{0:N2}", CDbl(sender.text))
If Not _numbersOnlyTrennzeichen And IsNumeric(sender.text) Then
sender.text = CInt(sender.text)
ElseIf IsNumeric(_numbersOnlyKommastellen) And IsNumeric(sender.text) Then
sender.text = CDbl(sender.text).ToString("N" & _numbersOnlyKommastellen) ' , CultureInfo.InvariantCulture)
Else
sender.text = CDbl(sender.text)
End If
e.Cancel = False
Catch ex As Exception
errDescription = "Die Eingabe muss eine Zahl sein! (z.B. 123,45)"
e.Cancel = True
End Try
End If
If _Waehrung Then
Try
'String.Format("{0:N2}", CDbl(sender.text))
CDbl(sender.text).ToString(If(_WaehrungZeichen, "C2", "N2"))
e.Cancel = False
Catch ex As Exception
errDescription = "Die Eingabe muss eine Zahl sein! (z.B. 123,45)"
e.Cancel = True
End Try
End If
If _Prozent Then
e.Cancel = False
End If
If _ShortDateOnly Then
If isShortDate(sender.text) Then
e.Cancel = False
Else
e.Cancel = True
End If
End If
If _TimeOnly Then
Me.Text = Me.Text.Replace(",", ":")
Me.Text = Me.Text.Replace("-", ":")
Me.Text = Me.Text.Replace(".", ":")
Me.Text = Me.Text.Replace("/", ":")
Dim regTime1 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9])$")
Dim regTime2 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$")
If _TimeOnly_Seconds Then
If regTime1.IsMatch(sender.Text) Then
Me.Text += ":00"
End If
If regTime2.IsMatch(sender.Text) Then
e.Cancel = False
Else
e.Cancel = True
End If
Else
If regTime1.IsMatch(sender.Text) Then
e.Cancel = False
Else
e.Cancel = True
End If
End If
End If
If e.Cancel Then
'Try
'DirectCast(Me.FindForm, frmKundenblatt).setInfo("err", errMessage & errDescription, 3)
' Catch ex As Exception
MsgBox(errMessage & errDescription)
' End Try
End If
End Sub
Private Sub MyTextBox_Validated(sender As Object, e As EventArgs) Handles Me.Validated
'Wenns stimmt
End Sub
End Class

View File

@@ -0,0 +1,187 @@
Imports System.Windows.Forms
Public Class NumericUpDownColumnRight
Inherits DataGridViewColumn
Public Sub New()
MyBase.New(New NumericUpDownRightCell())
End Sub
Public Overrides Property CellTemplate() As DataGridViewCell
Get
Return MyBase.CellTemplate
End Get
Set(ByVal value As DataGridViewCell)
' Ensure that the cell used for the template is a NumericUpDownCell.
If Not (value Is Nothing) AndAlso Not value.GetType().IsAssignableFrom(GetType(NumericUpDownRightCell)) Then
Throw New InvalidCastException("Must be a NumericUpDown")
End If
MyBase.CellTemplate = value
End Set
End Property
End Class
Public Class NumericUpDownRightCell
Inherits DataGridViewTextBoxCell
Public Sub New()
'Me.Style.Format = "#.##"
End Sub
Public Overrides Sub InitializeEditingControl(ByVal rowIndex As Integer, ByVal initialFormattedValue As Object, ByVal dataGridViewCellStyle As DataGridViewCellStyle)
' Set the value of the editing control to the current cell value.
MyBase.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle)
Dim ctl As NumericUpDownRightEditingControl = CType(DataGridView.EditingControl, NumericUpDownRightEditingControl)
ctl.Minimum = 0
Dim CurrentValue As Decimal = 0
If Not DBNull.Value.Equals(Me.Value) Then
If Not IsNumeric(Me.Value) Then
Me.Value = 0
End If
If Integer.TryParse(Me.Value.ToString, CurrentValue) Then
ctl.Value = CurrentValue
End If
Else
ctl.Value = 0
End If
End Sub
Public Overrides ReadOnly Property EditType() As Type
Get
' Return the type of the editing contol that NumericUpDownCell uses.
Return GetType(NumericUpDownRightEditingControl)
End Get
End Property
Public Overrides ReadOnly Property ValueType() As Type
Get
' Return the type of the value that NumericUpDownCell contains.
Return GetType(Decimal)
End Get
End Property
Public Overrides ReadOnly Property DefaultNewRowValue() As Object
Get
' Use as the current default value.
Return Nothing
End Get
End Property
End Class
Class NumericUpDownRightEditingControl
Inherits NumericUpDown
Implements IDataGridViewEditingControl
Private dataGridViewControl As DataGridView
Private valueIsChanged As Boolean = False
Private rowIndexNum As Integer
Public Sub New()
Me.DecimalPlaces = 0
Me.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.UpDownAlign = System.Windows.Forms.LeftRightAlignment.Right
End Sub
Public Property EditingControlFormattedValue() As Object Implements IDataGridViewEditingControl.EditingControlFormattedValue
Get
Return Me.Value.ToString("#")
End Get
Set(ByVal value As Object)
If TypeOf value Is Decimal Then
Me.Value = Decimal.Parse(CStr(value))
End If
End Set
End Property
Public Function GetEditingControlFormattedValue(ByVal context As DataGridViewDataErrorContexts) As Object _
Implements IDataGridViewEditingControl.GetEditingControlFormattedValue
Return Me.Value.ToString() ' Me.Value.ToString("#.##")
End Function
Public Sub ApplyCellStyleToEditingControl(ByVal dataGridViewCellStyle As DataGridViewCellStyle) _
Implements IDataGridViewEditingControl.ApplyCellStyleToEditingControl
Me.Font = dataGridViewCellStyle.Font
Me.ForeColor = dataGridViewCellStyle.ForeColor
Me.BackColor = dataGridViewCellStyle.BackColor
End Sub
Public Property EditingControlRowIndex() As Integer _
Implements IDataGridViewEditingControl.EditingControlRowIndex
Get
Return rowIndexNum
End Get
Set(ByVal value As Integer)
rowIndexNum = value
End Set
End Property
Public Function EditingControlWantsInputKey(ByVal key As Keys, ByVal dataGridViewWantsInputKey As Boolean) As Boolean Implements IDataGridViewEditingControl.EditingControlWantsInputKey
' Let the NumericUpDown handle the keys listed.
Select Case key And Keys.KeyCode
Case Keys.Left, Keys.Up, Keys.Down, Keys.Right, Keys.Home, Keys.End, Keys.PageDown, Keys.PageUp
Return True
Case Else
Return False
End Select
End Function
Public Sub PrepareEditingControlForEdit(ByVal selectAll As Boolean) _
Implements IDataGridViewEditingControl.PrepareEditingControlForEdit
' No preparation needs to be done.
End Sub
Public ReadOnly Property RepositionEditingControlOnValueChange() As Boolean Implements IDataGridViewEditingControl.RepositionEditingControlOnValueChange
Get
Return False
End Get
End Property
Public Property EditingControlDataGridView() As DataGridView Implements IDataGridViewEditingControl.EditingControlDataGridView
Get
Return dataGridViewControl
End Get
Set(ByVal value As DataGridView)
dataGridViewControl = value
End Set
End Property
Public Property EditingControlValueChanged() As Boolean Implements IDataGridViewEditingControl.EditingControlValueChanged
Get
Return valueIsChanged
End Get
Set(ByVal value As Boolean)
valueIsChanged = value
End Set
End Property
Public ReadOnly Property EditingControlCursor() As Cursor Implements IDataGridViewEditingControl.EditingPanelCursor
Get
Return MyBase.Cursor
End Get
End Property
Protected Overrides Sub OnValueChanged(ByVal eventargs As EventArgs)
' Notify the DataGridView that the contents of the cell have changed.
valueIsChanged = True
Me.EditingControlDataGridView.NotifyCurrentCellDirty(True)
MyBase.OnValueChanged(eventargs)
End Sub
End Class

View File

@@ -0,0 +1,297 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class RichTextBoxEx
Inherits System.Windows.Forms.UserControl
'UserControl1 overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(RichTextBoxEx))
Me.rtb = New System.Windows.Forms.RichTextBox()
Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
Me.NewToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.OpenToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.SaveToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.PrintToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.toolStripSeparator = New System.Windows.Forms.ToolStripSeparator()
Me.FontToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.FontColorToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.BoldToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.UnderlineToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator()
Me.LeftToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.CenterToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.RightToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator()
Me.BulletsToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
Me.CutToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.CopyToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.PasteToolStripButton = New System.Windows.Forms.ToolStripButton()
Me.toolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
Me.SpellChecker = New NetSpell.SpellChecker.Spelling(Me.components)
Me.FontDlg = New System.Windows.Forms.FontDialog()
Me.ColorDlg = New System.Windows.Forms.ColorDialog()
Me.OpenFileDlg = New System.Windows.Forms.OpenFileDialog()
Me.SaveFileDlg = New System.Windows.Forms.SaveFileDialog()
Me.ToolStrip1.SuspendLayout()
Me.SuspendLayout()
'
'rtb
'
Me.rtb.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.rtb.Location = New System.Drawing.Point(0, 25)
Me.rtb.Name = "rtb"
Me.rtb.Size = New System.Drawing.Size(412, 317)
Me.rtb.TabIndex = 0
Me.rtb.Text = ""
'
'ToolStrip1
'
Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NewToolStripButton, Me.OpenToolStripButton, Me.SaveToolStripButton, Me.PrintToolStripButton, Me.toolStripSeparator, Me.FontToolStripButton, Me.FontColorToolStripButton, Me.BoldToolStripButton, Me.UnderlineToolStripButton, Me.ToolStripSeparator4, Me.LeftToolStripButton, Me.CenterToolStripButton, Me.RightToolStripButton, Me.ToolStripSeparator3, Me.BulletsToolStripButton, Me.ToolStripSeparator2, Me.CutToolStripButton, Me.CopyToolStripButton, Me.PasteToolStripButton, Me.toolStripSeparator1})
Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
Me.ToolStrip1.Name = "ToolStrip1"
Me.ToolStrip1.Size = New System.Drawing.Size(412, 25)
Me.ToolStrip1.TabIndex = 1
Me.ToolStrip1.Text = "ToolStrip1"
'
'NewToolStripButton
'
Me.NewToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.NewToolStripButton.Image = CType(resources.GetObject("NewToolStripButton.Image"), System.Drawing.Image)
Me.NewToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.NewToolStripButton.Name = "NewToolStripButton"
Me.NewToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.NewToolStripButton.Text = "&New"
Me.NewToolStripButton.Visible = False
'
'OpenToolStripButton
'
Me.OpenToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.OpenToolStripButton.Image = CType(resources.GetObject("OpenToolStripButton.Image"), System.Drawing.Image)
Me.OpenToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.OpenToolStripButton.Name = "OpenToolStripButton"
Me.OpenToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.OpenToolStripButton.Text = "&Open"
Me.OpenToolStripButton.Visible = False
'
'SaveToolStripButton
'
Me.SaveToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.SaveToolStripButton.Image = CType(resources.GetObject("SaveToolStripButton.Image"), System.Drawing.Image)
Me.SaveToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.SaveToolStripButton.Name = "SaveToolStripButton"
Me.SaveToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.SaveToolStripButton.Text = "&Save"
Me.SaveToolStripButton.Visible = False
'
'PrintToolStripButton
'
Me.PrintToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.PrintToolStripButton.Image = CType(resources.GetObject("PrintToolStripButton.Image"), System.Drawing.Image)
Me.PrintToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.PrintToolStripButton.Name = "PrintToolStripButton"
Me.PrintToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.PrintToolStripButton.Text = "&Print"
Me.PrintToolStripButton.Visible = False
'
'toolStripSeparator
'
Me.toolStripSeparator.Name = "toolStripSeparator"
Me.toolStripSeparator.Size = New System.Drawing.Size(6, 25)
Me.toolStripSeparator.Visible = False
'
'FontToolStripButton
'
Me.FontToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.FontToolStripButton.Image = CType(resources.GetObject("FontToolStripButton.Image"), System.Drawing.Image)
Me.FontToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.FontToolStripButton.Name = "FontToolStripButton"
Me.FontToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.FontToolStripButton.Text = "Font"
'
'FontColorToolStripButton
'
Me.FontColorToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.FontColorToolStripButton.Image = CType(resources.GetObject("FontColorToolStripButton.Image"), System.Drawing.Image)
Me.FontColorToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.FontColorToolStripButton.Name = "FontColorToolStripButton"
Me.FontColorToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.FontColorToolStripButton.Text = "Font Color"
'
'BoldToolStripButton
'
Me.BoldToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.BoldToolStripButton.Image = CType(resources.GetObject("BoldToolStripButton.Image"), System.Drawing.Image)
Me.BoldToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.BoldToolStripButton.Name = "BoldToolStripButton"
Me.BoldToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.BoldToolStripButton.Text = "Bold"
'
'UnderlineToolStripButton
'
Me.UnderlineToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.UnderlineToolStripButton.Image = CType(resources.GetObject("UnderlineToolStripButton.Image"), System.Drawing.Image)
Me.UnderlineToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.UnderlineToolStripButton.Name = "UnderlineToolStripButton"
Me.UnderlineToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.UnderlineToolStripButton.Text = "Underline"
'
'ToolStripSeparator4
'
Me.ToolStripSeparator4.Name = "ToolStripSeparator4"
Me.ToolStripSeparator4.Size = New System.Drawing.Size(6, 25)
'
'LeftToolStripButton
'
Me.LeftToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.LeftToolStripButton.Image = CType(resources.GetObject("LeftToolStripButton.Image"), System.Drawing.Image)
Me.LeftToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.LeftToolStripButton.Name = "LeftToolStripButton"
Me.LeftToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.LeftToolStripButton.Text = "Left"
'
'CenterToolStripButton
'
Me.CenterToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.CenterToolStripButton.Image = CType(resources.GetObject("CenterToolStripButton.Image"), System.Drawing.Image)
Me.CenterToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.CenterToolStripButton.Name = "CenterToolStripButton"
Me.CenterToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.CenterToolStripButton.Text = "Center"
'
'RightToolStripButton
'
Me.RightToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.RightToolStripButton.Image = CType(resources.GetObject("RightToolStripButton.Image"), System.Drawing.Image)
Me.RightToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.RightToolStripButton.Name = "RightToolStripButton"
Me.RightToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.RightToolStripButton.Text = "Right"
'
'ToolStripSeparator3
'
Me.ToolStripSeparator3.Name = "ToolStripSeparator3"
Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 25)
'
'BulletsToolStripButton
'
Me.BulletsToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.BulletsToolStripButton.Image = CType(resources.GetObject("BulletsToolStripButton.Image"), System.Drawing.Image)
Me.BulletsToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.BulletsToolStripButton.Name = "BulletsToolStripButton"
Me.BulletsToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.BulletsToolStripButton.Text = "Bullets"
'
'ToolStripSeparator2
'
Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25)
Me.ToolStripSeparator2.Visible = False
'
'CutToolStripButton
'
Me.CutToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.CutToolStripButton.Image = CType(resources.GetObject("CutToolStripButton.Image"), System.Drawing.Image)
Me.CutToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.CutToolStripButton.Name = "CutToolStripButton"
Me.CutToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.CutToolStripButton.Text = "C&ut"
Me.CutToolStripButton.Visible = False
'
'CopyToolStripButton
'
Me.CopyToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.CopyToolStripButton.Image = CType(resources.GetObject("CopyToolStripButton.Image"), System.Drawing.Image)
Me.CopyToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.CopyToolStripButton.Name = "CopyToolStripButton"
Me.CopyToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.CopyToolStripButton.Text = "&Copy"
Me.CopyToolStripButton.Visible = False
'
'PasteToolStripButton
'
Me.PasteToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.PasteToolStripButton.Image = CType(resources.GetObject("PasteToolStripButton.Image"), System.Drawing.Image)
Me.PasteToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
Me.PasteToolStripButton.Name = "PasteToolStripButton"
Me.PasteToolStripButton.Size = New System.Drawing.Size(23, 22)
Me.PasteToolStripButton.Text = "&Paste"
Me.PasteToolStripButton.Visible = False
'
'toolStripSeparator1
'
Me.toolStripSeparator1.Name = "toolStripSeparator1"
Me.toolStripSeparator1.Size = New System.Drawing.Size(6, 25)
'
'SpellChecker
'
Me.SpellChecker.Dictionary = Nothing
'
'OpenFileDlg
'
Me.OpenFileDlg.FileName = "OpenFileDialog1"
'
'RichTextBoxEx
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.ToolStrip1)
Me.Controls.Add(Me.rtb)
Me.Name = "RichTextBoxEx"
Me.Size = New System.Drawing.Size(412, 342)
Me.ToolStrip1.ResumeLayout(False)
Me.ToolStrip1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Public WithEvents rtb As System.Windows.Forms.RichTextBox
Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
Friend WithEvents NewToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents OpenToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents SaveToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents PrintToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents toolStripSeparator As System.Windows.Forms.ToolStripSeparator
Friend WithEvents CutToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents CopyToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents PasteToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents toolStripSeparator1 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents SpellChecker As NetSpell.SpellChecker.Spelling
Friend WithEvents FontDlg As System.Windows.Forms.FontDialog
Friend WithEvents ColorDlg As System.Windows.Forms.ColorDialog
Friend WithEvents OpenFileDlg As System.Windows.Forms.OpenFileDialog
Friend WithEvents SaveFileDlg As System.Windows.Forms.SaveFileDialog
Friend WithEvents FontToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents FontColorToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents BoldToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents UnderlineToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents LeftToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents CenterToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents RightToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents ToolStripSeparator3 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents BulletsToolStripButton As System.Windows.Forms.ToolStripButton
Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator
End Class

View File

@@ -0,0 +1,299 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="NewToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAERSURBVDhPrZDbSgJRGIXnpewd6jXsjSQvIrwoI0RQMChU
0iiDPCGiE3ZCRkvR8VzTeBhnyR5/ccaZNnPhB4t9sdf6Ln5hb8QeathNJFVFKF5C8DqL4ksDVHWGDf7j
LHyPg6NjviSaFqlu5yQYR+KpupaIkrMknCxT3Y7v/NYYb0ITK1c3BarbWWhLQ7IR0cTKReyZ6lZ0XYei
ztHpK4bAc+h1FgQijzSxMptrGIxVSO0xX3AaStFki7bUMVFmaMm/eJMGfIH/MkGzLep0AXn4h/r3CJV3
mS9gn2bY4UY/UzQ7E9TqfeTFtnuB+XAfzSHKr11kSl/uBebDiZ89ZCst3OUkdwL28sIVsE83ock+EIQV
2Mz2wxeg6/UAAAAASUVORK5CYII=
</value>
</data>
<data name="OpenToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJHSURBVDhPxZBdSNNhFMb/F110ZZEVhVBgeeHNICiiuggp
olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdNKMwr7kApFItTUkWZqVhSVYmao5Nevvy7UoYR3HXh4
4XCe33nOKyy3lAY7l9RWMo0O/raWXxEyo5spVYTNvOGyfIRPfW+ptOkXqaPl6T83hcRmExSdgzAz3NVm
YWyoYla/B+1M9JtxWLPpaH22JORIjI6gKAMB0jyEimIdo4OlbuaprwVMOOMovammpDADc34qppwUrmnl
5Kni3aFlFg2j3y1z5mnRTJccnNIltQhwq0jFry+mOXNtpWZWDx1Z1NhV3C3JwGFOw25SYjVe5oYhiUKd
HKMmwQUrMWUw/CF3NnZvvYKqUh1TvUroS3fXe7HXkwidMngTS2t5KLbregSzMY2f3Wr4qKW6LJvGR1rX
0MLor8OhKYTJBn/GHvvxrliCTBrsOqXIoOBHh5K+hmSq7FqmexTQHuUytkaKxuNMNgYyVneA4Qd7GKjc
hjLaRzxH7gIU6JIZaEvgtk1D8wsxSWecCDgNzWFMvwxm/PkhRmr3Mli1nW9lvjRdWc0Jf+/5jzRmyWmv
S+GOLQu6U6BFjPvqKOP1AYw88WOoZif9DgmfLVtxaj1RSLdwNvrkPCA3M54KqxrnvRia9MKcGrUrqFOt
5H7qKsqT1mGO9+Lqhc2ELdw+U/r0i+gVZ8hMiCDx3DHORwZyKnQ/hw/uYt9uCTskPvh6e7Fp41rWr/Fg
g6eHO+A/lyD8ARfG3mk9fv1YAAAAAElFTkSuQmCC
</value>
</data>
<data name="SaveToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIySURBVDhPrZLfS5NRGMfff6H7boIuuq2pMZyL1eAt11CW
DcOKsB9vpFmaLtNExco0av6CbIVLJ61Wk3BSkT/AFCkRZSpZmrmiJQ41xSaCwdfznL15XEUX0Reem5f3
8znnec4j/Zc8fxYGla91CS3eRTx0z6OpMYS7jmnU1X6B/VYA18snUVoyjsKCt8jLHcH5c36ouCQR2NUJ
1Nas4G9ZXlmFKbULh1Kf8lJxSfI+WeCCyopv6q+/h+DQ/DJ2WV5Ao1FgPegRAveDOS4oLfmq/h6dn/DH
4AJizD4UXJrCAUuzEDgbZrjgou2DiohshIcnQtgme5GTPYbkJKcQ1N8OckHW2REVi+RXuM8fxGaDG4oy
ALPZIQQ11Z+5QDk1oKJ/hjv7P2FTfCMOH3mFxMQ6IbhROYWOdrCnBI4dfwPr0V4+bRoY9UzXppMjcDdS
rC8hy3YhuFI2gTYf2A4Aza4f7N2/o/zaLB8qDYx6zszwr8P7k1thNFYIweXCMXgeAfedq2xxwjClZUeV
Jd2GtDNFETiJwfs8MBjKhMCWN8pgoLoqzE8miH1GjE7G4PsZjE7OQsm9ij2mFg7rdrug1xcJAa2l4w7W
r00Cgk/n38S7wBwC04u4UGxHrMHF4CbEJtyDLj5fCDIzhljfSxzeavRgyw4Zj9t64GvvQ0d3P3pfD2Kv
2QqNvgFxDN6urYdWmyMElJMnevh60obRktA701PRtGlg1DOdSkXwzrisaMG/RZLWAE60OMW5fNhvAAAA
AElFTkSuQmCC
</value>
</data>
<data name="PrintToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIpSURBVDhPtZL/T1JRGMb5p1itrVZbbRpqZbawnBENV1I0
jGlByTSyJTXJwq2oKZQb1KAv6JCYWSxvBrkkZUq4CeQEiRABFeLL072Xa0zRra31bO8v57zP5znnPYf1
X+TxhWF6O7VtGYcnwbSWijKPOLzYrPSvLPwLS3huGUMlT7o9wGD9grVUBj+icdid03S9tDmgNxNwTgVQ
J+rA8XNtWwM+uuZATMwxmQVRycuJFNyzIRitDlScugKzjSgFRGJJaIwEsrk8AsHIhnSL/Ssck37UNipQ
I5DjtuYV7uksRYhr2kebhx2eP6nrycFIEh5fBA/1Nvru8q5+PDaOovK0rABwfwugWzcErfkzHhjsePL6
E7q1VrTdNUDcrgGvSYlDZHN5XTNOnL8BVe8AJAoNDtZfLgDu9L1BPJmikzcrk81hlRwodZJwdBXziwnI
OrVoaOkiT8C8hKLHBPO7CbywOaE1jeC+bhAd6meQdvZC1KoG/5IS3MZ2HObLUHZSggvkWq3wOvbWiAqA
VpWeyStVfCUNf3AZ4zNhfHCFMEDMgye+hYr6FrDLzxQAUuVTpr0ocn74mchg5vsKRt1RcHp2Qv9+kZ78
UcE17KkWFgHNN/uQzgBkGKLJPBZiecyGchjzrmFwPIF++xJUbDbUQzEacIArLpopSRSP4CUN1Obf1Abz
uqob5KjiXwWH/GVl5HPt5zZh37GL2H1EiF1VZ7GDI6CNW5r/TSzWbwHYL0mKJ5czAAAAAElFTkSuQmCC
</value>
</data>
<data name="FontToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABfSURBVDhPvY0LCsAgDEN79N3cWSQQqo2/sQfBiXmZ/UQp
LUdAPhpgeXuAJf5+6umRsODgDlkOoBzDcjqAcoSldGBFdroBiByA8ihTsuLSgCrJATxyGPX2DfEPs1xj
9gIL0Y8M2yQbFgAAAABJRU5ErkJggg==
</value>
</data>
<data name="FontColorToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABfSURBVDhP1Y9bCgAgCAQ7uje3QkV7SGX9NLAkluuWfAC5
OAegDgPSGYIMQilkuyiQQob7egPdbuujFDo0aoHd3kL9jRRzA/sVbo3421sDJ4U+IFn6O9FLih3e6HuD
hBmOGN7KIoUY1gAAAABJRU5ErkJggg==
</value>
</data>
<data name="BoldToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA8SURBVDhP7ctBCgAgEMPA/f+n9broFD2LgV5CWp+NcdgV
OshFFMtFFMtFerzuCh3kIorlIorlSA+196ia6kE6xgBns7MAAAAASUVORK5CYII=
</value>
</data>
<data name="UnderlineToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVDhPYxh+4D8aBgFsYngBNoVEawaBUQOoZUBDQwNY
A5QmyQAQQNZEsmaKADab0fGgAgwMAAIENs2gnDUTAAAAAElFTkSuQmCC
</value>
</data>
<data name="LeftToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAxSURBVDhPYxg04D+ZmHoAm+nYMO0ANtuIwdQD2EzHhmkH
sNlGDKYewGY6Njz8AAMDAGJeR7nOul6/AAAAAElFTkSuQmCC
</value>
</data>
<data name="CenterToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAwSURBVDhP3c2xCQAACMTA339pXSCFSArxIHVyRi3z0YXy
0WWSjy6Ujy6TfHSh/kgacz9HucQTphAAAAAASUVORK5CYII=
</value>
</data>
<data name="RightToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAxSURBVDhPYxg+4D+ZmHYAm23YMPUANtOJwbQD2GzDhqkH
sJlODKYdwGYbNjzggIEBAE1aR7nHB4ecAAAAAElFTkSuQmCC
</value>
</data>
<data name="BulletsToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABkSURBVDhPY6AKyO86WFDQfeg/iIYKkQZAmkNbnvyXta76
DxViYGFi+Y8PQ5VBAMhmkGYgJs8FAw9GA5EKILFiWUFixfL/IBoqRBoAafYsOvpf0jiTvEAE2QzSLGmU
MeQCkYEBAD3tUdo+/cEPAAAAAElFTkSuQmCC
</value>
</data>
<data name="CutToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGDSURBVDhPrZFNSwJRGIX9NYGbFoUlFElY1EJQKEYhCJsi
LaVsERnRF5iCaSZJO1toCDVGFkgoFpWQWWRR2aIvUxm1BKN1wSnHCFw4TOCzue+9nPNw4eVVnav4Izzb
QfxeGZ5TWaxT/rK3irzmC7CsusvC1G4IkbNLboIiDieF4GGUKeTeClDpppF8eeEu2PIfwfrzizSdw3Hk
EnKlFpkMzV2wH77AosOFTV8A+vkl9CiHuJeLJNNZjM8tYWB0FkTvMAwmy/8ERTR6CwjlGAi1Ccence6C
1NsXzN4PKIxJLLgeIJ2MoXvmFraNBKK3eXZRIveJPvs7FIYniEkXZENOdE+GIZ2Ko10TwLK7tJmKmL0F
EEYarYM+NMnt0C1sQzpx/lcSEnZ2gcKY/gs0dlmZuWvmjjmpwA1qxVp2AWFIMAF/OAGBzMjMI7ZrtJCb
4Df3o4Zfxy7QrdxDRFKol5khkpR2H4qmIOzUQNBGwrsXYxccnNOQqNbQ0KGGZ+eEPVwdeLxvqqrf4wGh
TNAAAAAASUVORK5CYII=
</value>
</data>
<data name="CopyToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHkSURBVDhPvZHfS1NhHIf3p5QypLr2D4goMwoMCi/qIugH
Xe1Cr7qKDIMkZixwNhfWLGWbnuki0kXKzLU023KubBNPJrbRdOzocm6e2dPOO21mMS+CHvjcvOf9PF++
79H9M+7RT2iRRsIi9sEAXe43yAvf2LpSHq28G9uAnytNT4jMLewtcQ2Ht2pF8ps/aOt+gccX5lxD694S
+1BQFD1RkN5DSFa4Z3uONKbgHE3h8KZ4OJTC1J8UiSzmfhd2uf1CoJHbyKOsZokl0kKwm+aeJaov+wjO
rpQkVqdXfOz0bWAcVLghfaXxkUz3y2VxvpMGSwL3uMKh+gHezSSLEnNhX23vtYzKUirDfGyFj/Iy1mdx
UWqR8iKhwtQLxjgH659y4EwvVXWPiwJt3/Ws+muywRrlqvkDdx3zQrCN8l1ldnEd3/QqFmkS/akHJYGS
zjLzOUEwEsMf+sLI2zmaOou/93pPGoM5zvk7UU7fnBKxSBPoT7SXBNW1F/9Io2lKCNTCeomUyrS8xnBA
wfUqyf1eP5U1ptJD/o1LzeNCsHPydtqdr6k4aiwvOHvNSya3ibU/QIdrEkvfhJislc32MfYfuV1eUGPw
FF7bIVJVZ0N/soPK421UHGstlFvYd/hWecF/Qqf7CR0A5wwgSQA2AAAAAElFTkSuQmCC
</value>
</data>
<data name="PasteToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVDhPtZJrSJNRGMdf6IN9KbpQn/pUEH2JIoLqQ0Zh
FqYZRmJG1iKmUqKyLB2pqSm6vC1Nm5GXoeatEsVJ0RASR3eNzegikRq5lrV3857Fr/d9ddlICoL+8OfA
Oef/e57zcIT/os7WLMw302muSGJ2689qqi7A44q8IzjtNYzarzHQm8tZtT8FmRqu6LToMxN+B8qhCbGR
KVcDE85ajKUaxoaryEuL4UVXIudPB5Ko2oy98xjDptXERuz3hsgAOTzlqqMk6yjdllzE90UM9Wp5azlB
S1kwkeG+1CSv4mmBQPThfd6Ahqq8GYB4A11yBKmaMLQxoZyLDkGjDiZOFUhUuB+FsWsUQFiArzegtlzH
pFjPpMPA2GA2jucx2KqWK7ZWLqO7dBGP9D5KWLbfto3eAKMhi3FHBeP9GYy9PMXos4OIrYvJrzSRbWjm
wuV6EnVG4tLLiEzSExGf4w0oL05nZEDPaK+akceBuO9v4uPtFUrYo6npbzhdE/QPOQmNSiPouHYOUpaf
gvgqA/dDf9wd63G1r2SgUlAqyyq/1anYUGfG2mdXwne7bOwJUc1AinOS+NxzBpd5HWLbUhyNPvRdF5S2
v05/54tbqvzBifWNHUvPOwLC4/CXwrv2HsB3+w6EwosJOB5ESeElfGpayGD1AmwlArHSm+W2PR1clToo
MrbT0mFTVtlbN6xFuJQar3wQz5Q9VksD+7XyPctrJdx4p5s605M5gKz8lJPSDwtGFbKboJ1blAN52vKb
PdXm80/AfDokTVu+8DfPXv9XCcIPTvjvLQ8YoakAAAAASUVORK5CYII=
</value>
</data>
<metadata name="SpellChecker.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>119, 17</value>
</metadata>
<metadata name="FontDlg.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>234, 17</value>
</metadata>
<metadata name="ColorDlg.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>345, 17</value>
</metadata>
<metadata name="OpenFileDlg.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>459, 17</value>
</metadata>
<metadata name="SaveFileDlg.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>591, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,139 @@
Imports System.Windows.Forms
Public Class RichTextBoxEx
Private Sub RichTextBoxEx_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' Load control
rtb.Focus()
End Sub
' Spell checking thanks to: http://www.codeproject.com/KB/string/netspell.aspx
' Handles when user chooses to delete in spell cehck
Private Sub SpellChecker_DeletedWord(ByVal sender As Object, ByVal e As NetSpell.SpellChecker.SpellingEventArgs) Handles SpellChecker.DeletedWord
'save existing selecting
Dim start As Integer = rtb.SelectionStart
Dim length As Integer = rtb.SelectionLength
'select word for this event
rtb.Select(e.TextIndex, e.Word.Length)
'delete word
rtb.SelectedText = ""
If ((start + length) > rtb.Text.Length) Then
length = 0
End If
'restore selection
rtb.Select(start, length)
End Sub
' Handles replacing a word from spell checking
Private Sub SpellChecker_ReplacedWord(ByVal sender As Object, ByVal e As NetSpell.SpellChecker.ReplaceWordEventArgs) Handles SpellChecker.ReplacedWord
'save existing selecting
Dim start As Integer = rtb.SelectionStart
Dim length As Integer = rtb.SelectionLength
'select word for this event
rtb.Select(e.TextIndex, e.Word.Length)
'replace word
rtb.SelectedText = e.ReplacementWord
If ((start + length) > rtb.Text.Length) Then
length = 0
End If
'restore selection
rtb.Select(start, length)
End Sub
' Update buttons when text is selected
Private Sub rtb_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rtb.SelectionChanged
' see which buttons should be checked or unchecked
BoldToolStripButton.Checked = rtb.SelectionFont.Bold
UnderlineToolStripButton.Checked = rtb.SelectionFont.Underline
LeftToolStripButton.Checked = IIf(rtb.SelectionAlignment = System.Windows.Forms.HorizontalAlignment.Left, True, False)
CenterToolStripButton.Checked = IIf(rtb.SelectionAlignment = System.Windows.Forms.HorizontalAlignment.Center, True, False)
RightToolStripButton.Checked = IIf(rtb.SelectionAlignment = System.Windows.Forms.HorizontalAlignment.Right, True, False)
BulletsToolStripButton.Checked = rtb.SelectionBullet
'cmbFontName.Text = rtb.SelectionFont.Name
'cmbFontSize.Text = rtb.SelectionFont.SizeInPoints
End Sub
Private Sub checkBullets()
If rtb.SelectionBullet = True Then
BulletsToolStripButton.Checked = True
Else
BulletsToolStripButton.Checked = False
End If
End Sub
Private Sub FontToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FontToolStripButton.Click
If FontDlg.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then
rtb.SelectionFont = FontDlg.Font
End If
End Sub
Private Sub FontColorToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FontColorToolStripButton.Click
If ColorDlg.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then
rtb.SelectionColor = ColorDlg.Color
End If
End Sub
Private Sub BoldToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BoldToolStripButton.Click
' Switch Bold
Dim currentFont As System.Drawing.Font = rtb.SelectionFont
Dim newFontStyle As System.Drawing.FontStyle
If rtb.SelectionFont.Bold = True Then
newFontStyle = currentFont.Style - Drawing.FontStyle.Bold
Else
newFontStyle = currentFont.Style + Drawing.FontStyle.Bold
End If
rtb.SelectionFont = New Drawing.Font(currentFont.FontFamily, currentFont.Size, newFontStyle)
' Check/Uncheck Bold button
BoldToolStripButton.Checked = IIf(rtb.SelectionFont.Bold, True, False)
End Sub
Private Sub SpellcheckToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
SpellChecker.Text = rtb.Text
''SpellChecker.SpellCheck()
End Sub
Private Sub UnderlineToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UnderlineToolStripButton.Click
' Switch Underline
Dim currentFont As System.Drawing.Font = rtb.SelectionFont
Dim newFontStyle As System.Drawing.FontStyle
If rtb.SelectionFont.Underline = True Then
newFontStyle = currentFont.Style - Drawing.FontStyle.Underline
Else
newFontStyle = currentFont.Style + Drawing.FontStyle.Underline
End If
rtb.SelectionFont = New Drawing.Font(currentFont.FontFamily, currentFont.Size, newFontStyle)
' Check/Uncheck Underline button
UnderlineToolStripButton.Checked = IIf(rtb.SelectionFont.Underline, True, False)
End Sub
Private Sub LeftToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LeftToolStripButton.Click
rtb.SelectionAlignment = HorizontalAlignment.Left
End Sub
Private Sub CenterToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CenterToolStripButton.Click
rtb.SelectionAlignment = HorizontalAlignment.Center
End Sub
Private Sub RightToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RightToolStripButton.Click
rtb.SelectionAlignment = HorizontalAlignment.Right
End Sub
Private Sub BulletsToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BulletsToolStripButton.Click
rtb.SelectionBullet = Not rtb.SelectionBullet
BulletsToolStripButton.Checked = rtb.SelectionBullet
End Sub
End Class

View File

@@ -0,0 +1,254 @@
'2007 KLEINMA
'www.zerosandtheone.com
Option Strict On
Imports System.Runtime.InteropServices
Imports System.Security.Permissions
Imports System.Windows.Forms
Namespace Kleinma.Controls
Public Class WebBrowserEx
Inherits WebBrowser
Private cookie As AxHost.ConnectionPointCookie
Private helper As WebBrowser2EventHelper
'NEW EVENTS THAT WILL NOW BE EXPOSED
Public Event NewWindow2 As WebBrowserNewWindow2EventHandler
Public Event NavigateError As WebBrowserNavigateErrorEventHandler
'DELEGATES TO HANDLE PROCESSING OF THE EVENTS
Public Delegate Sub WebBrowserNewWindow2EventHandler(ByVal sender As Object, ByVal e As WebBrowserNewWindow2EventArgs)
Public Delegate Sub WebBrowserNavigateErrorEventHandler(ByVal sender As Object, ByVal e As WebBrowserNavigateErrorEventArgs)
#Region " PROTECTED METHODS FOR EXTENDED EVENTS "
Protected Overridable Sub OnNewWindow2(ByVal e As WebBrowserNewWindow2EventArgs)
RaiseEvent NewWindow2(Me, e)
End Sub
Protected Overridable Sub OnNavigateError(ByVal e As WebBrowserNavigateErrorEventArgs)
RaiseEvent NavigateError(Me, e)
End Sub
#End Region
#Region "WB SINK ROUTINES"
<PermissionSetAttribute(SecurityAction.LinkDemand, Name:="FullTrust")> _
Protected Overrides Sub CreateSink()
MyBase.CreateSink()
helper = New WebBrowser2EventHelper(Me)
cookie = New AxHost.ConnectionPointCookie(Me.ActiveXInstance, helper, GetType(DWebBrowserEvents2))
End Sub
<PermissionSetAttribute(SecurityAction.LinkDemand, Name:="FullTrust")> _
Protected Overrides Sub DetachSink()
If cookie IsNot Nothing Then
cookie.Disconnect()
cookie = Nothing
End If
MyBase.DetachSink()
End Sub
#End Region
#Region "PROPERTIES EXPOSED THROUGH THE COM OBJECT"
<System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)> _
<System.Runtime.InteropServices.DispIdAttribute(200)> _
Public ReadOnly Property Application() As Object
Get
If IsNothing(Me.ActiveXInstance) Then
Throw New AxHost.InvalidActiveXStateException("Application", AxHost.ActiveXInvokeKind.PropertyGet)
End If
Return CallByName(Me.ActiveXInstance, "Application", CallType.Get, Nothing)
'THIS IS COMMENTED. UNCOMMENT AND REMOVE LINE BEFORE IF YOU CAN NOT USE CALLBYNAME()
'Return Me.ActiveXInstance.Application
End Get
End Property
<System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)> _
<System.Runtime.InteropServices.DispIdAttribute(552)> _
Public Property RegisterAsBrowser() As Boolean
Get
If IsNothing(Me.ActiveXInstance) Then
Throw New AxHost.InvalidActiveXStateException("RegisterAsBrowser", AxHost.ActiveXInvokeKind.PropertyGet)
End If
Dim RetVal As Boolean = False
If Not Boolean.TryParse(CallByName(Me.ActiveXInstance, "RegisterAsBrowser", CallType.Get, Nothing).ToString, RetVal) Then RetVal = False
Return RetVal
'THIS IS COMMENTED. UNCOMMENT AND REMOVE 3 LINES BEFORE IF YOU CAN NOT USE CALLBYNAME()
'Return Me.ActiveXInstance.RegisterAsBrowser
End Get
Set(ByVal value As Boolean)
If IsNothing(Me.ActiveXInstance) Then
Throw New AxHost.InvalidActiveXStateException("RegisterAsBrowser", AxHost.ActiveXInvokeKind.PropertySet)
End If
CallByName(Me.ActiveXInstance, "RegisterAsBrowser", CallType.Let, True)
'THIS IS COMMENTED. UNCOMMENT AND REMOVE LINE BEFORE IF YOU CAN NOT USE CALLBYNAME()
'Me.ActiveXInstance.RegisterAsBrowser = value
End Set
End Property
#End Region
'HELPER CLASS TO FIRE OFF THE EVENTS
Private Class WebBrowser2EventHelper
Inherits StandardOleMarshalObject
Implements DWebBrowserEvents2
Private parent As WebBrowserEx
Public Sub New(ByVal parent As WebBrowserEx)
Me.parent = parent
End Sub
Public Sub NewWindow2(ByRef ppDisp As Object, ByRef cancel As Boolean) Implements DWebBrowserEvents2.NewWindow2
Dim e As New WebBrowserNewWindow2EventArgs(ppDisp)
Me.parent.OnNewWindow2(e)
ppDisp = e.ppDisp
cancel = e.Cancel
End Sub
Public Sub NavigateError(ByVal pDisp As Object, ByRef URL As Object, ByRef frame As Object, ByRef statusCode As Object, ByRef cancel As Boolean) Implements DWebBrowserEvents2.NavigateError
' Raise the NavigateError event.
Me.parent.OnNavigateError( _
New WebBrowserNavigateErrorEventArgs( _
CStr(URL), CStr(frame), CInt(statusCode), cancel))
End Sub
End Class
' Define constants from winuser.h
Private Const WM_PARENTNOTIFY As Integer = &H210
Private Const WM_DESTROY As Integer = 2
'Define New event to fire
Public Event WBWantsToClose()
Protected Overrides Sub WndProc(ByRef m As Message)
Select Case m.Msg
Case WM_PARENTNOTIFY
If (Not DesignMode) Then
If (CInt(m.WParam) = WM_DESTROY) Then
' Tell whoever cares we are closing
RaiseEvent WBWantsToClose()
End If
End If
DefWndProc(m)
Case Else
MyBase.WndProc(m)
End Select
End Sub
End Class
Public Class WebBrowserNewWindow2EventArgs
Inherits System.ComponentModel.CancelEventArgs
Private ppDispValue As Object
Public Sub New(ByVal ppDisp As Object)
Me.ppDispValue = ppDisp
End Sub
Public Property ppDisp() As Object
Get
Return ppDispValue
End Get
Set(ByVal value As Object)
ppDispValue = value
End Set
End Property
End Class
Public Class WebBrowserNavigateErrorEventArgs
Inherits EventArgs
Private urlValue As String
Private frameValue As String
Private statusCodeValue As Int32
Private cancelValue As Boolean
Public Sub New( _
ByVal url As String, ByVal frame As String, _
ByVal statusCode As Int32, ByVal cancel As Boolean)
Me.urlValue = url
Me.frameValue = frame
Me.statusCodeValue = statusCode
Me.cancelValue = cancel
End Sub
Public Property Url() As String
Get
Return urlValue
End Get
Set(ByVal value As String)
urlValue = value
End Set
End Property
Public Property Frame() As String
Get
Return frameValue
End Get
Set(ByVal value As String)
frameValue = value
End Set
End Property
Public Property StatusCode() As Int32
Get
Return statusCodeValue
End Get
Set(ByVal value As Int32)
statusCodeValue = value
End Set
End Property
Public Property Cancel() As Boolean
Get
Return cancelValue
End Get
Set(ByVal value As Boolean)
cancelValue = value
End Set
End Property
End Class
<ComImport(), Guid("34A715A0-6587-11D0-924A-0020AFC7AC4D"), _
InterfaceType(ComInterfaceType.InterfaceIsIDispatch), _
TypeLibType(TypeLibTypeFlags.FHidden)> _
Public Interface DWebBrowserEvents2
<DispId(DISPID.NEWWINDOW2)> Sub NewWindow2( _
<InAttribute(), OutAttribute(), MarshalAs(UnmanagedType.IDispatch)> ByRef ppDisp As Object, _
<InAttribute(), OutAttribute()> ByRef cancel As Boolean)
<DispId(DISPID.NAVIGATERROR)> Sub NavigateError( _
<InAttribute(), MarshalAs(UnmanagedType.IDispatch)> _
ByVal pDisp As Object, _
<InAttribute()> ByRef URL As Object, _
<InAttribute()> ByRef frame As Object, _
<InAttribute()> ByRef statusCode As Object, _
<InAttribute(), OutAttribute()> ByRef cancel As Boolean)
End Interface
Public Enum DISPID
NEWWINDOW2 = 251
NAVIGATERROR = 271
End Enum
End Namespace

View File

@@ -0,0 +1,223 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmPDFScanList
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.FlowLayoutPanel = New System.Windows.Forms.FlowLayoutPanel()
Me.cntxtMulti = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.DateiScannenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.DateiHochladenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.AlsEmailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
Me.ArchivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.pnlTop = New System.Windows.Forms.Panel()
Me.lblDateien = New System.Windows.Forms.Label()
Me.FlatButton1 = New VERAG_PROG_ALLGEMEIN.FlatButton()
Me.listlOld = New System.Windows.Forms.FlowLayoutPanel()
Me.pnlOldHeader = New System.Windows.Forms.Panel()
Me.Label1 = New System.Windows.Forms.Label()
Me.cntxtMulti.SuspendLayout()
Me.pnlTop.SuspendLayout()
Me.pnlOldHeader.SuspendLayout()
Me.SuspendLayout()
'
'FlowLayoutPanel
'
Me.FlowLayoutPanel.AutoSize = True
Me.FlowLayoutPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.FlowLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill
Me.FlowLayoutPanel.FlowDirection = System.Windows.Forms.FlowDirection.TopDown
Me.FlowLayoutPanel.Location = New System.Drawing.Point(0, 20)
Me.FlowLayoutPanel.Margin = New System.Windows.Forms.Padding(1)
Me.FlowLayoutPanel.MaximumSize = New System.Drawing.Size(200, 500)
Me.FlowLayoutPanel.Name = "FlowLayoutPanel"
Me.FlowLayoutPanel.Size = New System.Drawing.Size(200, 14)
Me.FlowLayoutPanel.TabIndex = 1
'
'cntxtMulti
'
Me.cntxtMulti.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.cntxtMulti.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiScannenToolStripMenuItem, Me.DateiHochladenToolStripMenuItem, Me.ToolStripSeparator1, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEmailSendenToolStripMenuItem, Me.ToolStripSeparator2, Me.ArchivierenToolStripMenuItem})
Me.cntxtMulti.Name = "cntxt"
Me.cntxtMulti.Size = New System.Drawing.Size(218, 126)
'
'DateiScannenToolStripMenuItem
'
Me.DateiScannenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner
Me.DateiScannenToolStripMenuItem.Name = "DateiScannenToolStripMenuItem"
Me.DateiScannenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.DateiScannenToolStripMenuItem.Text = "Datei scannen..."
'
'DateiHochladenToolStripMenuItem
'
Me.DateiHochladenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf
Me.DateiHochladenToolStripMenuItem.Name = "DateiHochladenToolStripMenuItem"
Me.DateiHochladenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.DateiHochladenToolStripMenuItem.Text = "Datei hochladen..."
'
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6)
'
'KopierenZwischenablageToolStripMenuItem
'
Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem"
Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)"
'
'AlsEmailSendenToolStripMenuItem
'
Me.AlsEmailSendenToolStripMenuItem.Name = "AlsEmailSendenToolStripMenuItem"
Me.AlsEmailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.AlsEmailSendenToolStripMenuItem.Text = "Als Email senden"
'
'ToolStripSeparator2
'
Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
Me.ToolStripSeparator2.Size = New System.Drawing.Size(214, 6)
'
'ArchivierenToolStripMenuItem
'
Me.ArchivierenToolStripMenuItem.Name = "ArchivierenToolStripMenuItem"
Me.ArchivierenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.ArchivierenToolStripMenuItem.Text = "Archivieren"
'
'pnlTop
'
Me.pnlTop.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
Me.pnlTop.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.pnlTop.Controls.Add(Me.lblDateien)
Me.pnlTop.Controls.Add(Me.FlatButton1)
Me.pnlTop.Dock = System.Windows.Forms.DockStyle.Top
Me.pnlTop.Location = New System.Drawing.Point(0, 0)
Me.pnlTop.Name = "pnlTop"
Me.pnlTop.Size = New System.Drawing.Size(222, 20)
Me.pnlTop.TabIndex = 4
'
'lblDateien
'
Me.lblDateien.AutoSize = True
Me.lblDateien.Location = New System.Drawing.Point(4, 3)
Me.lblDateien.Name = "lblDateien"
Me.lblDateien.Size = New System.Drawing.Size(47, 13)
Me.lblDateien.TabIndex = 1
Me.lblDateien.Text = "Dateien:"
'
'FlatButton1
'
Me.FlatButton1.allowBorder = False
Me.FlatButton1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.FlatButton1.BackColor = System.Drawing.Color.Red
Me.FlatButton1.FlatAppearance.BorderSize = 0
Me.FlatButton1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.FlatButton1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.FlatButton1.ForeColor = System.Drawing.Color.White
Me.FlatButton1.Location = New System.Drawing.Point(194, 0)
Me.FlatButton1.Name = "FlatButton1"
Me.FlatButton1.Size = New System.Drawing.Size(26, 20)
Me.FlatButton1.TabIndex = 0
Me.FlatButton1.Text = "X"
Me.FlatButton1.UseVisualStyleBackColor = False
'
'listlOld
'
Me.listlOld.AutoSize = True
Me.listlOld.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.listlOld.Dock = System.Windows.Forms.DockStyle.Bottom
Me.listlOld.FlowDirection = System.Windows.Forms.FlowDirection.TopDown
Me.listlOld.Location = New System.Drawing.Point(0, 49)
Me.listlOld.Margin = New System.Windows.Forms.Padding(1)
Me.listlOld.MaximumSize = New System.Drawing.Size(200, 200)
Me.listlOld.MinimumSize = New System.Drawing.Size(2, 10)
Me.listlOld.Name = "listlOld"
Me.listlOld.Size = New System.Drawing.Size(200, 10)
Me.listlOld.TabIndex = 5
Me.listlOld.Visible = False
'
'pnlOldHeader
'
Me.pnlOldHeader.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
Me.pnlOldHeader.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.pnlOldHeader.Controls.Add(Me.Label1)
Me.pnlOldHeader.Dock = System.Windows.Forms.DockStyle.Bottom
Me.pnlOldHeader.Location = New System.Drawing.Point(0, 34)
Me.pnlOldHeader.Name = "pnlOldHeader"
Me.pnlOldHeader.Size = New System.Drawing.Size(222, 15)
Me.pnlOldHeader.TabIndex = 6
Me.pnlOldHeader.Visible = False
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(4, 0)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(40, 13)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Archiv:"
'
'frmPDFScanList
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.AutoScroll = True
Me.AutoSize = True
Me.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(222, 59)
Me.Controls.Add(Me.FlowLayoutPanel)
Me.Controls.Add(Me.pnlOldHeader)
Me.Controls.Add(Me.pnlTop)
Me.Controls.Add(Me.listlOld)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.MaximumSize = New System.Drawing.Size(222, 300)
Me.MinimumSize = New System.Drawing.Size(220, 24)
Me.Name = "frmPDFScanList"
Me.Text = "frmPDFScanList"
Me.cntxtMulti.ResumeLayout(False)
Me.pnlTop.ResumeLayout(False)
Me.pnlTop.PerformLayout()
Me.pnlOldHeader.ResumeLayout(False)
Me.pnlOldHeader.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Public WithEvents FlowLayoutPanel As System.Windows.Forms.FlowLayoutPanel
Friend WithEvents cntxtMulti As System.Windows.Forms.ContextMenuStrip
Friend WithEvents DateiScannenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents DateiHochladenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents pnlTop As System.Windows.Forms.Panel
Friend WithEvents FlatButton1 As VERAG_PROG_ALLGEMEIN.FlatButton
Friend WithEvents lblDateien As System.Windows.Forms.Label
Public WithEvents listlOld As System.Windows.Forms.FlowLayoutPanel
Friend WithEvents Label1 As System.Windows.Forms.Label
Public WithEvents pnlOldHeader As System.Windows.Forms.Panel
Friend WithEvents ArchivierenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem
Friend WithEvents AlsEmailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator
Friend WithEvents ToolStripSeparator2 As Windows.Forms.ToolStripSeparator
End Class

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="cntxtMulti.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,62 @@
Imports System.Windows.Forms
Public Class frmPDFScanList
Public KdNr As Integer = -1
'Dim DATENSERVER As New cDATENSERVER
Public _DATENSERVER_ORDNER As String = ""
Public _TEXT_PDF As String = ""
' Public ScanID As String = ""
' Public pdf_Path As String = ""
Public Event FileAdded(ScanID As Integer, path As String, name As String)
Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub New(KdNr, _DATENSERVER_ORDNER, _TEXT_PDF)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.KdNr = KdNr
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
Me.Close()
End Sub
Private Sub frmPDFScanList_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Me.Location = Windows.Forms.Cursor.Position
End Sub
Private Sub frmPDFScanList_LostFocus(sender As Object, e As EventArgs) Handles Me.Deactivate, Me.LostFocus
''Threading.Thread.Sleep(100)
'For Each c In Me.FlowLayoutPanel.Controls
' If DirectCast(c, usrCntLPDFScanSimple).cntxt.Visible Then
' Exit Sub
' End If
'Next
'For Each c In Me.listlOld.Controls
' If DirectCast(c, usrCntLPDFScanSimple).cntxt.Visible Then
' Exit Sub
' End If
'Next
Dim trd = New System.Threading.Thread(AddressOf Me.threadClose)
trd.IsBackground = True
trd.Start()
End Sub
Sub threadClose()
Threading.Thread.Sleep(100)
If Form.ActiveForm Is Nothing Then Exit Sub
If Me IsNot Form.ActiveForm Then Me.Close()
End Sub
End Class

View File

@@ -0,0 +1,141 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class usrCntLPDFScanSimple
Inherits System.Windows.Forms.UserControl
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.txt = New System.Windows.Forms.Label()
Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.UmbenennenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.AlsEmailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
Me.ArchivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.picPDF = New System.Windows.Forms.PictureBox()
Me.cntxt.SuspendLayout()
CType(Me.picPDF, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'txt
'
Me.txt.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.txt.AutoSize = True
Me.txt.Cursor = System.Windows.Forms.Cursors.Hand
Me.txt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txt.Location = New System.Drawing.Point(30, 3)
Me.txt.Name = "txt"
Me.txt.Size = New System.Drawing.Size(109, 13)
Me.txt.TabIndex = 3
Me.txt.Text = "Kostenaufstellung.pdf"
Me.txt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'cntxt
'
Me.cntxt.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.cntxt.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UmbenennenToolStripMenuItem, Me.LöschenToolStripMenuItem, Me.ToolStripSeparator2, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEmailSendenToolStripMenuItem, Me.ToolStripSeparator1, Me.ArchivierenToolStripMenuItem})
Me.cntxt.Name = "cntxt"
Me.cntxt.Size = New System.Drawing.Size(218, 126)
'
'UmbenennenToolStripMenuItem
'
Me.UmbenennenToolStripMenuItem.Name = "UmbenennenToolStripMenuItem"
Me.UmbenennenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.UmbenennenToolStripMenuItem.Text = "Umbenennen"
'
'LöschenToolStripMenuItem
'
Me.LöschenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.del
Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem"
Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.LöschenToolStripMenuItem.Text = "Löschen"
'
'ToolStripSeparator2
'
Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
Me.ToolStripSeparator2.Size = New System.Drawing.Size(214, 6)
'
'KopierenZwischenablageToolStripMenuItem
'
Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem"
Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)"
'
'AlsEmailSendenToolStripMenuItem
'
Me.AlsEmailSendenToolStripMenuItem.Name = "AlsEmailSendenToolStripMenuItem"
Me.AlsEmailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.AlsEmailSendenToolStripMenuItem.Text = "Als Email senden"
'
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6)
'
'ArchivierenToolStripMenuItem
'
Me.ArchivierenToolStripMenuItem.Name = "ArchivierenToolStripMenuItem"
Me.ArchivierenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.ArchivierenToolStripMenuItem.Text = "Archivieren"
'
'picPDF
'
Me.picPDF.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf
Me.picPDF.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.picPDF.Cursor = System.Windows.Forms.Cursors.Hand
Me.picPDF.Location = New System.Drawing.Point(-1, 2)
Me.picPDF.Name = "picPDF"
Me.picPDF.Size = New System.Drawing.Size(29, 15)
Me.picPDF.TabIndex = 2
Me.picPDF.TabStop = False
'
'usrCntLPDFScanSimple
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.ContextMenuStrip = Me.cntxt
Me.Controls.Add(Me.txt)
Me.Controls.Add(Me.picPDF)
Me.Margin = New System.Windows.Forms.Padding(1)
Me.Name = "usrCntLPDFScanSimple"
Me.Size = New System.Drawing.Size(218, 20)
Me.cntxt.ResumeLayout(False)
CType(Me.picPDF, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents txt As System.Windows.Forms.Label
Friend WithEvents picPDF As System.Windows.Forms.PictureBox
Friend WithEvents cntxt As System.Windows.Forms.ContextMenuStrip
Friend WithEvents LöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents UmbenennenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents ArchivierenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripSeparator2 As Windows.Forms.ToolStripSeparator
Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem
Friend WithEvents AlsEmailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator
End Class

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="cntxt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,72 @@
Imports System.IO
Public Class usrCntLPDFScanSimple
Public ScanID As String = ""
Public pdf_Path As String = ""
Public bezeichnung As String = ""
Public archived As Boolean = False
Public Event DELETE(ScanID As Integer, bezeichnung As String)
Public Event RENAME(ScanID As Integer, bezeichnung As String)
Public Event ARCHIV(ScanID As Integer, bezeichnung As String)
Public Event CLIPBOARD(ScanID As Integer, bezeichnung As String)
Public Event OPEN_MAIL(ScanID As Integer, bezeichnung As String)
Public Event CLICKED()
Sub New(ScanID, pdf_Path, bezeichnung, archived)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
Me.ScanID = ScanID
Me.pdf_Path = pdf_Path
Me.bezeichnung = bezeichnung
txt.Text = bezeichnung
Me.archived = archived
End Sub
Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL") Then RaiseEvent DELETE(ScanID, bezeichnung)
End Sub
Private Sub txt_Click(sender As Object, e As EventArgs) Handles txt.Click, Me.Click, picPDF.Click
If File.Exists(pdf_Path) Then
' Process.Start(pdf_Path)
Process.Start(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(pdf_Path, bezeichnung))
RaiseEvent CLICKED()
End If
End Sub
Private Sub usrCntLPDFScanSimple_Load(sender As Object, e As EventArgs) Handles Me.Load
If archived Then
ArchivierenToolStripMenuItem.Text = "Wiederherstellen"
Me.picPDF.BackgroundImage = My.Resources.pdf_gray
End If
LöschenToolStripMenuItem.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL")
End Sub
Private Sub usrcntlPDFScan_MouseHover(sender As Object, e As EventArgs) Handles Me.MouseEnter, txt.MouseEnter, picPDF.MouseEnter
Me.BackColor = Drawing.Color.LightGray
End Sub
Private Sub usrcntlPDFScan_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave, txt.MouseLeave, picPDF.MouseLeave
Me.BackColor = Drawing.Color.White
End Sub
Private Sub UmbenennenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UmbenennenToolStripMenuItem.Click
RaiseEvent RENAME(ScanID, bezeichnung)
End Sub
Private Sub ArchivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ArchivierenToolStripMenuItem.Click
RaiseEvent ARCHIV(ScanID, bezeichnung)
End Sub
Private Sub KopierenZwischenablageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopierenZwischenablageToolStripMenuItem.Click
RaiseEvent CLIPBOARD(ScanID, bezeichnung)
End Sub
Private Sub AlsEmailSendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsEmailSendenToolStripMenuItem.Click
RaiseEvent OPEN_MAIL(ScanID, bezeichnung)
End Sub
End Class

View File

@@ -0,0 +1,56 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class usrCntlTestsystem
Inherits System.Windows.Forms.UserControl
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.lblTESTSYSTEM = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'lblTESTSYSTEM
'
Me.lblTESTSYSTEM.AutoSize = True
Me.lblTESTSYSTEM.Location = New System.Drawing.Point(-4, 0)
Me.lblTESTSYSTEM.Margin = New System.Windows.Forms.Padding(5, 0, 5, 0)
Me.lblTESTSYSTEM.Name = "lblTESTSYSTEM"
Me.lblTESTSYSTEM.Size = New System.Drawing.Size(146, 24)
Me.lblTESTSYSTEM.TabIndex = 0
Me.lblTESTSYSTEM.Text = "TESTSYSTEM"
Me.lblTESTSYSTEM.Visible = False
'
'usrCntlTestsystem
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(12.0!, 24.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.Transparent
Me.Controls.Add(Me.lblTESTSYSTEM)
Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.ForeColor = System.Drawing.Color.Red
Me.Margin = New System.Windows.Forms.Padding(5, 6, 5, 6)
Me.Name = "usrCntlTestsystem"
Me.Size = New System.Drawing.Size(152, 28)
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents lblTESTSYSTEM As System.Windows.Forms.Label
End Class

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,8 @@
Public Class usrCntlTestsystem
' Private Sub usrCntlTestsystem_Load(sender As Object, e As EventArgs) Handles Me.Load
' lblTESTSYSTEM.Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
' End Sub
Private Sub usrCntlTestsystem_Load(sender As Object, e As EventArgs) Handles Me.Layout
lblTESTSYSTEM.Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
End Sub
End Class

View File

@@ -0,0 +1,133 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class usrcntlKdSearch
Inherits System.Windows.Forms.UserControl
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.dgvKundenAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.pnl = New System.Windows.Forms.Panel()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.lblClose = New System.Windows.Forms.Label()
Me.lblINAKTIVEKunden = New System.Windows.Forms.Label()
Me.dgvKundenInAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.DirectoryEntry1 = New System.DirectoryServices.DirectoryEntry()
CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pnl.SuspendLayout()
Me.Panel1.SuspendLayout()
CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'dgvKundenAktiv
'
Me.dgvKundenAktiv.AKTUALISIERUNGS_INTERVALL = -1
Me.dgvKundenAktiv.BackgroundColor = System.Drawing.Color.White
Me.dgvKundenAktiv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dgvKundenAktiv.Dock = System.Windows.Forms.DockStyle.Fill
Me.dgvKundenAktiv.Location = New System.Drawing.Point(0, 0)
Me.dgvKundenAktiv.Name = "dgvKundenAktiv"
Me.dgvKundenAktiv.Size = New System.Drawing.Size(564, 243)
Me.dgvKundenAktiv.TabIndex = 0
'
'pnl
'
Me.pnl.AutoSize = True
Me.pnl.BackColor = System.Drawing.Color.White
Me.pnl.Controls.Add(Me.dgvKundenAktiv)
Me.pnl.Controls.Add(Me.Panel1)
Me.pnl.Controls.Add(Me.dgvKundenInAktiv)
Me.pnl.Location = New System.Drawing.Point(2, 3)
Me.pnl.Name = "pnl"
Me.pnl.Size = New System.Drawing.Size(564, 374)
Me.pnl.TabIndex = 1
'
'Panel1
'
Me.Panel1.BackColor = System.Drawing.SystemColors.InactiveCaption
Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.Panel1.Controls.Add(Me.lblClose)
Me.Panel1.Controls.Add(Me.lblINAKTIVEKunden)
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.Panel1.Location = New System.Drawing.Point(0, 243)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(564, 16)
Me.Panel1.TabIndex = 3
'
'lblClose
'
Me.lblClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.lblClose.AutoSize = True
Me.lblClose.Cursor = System.Windows.Forms.Cursors.Hand
Me.lblClose.Font = New System.Drawing.Font("Arial Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblClose.ForeColor = System.Drawing.Color.Red
Me.lblClose.Location = New System.Drawing.Point(542, -5)
Me.lblClose.Margin = New System.Windows.Forms.Padding(0)
Me.lblClose.Name = "lblClose"
Me.lblClose.Size = New System.Drawing.Size(22, 23)
Me.lblClose.TabIndex = 17
Me.lblClose.Text = "X"
'
'lblINAKTIVEKunden
'
Me.lblINAKTIVEKunden.AutoSize = True
Me.lblINAKTIVEKunden.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblINAKTIVEKunden.Location = New System.Drawing.Point(3, 0)
Me.lblINAKTIVEKunden.Name = "lblINAKTIVEKunden"
Me.lblINAKTIVEKunden.Size = New System.Drawing.Size(96, 13)
Me.lblINAKTIVEKunden.TabIndex = 2
Me.lblINAKTIVEKunden.Text = "INAKTIVE Kunden:"
'
'dgvKundenInAktiv
'
Me.dgvKundenInAktiv.AKTUALISIERUNGS_INTERVALL = -1
Me.dgvKundenInAktiv.BackgroundColor = System.Drawing.Color.White
Me.dgvKundenInAktiv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dgvKundenInAktiv.Dock = System.Windows.Forms.DockStyle.Bottom
Me.dgvKundenInAktiv.Location = New System.Drawing.Point(0, 259)
Me.dgvKundenInAktiv.Name = "dgvKundenInAktiv"
Me.dgvKundenInAktiv.Size = New System.Drawing.Size(564, 115)
Me.dgvKundenInAktiv.TabIndex = 1
'
'usrcntlKdSearch
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.SystemColors.MenuHighlight
Me.Controls.Add(Me.pnl)
Me.Name = "usrcntlKdSearch"
Me.Size = New System.Drawing.Size(570, 380)
CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).EndInit()
Me.pnl.ResumeLayout(False)
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents pnl As System.Windows.Forms.Panel
Friend WithEvents Panel1 As System.Windows.Forms.Panel
Friend WithEvents lblINAKTIVEKunden As System.Windows.Forms.Label
Public WithEvents dgvKundenAktiv As MyDatagridview
Public WithEvents dgvKundenInAktiv As MyDatagridview
Public WithEvents lblClose As System.Windows.Forms.Label
Friend WithEvents DirectoryEntry1 As System.DirectoryServices.DirectoryEntry
End Class

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="DirectoryEntry1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,50 @@
Imports System.Windows.Forms
Imports System.Drawing
Public Class usrcntlKdSearch
Public Event DGV_Click(sender As Object, e As EventArgs)
Public Event DGV_INAKTIV_Click(sender As Object, e As EventArgs)
Public Event DGV_KeyDown(sender As Object, e As KeyEventArgs)
Public Event DGV_INAKTIV_KeyDown(sender As Object, e As KeyEventArgs)
Public Event CLOSE(sender As Object, e As EventArgs)
Private Sub dgvKundenAktiv_Click(sender As Object, e As EventArgs) Handles dgvKundenAktiv.Click
RaiseEvent DGV_Click(sender, e)
End Sub
Private Sub dgvKundenInAktiv_Click(sender As Object, e As EventArgs) Handles dgvKundenInAktiv.Click
RaiseEvent DGV_INAKTIV_Click(sender, e)
End Sub
Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles dgvKundenAktiv.KeyDown
RaiseEvent DGV_KeyDown(sender, e)
End Sub
Private Sub dgvFindKD_INAKTIV_Click(sender As Object, e As KeyEventArgs) Handles dgvKundenInAktiv.KeyDown
RaiseEvent DGV_INAKTIV_KeyDown(sender, e)
End Sub
Private Sub usrcntlKdSearch_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
Me.pnl.Location = New Point(2, 2)
Me.pnl.Size = New Size(Me.Width - 4, Me.Height - 4)
End Sub
Private Sub lblClose_Click(sender As Object, e As EventArgs) Handles lblClose.Click
RaiseEvent CLOSE(sender, e)
End Sub
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
Try
MyBase.OnPaint(e)
Catch ex As Exception
Me.Invalidate()
End Try
End Sub
Private Sub dgvKundenAktiv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvKundenAktiv.CellContentClick
RaiseEvent DGV_Click(sender, e)
End Sub
End Class

View File

@@ -0,0 +1,188 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class usrcntlPDFScan
Inherits System.Windows.Forms.UserControl
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.txt = New System.Windows.Forms.Label()
Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.DateiScannenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.DateiHochladenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.AlsEMailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.picPDF = New System.Windows.Forms.PictureBox()
Me.cntxtMulti = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem()
Me.ArchivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.cntxt.SuspendLayout()
CType(Me.picPDF, System.ComponentModel.ISupportInitialize).BeginInit()
Me.cntxtMulti.SuspendLayout()
Me.SuspendLayout()
'
'txt
'
Me.txt.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.txt.ContextMenuStrip = Me.cntxt
Me.txt.Cursor = System.Windows.Forms.Cursors.Hand
Me.txt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txt.Location = New System.Drawing.Point(31, -1)
Me.txt.Name = "txt"
Me.txt.Size = New System.Drawing.Size(133, 24)
Me.txt.TabIndex = 1
Me.txt.Text = "Kostenaufstellung.pdf"
Me.txt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'cntxt
'
Me.cntxt.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.cntxt.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiScannenToolStripMenuItem, Me.DateiHochladenToolStripMenuItem, Me.ToolStripSeparator2, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEMailSendenToolStripMenuItem, Me.ToolStripSeparator1, Me.LöschenToolStripMenuItem})
Me.cntxt.Name = "cntxt"
Me.cntxt.Size = New System.Drawing.Size(218, 126)
'
'DateiScannenToolStripMenuItem
'
Me.DateiScannenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner
Me.DateiScannenToolStripMenuItem.Name = "DateiScannenToolStripMenuItem"
Me.DateiScannenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.DateiScannenToolStripMenuItem.Text = "Datei scannen..."
'
'DateiHochladenToolStripMenuItem
'
Me.DateiHochladenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf
Me.DateiHochladenToolStripMenuItem.Name = "DateiHochladenToolStripMenuItem"
Me.DateiHochladenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.DateiHochladenToolStripMenuItem.Text = "Datei hochladen..."
'
'ToolStripSeparator2
'
Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
Me.ToolStripSeparator2.Size = New System.Drawing.Size(214, 6)
'
'KopierenZwischenablageToolStripMenuItem
'
Me.KopierenZwischenablageToolStripMenuItem.Enabled = False
Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem"
Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)"
'
'AlsEMailSendenToolStripMenuItem
'
Me.AlsEMailSendenToolStripMenuItem.Enabled = False
Me.AlsEMailSendenToolStripMenuItem.Name = "AlsEMailSendenToolStripMenuItem"
Me.AlsEMailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.AlsEMailSendenToolStripMenuItem.Text = "Als E-Mail senden"
'
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6)
'
'LöschenToolStripMenuItem
'
Me.LöschenToolStripMenuItem.Enabled = False
Me.LöschenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.del
Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem"
Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.LöschenToolStripMenuItem.Text = "Löschen"
'
'picPDF
'
Me.picPDF.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.picPDF.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf_gray
Me.picPDF.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.picPDF.ContextMenuStrip = Me.cntxt
Me.picPDF.Cursor = System.Windows.Forms.Cursors.Hand
Me.picPDF.Location = New System.Drawing.Point(0, 2)
Me.picPDF.Name = "picPDF"
Me.picPDF.Size = New System.Drawing.Size(29, 20)
Me.picPDF.TabIndex = 0
Me.picPDF.TabStop = False
'
'cntxtMulti
'
Me.cntxtMulti.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.cntxtMulti.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1, Me.ToolStripMenuItem2, Me.ArchivierenToolStripMenuItem})
Me.cntxtMulti.Name = "cntxt"
Me.cntxtMulti.Size = New System.Drawing.Size(181, 92)
'
'ToolStripMenuItem1
'
Me.ToolStripMenuItem1.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner
Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
Me.ToolStripMenuItem1.Size = New System.Drawing.Size(180, 22)
Me.ToolStripMenuItem1.Text = "+ Datei scannen..."
'
'ToolStripMenuItem2
'
Me.ToolStripMenuItem2.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf
Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2"
Me.ToolStripMenuItem2.Size = New System.Drawing.Size(180, 22)
Me.ToolStripMenuItem2.Text = "+ Datei hochladen..."
'
'ArchivierenToolStripMenuItem
'
Me.ArchivierenToolStripMenuItem.Name = "ArchivierenToolStripMenuItem"
Me.ArchivierenToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
Me.ArchivierenToolStripMenuItem.Text = "Archivieren"
Me.ArchivierenToolStripMenuItem.Visible = False
'
'usrcntlPDFScan
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
Me.BackColor = System.Drawing.Color.White
Me.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.ContextMenuStrip = Me.cntxt
Me.Controls.Add(Me.txt)
Me.Controls.Add(Me.picPDF)
Me.Cursor = System.Windows.Forms.Cursors.Hand
Me.Name = "usrcntlPDFScan"
Me.Size = New System.Drawing.Size(163, 24)
Me.cntxt.ResumeLayout(False)
CType(Me.picPDF, System.ComponentModel.ISupportInitialize).EndInit()
Me.cntxtMulti.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
Friend WithEvents picPDF As System.Windows.Forms.PictureBox
Friend WithEvents txt As System.Windows.Forms.Label
Friend WithEvents cntxt As System.Windows.Forms.ContextMenuStrip
Friend WithEvents DateiScannenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents DateiHochladenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents LöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cntxtMulti As System.Windows.Forms.ContextMenuStrip
Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripSeparator2 As Windows.Forms.ToolStripSeparator
Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem
Friend WithEvents AlsEMailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator
Friend WithEvents ArchivierenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
End Class

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="cntxt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="cntxtMulti.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>124, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,420 @@
Imports System.Windows.Forms
Imports System.IO
Imports Microsoft.Office.Interop
Public Class usrcntlPDFScan
Public Property _TEXT_PDF As String
Public Property _DATENSERVER_KATEGORIE As String = "DOKUMENTE"
Public Property _DATENSERVER_ORDNER As String = ""
Public Property _DATENSERVER_UOrdner1 As String = ""
Public Property _DATENSERVER_UOrdner2 As String = ""
Public Property _DATENSERVER_UOrdner3 As String = ""
Public Property _MULTI_FILES As Boolean = False
Public Property _ARCHIV As Boolean = False
' Public pdf_Path As String = ""
Dim KdNr As Integer = -1
'Dim DATENSERVER As New cDATENSERVER
' Public ScanID As Integer = -1
Public COLL_ID As Integer = -1
'Dim DatenserverIDCollection As New cDatenserverIDCollectionList
Dim DS As VERAG_PROG_ALLGEMEIN.cDATENSERVER
Public Event FileAdded(id As String, path As String, name As String)
Private Sub usrcntlPDFScan_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
Me.txt.Text = _TEXT_PDF
End Sub
Public Sub INIT(KdNr)
Me.KdNr = KdNr
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
initPdf()
End Sub
Public Sub INIT(KdNr, _DATENSERVER_UOrdner1)
Me.KdNr = KdNr
Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
initPdf()
End Sub
Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2)
Me.KdNr = KdNr
Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
initPdf()
End Sub
Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3)
Me.KdNr = KdNr
Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2
Me._DATENSERVER_UOrdner3 = _DATENSERVER_UOrdner3
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
initPdf()
End Sub
Private Sub usrcntlPDFScan_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.AllowDrop = True
Me.txt.Text = _TEXT_PDF
If _MULTI_FILES Then
Me.ContextMenuStrip = cntxtMulti
txt.ContextMenuStrip = cntxtMulti
picPDF.ContextMenuStrip = cntxtMulti
' Else
' If DatenserverIDCollection.Count > 0 Then
'pdf_Path = DATENSERVER.getPathById(ScanID)
' End If
End If
End Sub
Public Fill
' Sub addId(id)
' If id > 0 Then
' ScanID = id
' pdf_Path = DATENSERVER.getPathById(ScanID)
' initPdf()
' End If
' End Sub
Sub initPdf()
If DS Is Nothing Then Exit Sub
txt.Name = _TEXT_PDF
If DS.DATA_LIST.LIST.Count > 0 Then
picPDF.Enabled = True
txt.Enabled = True
' picScanner.Visible = False
picPDF.BackgroundImage = My.Resources.pdf
setCursorHand(Me)
setCursorHand(picPDF)
setCursorHand(txt)
' del.Visible = True
If Not _MULTI_FILES Then LöschenToolStripMenuItem.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL")
KopierenZwischenablageToolStripMenuItem.Enabled = True
AlsEMailSendenToolStripMenuItem.Enabled = True
Else
picPDF.Enabled = False
txt.Enabled = False
picPDF.BackgroundImage = My.Resources.pdf_gray
'picScanner.Visible = True
setCursorDefalut(Me)
setCursorDefalut(picPDF)
setCursorDefalut(txt)
' del.Visible = False
LöschenToolStripMenuItem.Enabled = False
KopierenZwischenablageToolStripMenuItem.Enabled = False
AlsEMailSendenToolStripMenuItem.Enabled = False
End If
' ArchivierenToolStripMenuItem.Visible = If(DS.da_multifiles And DS.DATA_LIST.LIST.Count = 1, True, False)
End Sub
Sub setCursorHand(c As Control)
c.Cursor = Windows.Forms.Cursors.Hand
End Sub
Sub setCursorDefalut(c As Control)
c.Cursor = Windows.Forms.Cursors.Default
End Sub
Private Sub txt_Click(sender As Object, e As EventArgs) Handles txt.Click, Me.Click, picPDF.Click
Try
If DS.DATA_LIST.LIST.Count > 0 Then
If _MULTI_FILES Then 'And DS.DATA_LIST.LIST.Count > 1 Then
Dim list As New frmPDFScanList
showMulti(list)
list.Location = System.Windows.Forms.Cursor.Position
list.Show() 'Me.FindForm) 'Dialog() 's(Me.FindForm)
list.SetDesktopLocation(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y)
Else
'Process.Start(DS.DATA_LIST.LIST(0).coll_pfad)
DS.OPEN_SINGLE(, True)
End If
End If
Catch ex As Exception
MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!")
End Try
End Sub
Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter ', txt.DragEnter, Me.DragEnter, picPDF.DragEnter
e.Effect = DragDropEffects.All
End Sub
Private Sub txt_Click(sender As Object, e As DragEventArgs) Handles Me.DragDrop ', txt.DragDrop, Me.DragDrop, picPDF.DragDrop
If e.Data.GetDataPresent("FileDrop", True) = True Then
Dim FileList As String() = CType(e.Data.GetData("FileDrop"), Object) 'Hier wird der Variable "Wert" das übergeben, was wir auf die Form gezogen haben. Bei einer Datei wäre es dann der Pfad der Datei.
If FileList.Count > 0 Then
If Not _MULTI_FILES And FileList.Count > 1 Then
MsgBox("Es können nicht mehrere Dateien hochgeladen werden!")
Exit Sub
End If
For Each W In FileList
If W.ToUpper.EndsWith(".PDF") Then
Try
Dim bezeichnung = System.IO.Path.GetFileName(W).ToString
DS.uploadDataToDATENSERVER(W, bezeichnung, ".pdf")
'If DS.DATA_LIST.LIST.Count > 0 Then
' Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
' RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
'End If
Catch ex As Exception
MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!" & ex.Message & ex.StackTrace)
End Try
End If
Next
initPdf()
End If
End If
End Sub
Sub showMulti(List As frmPDFScanList)
Try
List.listlOld.Visible = False
List.pnlOldHeader.Visible = False
List.FlowLayoutPanel.Controls.Clear()
List.listlOld.Controls.Clear()
Dim tmpHeight = 0
For Each i In DS.DATA_LIST.LIST
Dim u As New usrCntLPDFScanSimple(i.coll_id, i.coll_pfad, i.coll_bezeichnung, i.coll_archiv)
AddHandler u.CLICKED, Sub()
List.Close()
End Sub
AddHandler u.DELETE, Sub(coll_id, coll_bezeichnung)
If vbYes = MsgBox("Möchten Sie die Datei '" & coll_bezeichnung & "' wirklich löschen?!? Die Daten gehen unwiederruflich verloren.", vbYesNoCancel, "Löschen") Then
'getListItemAT Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(id)
If Not DS.DELETE_LIST_POS(coll_id) Then
MsgBox("Fehler beim Löschen!")
End If
'DatenserverIDCollection.DELETE(id)
' For Each c In DatenserverIDCollection.LIST
' If c.da_id = id Then
' DatenserverIDCollection.Remove(c)
' Exit For
' End If
' Next
initPdf()
List.Close()
End If
End Sub
AddHandler u.RENAME, Sub(coll_id, coll_bezeichnung)
Dim bez = InputBox("Bitte geben Sie eine neue Bezeichnung ein:", , coll_bezeichnung)
If bez <> "" Then
For Each ii In DS.DATA_LIST.LIST
If ii.coll_id = coll_id Then
ii.coll_bezeichnung = bez
ii.UPDATE()
showMulti(List)
initPdf()
Exit Sub
End If
Next
End If
End Sub
AddHandler u.ARCHIV, Sub(coll_id, coll_bezeichnung)
For Each ii In DS.DATA_LIST.LIST
If ii.coll_id = coll_id Then
ii.coll_archiv = Not ii.coll_archiv
ii.UPDATE()
showMulti(List)
List.PerformLayout() 'IRGENDWIE NEU LAYOUTEN()
initPdf()
Exit Sub
End If
Next
End Sub
AddHandler u.CLIPBOARD, Sub(coll_id, coll_bezeichnung)
For Each ii In DS.DATA_LIST.LIST
If ii.coll_id = coll_id Then
'Zwischenablage
Dim f() As String = {VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung)}
Dim d As New DataObject(DataFormats.FileDrop, f)
Clipboard.SetDataObject(d, True)
Exit Sub
End If
Next
List.Close()
End Sub
AddHandler u.OPEN_MAIL, Sub(coll_id, coll_bezeichnung)
For Each ii In DS.DATA_LIST.LIST
If ii.coll_id = coll_id Then
'Mail
Try
Dim outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue,, ii.coll_bezeichnung & ".pdf")
Mail.Display()
Catch ex As Exception
MsgBox("Fehler beim Öffnen der Mail!")
End Try
End If
List.Close()
Next
End Sub
If _ARCHIV And i.coll_archiv Then
List.listlOld.Controls.Add(u)
List.listlOld.Visible = True
tmpHeight += 23
List.pnlOldHeader.Visible = True
Else
List.FlowLayoutPanel.Controls.Add(u)
End If
Next
List.listlOld.MinimumSize = (New Drawing.Size(List.listlOld.Width, tmpHeight))
Catch ex As Exception
MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!")
End Try
End Sub
' Private Sub toolScannen_Click(sender As Object, e As EventArgs) Handles toolScannen.Click
' Process.Start(pdf_Path)
' End Sub
Private Sub DateiScannenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiScannenToolStripMenuItem.Click, ToolStripMenuItem1.Click
Try
If KdNr < 0 Then Exit Sub
Dim frmScan As New VERAG_PROG_ALLGEMEIN.frmScan("DirectScan")
frmScan.DefaultFileName = Me._TEXT_PDF
If frmScan.ShowDialog(Me) = DialogResult.OK Then
If frmScan.ReturnValue IsNot Nothing Then
Dim Filename = _TEXT_PDF
If frmScan.fileName <> "" Then Filename = frmScan.fileName
' If _MULTI_FILES Then Filename &= Now.ToString("_ddMMyyyy_HHmmss")
'Dim path = DATENSERVER.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, "DOKUMENTE", _DATENSERVER_ORDNER, KdNr, Filename, ".pdf")
If DS.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, Filename, ".pdf") Then
If DS.DATA_LIST.LIST.Count > 0 Then
Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
End If
End If
' Me.ScanID = DATENSERVER.LAST_ID
' Dim file As New FileInfo(frmScan.ReturnValue)
'If file.Exists Then
' Me.pdf_Path = path
'DS.DATA_LIST.ADD(Path, VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath( Filename,"")
'End If
End If
End If
initPdf()
Catch ex As Exception
MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!")
End Try
End Sub
Private Sub DateiHochladenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiHochladenToolStripMenuItem.Click, ToolStripMenuItem2.Click
Try
If _MULTI_FILES Then
If DS.uploadDataToDATENSERVERFileDialog_MULTI(, ".pdf", , "PDF") Then
initPdf()
End If
Else
If DS.uploadDataToDATENSERVERFileDialog(, ".pdf", , "PDF") Then
If DS.DATA_LIST.LIST.Count > 0 Then
Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
End If
End If
initPdf()
End If
Catch ex As Exception
MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!" & ex.Message & ex.StackTrace)
End Try
End Sub
Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click 'NUR WENN MULTI = FALSE
If vbYes = MsgBox("Möchten Sie die Datei wirklich löschen? Die Daten gehen unwiederruflich verloren.", vbYesNoCancel, "Löschen") Then
DS.DELETE_COMPLETE()
'''DATENSERVER.deleteFileByDatenarchivId(DatenserverIDCollection(0).da_id)
'DatenserverIDCollection.DELETE(DatenserverIDCollection.LIST(0).coll_daId)
''' DatenserverIDCollection.Clear()
initPdf()
End If
End Sub
Private Sub usrcntlPDFScan_MouseHover(sender As Object, e As EventArgs) Handles Me.MouseEnter, txt.MouseEnter, picPDF.MouseEnter
Try
If DS.DATA_LIST.LIST.Count > 0 Then Me.BackColor = Drawing.Color.LightGray
Catch ex As Exception
End Try
End Sub
Private Sub usrcntlPDFScan_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave, txt.MouseLeave, picPDF.MouseLeave
Try
If Me.BackColor <> Drawing.Color.White Then Me.BackColor = Drawing.Color.White
Catch ex As Exception
End Try
End Sub
Private Sub KopierenZwischenablageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopierenZwischenablageToolStripMenuItem.Click
Try
If DS.DATA_LIST.LIST.Count > 0 Then
Dim f() As String = {VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(DS.DATA_LIST.LIST(0).coll_pfad, DS.DATA_LIST.LIST(0).coll_bezeichnung)}
Dim d As New DataObject(DataFormats.FileDrop, f)
Clipboard.SetDataObject(d, True)
End If
Catch ex As Exception
MsgBox("Fehler beim Laden der Daten!")
End Try
End Sub
Private Sub AlsEMailSendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsEMailSendenToolStripMenuItem.Click
Try
If DS.DATA_LIST.LIST.Count > 0 Then
Dim outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(DS.DATA_LIST.LIST(0).coll_pfad, DS.DATA_LIST.LIST(0).coll_bezeichnung), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
Mail.Display()
End If
Catch ex As Exception
MsgBox("Fehler beim Öffnen der Mail!")
End Try
End Sub
'Private Sub ArchivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ArchivierenToolStripMenuItem.Click
' Try
' If DS.DATA_LIST.LIST.Count > 0 Then
' DS.DATA_LIST.LIST(0).coll_archiv = Not DS.DATA_LIST.LIST(0).coll_archiv
' DS.DATA_LIST.LIST(0).UPDATE()
' initPdf()
' Exit Sub
' End If
' Catch ex As Exception
' MsgBox("Fehler beim Archivieren!")
' End Try
'End Sub
End Class

View File

@@ -0,0 +1,155 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class usrcntlPDFScanList
Inherits System.Windows.Forms.UserControl
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.cntxtMulti = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem()
Me.picAdd = New System.Windows.Forms.PictureBox()
Me.MyListBox1 = New VERAG_PROG_ALLGEMEIN.MyListBox()
Me.UmbenennenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.AlsEmailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.cntxtMulti.SuspendLayout()
CType(Me.picAdd, System.ComponentModel.ISupportInitialize).BeginInit()
Me.cntxt.SuspendLayout()
Me.SuspendLayout()
'
'cntxtMulti
'
Me.cntxtMulti.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.cntxtMulti.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1, Me.ToolStripMenuItem2})
Me.cntxtMulti.Name = "cntxt"
Me.cntxtMulti.Size = New System.Drawing.Size(181, 48)
'
'ToolStripMenuItem1
'
Me.ToolStripMenuItem1.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner
Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
Me.ToolStripMenuItem1.Size = New System.Drawing.Size(180, 22)
Me.ToolStripMenuItem1.Text = "+ Datei scannen..."
'
'ToolStripMenuItem2
'
Me.ToolStripMenuItem2.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf
Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2"
Me.ToolStripMenuItem2.Size = New System.Drawing.Size(180, 22)
Me.ToolStripMenuItem2.Text = "+ Datei hochladen..."
'
'picAdd
'
Me.picAdd.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.plus
Me.picAdd.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.picAdd.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.picAdd.Location = New System.Drawing.Point(96, 0)
Me.picAdd.Name = "picAdd"
Me.picAdd.Size = New System.Drawing.Size(23, 17)
Me.picAdd.TabIndex = 3
Me.picAdd.TabStop = False
'
'MyListBox1
'
Me.MyListBox1._value = ""
Me.MyListBox1.Cursor = System.Windows.Forms.Cursors.Default
Me.MyListBox1.Dock = System.Windows.Forms.DockStyle.Fill
Me.MyListBox1.FormattingEnabled = True
Me.MyListBox1.Location = New System.Drawing.Point(0, 0)
Me.MyListBox1.Margin = New System.Windows.Forms.Padding(0)
Me.MyListBox1.Name = "MyListBox1"
Me.MyListBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended
Me.MyListBox1.Size = New System.Drawing.Size(118, 64)
Me.MyListBox1.TabIndex = 4
'
'UmbenennenToolStripMenuItem
'
Me.UmbenennenToolStripMenuItem.Name = "UmbenennenToolStripMenuItem"
Me.UmbenennenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.UmbenennenToolStripMenuItem.Text = "Umbenennen"
'
'KopierenZwischenablageToolStripMenuItem
'
Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem"
Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)"
'
'AlsEmailSendenToolStripMenuItem
'
Me.AlsEmailSendenToolStripMenuItem.Name = "AlsEmailSendenToolStripMenuItem"
Me.AlsEmailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.AlsEmailSendenToolStripMenuItem.Text = "Als Email senden"
'
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6)
'
'LöschenToolStripMenuItem
'
Me.LöschenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.del
Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem"
Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
Me.LöschenToolStripMenuItem.Text = "Löschen"
'
'cntxt
'
Me.cntxt.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.cntxt.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UmbenennenToolStripMenuItem, Me.LöschenToolStripMenuItem, Me.ToolStripSeparator1, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEmailSendenToolStripMenuItem})
Me.cntxt.Name = "cntxt"
Me.cntxt.Size = New System.Drawing.Size(218, 120)
'
'usrcntlPDFScanList
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
Me.BackColor = System.Drawing.Color.White
Me.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.ContextMenuStrip = Me.cntxtMulti
Me.Controls.Add(Me.picAdd)
Me.Controls.Add(Me.MyListBox1)
Me.Cursor = System.Windows.Forms.Cursors.Default
Me.Margin = New System.Windows.Forms.Padding(0)
Me.Name = "usrcntlPDFScanList"
Me.Size = New System.Drawing.Size(118, 64)
Me.cntxtMulti.ResumeLayout(False)
CType(Me.picAdd, System.ComponentModel.ISupportInitialize).EndInit()
Me.cntxt.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
Friend WithEvents cntxtMulti As System.Windows.Forms.ContextMenuStrip
Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents picAdd As System.Windows.Forms.PictureBox
Public WithEvents MyListBox1 As MyListBox
Friend WithEvents UmbenennenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem
Friend WithEvents AlsEmailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator
Friend WithEvents LöschenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
Friend WithEvents cntxt As Windows.Forms.ContextMenuStrip
End Class

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="cntxtMulti.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>129, 18</value>
</metadata>
<metadata name="cntxt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,361 @@
Imports System.Windows.Forms
Imports System.IO
Imports Microsoft.Office.Interop
Public Class usrcntlPDFScanList
Public Property _DATENSERVER_KATEGORIE As String = "DOKUMENTE"
Public Property _DATENSERVER_ORDNER As String = ""
Public Property _DATENSERVER_UOrdner1 As String = ""
Public Property _DATENSERVER_UOrdner2 As String = ""
Public Property _DATENSERVER_UOrdner3 As String = ""
Public Property _OPEN_ORIGINAL As Boolean = False
Private Property _TEXT_PDF As String = "SONSTIGE"
Private Property _MULTI_FILES As Boolean = True
Public Property _TYPE As String = "PDF"
' Public pdf_Path As String = ""
Dim KdNr As Integer = -1
'Dim DATENSERVER As New cDATENSERVER
' Public ScanID As Integer = -1
Public COLL_ID As Integer = -1
'Dim DatenserverIDCollection As New cDatenserverIDCollectionList
Public DS As VERAG_PROG_ALLGEMEIN.cDATENSERVER
Public Event FileAdded(id As String, path As String, name As String)
Private Sub usrcntlPDFScan_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
' Me.txt.Text = _TEXT_PDF
Me.MyListBox1.Dock = DockStyle.Fill
End Sub
Public Sub INIT(KdNr)
Me.KdNr = KdNr
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
initPdf()
End Sub
Public Sub INIT(KdNr, _DATENSERVER_UOrdner1)
Me.KdNr = KdNr
Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
initPdf()
End Sub
Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2)
Me.KdNr = KdNr
Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
initPdf()
End Sub
Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3)
Me.KdNr = KdNr
Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2
Me._DATENSERVER_UOrdner3 = _DATENSERVER_UOrdner3
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
initPdf()
End Sub
Private Sub usrcntlPDFScan_Load(sender As Object, e As EventArgs) Handles Me.Load
' Me.txt.Text = _TEXT_PDF
Me.AllowDrop = True
picAdd.ContextMenuStrip = cntxtMulti
MyListBox1.ContextMenuStrip = cntxt
' Else
' If DatenserverIDCollection.Count > 0 Then
'pdf_Path = DATENSERVER.getPathById(ScanID)
picAdd.Left = Me.Width - picAdd.Width - 2
picAdd.Top = Me.Height - picAdd.Height - 2
End Sub
Public Fill
' Sub addId(id)
' If id > 0 Then
' ScanID = id
' pdf_Path = DATENSERVER.getPathById(ScanID)
' initPdf()
' End If
' End Sub
Public Sub initPdf()
MyListBox1.Items.Clear()
KopierenZwischenablageToolStripMenuItem.Enabled = False
AlsEmailSendenToolStripMenuItem.Enabled = False
UmbenennenToolStripMenuItem.Enabled = False
If DS.DATA_LIST.LIST.Count > 0 Then
For Each i In DS.DATA_LIST.LIST
MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(i.coll_bezeichnung, i.coll_id))
Next
KopierenZwischenablageToolStripMenuItem.Enabled = True
AlsEmailSendenToolStripMenuItem.Enabled = True
UmbenennenToolStripMenuItem.Enabled = True
LöschenToolStripMenuItem.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL")
End If
End Sub
' Private Sub toolScannen_Click(sender As Object, e As EventArgs) Handles toolScannen.Click
' Process.Start(pdf_Path)
' End Sub
Private Sub DateiScannenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click
If KdNr < 0 Then Exit Sub
Dim frmScan As New VERAG_PROG_ALLGEMEIN.frmScan("DirectScan")
frmScan.DefaultFileName = Me._TEXT_PDF
If frmScan.ShowDialog(Me) = DialogResult.OK Then
If frmScan.ReturnValue IsNot Nothing Then
Dim Filename = _TEXT_PDF
If frmScan.fileName <> "" Then Filename = frmScan.fileName
' If _MULTI_FILES Then Filename &= Now.ToString("_ddMMyyyy_HHmmss")
'Dim path = DATENSERVER.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, "DOKUMENTE", _DATENSERVER_ORDNER, KdNr, Filename, ".pdf")
If DS.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, Filename, ".pdf") Then
If DS.DATA_LIST.LIST.Count > 0 Then
Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
End If
End If
' Me.ScanID = DATENSERVER.LAST_ID
' Dim file As New FileInfo(frmScan.ReturnValue)
'If file.Exists Then
' Me.pdf_Path = path
'DS.DATA_LIST.ADD(Path, VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath( Filename,"")
'End If
End If
End If
initPdf()
End Sub
Private Sub DateiHochladenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem2.Click
If DS.uploadDataToDATENSERVERFileDialog_MULTI(, , , _TYPE) Then
initPdf()
End If
'If DS.uploadDataToDATENSERVERFileDialog(, ".pdf", , "PDF") <> "" Then
' If DS.DATA_LIST.LIST.Count > 0 Then
' Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
' RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
' End If
'End If
'initPdf()
' Dim fd As New OpenFileDialog
' fd.Filter = "PDF|*.PDF"
' fd.DefaultExt = "pdf"
' If fd.ShowDialog() = DialogResult.OK Then
'Dim Filename = _TEXT_PDF
' If _MULTI_FILES Then Filename &= Now.ToString("_ddMMyyyy_HHmmss")
' Dim path = DATENSERVER.uploadDataToDATENSERVER(fd.FileName, "DOKUMENTE", _DATENSERVER_ORDNER, KdNr, Filename, ".pdf")
' DatenserverIDCollection.ADD(DATENSERVER.LAST_ID, path, Filename)
' RaiseEvent FileAdded(DATENSERVER.LAST_ID, path, Filename)
' End If
End Sub
Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click 'NUR WENN MULTI = FALSE
Try
If vbYes = MsgBox("Möchten Sie die '" & MyListBox1.SelectedItems.Count & "' selektierte(n) Datei(en) wirklich löschen? Die Daten gehen unwiederruflich verloren.", vbYesNoCancel, "Löschen") Then
For Each SI In MyListBox1.SelectedItems
Dim DelItem As VERAG_PROG_ALLGEMEIN.MyListItem = DirectCast(SI, VERAG_PROG_ALLGEMEIN.MyListItem)
DS.DELETE_LIST_POS(DelItem.Value)
Next
If DS.DATA_LIST.LIST.Count = 0 Then
DS.DELETE_COMPLETE()
End If
initPdf()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub picAdd_Click(sender As Object, e As EventArgs) Handles picAdd.Click
cntxtMulti.Show(Windows.Forms.Cursor.Position)
End Sub
Private Sub MyListBox1_DoubleClick(sender As Object, e As EventArgs) Handles MyListBox1.DoubleClick
Try
If _OPEN_ORIGINAL Then
Dim collId = DirectCast(MyListBox1.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
For Each i In DS.DATA_LIST.LIST
If i.coll_id = collId Then
Process.Start(i.coll_pfad)
Exit Sub
End If
Next
Else
DS.OPEN(DirectCast(MyListBox1.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value,, True)
End If
' VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung)
Catch ex As Exception
MsgBox("Fehler beim Öffnen!")
End Try
End Sub
Private Sub MyListBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles MyListBox1.MouseClick
If e.Button = Windows.Forms.MouseButtons.Right Then
Dim i = MyListBox1.IndexFromPoint(e.X, e.Y)
If i > 0 Then
MyListBox1.SelectedIndex = i
If MyListBox1.SelectedItems.Count > 0 Then cntxt.Show(Windows.Forms.Cursor.Position)
Else
cntxt.Hide()
End If
End If
End Sub
Private Sub UmbenennenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UmbenennenToolStripMenuItem.Click
Try
If MyListBox1.SelectedItems.Count = 1 Then
Dim item As MyListItem = DirectCast(MyListBox1.SelectedItems(0), MyListItem)
Dim bez = InputBox("Bitte geben Sie eine neue Bezeichnung ein:", , item.Text)
If bez <> "" Then
For Each i In DS.DATA_LIST.LIST
If i.coll_id = item.Value Then
i.coll_bezeichnung = bez
i.UPDATE()
initPdf()
Exit Sub
End If
Next
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Dim fired = False
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
Try
If keyData = (Keys.Control Or Keys.C) Then
KopierenZwischenablageToolStripMenuItem_Click(KopierenZwischenablageToolStripMenuItem, New EventArgs)
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Private Sub KopierenZwischenablageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopierenZwischenablageToolStripMenuItem.Click
Try
VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.clearTMPPath("ClipBoard_TMP")
Dim f(MyListBox1.SelectedItems.Count - 1) As String
Dim cnt = 0
If MyListBox1.SelectedItems.Count >= 1 Then
For Each SI In MyListBox1.SelectedItems
Dim item As MyListItem = DirectCast(SI, MyListItem) 'DirectCast(MyListBox1.SelectedItems(0), MyListItem)
For Each ii In DS.DATA_LIST.LIST
If ii.coll_id = item.Value Then
'Dim f() As String = {ii.coll_pfad}
If ii.coll_pfad <> "" Then
f(cnt) = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung)
cnt += 1
'Exit For
End If
End If
Next
Next
'Zwischenablage
Clipboard.Clear()
Dim d As New DataObject(DataFormats.FileDrop, f)
Clipboard.SetDataObject(d, True)
Exit Sub
End If
Catch ex As Exception
MsgBox("Fehler beim Laden der Daten!")
End Try
End Sub
Private Sub AlsEmailSendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsEmailSendenToolStripMenuItem.Click
Try
VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.clearTMPPath("ClipBoard_TMP")
If MyListBox1.SelectedItems.Count >= 1 Then
Try
Dim outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
For Each SI In MyListBox1.SelectedItems
Dim item As MyListItem = DirectCast(SI, MyListItem) 'DirectCast(MyListBox1.SelectedItems(0), MyListItem)
For Each ii In DS.DATA_LIST.LIST
If ii.coll_id = item.Value Then
If ii.coll_pfad <> "" Then
Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
End If
End If
Next
Next
Mail.Display()
Catch ex As Exception
MsgBox("Fehler beim Öffnen der Mail!")
End Try
End If
Catch ex As Exception
MsgBox("Fehler beim Öffnen der Mail!")
End Try
End Sub
Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter ', txt.DragEnter, Me.DragEnter, picPDF.DragEnter
e.Effect = DragDropEffects.All
End Sub
Private Sub txt_Click(sender As Object, e As DragEventArgs) Handles Me.DragDrop ', txt.DragDrop, Me.DragDrop, picPDF.DragDrop
If e.Data.GetDataPresent("FileDrop", True) = True Then
Dim FileList As String() = CType(e.Data.GetData("FileDrop"), Object) 'Hier wird der Variable "Wert" das übergeben, was wir auf die Form gezogen haben. Bei einer Datei wäre es dann der Pfad der Datei.
If FileList.Count > 0 Then
If Not _MULTI_FILES And FileList.Count > 1 Then
MsgBox("Es können nicht mehrere Dateien hochgeladen werden!")
Exit Sub
End If
For Each W In FileList
If W.ToUpper.EndsWith(".PDF") Then
Try
Dim bezeichnung = System.IO.Path.GetFileName(W).ToString
DS.uploadDataToDATENSERVER(W, bezeichnung, ".pdf")
'Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
'RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
'If DS.DATA_LIST.LIST.Count > 0 Then
' Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
' RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
'End If
Catch ex As Exception
MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!" & ex.Message & ex.StackTrace)
End Try
End If
Next
initPdf()
End If
End If
End Sub
Private Sub cntxt_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles cntxt.Opening
UmbenennenToolStripMenuItem.Visible = (MyListBox1.SelectedItems.Count = 1)
End Sub
End Class

View File

@@ -0,0 +1,104 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class usrcntlSearch
Inherits System.Windows.Forms.UserControl
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.dgvKundenAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.pnl = New System.Windows.Forms.Panel()
Me.DirectoryEntry1 = New System.DirectoryServices.DirectoryEntry()
Me.lblClose = New System.Windows.Forms.Label()
Me.Panel1 = New System.Windows.Forms.Panel()
CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pnl.SuspendLayout()
Me.Panel1.SuspendLayout()
Me.SuspendLayout()
'
'dgvKundenAktiv
'
Me.dgvKundenAktiv.AKTUALISIERUNGS_INTERVALL = -1
Me.dgvKundenAktiv.BackgroundColor = System.Drawing.Color.White
Me.dgvKundenAktiv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dgvKundenAktiv.Dock = System.Windows.Forms.DockStyle.Fill
Me.dgvKundenAktiv.Location = New System.Drawing.Point(0, 0)
Me.dgvKundenAktiv.Name = "dgvKundenAktiv"
Me.dgvKundenAktiv.Size = New System.Drawing.Size(564, 358)
Me.dgvKundenAktiv.TabIndex = 0
'
'pnl
'
Me.pnl.AutoSize = True
Me.pnl.BackColor = System.Drawing.Color.White
Me.pnl.Controls.Add(Me.dgvKundenAktiv)
Me.pnl.Controls.Add(Me.Panel1)
Me.pnl.Location = New System.Drawing.Point(2, 3)
Me.pnl.Name = "pnl"
Me.pnl.Size = New System.Drawing.Size(564, 374)
Me.pnl.TabIndex = 1
'
'lblClose
'
Me.lblClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.lblClose.AutoSize = True
Me.lblClose.Cursor = System.Windows.Forms.Cursors.Hand
Me.lblClose.Font = New System.Drawing.Font("Arial Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblClose.ForeColor = System.Drawing.Color.Red
Me.lblClose.Location = New System.Drawing.Point(542, -5)
Me.lblClose.Margin = New System.Windows.Forms.Padding(0)
Me.lblClose.Name = "lblClose"
Me.lblClose.Size = New System.Drawing.Size(22, 23)
Me.lblClose.TabIndex = 17
Me.lblClose.Text = "X"
'
'Panel1
'
Me.Panel1.BackColor = System.Drawing.SystemColors.InactiveCaption
Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.Panel1.Controls.Add(Me.lblClose)
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.Panel1.Location = New System.Drawing.Point(0, 358)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(564, 16)
Me.Panel1.TabIndex = 3
'
'usrcntlSearch
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.SystemColors.MenuHighlight
Me.Controls.Add(Me.pnl)
Me.Name = "usrcntlSearch"
Me.Size = New System.Drawing.Size(570, 380)
CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).EndInit()
Me.pnl.ResumeLayout(False)
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents pnl As System.Windows.Forms.Panel
Public WithEvents dgvKundenAktiv As MyDatagridview
Friend WithEvents DirectoryEntry1 As System.DirectoryServices.DirectoryEntry
Friend WithEvents Panel1 As System.Windows.Forms.Panel
Public WithEvents lblClose As System.Windows.Forms.Label
End Class

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="DirectoryEntry1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,37 @@
Imports System.Windows.Forms
Imports System.Drawing
Public Class usrcntlSearch
Public Event DGV_Click(sender As Object, e As EventArgs)
Public Event DGV_KeyDown(sender As Object, e As KeyEventArgs)
Public Event CLOSE(sender As Object, e As EventArgs)
Private Sub dgvKundenAktiv_Click(sender As Object, e As EventArgs) Handles dgvKundenAktiv.Click
RaiseEvent DGV_Click(sender, e)
End Sub
Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles dgvKundenAktiv.KeyDown
RaiseEvent DGV_KeyDown(sender, e)
End Sub
Private Sub usrcntlKdSearch_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
Me.pnl.Location = New Point(2, 2)
Me.pnl.Size = New Size(Me.Width - 4, Me.Height - 4)
End Sub
Private Sub lblClose_Click(sender As Object, e As EventArgs) Handles lblClose.Click
RaiseEvent CLOSE(sender, e)
End Sub
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
Try
MyBase.OnPaint(e)
Catch ex As Exception
Me.Invalidate()
End Try
End Sub
End Class

View File

@@ -0,0 +1,74 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class usrcntlUnterposEntry
Inherits System.Windows.Forms.UserControl
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.txtAnzahl = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.lblBezeichnung = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'txtAnzahl
'
Me.txtAnzahl._DateTimeOnly = False
Me.txtAnzahl._numbersOnly = True
Me.txtAnzahl._numbersOnlyKommastellen = ""
Me.txtAnzahl._Prozent = False
Me.txtAnzahl._ShortDateNew = False
Me.txtAnzahl._ShortDateOnly = False
Me.txtAnzahl._TimeOnly = False
Me.txtAnzahl._value = ""
Me.txtAnzahl._Waehrung = False
Me.txtAnzahl._WaehrungZeichen = True
Me.txtAnzahl.Location = New System.Drawing.Point(3, 0)
Me.txtAnzahl.MaxLength = 4
Me.txtAnzahl.MaxLineLength = -1
Me.txtAnzahl.MaxLines_Warning = ""
Me.txtAnzahl.MaxLines_Warning_Label = Nothing
Me.txtAnzahl.Name = "txtAnzahl"
Me.txtAnzahl.Size = New System.Drawing.Size(41, 20)
Me.txtAnzahl.TabIndex = 106
'
'lblBezeichnung
'
Me.lblBezeichnung.AutoSize = True
Me.lblBezeichnung.Location = New System.Drawing.Point(45, 3)
Me.lblBezeichnung.Name = "lblBezeichnung"
Me.lblBezeichnung.Size = New System.Drawing.Size(28, 13)
Me.lblBezeichnung.TabIndex = 107
Me.lblBezeichnung.Text = "TXT"
'
'usrcntlUnterposEntry
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.Controls.Add(Me.txtAnzahl)
Me.Controls.Add(Me.lblBezeichnung)
Me.Name = "usrcntlUnterposEntry"
Me.Size = New System.Drawing.Size(200, 20)
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Public WithEvents txtAnzahl As VERAG_PROG_ALLGEMEIN.MyTextBox
Public WithEvents lblBezeichnung As System.Windows.Forms.Label
End Class

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,15 @@
Public Class usrcntlUnterposEntry
' Property AbfertigungsartNr = -1
Property UnterPosArt = -1
Property Anzahl = 0
Private Sub txtAnzahl_LostFocus(sender As Object, e As EventArgs) Handles txtAnzahl.LostFocus
If IsNumeric(sender.text) Then
Anzahl = CInt(sender.text)
Else
Anzahl = 0
sender.text = 0
End If
End Sub
End Class

View File

@@ -0,0 +1,115 @@
Public Class cBerechtignunen
Shared BER_LIST As New cBerechtigungsObjekte_List 'NEW = Laden
' Sub initBER()
' BER_LIST = New cBerechtigungsObjekte_List
' End Sub
Public Shared Function CHECK_BERECHTIGUNG(Form_Berechtigung As System.Windows.Forms.Form) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
Return CHECK_BERECHTIGUNG(Form_Berechtigung.Name, Form_Berechtigung.GetType.Module.Name.Replace(".exe", ""))
End Function
Public Shared Function CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung As String, ME_Form As System.Windows.Forms.Form) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
Return CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, ME_Form.GetType.Module.Name.Replace(".exe", ""))
End Function
Public Shared Function CHECK_BERECHTIGUNG_bool(Berechtigung_Bezeichnung As String, ME_Form As System.Windows.Forms.Form) As Boolean ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
Try
If ME_Form Is Nothing Then Return False
Dim prog = ME_Form.GetType.Module.Name.Replace(".exe", "") 'FEHLER
Return (CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, prog) = 0)
Catch ex As Exception
MsgBox("BERECHTIGUNGSERR: " & Berechtigung_Bezeichnung & vbNewLine & vbNewLine & ex.Message & vbNewLine & ex.StackTrace)
Return False
End Try
End Function
Public Shared Function CHECK_BERECHTIGUNG_bool(Berechtigung_Bezeichnung As String, prog_Name As String) As Boolean ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
Try
Return (CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, prog_Name) = 0)
Catch ex As Exception
MsgBox(ex.Message & vbNewLine & ex.StackTrace)
Return False
End Try
End Function
Public Shared Function CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung As String, prog_Name As String) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
Dim SQL As New SQL
Dim prog_id = -1
Select Case prog_Name
Case "AVISO"
'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then
' prog_id = 13
' Else
prog_id = 5
'End If
Case "SDL"
prog_id = 7
Case Else
' MsgBox("SELECT isnull([prog_id],0) FROM [tblProgramme] WHERe [prog_codename]='" & prog_Name & "'")
prog_id = SQL.getValueTxtBySql("SELECT isnull([prog_id],0) FROM [tblProgramme] WHERe [prog_codename]='" & prog_Name & "'", "ADMIN")
End Select
Return CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, prog_id)
End Function
Public Shared Function CHECK_BERECHTIGUNG(ber_bez As String, prog_Id As Integer) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
Try
If VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME = "" Then Return 0
Dim berechtigungsstufe As Integer = 99
Dim benutzerBer As cBerechtigungenBenutzerGruppenZuordnung_List = VERAG_PROG_ALLGEMEIN.cAllgemein.BENUTZER_BERECHTIGUNGS_GRUPPEN
If benutzerBer Is Nothing Then
MsgBox("Ihrem Benutzerkonto wurden keine Berechtigungen zugeordnet!")
Return 0
End If
Dim found = False
For Each lber In BER_LIST.LIST
If lber.bero_bezeichnung.ToUpper = ber_bez.ToUpper And lber.bero_progId = prog_Id Then
found = True : Exit For
End If
Next
If Not found Then 'Die Berechtigungszuorgnung ist nicht gegeben --> Zugriff verwehrt
MsgBox("Die Berechtigung '" & ber_bez & "' existiert nicht.")
Return 99
End If
For Each lber In BER_LIST.LIST
If lber.bero_bezeichnung.ToUpper = ber_bez.ToUpper And lber.bero_progId = prog_Id Then
For Each ll In lber.BER_OBJ_ZUORD 'Liste der BerechtignungGruppen im Berechtigungsonjekt
For Each bb In benutzerBer.LIST
If bb.berbgz_progId = prog_Id Then 'BenutzerProg = Prog
If ll.beroz_berechtigungsstufe >= 100 Then Return ll.beroz_berechtigungsstufe 'Größer als 3 stellen --> immer priorität
If ll.beroz_art = "G" And ll.beroz_bergrId = bb.berbgz_bergrId Then 'GruppenBerchtigung
'gefunden!
If ll.beroz_berechtigungsstufe < berechtigungsstufe Then berechtigungsstufe = ll.beroz_berechtigungsstufe
ElseIf ll.beroz_art = "N" And ll.Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG Then
If ll.beroz_berechtigungsstufe < berechtigungsstufe Then berechtigungsstufe = ll.beroz_berechtigungsstufe
ElseIf ll.beroz_art = "A" And ll.Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG Then
If ll.beroz_berechtigungsstufe < berechtigungsstufe Then berechtigungsstufe = ll.beroz_berechtigungsstufe
ElseIf ll.beroz_art = "B" And ll.beroz_bergrId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
Return ll.beroz_berechtigungsstufe 'Definitiv dem Benutzer zugeordnete Berechtigung!!!!
End If
End If
Next
Next
End If
Next
Return berechtigungsstufe
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return 99
End Function
End Class

View File

@@ -0,0 +1,107 @@
Imports System.Data.SqlClient
Imports System.Reflection
Public Class cBerechtigungenBenutzerGruppenZuordnung_List
Public LIST As New List(Of cBerechtigungenBenutzerGruppenZuordnung)
Dim SQL As New SQL
'Dim listTodelete As New List(Of cOfferte)
Dim mit_Id
Sub New(mit_Id)
LOAD_LIST(mit_Id)
End Sub
Public Sub CLEAR()
LIST.Clear()
End Sub
Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False)
' Dim l As New cOfferte
'l.eb_bcc = bcc
'LIST.Add(l)
End Sub
Public Sub LOAD_LIST(mit_Id)
Try
LIST.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT *,(SELECT [bergr_bezeichnung] FROM tblBerechtigungenGruppen WHERE [bergr_id]=[berbgz_bergrId]) as Gruppenbezeichnung FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE berbgz_mitId=@berbgz_mitId ", conn) 'SELECT * FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE berbgz_mitId=@berbgz_mitId", conn)
cmd.Parameters.AddWithValue("@berbgz_mitId", mit_Id)
' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim l As New cBerechtigungenBenutzerGruppenZuordnung
For Each i In l.getParameterList()
Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(l, Nothing)
Else
propInfo.SetValue(l, dr.Item(i.Text))
End If
Next
' l.LOAD_ZUORD()
LIST.Add(l)
End While
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
End Class
Public Class cBerechtigungenBenutzerGruppenZuordnung
Property berbgz_id As Integer
Property berbgz_progId As Integer
Property berbgz_mitId As Integer
Property Gruppenbezeichnung As Object = Nothing
Property berbgz_bergrId As Integer
Dim SQL As New SQL
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_id", berbgz_id, , True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_progId", berbgz_progId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_mitId", berbgz_mitId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gruppenbezeichnung", Gruppenbezeichnung, , , True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_bergrId", berbgz_bergrId))
Return list
End Function
Public Function INSERT() As String
Try
Dim list As List(Of SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not (i.isPrimaryParam Or i.isonlyForLoad) Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ")
SQL.doSQLVarListID(berbgz_id, " INSERT INTO tblBerechtigungenBenutzerGruppenZuordnung (" & str & ") VALUES(" & values & ") ", "ADMIN", , list)
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function DELETE() As String
Try
' SQL.doSQL("DELETE FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE [berbgz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen
' SQL.doSQL("DELETE FROM tblBerechtigungsObjekteZuordnung WHERE [beroz_art]='G' AND [beroz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen
SQL.doSQL("DELETE FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE berbgz_id=" & Me.berbgz_id, "ADMIN")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
End Class

View File

@@ -0,0 +1,104 @@
Imports System.Data.SqlClient
Imports System.Reflection
Public Class cBerechtigungenGruppen_List
Property KundenNr As Object = Nothing
Public LIST As New List(Of cBerechtigungenGruppen)
Dim SQL As New SQL
Dim bergr_progId
Sub New(bergr_progId)
LOAD_LIST(bergr_progId)
End Sub
Public Sub CLEAR()
LIST.Clear()
End Sub
Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False)
' Dim l As New cOfferte
'l.eb_bcc = bcc
'LIST.Add(l)
End Sub
Public Sub LOAD_LIST(bergr_progId)
Try
LIST.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungenGruppen WHERE bergr_progId=@bergr_progId ORDER BY bergr_bezeichnung", conn)
cmd.Parameters.AddWithValue("@bergr_progId", bergr_progId)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim l As New cBerechtigungenGruppen
For Each i In l.getParameterList()
Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(l, Nothing)
Else
propInfo.SetValue(l, dr.Item(i.Text))
End If
Next
' l.LOAD_ZUORD()
LIST.Add(l)
End While
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
End Class
Public Class cBerechtigungenGruppen
Property bergr_id As Integer
Property bergr_progId As Integer
Property bergr_bezeichnung As String
Dim SQL As New SQL
' Property BER_BENGR_ZUORD As List(Of cBerechtigungenBenutzerGruppenZuordnung)
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bergr_id", bergr_id, , True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bergr_progId", bergr_progId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bergr_bezeichnung", bergr_bezeichnung))
Return list
End Function
Public Function INSERT() As String
Try
Dim list As List(Of SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not (i.isPrimaryParam Or i.isonlyForLoad) Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ")
SQL.doSQLVarListID(bergr_id, " INSERT INTO tblBerechtigungenGruppen (" & str & ") VALUES(" & values & ") ", "ADMIN", , list)
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function DELETE() As String
Try
SQL.doSQL("DELETE FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE [berbgz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen
SQL.doSQL("DELETE FROM tblBerechtigungsObjekteZuordnung WHERE [beroz_art]='G' AND [beroz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen
SQL.doSQL("DELETE FROM tblBerechtigungenGruppen WHERE bergr_id=" & Me.bergr_id, "ADMIN")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
End Class

View File

@@ -0,0 +1,207 @@
Imports System.Data.SqlClient
Imports System.Reflection
Public Class cBerechtigungsObjekte_List
Public LIST As New List(Of cBerechtigungsObjekte)
Dim SQL As New SQL
'Dim listTodelete As New List(Of cOfferte)
Sub New()
LOAD_LIST()
End Sub
Sub New(progID)
LOAD_LIST(progID)
End Sub
Public Sub CLEAR()
LIST.Clear()
End Sub
Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False)
' Dim l As New cOfferte
'l.eb_bcc = bcc
'LIST.Add(l)
End Sub
Public Sub LOAD_LIST()
Try
LIST.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekte", conn)
' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim l As New cBerechtigungsObjekte
For Each i In l.getParameterList()
Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(l, Nothing)
Else
propInfo.SetValue(l, dr.Item(i.Text))
End If
Next
l.LOAD_ZUORD()
LIST.Add(l)
End While
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Sub LOAD_LIST(bero_progId)
Try
LIST.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekte WHERE bero_progId=@bero_progId", conn)
cmd.Parameters.AddWithValue("@bero_progId", bero_progId)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim l As New cBerechtigungsObjekte
For Each i In l.getParameterList()
Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(l, Nothing)
Else
propInfo.SetValue(l, dr.Item(i.Text))
End If
Next
l.LOAD_ZUORD()
LIST.Add(l)
End While
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
End Class
Public Class cBerechtigungsObjekte
Property bero_id As Integer
Property bero_progId As Integer
Property bero_bezeichnung As String
Property bero_art As String
Property BER_OBJ_ZUORD As New List(Of cBerechtigungsObjekteZuordnung)
Dim SQL As New SQL
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_id", bero_id, , True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_progId", bero_progId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_bezeichnung", bero_bezeichnung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_art", bero_art))
Return list
End Function
Public Sub LOAD() ' Wird eig nicht benötigt, da LIST
Try
BER_OBJ_ZUORD.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekte WHERE bero_id=@bero_id ", conn)
cmd.Parameters.AddWithValue("@bero_id", Me.bero_id)
' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
'Dim l As New cBerechtigungsObjekte
For Each i In Me.getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(i.Text))
End If
Next
Me.LOAD_ZUORD()
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Sub LOAD_ZUORD()
' MsgBox("a")
Try
BER_OBJ_ZUORD.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
' Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekteZuordnung WHERE beroz_beroId=@beroz_beroId ", conn)
' MsgBox(Me.bero_id)
Using cmd As New SqlCommand(" SELECT *, (CASE beroz_art " &
" WHEN 'G' THEN (SELECT [bergr_bezeichnung] FROM [ADMIN].[dbo].[tblBerechtigungenGruppen] WHERE beroz_bergrId=bergr_id ) " &
" WHEN 'B' THEN (SELECT [mit_username] FROM [ADMIN].[dbo].tblMitarbeiter WHERE beroz_bergrId=mit_id ) " &
" WHEN 'A' THEN (SELECT [abt_kuerzel] FROM [ADMIN].[dbo].tblAbteilungen WHERE beroz_bergrId=abt_id ) " &
" WHEN 'N' THEN (SELECT [nl_kuerzel] FROM [ADMIN].[dbo].tblNiederlassungen WHERE beroz_bergrId=nl_id ) " &
" END) as Bezeichnung " &
" FROM tblBerechtigungsObjekteZuordnung WHERE beroz_beroId=@beroz_beroId ORDER BY [beroz_art] desc, Bezeichnung", conn)
cmd.Parameters.AddWithValue("@beroz_beroId", Me.bero_id)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim l As New cBerechtigungsObjekteZuordnung
For Each i In l.getParameterList()
Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(l, Nothing)
Else
propInfo.SetValue(l, dr.Item(i.Text))
End If
Next
BER_OBJ_ZUORD.Add(l)
End While
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function INSERT() As String
Try
Dim list As List(Of SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not (i.isPrimaryParam Or i.isonlyForLoad) Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ")
SQL.doSQLVarListID(bero_id, " INSERT INTO tblBerechtigungsObjekte (" & str & ") VALUES(" & values & ") ", "ADMIN", , list)
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function DELETE() As String
Try
SQL.doSQL("DELETE FROM [tblBerechtigungsObjekteZuordnung] WHERE [beroz_beroId]=" & Me.bero_id, "ADMIN") 'Zuerst die Zuordnungen
SQL.doSQL("DELETE FROM tblBerechtigungsObjekte WHERE bero_id=" & Me.bero_id, "ADMIN")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
End Class

View File

@@ -0,0 +1,87 @@
Imports System.Data.SqlClient
Imports System.Reflection
Public Class cBerechtigungsObjekteZuordnung
Property beroz_id As Integer = -1
Property beroz_beroId As Integer
Property beroz_bergrId As Integer
Property Bezeichnung As Object = Nothing
'Property BenutzerBezeichnung As Object = Nothing
Property beroz_art As String
Property beroz_berechtigungsstufe As Integer = -1
Dim SQL As New SQL
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_id", beroz_id, , True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_beroId", beroz_beroId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_bergrId", beroz_bergrId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_art", beroz_art))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_berechtigungsstufe", beroz_berechtigungsstufe))
' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GruppenBezeichnung", GruppenBezeichnung, , , True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezeichnung", Bezeichnung, , , True))
Return list
End Function
Public Sub LOAD()
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekteZuordnung WHERE beroz_id=@beroz_id ", conn)
cmd.Parameters.AddWithValue("@beroz_id", beroz_id)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function INSERT() As String
Try
Dim list As List(Of SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not (i.isPrimaryParam Or i.isonlyForLoad) Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ")
SQL.doSQLVarListID(beroz_id, " INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ", "ADMIN", , list)
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function DELETE() As String
Try
SQL.doSQL("DELETE FROM tblBerechtigungsObjekteZuordnung WHERE beroz_id=" & Me.beroz_id, "ADMIN")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,206 @@
Imports System
Imports System.Runtime.InteropServices
Imports System.IO
Imports System.Collections.Generic
Imports System.Windows.Forms
Namespace SendFileTo
Public Class MAPI
Public Function AddRecipientTo(ByVal email As String) As Boolean
Return AddRecipient(email, howTo.MAPI_TO)
End Function
Public Function AddRecipientCC(ByVal email As String) As Boolean
Return AddRecipient(email, howTo.MAPI_TO)
End Function
Public Function AddRecipientBCC(ByVal email As String) As Boolean
Return AddRecipient(email, howTo.MAPI_TO)
End Function
Public Sub AddAttachment(ByVal strAttachmentFileName As String)
m_attachments.Add(strAttachmentFileName)
End Sub
Public Function SendMailPopup(ByVal strSubject As String, ByVal strBody As String) As Integer
Return SendMail(strSubject, strBody, MAPI_LOGON_UI Or MAPI_DIALOG)
End Function
Public Function SendMailDirect(ByVal strSubject As String, ByVal strBody As String) As Integer
Return SendMail(strSubject, strBody, MAPI_LOGON_UI)
End Function
<DllImport("MAPI32.DLL")>
Private Shared Function MAPISendMail(ByVal sess As IntPtr, ByVal hwnd As IntPtr, ByVal message As MapiMessage, ByVal flg As Integer, ByVal rsv As Integer) As Integer
End Function
Private Function SendMail(ByVal strSubject As String, ByVal strBody As String, ByVal how As Integer) As Integer
Dim msg As MapiMessage = New MapiMessage()
msg.subject = strSubject
msg.noteText = strBody
msg.recips = GetRecipients(msg.recipCount)
msg.files = GetAttachments(msg.fileCount)
m_lastError = MAPISendMail(New IntPtr(0), New IntPtr(0), msg, how, 0)
If m_lastError > 1 Then
MessageBox.Show("MAPISendMail failed! " + GetLastError(), "MAPISendMail")
End If
Cleanup(msg)
Return m_lastError
End Function
Private Function AddRecipient(ByVal email As String, ByVal howTo As howTo) As Boolean
Dim recipient As MapiRecipDesc = New MapiRecipDesc()
recipient.recipClass = CType(howTo, Integer)
recipient.name = email
m_recipients.Add(recipient)
Return True
End Function
Private Function GetRecipients(ByRef recipCount As Integer) As IntPtr
recipCount = 0
If m_recipients.Count = 0 Then
Return 0
End If
Dim size As Integer = Marshal.SizeOf(GetType(MapiRecipDesc))
Dim intPtr As IntPtr = Marshal.AllocHGlobal(m_recipients.Count * size)
Dim ptr As Integer = CType(intPtr, Integer)
Dim mapiDesc As MapiRecipDesc
For Each mapiDesc In m_recipients
Marshal.StructureToPtr(mapiDesc, CType(ptr, IntPtr), False)
ptr += size
Next
recipCount = m_recipients.Count
Return intPtr
End Function
Private Function GetAttachments(ByRef fileCount As Integer) As IntPtr
fileCount = 0
If m_attachments Is Nothing Then
Return 0
End If
If (m_attachments.Count <= 0) Or (m_attachments.Count > maxAttachments) Then
Return 0
End If
Dim size As Integer = Marshal.SizeOf(GetType(MapiFileDesc))
Dim intPtr As IntPtr = Marshal.AllocHGlobal(m_attachments.Count * size)
Dim mapiFileDesc As MapiFileDesc = New MapiFileDesc()
mapiFileDesc.position = -1
Dim ptr As Integer = CType(intPtr, Integer)
Dim strAttachment As String
For Each strAttachment In m_attachments
mapiFileDesc.name = Path.GetFileName(strAttachment)
mapiFileDesc.path = strAttachment
Marshal.StructureToPtr(mapiFileDesc, CType(ptr, IntPtr), False)
ptr += size
Next
fileCount = m_attachments.Count
Return intPtr
End Function
Private Sub Cleanup(ByRef msg As MapiMessage)
Dim size As Integer = Marshal.SizeOf(GetType(MapiRecipDesc))
Dim ptr As Integer = 0
If msg.recips <> IntPtr.Zero Then
ptr = CType(msg.recips, Integer)
Dim i As Integer
For i = 0 To msg.recipCount - 1 Step i + 1
Marshal.DestroyStructure(CType(ptr, IntPtr), GetType(MapiRecipDesc))
ptr += size
Next
Marshal.FreeHGlobal(msg.recips)
End If
If msg.files <> IntPtr.Zero Then
size = Marshal.SizeOf(GetType(MapiFileDesc))
ptr = CType(msg.files, Integer)
Dim i As Integer
For i = 0 To msg.fileCount - 1 Step i + 1
Marshal.DestroyStructure(CType(ptr, IntPtr), GetType(MapiFileDesc))
ptr += size
Next
Marshal.FreeHGlobal(msg.files)
End If
m_recipients.Clear()
m_attachments.Clear()
m_lastError = 0
End Sub
Public Function GetLastError() As String
If m_lastError <= 26 Then
Return errors(m_lastError)
End If
Return "MAPI error [" + m_lastError.ToString() + "]"
End Function
ReadOnly errors() As String = New String() {"OK [0]", "User abort [1]", "General MAPI failure [2]", "MAPI login failure [3]", "Disk full [4]", "Insufficient memory [5]", "Access denied [6]", "-unknown- [7]", "Too many sessions [8]", "Too many files were specified [9]", "Too many recipients were specified [10]", "A specified attachment was not found [11]", "Attachment open failure [12]", "Attachment write failure [13]", "Unknown recipient [14]", "Bad recipient type [15]", "No messages [16]", "Invalid message [17]", "Text too large [18]", "Invalid session [19]", "Type not supported [20]", "A recipient was specified ambiguously [21]", "Message in use [22]", "Network failure [23]", "Invalid edit fields [24]", "Invalid recipients [25]", "Not supported [26]"}
Dim m_recipients As New List(Of MapiRecipDesc)
Dim m_attachments As New List(Of String)
Dim m_lastError As Integer = 0
Private Const MAPI_LOGON_UI As Integer = &H1
Private Const MAPI_DIALOG As Integer = &H8
Private Const maxAttachments As Integer = 20
Enum howTo
MAPI_ORIG = 0
MAPI_TO
MAPI_CC
MAPI_BCC
End Enum
End Class
<StructLayout(LayoutKind.Sequential)> _
Public Class MapiMessage
Public reserved As Integer
Public subject As String
Public noteText As String
Public messageType As String
Public dateReceived As String
Public conversationID As String
Public flags As Integer
Public originator As IntPtr
Public recipCount As Integer
Public recips As IntPtr
Public fileCount As Integer
Public files As IntPtr
End Class
<StructLayout(LayoutKind.Sequential)> _
Public Class MapiFileDesc
Public reserved As Integer
Public flags As Integer
Public position As Integer
Public path As String
Public name As String
Public type As IntPtr
End Class
<StructLayout(LayoutKind.Sequential)> _
Public Class MapiRecipDesc
Public reserved As Integer
Public recipClass As Integer
Public name As String
Public address As String
Public eIDSize As Integer
Public enTryID As IntPtr
End Class
End Namespace

View File

@@ -0,0 +1,320 @@

Imports System.Data.SqlClient
Imports System.Reflection
Public Class cUSTVAntrag
Property UStVAn_ID As Integer
Property UStVAn_KuNr As Object = Nothing ' INT Not NULL,
Property UStVAn_Name As Object = Nothing ' NVARCHAR(80) NULL,
Property UStVAn_Straße As Object = Nothing ' NVARCHAR(40) NULL,
Property UStVAn_LandKz As Object = Nothing ' NVARCHAR(3) NULL,
Property UStVAn_PLZ As Object = Nothing ' NVARCHAR(7) NULL,
Property UStVAn_Ort As Object = Nothing ' NVARCHAR(40) NULL,
Property UStVAn_Land As Object = Nothing ' NVARCHAR(22) NULL,
Property UStVAn_Gewerbe As Object = Nothing ' NVARCHAR(50) NULL,
Property UStVAn_Steuernummer As Object = Nothing ' NVARCHAR(20) NULL,
Property UStVAn_ReDatVon As Object = Nothing ' DATETIME Not NULL,
Property UStVAn_ReDatBis As Object = Nothing ' DATETIME Not NULL,
Property UStVAn_Bankverbindung As Object = Nothing ' NVARCHAR(50) NULL,
Property UStVAn_BLZ As Object = Nothing ' NVARCHAR(8) NULL,
Property UStVAn_KTO As Object = Nothing ' NVARCHAR(12) NULL,
Property UStVAn_Kontoinhaber As Object = Nothing ' NVARCHAR(50) NULL,
Property UStVAn_BIC As Object = Nothing ' NVARCHAR(11) NULL,
Property UStVAn_IBAN As Object = Nothing ' NVARCHAR(27) NULL,
Property UStVAn_Anlagen As Object = Nothing ' SMALLINT NULL,
Property UStVAn_Rechnungen As Object = Nothing ' SMALLINT NULL,
Property UStVAn_Einfuhrdokumente As Object = Nothing ' SMALLINT NULL,
Property UStVAn_Erklärung_9_a As Object = Nothing ' NVARCHAR(50) NULL,
Property UStVAn_Erklärung_9_b_1 As Object = Nothing ' BIT Default ((0)) Not NULL,
Property UStVAn_Erklärung_9_b_2 As Object = Nothing ' BIT Default ((0)) Not NULL,
Property UStVAn_Erklärung_9_b_3 As Object = Nothing ' BIT Default ((0)) Not NULL,
Property UStVAn_Ausstellungsort As Object = Nothing ' NVARCHAR(20) NULL,
Property UStVAn_Ausstellungsdatum As Object = Nothing ' DATETIME NULL,
Property UStVAn_Unterschrift As Object = Nothing ' NVARCHAR(20) NULL,
Property UStVAn_LandNr As Object = Nothing ' SMALLINT Default ((38)) Not NULL,
Property UStVAn_Beleganzahl As Object = Nothing ' SMALLINT NULL,
Property UStVAn_BeleganzahlRetourniert As Object = Nothing ' SMALLINT NULL,
Property UStVAn_Retournierungsgrund As Object = Nothing ' NVARCHAR(255) NULL,
Property UStVAn_AntragEingereichtAm As Object = Nothing ' DATETIME NULL,
Property UStVAn_BelegeWeitergeleitetAm As Object = Nothing ' DATETIME NULL,
Property UStVAn_Vertreter As Object = Nothing ' INT NULL,
Property UStVAn_BezugsNr As Object = Nothing ' NVARCHAR(35) NULL,
Property UStVAn_3470 As Object = Nothing ' MONEY NULL,
Property UStVAn_VZBetrag As Object = Nothing ' MONEY NULL,
Property UStVAn_VZDatum As Object = Nothing ' DATETIME NULL,
Property UStVAn_RZBetragVZ As Object = Nothing ' MONEY NULL,
Property UStVAn_RZDatumVZ As Object = Nothing ' DATETIME NULL,
Property FilialenNr As Object = Nothing ' SMALLINT NULL,
Property AbfertigungsNr As Object = Nothing ' INT NULL,
Property UStVAn_Währungscode As Object = Nothing ' NVARCHAR(3) NULL,
Property UStVAn_USteuerbetrag As Object = Nothing ' MONEY Default ((0)) NULL,
Property UStVAn_Erstattungsbetrag As Object = Nothing ' MONEY Default ((0)) NULL,
Property UStVAn_USteuerbetragEUR As Object = Nothing ' MONEY Default ((0)) NULL,
Property UStVAn_ErstattungsbetragEUR As Object = Nothing ' MONEY Default ((0)) NULL,
Property UStVAn_Sachbearbeiter As Object = Nothing ' NVARCHAR(15) NULL,
Property UStVAn_Zeitstempel As Object = Nothing ' DATETIME Default (getdate()) NULL,
Property POSITIONEN As New List(Of cUStVPositionen) '= Nothing
Dim SQL As New SQL
Sub New()
End Sub
Sub New(UStVAn_ID)
Me.UStVAn_ID = UStVAn_ID
LOAD(UStVAn_ID)
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID,, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_KuNr", UStVAn_KuNr)) ' INT Not NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Name", UStVAn_Name)) ' NVARCHAR(80) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Straße", UStVAn_Straße)) ' NVARCHAR(40) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_LandKz", UStVAn_LandKz)) ' NVARCHAR(3) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_PLZ", UStVAn_PLZ)) ' NVARCHAR(7) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Ort", UStVAn_Ort)) ' NVARCHAR(40) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Land", UStVAn_Land)) ' NVARCHAR(22) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Gewerbe", UStVAn_Gewerbe)) ' NVARCHAR(50) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Steuernummer", UStVAn_Steuernummer)) ' NVARCHAR(20) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ReDatVon", UStVAn_ReDatVon)) ' DATETIME Not NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ReDatBis", UStVAn_ReDatBis)) ' DATETIME Not NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Bankverbindung", UStVAn_Bankverbindung)) ' NVARCHAR(50) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BLZ", UStVAn_BLZ)) ' NVARCHAR(8) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_KTO", UStVAn_KTO)) ' NVARCHAR(12) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Kontoinhaber", UStVAn_Kontoinhaber)) ' NVARCHAR(50) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BIC", UStVAn_BIC)) ' NVARCHAR(11) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_IBAN", UStVAn_IBAN)) ' NVARCHAR(27) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Anlagen", UStVAn_Anlagen)) ' SMALLINT NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Rechnungen", UStVAn_Rechnungen)) ' SMALLINT NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Einfuhrdokumente", UStVAn_Einfuhrdokumente)) ' SMALLINT NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_a", UStVAn_Erklärung_9_a)) ' NVARCHAR(50) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_b_1", UStVAn_Erklärung_9_b_1)) ' BIT Default ((0)) Not NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_b_2", UStVAn_Erklärung_9_b_2)) ' BIT Default ((0)) Not NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_b_3", UStVAn_Erklärung_9_b_3)) ' BIT Default ((0)) Not NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Ausstellungsort", UStVAn_Ausstellungsort)) ' NVARCHAR(20) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Ausstellungsdatum", UStVAn_Ausstellungsdatum)) ' DATETIME NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Unterschrift", UStVAn_Unterschrift)) ' NVARCHAR(20) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_LandNr", UStVAn_LandNr)) ' SMALLINT Default ((38)) Not NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Beleganzahl", UStVAn_Beleganzahl)) ' SMALLINT NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BeleganzahlRetourniert", UStVAn_BeleganzahlRetourniert)) ' SMALLINT NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Retournierungsgrund", UStVAn_Retournierungsgrund)) ' NVARCHAR(255) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_AntragEingereichtAm", UStVAn_AntragEingereichtAm)) ' DATETIME NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BelegeWeitergeleitetAm", UStVAn_BelegeWeitergeleitetAm)) ' DATETIME NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Vertreter", UStVAn_Vertreter)) ' INT NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BezugsNr", UStVAn_BezugsNr)) ' NVARCHAR(35) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_3470", UStVAn_3470)) ' MONEY NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_VZBetrag", UStVAn_VZBetrag)) ' MONEY NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_VZDatum", UStVAn_VZDatum)) ' DATETIME NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_RZBetragVZ", UStVAn_RZBetragVZ)) ' MONEY NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_RZDatumVZ", UStVAn_RZDatumVZ)) ' DATETIME NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) ' SMALLINT NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr)) ' INT NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Währungscode", UStVAn_Währungscode)) ' NVARCHAR(3) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_USteuerbetrag", UStVAn_USteuerbetrag)) ' MONEY Default ((0)) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erstattungsbetrag", UStVAn_Erstattungsbetrag)) ' MONEY Default ((0)) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_USteuerbetragEUR", UStVAn_USteuerbetragEUR)) ' MONEY Default ((0)) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ErstattungsbetragEUR", UStVAn_ErstattungsbetragEUR)) ' MONEY Default ((0)) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Sachbearbeiter", UStVAn_Sachbearbeiter)) ' NVARCHAR(15) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Zeitstempel", UStVAn_Zeitstempel)) ' DATETIME Default (getdate()) NULL,
Return list
End Function
Public Sub LOAD(UStVAn_ID, Optional loadPos = True)
Try
POSITIONEN.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblUStVAntrag WHERE UStVAn_ID=@UStVAn_ID ", conn)
cmd.Parameters.AddWithValue("@UStVAn_ID", UStVAn_ID)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
'Dim l As New cOfferte
For Each i In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(i.Text))
End If
Next
If loadPos Then LOAD_POSITIONEN()
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Sub LOAD_POSITIONEN()
Try
POSITIONEN.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblUStVPositionen WHERE UStVAn_ID=@UStVAn_ID ", conn)
cmd.Parameters.AddWithValue("@UStVAn_ID", Me.UStVAn_ID)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim l As New cUStVPositionen
For Each i In l.getParameterList()
Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(l, Nothing)
Else
propInfo.SetValue(l, dr.Item(i.Text))
End If
Next
POSITIONEN.Add(l)
End While
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function INSERT() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
End Function
Public Function SAVE() As Boolean
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblUStVAntrag WITH(updlock,serializable) WHERE UStVAn_ID=@UStVAn_ID ) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Function getInsertCmd() As String
Try
'Me.Eingegeben_am = Now
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUStVAntrag (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUStVAntrag] SET " & str & " WHERE UStVAn_ID=@UStVAn_ID ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function getMaxPosNr() As Integer
Try
Dim maxPosNr = -1
Return SQL.getValueTxtBySql("SELECT isnull(max([UStVPo_ID]),0)+1 FROM [tblUStVPositionen] where UStVAn_ID='" & UStVAn_ID & "'", "FMZOLL",,, "1")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return -1
End Function
End Class
Public Class cUStVPositionen
Property UStVAn_ID As Integer
Property UStVPo_ID As Integer
Property UStVPo_ReDat As Object = Nothing ' DATETIME NULL,
Property UStVPo_ReNr As Object = Nothing ' NVARCHAR(20) NULL,
Property UStVPo_USteuerbetrag As Object = Nothing ' MONEY Not NULL,
Property UStVPo_Leistungsbezeichnung As Object = Nothing ' NVARCHAR(255) NULL,
Property UStVPo_Leistender As Object = Nothing ' NVARCHAR(65) NULL,
Property UStVPo_Schnittstelle As Object = Nothing ' BIT Default ((0)) Not NULL,
Property UStVPo_SchnittstellenNr As Object = Nothing ' SMALLINT Default ((0)) Not NULL,
Property UStVPo_Umrechnungskurs As Object = Nothing ' FLOAT(53) NULL,
Property UStVPo_USteuerbetragEUR As Object = Nothing ' MONEY NULL,
Property UStVPo_Sachbearbeiter As Object = Nothing ' NVARCHAR(15) NULL,
Property UStVPo_Zeitstempel As Object = Nothing ' DATETIME Default (getdate()) NULL,
Dim SQL As New SQL
Sub New()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_ID", UStVPo_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_ReDat", UStVPo_ReDat))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_ReNr", UStVPo_ReNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_USteuerbetrag", UStVPo_USteuerbetrag))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Leistungsbezeichnung", UStVPo_Leistungsbezeichnung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Leistender", UStVPo_Leistender))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Schnittstelle", UStVPo_Schnittstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_SchnittstellenNr", UStVPo_SchnittstellenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Umrechnungskurs", UStVPo_Umrechnungskurs))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_USteuerbetragEUR", UStVPo_USteuerbetragEUR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Sachbearbeiter", UStVPo_Sachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Zeitstempel", UStVPo_Zeitstempel))
Return list
End Function
Public Function INSERT() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUStVPositionen (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
End Class

View File

@@ -0,0 +1,111 @@

Imports System.Data.SqlClient
Imports System.Reflection
Public Class _BASE
Property _BASE_id As Integer
Property _BASE_value As Object = Nothing
Property _BASE_value2 As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New(_BASE_id)
Me._BASE_id = _BASE_id
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("_BASE_id", _BASE_id,, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("_BASE_value", _BASE_value))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTABLE WHERE _BASE_id=@_BASE_id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblTABLE WHERE _BASE_id=@_BASE_id ", conn)
cmd.Parameters.AddWithValue("@_BASE_id", _BASE_id)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblTABLE] SET " & str & " WHERE _BASE_id=@_BASE_id ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblTABLE (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
End Class

View File

@@ -0,0 +1,289 @@
Imports System.Data.SqlClient
Imports System.Reflection
Public Enum cAPI_Status
[NEW] = 0 ' Neu, noch nicht verarbeitet
OK = 1 ' Erfolg! :)
ERR = 90 ' Fehlversuch :(
ERR_FINAL = 99 'Hier sollte kein Verarbeitungs-Versuch mehr gestartet werden
End Enum
Public Enum cAPI_ART
UNDEFINED = -1
AVISO_OUT_STATUSMAIL = 1
AVISO_OUT_BELEGMAIL = 2
'Public Const AVISO_MAIL_OUT_AVM = 5
'Public Const AVISO_MAIL_OUT_ABD = 6
'Public Const AVISO_MAIL_OUT_ZNV = 7
'Public Const AVISO_MAIL_OUT_AVM = 8
'Public Const AVISO_MAIL_OUT_AVM = 9
'Public Const AVISO_IN_NCTS = 10
'Public Const AVISO_IN_EZA = 11
VERAG_OUT_NCTS = 10
VERAG_OUT_EZA = 11
End Enum
Public Class cAPI_Type
Public Const UNDEFINED = Nothing
Public Const MAIL = "MAIL"
Public Const FTP = "FTP"
Public Const REST = "REST"
End Class
Public Class cAPI_INOUT
Public Const UNDEFINED = Nothing
Public Const [IN] = "IN"
Public Const OUT = "OUT"
End Class
Public Class cAPI
Property api_id As Integer
Property api_apiArt As cAPI_ART = -1
Property api_apiUArt As Object = Nothing
Property api_apiInfo As Object = Nothing
Property api_apiZollStatus As Object = Nothing
Property api_apiVersion As String = "1.0.0.0"
Property api_InOut As String = cAPI_INOUT.UNDEFINED
Property api_datetime As DateTime = Now
Property api_status As cAPI_Status = cAPI_Status.[NEW]
Property api_fehlversuch As Integer = 0
Property api_progId As Integer = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID
Property api_progName As String = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGNAME
Property api_progVersion As String = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGVERSION
Property api_Testsystem As Boolean = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
Property api_Type As String = cAPI_Type.UNDEFINED
Property api_EMailFrom As Object = Nothing
Property api_EMail As Object = Nothing
Property api_EMailCC As Object = Nothing
Property api_EMailBCC As Object = Nothing
Property api_EMailSubject As Object = Nothing
Property api_EMailText As Object = Nothing
Property api_EMailAttCnt As Object = Nothing
Property api_filepathSource As Object = Nothing
Property api_filepathDestination As Object = Nothing
Property api_Firma As String = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Property api_MaId As String = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
Property api_Username As String = If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, "AUTO")
Property api_Partnersystem As Object = Nothing
Property api_Vorsystem As Object = Nothing
Property api_KundenNr As Object = Nothing
Property api_AvisoId As Object = Nothing
Property api_SendungsId As Object = Nothing
Property api_FilialenNr As Object = Nothing
Property api_AbfertigungsNr As Object = Nothing
Property api_BezugsNr As Object = Nothing
Property api_Zollbelegnummer As Object = Nothing
Property api_finTstmp As Object = Nothing
Property api_errTstmp As Object = Nothing
Property api_errStack As Object = Nothing
Property api_errMessage As Object = Nothing
Property api_errMethodName As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New()
api_progId = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID
api_progName = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGNAME
api_progVersion = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGVERSION
api_Testsystem = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
api_Firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
api_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
api_Username = If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, "AUTO")
End Sub
Sub New(api_id)
Me.api_id = api_id
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_id", api_id,, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_apiArt", api_apiArt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_apiUArt", api_apiUArt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_apiInfo", api_apiInfo))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_apiZollStatus", api_apiZollStatus))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_apiVersion", api_apiVersion))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_InOut", api_InOut))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_datetime", api_datetime))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_status", api_status))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_fehlversuch", api_fehlversuch))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_progId", api_progId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_progName", api_progName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_progVersion", api_progVersion))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Testsystem", api_Testsystem))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Type", api_Type)) 'MAIL; FTP; REST
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailFrom", api_EMailFrom))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMail", api_EMail))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailCC", api_EMailCC))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailBCC", api_EMailBCC))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailSubject", api_EMailSubject))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailText", api_EMailText))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailAttCnt", api_EMailAttCnt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_filepathSource", api_filepathSource))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_filepathDestination", api_filepathDestination))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Firma", api_Firma))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_MaId", api_MaId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Partnersystem", api_Partnersystem))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Vorsystem", api_Vorsystem))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_KundenNr", api_KundenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_AvisoId", api_AvisoId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_SendungsId", api_SendungsId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_FilialenNr", api_FilialenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_AbfertigungsNr", api_AbfertigungsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_BezugsNr", api_BezugsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Zollbelegnummer", api_Zollbelegnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_finTstmp", api_finTstmp))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_errTstmp", api_errTstmp))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_errStack", api_errStack))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_errMessage", api_errMessage))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_errMethodName", api_errMethodName))
Return list
End Function
Public Shared Function INSERT_API(api_InOut As String, api_Type As String, api_apiArt As cAPI_ART, Optional api_apiUArt As Object = Nothing,
Optional api_Partnersystem As Object = Nothing, Optional api_Vorsystem As Object = Nothing, Optional api_KundenNr As Object = Nothing,
Optional api_AvisoId As Object = Nothing, Optional api_SendungsId As Object = Nothing, Optional api_FilialenNr As Object = Nothing,
Optional api_AbfertigungsNr As Object = Nothing, Optional api_BezugsNr As Object = Nothing, Optional api_Zollbelegnummer As Object = Nothing) As cAPI
Dim API As New cAPI()
API.api_apiArt = api_apiArt
API.api_apiUArt = api_apiUArt
API.api_InOut = api_InOut
API.api_status = cAPI_Status.[NEW]
API.api_Type = api_Type
API.api_Partnersystem = api_Partnersystem
API.api_Vorsystem = api_Vorsystem
API.api_KundenNr = api_KundenNr
API.api_AvisoId = api_AvisoId
API.api_SendungsId = api_SendungsId
API.api_FilialenNr = api_FilialenNr
API.api_AbfertigungsNr = api_AbfertigungsNr
API.api_BezugsNr = api_BezugsNr
API.api_Zollbelegnummer = api_Zollbelegnummer
API.SAVE()
Return API
End Function
Public Sub UPDTAE_ERR(Optional api_errStack = Nothing, Optional api_errMessage = Nothing, Optional api_errMethodName = Nothing)
Me.api_status = cAPI_Status.ERR
Me.api_errTstmp = Now
Me.api_errStack = If(api_errStack, Me.api_errStack)
Me.api_errMessage = If(api_errMessage, Me.api_errMessage)
Me.api_errMethodName = If(api_errMethodName, Me.api_errMethodName)
Me.api_fehlversuch += 1
Me.SAVE()
End Sub
Public Sub UPDTAE_OK(Optional api_status = 1, Optional api_filepathDestination = Nothing)
Me.api_status = cAPI_Status.OK
Me.api_finTstmp = Now
Me.api_filepathDestination = If(api_filepathDestination, Me.api_filepathDestination)
Me.api_EMail = If(api_EMail, Me.api_EMail)
Me.api_EMailCC = If(api_EMailCC, Me.api_EMailCC)
Me.api_EMailBCC = If(api_EMailBCC, Me.api_EMailBCC)
Me.api_EMailSubject = If(api_EMailSubject, Me.api_EMailSubject)
Me.api_EMailText = If(api_EMailText, Me.api_EMailText)
Me.api_EMailAttCnt = If(api_EMailAttCnt, Me.api_EMailAttCnt)
Me.SAVE()
End Sub
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblAPI WHERE api_id=@api_id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
api_id = SQL.doSQLVarListID(api_id, sqlstr, "ADMIN", , list)
hasEntry = api_id > 0
Return api_id > 0
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT * FROM tblAPI WHERE api_id=@api_id ", conn)
cmd.Parameters.AddWithValue("@api_id", api_id)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblAPI] SET " & str & " WHERE api_id=@api_id ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblAPI (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
End Class

View File

@@ -0,0 +1,7 @@
Public Class cAbfertigungsarten
Shared SQLtmp As New SQL
Public Shared Function getAbfertigungsartBezById(abfArt As Integer)
Return SQLtmp.getValueTxtBySql("SELECT [Abfertigungsbezeichnung] FROM [Abfertigungsarten] WHERE [Abfertigungsart]=" & abfArt, "FMZOLL")
End Function
End Class

Some files were not shown because too many files have changed in this diff Show More