diff --git a/Diverses/1374582037_41973.ico b/Diverses/1374582037_41973.ico
new file mode 100644
index 0000000..e3398fb
Binary files /dev/null and b/Diverses/1374582037_41973.ico differ
diff --git a/Diverses/1374582040_38117.ico b/Diverses/1374582040_38117.ico
new file mode 100644
index 0000000..602353c
Binary files /dev/null and b/Diverses/1374582040_38117.ico differ
diff --git a/Diverses/1374582044_95059.ico b/Diverses/1374582044_95059.ico
new file mode 100644
index 0000000..4a9adc7
Binary files /dev/null and b/Diverses/1374582044_95059.ico differ
diff --git a/Diverses/1374582119_88249.ico b/Diverses/1374582119_88249.ico
new file mode 100644
index 0000000..bc2e69b
Binary files /dev/null and b/Diverses/1374582119_88249.ico differ
diff --git a/Diverses/Logo_Waberer.jpg b/Diverses/Logo_Waberer.jpg
new file mode 100644
index 0000000..0901eec
Binary files /dev/null and b/Diverses/Logo_Waberer.jpg differ
diff --git a/Diverses/Logo_Waberer2.jpg b/Diverses/Logo_Waberer2.jpg
new file mode 100644
index 0000000..93a8e2a
Binary files /dev/null and b/Diverses/Logo_Waberer2.jpg differ
diff --git a/Diverses/Waberers LKW Liste Parkplatz für Datenerfassung1.xlsx b/Diverses/Waberers LKW Liste Parkplatz für Datenerfassung1.xlsx
new file mode 100644
index 0000000..3490734
Binary files /dev/null and b/Diverses/Waberers LKW Liste Parkplatz für Datenerfassung1.xlsx differ
diff --git a/Diverses/parkzeit.ico b/Diverses/parkzeit.ico
new file mode 100644
index 0000000..03fae60
Binary files /dev/null and b/Diverses/parkzeit.ico differ
diff --git a/Parkzeit.accdb b/Parkzeit.accdb
new file mode 100644
index 0000000..967d01d
Binary files /dev/null and b/Parkzeit.accdb differ
diff --git a/Parkzeit.sln b/Parkzeit.sln
new file mode 100644
index 0000000..835b45d
--- /dev/null
+++ b/Parkzeit.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Parkzeit", "Parkzeit\Parkzeit.vbproj", "{E4190547-B222-4AE3-A0BE-A44EAEE70335}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E4190547-B222-4AE3-A0BE-A44EAEE70335}.Debug|x86.ActiveCfg = Debug|x86
+ {E4190547-B222-4AE3-A0BE-A44EAEE70335}.Debug|x86.Build.0 = Debug|x86
+ {E4190547-B222-4AE3-A0BE-A44EAEE70335}.Release|x86.ActiveCfg = Release|x86
+ {E4190547-B222-4AE3-A0BE-A44EAEE70335}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Parkzeit/App.config b/Parkzeit/App.config
new file mode 100644
index 0000000..9b1ee58
--- /dev/null
+++ b/Parkzeit/App.config
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 200, 200
+
+
+ 800, 500
+
+
+
+
+
+
+
+
+
+
diff --git a/Parkzeit/ApplicationEvents.vb b/Parkzeit/ApplicationEvents.vb
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/Parkzeit/ApplicationEvents.vb
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Parkzeit/ManagementObjectSearcher.vb b/Parkzeit/ManagementObjectSearcher.vb
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/Parkzeit/ManagementObjectSearcher.vb
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Parkzeit/My Project/Application.Designer.vb b/Parkzeit/My Project/Application.Designer.vb
new file mode 100644
index 0000000..7a066bb
--- /dev/null
+++ b/Parkzeit/My Project/Application.Designer.vb
@@ -0,0 +1,38 @@
+'------------------------------------------------------------------------------
+'
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.34014
+'
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ 'HINWEIS: Diese Datei wird automatisch generiert. Ändern Sie sie nicht direkt. Zum Ändern
+ ' oder bei in dieser Datei auftretenden Buildfehlern wechseln Sie zum Projekt-Designer.
+ ' (Wechseln Sie dazu zu den Projekteigenschaften, oder doppelklicken Sie auf den Knoten "Mein Projekt" im
+ ' Projektmappen-Explorer). Nehmen Sie auf der Registerkarte "Anwendung" entsprechende Änderungen vor.
+ '
+ Partial Friend Class MyApplication
+
+ _
+ Public Sub New()
+ MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
+ Me.IsSingleInstance = false
+ Me.EnableVisualStyles = true
+ Me.SaveMySettingsOnExit = true
+ Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
+ End Sub
+
+ _
+ Protected Overrides Sub OnCreateMainForm()
+ Me.MainForm = Global.Parkzeit.frmMain
+ End Sub
+ End Class
+End Namespace
diff --git a/Parkzeit/My Project/Application.myapp b/Parkzeit/My Project/Application.myapp
new file mode 100644
index 0000000..739ea6f
--- /dev/null
+++ b/Parkzeit/My Project/Application.myapp
@@ -0,0 +1,10 @@
+
+
+ true
+ frmMain
+ false
+ 0
+ true
+ 0
+ true
+
\ No newline at end of file
diff --git a/Parkzeit/My Project/AssemblyInfo.vb b/Parkzeit/My Project/AssemblyInfo.vb
new file mode 100644
index 0000000..3b992b9
--- /dev/null
+++ b/Parkzeit/My Project/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' Allgemeine Informationen über eine Assembly werden über die folgenden
+' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+' die mit einer Assembly verknüpft sind.
+
+' Die Werte der Assemblyattribute überprüfen
+
+
+
+
+
+
+
+
+
+
+'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
+
+
+' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+'
+' Hauptversion
+' Nebenversion
+' Buildnummer
+' Revision
+'
+' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
+' übernehmen, indem Sie "*" eingeben:
+'
+
+
+
diff --git a/Parkzeit/My Project/Resources.Designer.vb b/Parkzeit/My Project/Resources.Designer.vb
new file mode 100644
index 0000000..5e89ecb
--- /dev/null
+++ b/Parkzeit/My Project/Resources.Designer.vb
@@ -0,0 +1,134 @@
+'------------------------------------------------------------------------------
+'
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.34014
+'
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+Imports System
+
+Namespace My.Resources
+
+ 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
+ '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
+ 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
+ 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
+ '''
+ ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
+ '''
+ _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''
+ ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
+ '''
+ _
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+ Get
+ If Object.ReferenceEquals(resourceMan, Nothing) Then
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Parkzeit.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''
+ ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
+ ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
+ '''
+ _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set
+ resourceCulture = value
+ End Set
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Zeichenfolge, die Data Source=DEVELOPER\DEVSQL;Initial Catalog=Parkzeit;Integrated Security=false;User ID=sa;Password=BmWr501956; ähnelt.
+ '''
+ Friend ReadOnly Property connectionString_DEV() As String
+ Get
+ Return ResourceManager.GetString("connectionString_DEV", resourceCulture)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Zeichenfolge, die Data Source=BUCHHALTUNG\SQLEXPRESS;Initial Catalog=Parkzeit;Integrated Security=false;User ID=sa;Password=BmWr501956; ähnelt.
+ '''
+ Friend ReadOnly Property connectionString_PROD() As String
+ Get
+ Return ResourceManager.GetString("connectionString_PROD", resourceCulture)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property Logo_Waberer() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("Logo_Waberer", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol).
+ '''
+ Friend ReadOnly Property Parkschild() As System.Drawing.Icon
+ Get
+ Dim obj As Object = ResourceManager.GetObject("Parkschild", resourceCulture)
+ Return CType(obj,System.Drawing.Icon)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol).
+ '''
+ Friend ReadOnly Property parkzeit() As System.Drawing.Icon
+ Get
+ Dim obj As Object = ResourceManager.GetObject("parkzeit", resourceCulture)
+ Return CType(obj,System.Drawing.Icon)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Zeichenfolge, die Version 1.2.1 19.03.2015 (Luxbauer Andreas)
+ '''- Umstellung auf SQLConnection
+ '''
+ '''Version 1.2.0 11.12.2014 (Luxbauer Andreas)
+ '''- Anbindung SQL Server
+ '''- Bugfix Programmstart
+ '''
+ '''Version 1.1.0 19.10.2013
+ '''NEU: Trennung der Abrechnung nach LKW-Kennzeichen
+ '''-Ungarn (die ersten drei Stellen sind Buchstaben)
+ '''-Rumänien (die erste oder zweite Stelle ist ein Buchstabe)
+ '''-Sonstige (die ersten beiden Stellen sind Ziffern)
+ '''KORREKTUR: Spaltengröße bei Gesamtsumme erweitert (ansonsten erfolgte Zeilenumbruch)
+ '''
+ '''Version [Rest der Zeichenfolge wurde abgeschnitten]"; ähnelt.
+ '''
+ Friend ReadOnly Property Versionsinfo() As String
+ Get
+ Return ResourceManager.GetString("Versionsinfo", resourceCulture)
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/Parkzeit/My Project/Resources.resx b/Parkzeit/My Project/Resources.resx
new file mode 100644
index 0000000..06708d7
--- /dev/null
+++ b/Parkzeit/My Project/Resources.resx
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ ..\Resources\Parkschild.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Logo_Waberer.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Versionsinfo.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252
+
+
+ Data Source=DEVELOPER\DEVSQL;Initial Catalog=Parkzeit;Integrated Security=false;User ID=sa;Password=BmWr501956;
+
+
+ Data Source=BUCHHALTUNG\SQLEXPRESS;Initial Catalog=Parkzeit;Integrated Security=false;User ID=sa;Password=BmWr501956;
+
+
+ ..\Resources\parkzeit.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/Parkzeit/My Project/Settings.Designer.vb b/Parkzeit/My Project/Settings.Designer.vb
new file mode 100644
index 0000000..efaa5e9
--- /dev/null
+++ b/Parkzeit/My Project/Settings.Designer.vb
@@ -0,0 +1,97 @@
+'------------------------------------------------------------------------------
+'
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.34014
+'
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ _
+ Partial Friend NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
+
+#Region "Funktion zum automatischen Speichern von My.Settings"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ _
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+
+ _
+ Public Property frmMainPosition() As Global.System.Drawing.Point
+ Get
+ Return CType(Me("frmMainPosition"),Global.System.Drawing.Point)
+ End Get
+ Set
+ Me("frmMainPosition") = value
+ End Set
+ End Property
+
+ _
+ Public Property frmMainSize() As Global.System.Drawing.Size
+ Get
+ Return CType(Me("frmMainSize"),Global.System.Drawing.Size)
+ End Get
+ Set
+ Me("frmMainSize") = value
+ End Set
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ _
+ Friend Module MySettingsProperty
+
+ _
+ Friend ReadOnly Property Settings() As Global.Parkzeit.My.MySettings
+ Get
+ Return Global.Parkzeit.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/Parkzeit/My Project/Settings.settings b/Parkzeit/My Project/Settings.settings
new file mode 100644
index 0000000..ecc64ce
--- /dev/null
+++ b/Parkzeit/My Project/Settings.settings
@@ -0,0 +1,12 @@
+
+
+
+
+
+ 200, 200
+
+
+ 800, 500
+
+
+
\ No newline at end of file
diff --git a/Parkzeit/My Project/app.manifest b/Parkzeit/My Project/app.manifest
new file mode 100644
index 0000000..1dcd8c6
--- /dev/null
+++ b/Parkzeit/My Project/app.manifest
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Parkzeit/Parkzeit.vbproj b/Parkzeit/Parkzeit.vbproj
new file mode 100644
index 0000000..2039f96
--- /dev/null
+++ b/Parkzeit/Parkzeit.vbproj
@@ -0,0 +1,260 @@
+
+
+
+ Debug
+ x86
+
+
+ 2.0
+ {E4190547-B222-4AE3-A0BE-A44EAEE70335}
+ WinExe
+ Parkzeit.My.MyApplication
+ Parkzeit
+ Parkzeit
+ 512
+ WindowsForms
+ v4.0
+
+
+ false
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ true
+
+
+ AnyCPU
+ true
+ full
+ true
+ true
+ bin\Debug\
+ Parkzeit.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ x86
+ pdbonly
+ false
+ true
+ true
+ bin\Release\
+ Parkzeit.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ On
+
+
+ Binary
+
+
+ On
+
+
+ On
+
+
+ parkzeit.ico
+
+
+ My Project\app.manifest
+
+
+ false
+
+
+
+ False
+ bin\Debug\Microsoft.ReportViewer.Common.dll
+
+
+ False
+ bin\Debug\Microsoft.ReportViewer.WinForms.dll
+
+
+
+ False
+ True
+
+
+
+
+
+
+
+
+ False
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ frmAuswahl_Abrechnung.vb
+
+
+ Form
+
+
+ frmDruckansicht.vb
+
+
+ Form
+
+
+ frmEintragParkzeit.vb
+
+
+ Form
+
+
+ frmInfo.vb
+
+
+ Form
+
+
+ Form
+
+
+ frmMain.vb
+ Form
+
+
+
+
+ True
+ Application.myapp
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+ True
+ True
+ ParkzeitDataSet.xsd
+
+
+
+
+
+ frmAuswahl_Abrechnung.vb
+
+
+ frmDruckansicht.vb
+
+
+ frmEintragParkzeit.vb
+
+
+ frmInfo.vb
+
+
+ frmMain.vb
+
+
+ VbMyResourcesResXFileCodeGenerator
+ My.Resources
+ Designer
+ Resources.Designer.vb
+
+
+
+
+
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+
+
+
+
+ ParkzeitDataSet.xsd
+
+
+ MSDataSetGenerator
+ ParkzeitDataSet.Designer.vb
+ Designer
+
+
+ ParkzeitDataSet.xsd
+
+
+
+
+
+ False
+ Microsoft .NET Framework 4 Client Profile %28x86 und x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+ False
+ Windows Installer 3.1
+ true
+
+
+
+
+
\ No newline at end of file
diff --git a/Parkzeit/ParkzeitDataSet.Designer.vb b/Parkzeit/ParkzeitDataSet.Designer.vb
new file mode 100644
index 0000000..00e15e7
--- /dev/null
+++ b/Parkzeit/ParkzeitDataSet.Designer.vb
@@ -0,0 +1,1761 @@
+'------------------------------------------------------------------------------
+'
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.34014
+'
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
+'
+'------------------------------------------------------------------------------
+
+Option Strict Off
+Option Explicit On
+
+
+
+'''
+'''Represents a strongly typed in-memory cache of data.
+'''
+ _
+Partial Public Class ParkzeitDataSet
+ Inherits Global.System.Data.DataSet
+
+ Private tableParkzeiten As ParkzeitenDataTable
+
+ Private _schemaSerializationMode As Global.System.Data.SchemaSerializationMode = Global.System.Data.SchemaSerializationMode.IncludeSchema
+
+ _
+ Public Sub New()
+ MyBase.New
+ Me.BeginInit
+ Me.InitClass
+ Dim schemaChangedHandler As Global.System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
+ AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler
+ AddHandler MyBase.Relations.CollectionChanged, schemaChangedHandler
+ Me.EndInit
+ End Sub
+
+ _
+ Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext)
+ MyBase.New(info, context, false)
+ If (Me.IsBinarySerialized(info, context) = true) Then
+ Me.InitVars(false)
+ Dim schemaChangedHandler1 As Global.System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
+ AddHandler Me.Tables.CollectionChanged, schemaChangedHandler1
+ AddHandler Me.Relations.CollectionChanged, schemaChangedHandler1
+ Return
+ End If
+ Dim strSchema As String = CType(info.GetValue("XmlSchema", GetType(String)),String)
+ If (Me.DetermineSchemaSerializationMode(info, context) = Global.System.Data.SchemaSerializationMode.IncludeSchema) Then
+ Dim ds As Global.System.Data.DataSet = New Global.System.Data.DataSet()
+ ds.ReadXmlSchema(New Global.System.Xml.XmlTextReader(New Global.System.IO.StringReader(strSchema)))
+ If (Not (ds.Tables("Parkzeiten")) Is Nothing) Then
+ MyBase.Tables.Add(New ParkzeitenDataTable(ds.Tables("Parkzeiten")))
+ End If
+ Me.DataSetName = ds.DataSetName
+ Me.Prefix = ds.Prefix
+ Me.Namespace = ds.Namespace
+ Me.Locale = ds.Locale
+ Me.CaseSensitive = ds.CaseSensitive
+ Me.EnforceConstraints = ds.EnforceConstraints
+ Me.Merge(ds, false, Global.System.Data.MissingSchemaAction.Add)
+ Me.InitVars
+ Else
+ Me.ReadXmlSchema(New Global.System.Xml.XmlTextReader(New Global.System.IO.StringReader(strSchema)))
+ End If
+ Me.GetSerializationData(info, context)
+ Dim schemaChangedHandler As Global.System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
+ AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler
+ AddHandler Me.Relations.CollectionChanged, schemaChangedHandler
+ End Sub
+
+ _
+ Public ReadOnly Property Parkzeiten() As ParkzeitenDataTable
+ Get
+ Return Me.tableParkzeiten
+ End Get
+ End Property
+
+ _
+ Public Overrides Property SchemaSerializationMode() As Global.System.Data.SchemaSerializationMode
+ Get
+ Return Me._schemaSerializationMode
+ End Get
+ Set
+ Me._schemaSerializationMode = value
+ End Set
+ End Property
+
+ _
+ Public Shadows ReadOnly Property Tables() As Global.System.Data.DataTableCollection
+ Get
+ Return MyBase.Tables
+ End Get
+ End Property
+
+ _
+ Public Shadows ReadOnly Property Relations() As Global.System.Data.DataRelationCollection
+ Get
+ Return MyBase.Relations
+ End Get
+ End Property
+
+ _
+ Protected Overrides Sub InitializeDerivedDataSet()
+ Me.BeginInit
+ Me.InitClass
+ Me.EndInit
+ End Sub
+
+ _
+ Public Overrides Function Clone() As Global.System.Data.DataSet
+ Dim cln As ParkzeitDataSet = CType(MyBase.Clone,ParkzeitDataSet)
+ cln.InitVars
+ cln.SchemaSerializationMode = Me.SchemaSerializationMode
+ Return cln
+ End Function
+
+ _
+ Protected Overrides Function ShouldSerializeTables() As Boolean
+ Return false
+ End Function
+
+ _
+ Protected Overrides Function ShouldSerializeRelations() As Boolean
+ Return false
+ End Function
+
+ _
+ Protected Overrides Sub ReadXmlSerializable(ByVal reader As Global.System.Xml.XmlReader)
+ If (Me.DetermineSchemaSerializationMode(reader) = Global.System.Data.SchemaSerializationMode.IncludeSchema) Then
+ Me.Reset
+ Dim ds As Global.System.Data.DataSet = New Global.System.Data.DataSet()
+ ds.ReadXml(reader)
+ If (Not (ds.Tables("Parkzeiten")) Is Nothing) Then
+ MyBase.Tables.Add(New ParkzeitenDataTable(ds.Tables("Parkzeiten")))
+ End If
+ Me.DataSetName = ds.DataSetName
+ Me.Prefix = ds.Prefix
+ Me.Namespace = ds.Namespace
+ Me.Locale = ds.Locale
+ Me.CaseSensitive = ds.CaseSensitive
+ Me.EnforceConstraints = ds.EnforceConstraints
+ Me.Merge(ds, false, Global.System.Data.MissingSchemaAction.Add)
+ Me.InitVars
+ Else
+ Me.ReadXml(reader)
+ Me.InitVars
+ End If
+ End Sub
+
+ _
+ Protected Overrides Function GetSchemaSerializable() As Global.System.Xml.Schema.XmlSchema
+ Dim stream As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
+ Me.WriteXmlSchema(New Global.System.Xml.XmlTextWriter(stream, Nothing))
+ stream.Position = 0
+ Return Global.System.Xml.Schema.XmlSchema.Read(New Global.System.Xml.XmlTextReader(stream), Nothing)
+ End Function
+
+ _
+ Friend Overloads Sub InitVars()
+ Me.InitVars(true)
+ End Sub
+
+ _
+ Friend Overloads Sub InitVars(ByVal initTable As Boolean)
+ Me.tableParkzeiten = CType(MyBase.Tables("Parkzeiten"),ParkzeitenDataTable)
+ If (initTable = true) Then
+ If (Not (Me.tableParkzeiten) Is Nothing) Then
+ Me.tableParkzeiten.InitVars
+ End If
+ End If
+ End Sub
+
+ _
+ Private Sub InitClass()
+ Me.DataSetName = "ParkzeitDataSet"
+ Me.Prefix = ""
+ Me.Namespace = "http://tempuri.org/ParkzeitDataSet.xsd"
+ Me.EnforceConstraints = true
+ Me.SchemaSerializationMode = Global.System.Data.SchemaSerializationMode.IncludeSchema
+ Me.tableParkzeiten = New ParkzeitenDataTable()
+ MyBase.Tables.Add(Me.tableParkzeiten)
+ End Sub
+
+ _
+ Private Function ShouldSerializeParkzeiten() As Boolean
+ Return false
+ End Function
+
+ _
+ Private Sub SchemaChanged(ByVal sender As Object, ByVal e As Global.System.ComponentModel.CollectionChangeEventArgs)
+ If (e.Action = Global.System.ComponentModel.CollectionChangeAction.Remove) Then
+ Me.InitVars
+ End If
+ End Sub
+
+ _
+ Public Shared Function GetTypedDataSetSchema(ByVal xs As Global.System.Xml.Schema.XmlSchemaSet) As Global.System.Xml.Schema.XmlSchemaComplexType
+ Dim ds As ParkzeitDataSet = New ParkzeitDataSet()
+ Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType()
+ Dim sequence As Global.System.Xml.Schema.XmlSchemaSequence = New Global.System.Xml.Schema.XmlSchemaSequence()
+ Dim any As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny()
+ any.Namespace = ds.Namespace
+ sequence.Items.Add(any)
+ type.Particle = sequence
+ Dim dsSchema As Global.System.Xml.Schema.XmlSchema = ds.GetSchemaSerializable
+ If xs.Contains(dsSchema.TargetNamespace) Then
+ Dim s1 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
+ Dim s2 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
+ Try
+ Dim schema As Global.System.Xml.Schema.XmlSchema = Nothing
+ dsSchema.Write(s1)
+ Dim schemas As Global.System.Collections.IEnumerator = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator
+ Do While schemas.MoveNext
+ schema = CType(schemas.Current,Global.System.Xml.Schema.XmlSchema)
+ s2.SetLength(0)
+ schema.Write(s2)
+ If (s1.Length = s2.Length) Then
+ s1.Position = 0
+ s2.Position = 0
+
+ Do While ((s1.Position <> s1.Length) _
+ AndAlso (s1.ReadByte = s2.ReadByte))
+
+
+ Loop
+ If (s1.Position = s1.Length) Then
+ Return type
+ End If
+ End If
+
+ Loop
+ Finally
+ If (Not (s1) Is Nothing) Then
+ s1.Close
+ End If
+ If (Not (s2) Is Nothing) Then
+ s2.Close
+ End If
+ End Try
+ End If
+ xs.Add(dsSchema)
+ Return type
+ End Function
+
+ _
+ Public Delegate Sub ParkzeitenRowChangeEventHandler(ByVal sender As Object, ByVal e As ParkzeitenRowChangeEvent)
+
+ '''
+ '''Represents the strongly named DataTable class.
+ '''
+ _
+ Partial Public Class ParkzeitenDataTable
+ Inherits Global.System.Data.TypedTableBase(Of ParkzeitenRow)
+
+ Private columnParkzeitID As Global.System.Data.DataColumn
+
+ Private columnLaufende_Nr As Global.System.Data.DataColumn
+
+ Private columnVon As Global.System.Data.DataColumn
+
+ Private columnBis As Global.System.Data.DataColumn
+
+ Private columnDauer As Global.System.Data.DataColumn
+
+ Private columnDauer_Minuten As Global.System.Data.DataColumn
+
+ Private columnKennzeichen As Global.System.Data.DataColumn
+
+ _
+ Public Sub New()
+ MyBase.New
+ Me.TableName = "Parkzeiten"
+ Me.BeginInit
+ Me.InitClass
+ Me.EndInit
+ End Sub
+
+ _
+ Friend Sub New(ByVal table As Global.System.Data.DataTable)
+ MyBase.New
+ Me.TableName = table.TableName
+ If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
+ Me.CaseSensitive = table.CaseSensitive
+ End If
+ If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
+ Me.Locale = table.Locale
+ End If
+ If (table.Namespace <> table.DataSet.Namespace) Then
+ Me.Namespace = table.Namespace
+ End If
+ Me.Prefix = table.Prefix
+ Me.MinimumCapacity = table.MinimumCapacity
+ End Sub
+
+ _
+ Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext)
+ MyBase.New(info, context)
+ Me.InitVars
+ End Sub
+
+ _
+ Public ReadOnly Property ParkzeitIDColumn() As Global.System.Data.DataColumn
+ Get
+ Return Me.columnParkzeitID
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property Laufende_NrColumn() As Global.System.Data.DataColumn
+ Get
+ Return Me.columnLaufende_Nr
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property VonColumn() As Global.System.Data.DataColumn
+ Get
+ Return Me.columnVon
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property BisColumn() As Global.System.Data.DataColumn
+ Get
+ Return Me.columnBis
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property DauerColumn() As Global.System.Data.DataColumn
+ Get
+ Return Me.columnDauer
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property Dauer_MinutenColumn() As Global.System.Data.DataColumn
+ Get
+ Return Me.columnDauer_Minuten
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property KennzeichenColumn() As Global.System.Data.DataColumn
+ Get
+ Return Me.columnKennzeichen
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property Count() As Integer
+ Get
+ Return Me.Rows.Count
+ End Get
+ End Property
+
+ _
+ Public Default ReadOnly Property Item(ByVal index As Integer) As ParkzeitenRow
+ Get
+ Return CType(Me.Rows(index),ParkzeitenRow)
+ End Get
+ End Property
+
+ _
+ Public Event ParkzeitenRowChanging As ParkzeitenRowChangeEventHandler
+
+ _
+ Public Event ParkzeitenRowChanged As ParkzeitenRowChangeEventHandler
+
+ _
+ Public Event ParkzeitenRowDeleting As ParkzeitenRowChangeEventHandler
+
+ _
+ Public Event ParkzeitenRowDeleted As ParkzeitenRowChangeEventHandler
+
+ _
+ Public Overloads Sub AddParkzeitenRow(ByVal row As ParkzeitenRow)
+ Me.Rows.Add(row)
+ End Sub
+
+ _
+ Public Overloads Function AddParkzeitenRow(ByVal Laufende_Nr As Integer, ByVal Von As Date, ByVal Bis As Date, ByVal Dauer As String, ByVal Dauer_Minuten As Integer, ByVal Kennzeichen As String) As ParkzeitenRow
+ Dim rowParkzeitenRow As ParkzeitenRow = CType(Me.NewRow,ParkzeitenRow)
+ Dim columnValuesArray() As Object = New Object() {Nothing, Laufende_Nr, Von, Bis, Dauer, Dauer_Minuten, Kennzeichen}
+ rowParkzeitenRow.ItemArray = columnValuesArray
+ Me.Rows.Add(rowParkzeitenRow)
+ Return rowParkzeitenRow
+ End Function
+
+ _
+ Public Function FindByParkzeitID(ByVal ParkzeitID As Integer) As ParkzeitenRow
+ Return CType(Me.Rows.Find(New Object() {ParkzeitID}),ParkzeitenRow)
+ End Function
+
+ _
+ Public Overrides Function Clone() As Global.System.Data.DataTable
+ Dim cln As ParkzeitenDataTable = CType(MyBase.Clone,ParkzeitenDataTable)
+ cln.InitVars
+ Return cln
+ End Function
+
+ _
+ Protected Overrides Function CreateInstance() As Global.System.Data.DataTable
+ Return New ParkzeitenDataTable()
+ End Function
+
+ _
+ Friend Sub InitVars()
+ Me.columnParkzeitID = MyBase.Columns("ParkzeitID")
+ Me.columnLaufende_Nr = MyBase.Columns("Laufende_Nr")
+ Me.columnVon = MyBase.Columns("Von")
+ Me.columnBis = MyBase.Columns("Bis")
+ Me.columnDauer = MyBase.Columns("Dauer")
+ Me.columnDauer_Minuten = MyBase.Columns("Dauer_Minuten")
+ Me.columnKennzeichen = MyBase.Columns("Kennzeichen")
+ End Sub
+
+ _
+ Private Sub InitClass()
+ Me.columnParkzeitID = New Global.System.Data.DataColumn("ParkzeitID", GetType(Integer), Nothing, Global.System.Data.MappingType.Element)
+ MyBase.Columns.Add(Me.columnParkzeitID)
+ Me.columnLaufende_Nr = New Global.System.Data.DataColumn("Laufende_Nr", GetType(Integer), Nothing, Global.System.Data.MappingType.Element)
+ MyBase.Columns.Add(Me.columnLaufende_Nr)
+ Me.columnVon = New Global.System.Data.DataColumn("Von", GetType(Date), Nothing, Global.System.Data.MappingType.Element)
+ MyBase.Columns.Add(Me.columnVon)
+ Me.columnBis = New Global.System.Data.DataColumn("Bis", GetType(Date), Nothing, Global.System.Data.MappingType.Element)
+ MyBase.Columns.Add(Me.columnBis)
+ Me.columnDauer = New Global.System.Data.DataColumn("Dauer", GetType(String), Nothing, Global.System.Data.MappingType.Element)
+ MyBase.Columns.Add(Me.columnDauer)
+ Me.columnDauer_Minuten = New Global.System.Data.DataColumn("Dauer_Minuten", GetType(Integer), Nothing, Global.System.Data.MappingType.Element)
+ MyBase.Columns.Add(Me.columnDauer_Minuten)
+ Me.columnKennzeichen = New Global.System.Data.DataColumn("Kennzeichen", GetType(String), Nothing, Global.System.Data.MappingType.Element)
+ MyBase.Columns.Add(Me.columnKennzeichen)
+ Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnParkzeitID}, true))
+ Me.columnParkzeitID.AutoIncrement = true
+ Me.columnParkzeitID.AutoIncrementSeed = -1
+ Me.columnParkzeitID.AutoIncrementStep = -1
+ Me.columnParkzeitID.AllowDBNull = false
+ Me.columnParkzeitID.Unique = true
+ Me.columnDauer.MaxLength = 255
+ Me.columnKennzeichen.MaxLength = 50
+ End Sub
+
+ _
+ Public Function NewParkzeitenRow() As ParkzeitenRow
+ Return CType(Me.NewRow,ParkzeitenRow)
+ End Function
+
+ _
+ Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow
+ Return New ParkzeitenRow(builder)
+ End Function
+
+ _
+ Protected Overrides Function GetRowType() As Global.System.Type
+ Return GetType(ParkzeitenRow)
+ End Function
+
+ _
+ Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs)
+ MyBase.OnRowChanged(e)
+ If (Not (Me.ParkzeitenRowChangedEvent) Is Nothing) Then
+ RaiseEvent ParkzeitenRowChanged(Me, New ParkzeitenRowChangeEvent(CType(e.Row,ParkzeitenRow), e.Action))
+ End If
+ End Sub
+
+ _
+ Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs)
+ MyBase.OnRowChanging(e)
+ If (Not (Me.ParkzeitenRowChangingEvent) Is Nothing) Then
+ RaiseEvent ParkzeitenRowChanging(Me, New ParkzeitenRowChangeEvent(CType(e.Row,ParkzeitenRow), e.Action))
+ End If
+ End Sub
+
+ _
+ Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs)
+ MyBase.OnRowDeleted(e)
+ If (Not (Me.ParkzeitenRowDeletedEvent) Is Nothing) Then
+ RaiseEvent ParkzeitenRowDeleted(Me, New ParkzeitenRowChangeEvent(CType(e.Row,ParkzeitenRow), e.Action))
+ End If
+ End Sub
+
+ _
+ Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs)
+ MyBase.OnRowDeleting(e)
+ If (Not (Me.ParkzeitenRowDeletingEvent) Is Nothing) Then
+ RaiseEvent ParkzeitenRowDeleting(Me, New ParkzeitenRowChangeEvent(CType(e.Row,ParkzeitenRow), e.Action))
+ End If
+ End Sub
+
+ _
+ Public Sub RemoveParkzeitenRow(ByVal row As ParkzeitenRow)
+ Me.Rows.Remove(row)
+ End Sub
+
+ _
+ Public Shared Function GetTypedTableSchema(ByVal xs As Global.System.Xml.Schema.XmlSchemaSet) As Global.System.Xml.Schema.XmlSchemaComplexType
+ Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType()
+ Dim sequence As Global.System.Xml.Schema.XmlSchemaSequence = New Global.System.Xml.Schema.XmlSchemaSequence()
+ Dim ds As ParkzeitDataSet = New ParkzeitDataSet()
+ Dim any1 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny()
+ any1.Namespace = "http://www.w3.org/2001/XMLSchema"
+ any1.MinOccurs = New Decimal(0)
+ any1.MaxOccurs = Decimal.MaxValue
+ any1.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax
+ sequence.Items.Add(any1)
+ Dim any2 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny()
+ any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
+ any2.MinOccurs = New Decimal(1)
+ any2.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax
+ sequence.Items.Add(any2)
+ Dim attribute1 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute()
+ attribute1.Name = "namespace"
+ attribute1.FixedValue = ds.Namespace
+ type.Attributes.Add(attribute1)
+ Dim attribute2 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute()
+ attribute2.Name = "tableTypeName"
+ attribute2.FixedValue = "ParkzeitenDataTable"
+ type.Attributes.Add(attribute2)
+ type.Particle = sequence
+ Dim dsSchema As Global.System.Xml.Schema.XmlSchema = ds.GetSchemaSerializable
+ If xs.Contains(dsSchema.TargetNamespace) Then
+ Dim s1 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
+ Dim s2 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
+ Try
+ Dim schema As Global.System.Xml.Schema.XmlSchema = Nothing
+ dsSchema.Write(s1)
+ Dim schemas As Global.System.Collections.IEnumerator = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator
+ Do While schemas.MoveNext
+ schema = CType(schemas.Current,Global.System.Xml.Schema.XmlSchema)
+ s2.SetLength(0)
+ schema.Write(s2)
+ If (s1.Length = s2.Length) Then
+ s1.Position = 0
+ s2.Position = 0
+
+ Do While ((s1.Position <> s1.Length) _
+ AndAlso (s1.ReadByte = s2.ReadByte))
+
+
+ Loop
+ If (s1.Position = s1.Length) Then
+ Return type
+ End If
+ End If
+
+ Loop
+ Finally
+ If (Not (s1) Is Nothing) Then
+ s1.Close
+ End If
+ If (Not (s2) Is Nothing) Then
+ s2.Close
+ End If
+ End Try
+ End If
+ xs.Add(dsSchema)
+ Return type
+ End Function
+ End Class
+
+ '''
+ '''Represents strongly named DataRow class.
+ '''
+ Partial Public Class ParkzeitenRow
+ Inherits Global.System.Data.DataRow
+
+ Private tableParkzeiten As ParkzeitenDataTable
+
+ _
+ Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder)
+ MyBase.New(rb)
+ Me.tableParkzeiten = CType(Me.Table,ParkzeitenDataTable)
+ End Sub
+
+ _
+ Public Property ParkzeitID() As Integer
+ Get
+ Return CType(Me(Me.tableParkzeiten.ParkzeitIDColumn),Integer)
+ End Get
+ Set
+ Me(Me.tableParkzeiten.ParkzeitIDColumn) = value
+ End Set
+ End Property
+
+ _
+ Public Property Laufende_Nr() As Integer
+ Get
+ Try
+ Return CType(Me(Me.tableParkzeiten.Laufende_NrColumn),Integer)
+ Catch e As Global.System.InvalidCastException
+ Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Laufende_Nr in Tabelle Parkzeiten ist DBNull.", e)
+ End Try
+ End Get
+ Set
+ Me(Me.tableParkzeiten.Laufende_NrColumn) = value
+ End Set
+ End Property
+
+ _
+ Public Property Von() As Date
+ Get
+ Try
+ Return CType(Me(Me.tableParkzeiten.VonColumn),Date)
+ Catch e As Global.System.InvalidCastException
+ Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Von in Tabelle Parkzeiten ist DBNull.", e)
+ End Try
+ End Get
+ Set
+ Me(Me.tableParkzeiten.VonColumn) = value
+ End Set
+ End Property
+
+ _
+ Public Property Bis() As Date
+ Get
+ Try
+ Return CType(Me(Me.tableParkzeiten.BisColumn),Date)
+ Catch e As Global.System.InvalidCastException
+ Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Bis in Tabelle Parkzeiten ist DBNull.", e)
+ End Try
+ End Get
+ Set
+ Me(Me.tableParkzeiten.BisColumn) = value
+ End Set
+ End Property
+
+ _
+ Public Property Dauer() As String
+ Get
+ Try
+ Return CType(Me(Me.tableParkzeiten.DauerColumn),String)
+ Catch e As Global.System.InvalidCastException
+ Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Dauer in Tabelle Parkzeiten ist DBNull.", e)
+ End Try
+ End Get
+ Set
+ Me(Me.tableParkzeiten.DauerColumn) = value
+ End Set
+ End Property
+
+ _
+ Public Property Dauer_Minuten() As Integer
+ Get
+ Try
+ Return CType(Me(Me.tableParkzeiten.Dauer_MinutenColumn),Integer)
+ Catch e As Global.System.InvalidCastException
+ Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Dauer_Minuten in Tabelle Parkzeiten ist DBNull.", e)
+ End Try
+ End Get
+ Set
+ Me(Me.tableParkzeiten.Dauer_MinutenColumn) = value
+ End Set
+ End Property
+
+ _
+ Public Property Kennzeichen() As String
+ Get
+ Try
+ Return CType(Me(Me.tableParkzeiten.KennzeichenColumn),String)
+ Catch e As Global.System.InvalidCastException
+ Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Kennzeichen in Tabelle Parkzeiten ist DBNull.", e)
+ End Try
+ End Get
+ Set
+ Me(Me.tableParkzeiten.KennzeichenColumn) = value
+ End Set
+ End Property
+
+ _
+ Public Function IsLaufende_NrNull() As Boolean
+ Return Me.IsNull(Me.tableParkzeiten.Laufende_NrColumn)
+ End Function
+
+ _
+ Public Sub SetLaufende_NrNull()
+ Me(Me.tableParkzeiten.Laufende_NrColumn) = Global.System.Convert.DBNull
+ End Sub
+
+ _
+ Public Function IsVonNull() As Boolean
+ Return Me.IsNull(Me.tableParkzeiten.VonColumn)
+ End Function
+
+ _
+ Public Sub SetVonNull()
+ Me(Me.tableParkzeiten.VonColumn) = Global.System.Convert.DBNull
+ End Sub
+
+ _
+ Public Function IsBisNull() As Boolean
+ Return Me.IsNull(Me.tableParkzeiten.BisColumn)
+ End Function
+
+ _
+ Public Sub SetBisNull()
+ Me(Me.tableParkzeiten.BisColumn) = Global.System.Convert.DBNull
+ End Sub
+
+ _
+ Public Function IsDauerNull() As Boolean
+ Return Me.IsNull(Me.tableParkzeiten.DauerColumn)
+ End Function
+
+ _
+ Public Sub SetDauerNull()
+ Me(Me.tableParkzeiten.DauerColumn) = Global.System.Convert.DBNull
+ End Sub
+
+ _
+ Public Function IsDauer_MinutenNull() As Boolean
+ Return Me.IsNull(Me.tableParkzeiten.Dauer_MinutenColumn)
+ End Function
+
+ _
+ Public Sub SetDauer_MinutenNull()
+ Me(Me.tableParkzeiten.Dauer_MinutenColumn) = Global.System.Convert.DBNull
+ End Sub
+
+ _
+ Public Function IsKennzeichenNull() As Boolean
+ Return Me.IsNull(Me.tableParkzeiten.KennzeichenColumn)
+ End Function
+
+ _
+ Public Sub SetKennzeichenNull()
+ Me(Me.tableParkzeiten.KennzeichenColumn) = Global.System.Convert.DBNull
+ End Sub
+ End Class
+
+ '''
+ '''Row event argument class
+ '''
+ _
+ Public Class ParkzeitenRowChangeEvent
+ Inherits Global.System.EventArgs
+
+ Private eventRow As ParkzeitenRow
+
+ Private eventAction As Global.System.Data.DataRowAction
+
+ _
+ Public Sub New(ByVal row As ParkzeitenRow, ByVal action As Global.System.Data.DataRowAction)
+ MyBase.New
+ Me.eventRow = row
+ Me.eventAction = action
+ End Sub
+
+ _
+ Public ReadOnly Property Row() As ParkzeitenRow
+ Get
+ Return Me.eventRow
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property Action() As Global.System.Data.DataRowAction
+ Get
+ Return Me.eventAction
+ End Get
+ End Property
+ End Class
+End Class
+
+Namespace ParkzeitDataSetTableAdapters
+
+ '''
+ '''Represents the connection and commands used to retrieve and save data.
+ '''
+ _
+ Partial Public Class ParkzeitenTableAdapter
+ Inherits Global.System.ComponentModel.Component
+
+ Private WithEvents _adapter As Global.System.Data.OleDb.OleDbDataAdapter
+
+ Private _connection As Global.System.Data.OleDb.OleDbConnection
+
+ Private _transaction As Global.System.Data.OleDb.OleDbTransaction
+
+ Private _commandCollection() As Global.System.Data.OleDb.OleDbCommand
+
+ Private _clearBeforeFill As Boolean
+
+ _
+ Public Sub New()
+ MyBase.New
+ Me.ClearBeforeFill = true
+ End Sub
+
+ _
+ Protected Friend ReadOnly Property Adapter() As Global.System.Data.OleDb.OleDbDataAdapter
+ Get
+ If (Me._adapter Is Nothing) Then
+ Me.InitAdapter
+ End If
+ Return Me._adapter
+ End Get
+ End Property
+
+ _
+ Friend Property Connection() As Global.System.Data.OleDb.OleDbConnection
+ Get
+ If (Me._connection Is Nothing) Then
+ Me.InitConnection
+ End If
+ Return Me._connection
+ End Get
+ Set
+ Me._connection = value
+ If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
+ Me.Adapter.InsertCommand.Connection = value
+ End If
+ If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
+ Me.Adapter.DeleteCommand.Connection = value
+ End If
+ If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
+ Me.Adapter.UpdateCommand.Connection = value
+ End If
+ Dim i As Integer = 0
+ Do While (i < Me.CommandCollection.Length)
+ If (Not (Me.CommandCollection(i)) Is Nothing) Then
+ CType(Me.CommandCollection(i),Global.System.Data.OleDb.OleDbCommand).Connection = value
+ End If
+ i = (i + 1)
+ Loop
+ End Set
+ End Property
+
+ _
+ Friend Property Transaction() As Global.System.Data.OleDb.OleDbTransaction
+ Get
+ Return Me._transaction
+ End Get
+ Set
+ Me._transaction = value
+ Dim i As Integer = 0
+ Do While (i < Me.CommandCollection.Length)
+ Me.CommandCollection(i).Transaction = Me._transaction
+ i = (i + 1)
+ Loop
+ If ((Not (Me.Adapter) Is Nothing) _
+ AndAlso (Not (Me.Adapter.DeleteCommand) Is Nothing)) Then
+ Me.Adapter.DeleteCommand.Transaction = Me._transaction
+ End If
+ If ((Not (Me.Adapter) Is Nothing) _
+ AndAlso (Not (Me.Adapter.InsertCommand) Is Nothing)) Then
+ Me.Adapter.InsertCommand.Transaction = Me._transaction
+ End If
+ If ((Not (Me.Adapter) Is Nothing) _
+ AndAlso (Not (Me.Adapter.UpdateCommand) Is Nothing)) Then
+ Me.Adapter.UpdateCommand.Transaction = Me._transaction
+ End If
+ End Set
+ End Property
+
+ _
+ Protected ReadOnly Property CommandCollection() As Global.System.Data.OleDb.OleDbCommand()
+ Get
+ If (Me._commandCollection Is Nothing) Then
+ Me.InitCommandCollection
+ End If
+ Return Me._commandCollection
+ End Get
+ End Property
+
+ _
+ Public Property ClearBeforeFill() As Boolean
+ Get
+ Return Me._clearBeforeFill
+ End Get
+ Set
+ Me._clearBeforeFill = value
+ End Set
+ End Property
+
+ _
+ Private Sub InitAdapter()
+ Me._adapter = New Global.System.Data.OleDb.OleDbDataAdapter()
+ Dim tableMapping As Global.System.Data.Common.DataTableMapping = New Global.System.Data.Common.DataTableMapping()
+ tableMapping.SourceTable = "Table"
+ tableMapping.DataSetTable = "Parkzeiten"
+ tableMapping.ColumnMappings.Add("ParkzeitID", "ParkzeitID")
+ tableMapping.ColumnMappings.Add("Laufende_Nr", "Laufende_Nr")
+ tableMapping.ColumnMappings.Add("Von", "Von")
+ tableMapping.ColumnMappings.Add("Bis", "Bis")
+ tableMapping.ColumnMappings.Add("Dauer", "Dauer")
+ tableMapping.ColumnMappings.Add("Dauer_Minuten", "Dauer_Minuten")
+ tableMapping.ColumnMappings.Add("Kennzeichen", "Kennzeichen")
+ Me._adapter.TableMappings.Add(tableMapping)
+ Me._adapter.DeleteCommand = New Global.System.Data.OleDb.OleDbCommand()
+ Me._adapter.DeleteCommand.Connection = Me.Connection
+ Me._adapter.DeleteCommand.CommandText = "DELETE FROM `Parkzeiten` WHERE ((`ParkzeitID` = ?) AND ((? = 1 AND `Laufende_Nr` "& _
+ "IS NULL) OR (`Laufende_Nr` = ?)) AND ((? = 1 AND `Von` IS NULL) OR (`Von` = ?)) "& _
+ "AND ((? = 1 AND `Bis` IS NULL) OR (`Bis` = ?)) AND ((? = 1 AND `Dauer` IS NULL) "& _
+ "OR (`Dauer` = ?)) AND ((? = 1 AND `Dauer_Minuten` IS NULL) OR (`Dauer_Minuten` ="& _
+ " ?)) AND ((? = 1 AND `Kennzeichen` IS NULL) OR (`Kennzeichen` = ?)))"
+ Me._adapter.DeleteCommand.CommandType = Global.System.Data.CommandType.Text
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_ParkzeitID", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ParkzeitID", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Laufende_Nr", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Laufende_Nr", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Laufende_Nr", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Laufende_Nr", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Von", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Von", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Von", Global.System.Data.OleDb.OleDbType.[Date], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Von", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Bis", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Bis", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Bis", Global.System.Data.OleDb.OleDbType.[Date], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Bis", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Dauer", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Dauer", Global.System.Data.OleDb.OleDbType.VarWChar, 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Dauer_Minuten", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer_Minuten", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Dauer_Minuten", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer_Minuten", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Kennzeichen", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Kennzeichen", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Kennzeichen", Global.System.Data.OleDb.OleDbType.VarWChar, 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Kennzeichen", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.InsertCommand = New Global.System.Data.OleDb.OleDbCommand()
+ Me._adapter.InsertCommand.Connection = Me.Connection
+ Me._adapter.InsertCommand.CommandText = "INSERT INTO `Parkzeiten` (`Laufende_Nr`, `Von`, `Bis`, `Dauer`, `Dauer_Minuten`, "& _
+ "`Kennzeichen`) VALUES (?, ?, ?, ?, ?, ?)"
+ Me._adapter.InsertCommand.CommandType = Global.System.Data.CommandType.Text
+ Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Laufende_Nr", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Laufende_Nr", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Von", Global.System.Data.OleDb.OleDbType.[Date], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Von", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Bis", Global.System.Data.OleDb.OleDbType.[Date], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Bis", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Dauer", Global.System.Data.OleDb.OleDbType.VarWChar, 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Dauer_Minuten", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer_Minuten", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Kennzeichen", Global.System.Data.OleDb.OleDbType.VarWChar, 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Kennzeichen", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.UpdateCommand = New Global.System.Data.OleDb.OleDbCommand()
+ Me._adapter.UpdateCommand.Connection = Me.Connection
+ Me._adapter.UpdateCommand.CommandText = "UPDATE `Parkzeiten` SET `Laufende_Nr` = ?, `Von` = ?, `Bis` = ?, `Dauer` = ?, `Da"& _
+ "uer_Minuten` = ?, `Kennzeichen` = ? WHERE ((`ParkzeitID` = ?) AND ((? = 1 AND `L"& _
+ "aufende_Nr` IS NULL) OR (`Laufende_Nr` = ?)) AND ((? = 1 AND `Von` IS NULL) OR ("& _
+ "`Von` = ?)) AND ((? = 1 AND `Bis` IS NULL) OR (`Bis` = ?)) AND ((? = 1 AND `Daue"& _
+ "r` IS NULL) OR (`Dauer` = ?)) AND ((? = 1 AND `Dauer_Minuten` IS NULL) OR (`Daue"& _
+ "r_Minuten` = ?)) AND ((? = 1 AND `Kennzeichen` IS NULL) OR (`Kennzeichen` = ?)))"& _
+ ""
+ Me._adapter.UpdateCommand.CommandType = Global.System.Data.CommandType.Text
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Laufende_Nr", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Laufende_Nr", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Von", Global.System.Data.OleDb.OleDbType.[Date], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Von", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Bis", Global.System.Data.OleDb.OleDbType.[Date], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Bis", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Dauer", Global.System.Data.OleDb.OleDbType.VarWChar, 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Dauer_Minuten", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer_Minuten", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Kennzeichen", Global.System.Data.OleDb.OleDbType.VarWChar, 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Kennzeichen", Global.System.Data.DataRowVersion.Current, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_ParkzeitID", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ParkzeitID", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Laufende_Nr", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Laufende_Nr", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Laufende_Nr", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Laufende_Nr", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Von", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Von", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Von", Global.System.Data.OleDb.OleDbType.[Date], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Von", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Bis", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Bis", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Bis", Global.System.Data.OleDb.OleDbType.[Date], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Bis", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Dauer", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Dauer", Global.System.Data.OleDb.OleDbType.VarWChar, 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Dauer_Minuten", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer_Minuten", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Dauer_Minuten", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Dauer_Minuten", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("IsNull_Kennzeichen", Global.System.Data.OleDb.OleDbType.[Integer], 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Kennzeichen", Global.System.Data.DataRowVersion.Original, true, Nothing))
+ Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.OleDb.OleDbParameter("Original_Kennzeichen", Global.System.Data.OleDb.OleDbType.VarWChar, 0, Global.System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Kennzeichen", Global.System.Data.DataRowVersion.Original, false, Nothing))
+ End Sub
+
+ _
+ Private Sub InitConnection()
+ Me._connection = New Global.System.Data.OleDb.OleDbConnection()
+ Me._connection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Projekte.NET\Verag\Parkzeit\Park"& _
+ "zeit.accdb"
+ End Sub
+
+ _
+ Private Sub InitCommandCollection()
+ Me._commandCollection = New Global.System.Data.OleDb.OleDbCommand(0) {}
+ Me._commandCollection(0) = New Global.System.Data.OleDb.OleDbCommand()
+ Me._commandCollection(0).Connection = Me.Connection
+ Me._commandCollection(0).CommandText = "SELECT ParkzeitID, Laufende_Nr, Von, Bis, Dauer, Dauer_Minuten, Kennzeichen FROM "& _
+ "Parkzeiten"
+ Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text
+ End Sub
+
+ _
+ Public Overloads Overridable Function Fill(ByVal dataTable As ParkzeitDataSet.ParkzeitenDataTable) As Integer
+ Me.Adapter.SelectCommand = Me.CommandCollection(0)
+ If (Me.ClearBeforeFill = true) Then
+ dataTable.Clear
+ End If
+ Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
+ Return returnValue
+ End Function
+
+ _
+ Public Overloads Overridable Function GetData() As ParkzeitDataSet.ParkzeitenDataTable
+ Me.Adapter.SelectCommand = Me.CommandCollection(0)
+ Dim dataTable As ParkzeitDataSet.ParkzeitenDataTable = New ParkzeitDataSet.ParkzeitenDataTable()
+ Me.Adapter.Fill(dataTable)
+ Return dataTable
+ End Function
+
+ _
+ Public Overloads Overridable Function Update(ByVal dataTable As ParkzeitDataSet.ParkzeitenDataTable) As Integer
+ Return Me.Adapter.Update(dataTable)
+ End Function
+
+ _
+ Public Overloads Overridable Function Update(ByVal dataSet As ParkzeitDataSet) As Integer
+ Return Me.Adapter.Update(dataSet, "Parkzeiten")
+ End Function
+
+ _
+ Public Overloads Overridable Function Update(ByVal dataRow As Global.System.Data.DataRow) As Integer
+ Return Me.Adapter.Update(New Global.System.Data.DataRow() {dataRow})
+ End Function
+
+ _
+ Public Overloads Overridable Function Update(ByVal dataRows() As Global.System.Data.DataRow) As Integer
+ Return Me.Adapter.Update(dataRows)
+ End Function
+
+ _
+ Public Overloads Overridable Function Delete(ByVal Original_ParkzeitID As Integer, ByVal Original_Laufende_Nr As Global.System.Nullable(Of Integer), ByVal Original_Von As Global.System.Nullable(Of Date), ByVal Original_Bis As Global.System.Nullable(Of Date), ByVal Original_Dauer As String, ByVal Original_Dauer_Minuten As Global.System.Nullable(Of Integer), ByVal Original_Kennzeichen As String) As Integer
+ Me.Adapter.DeleteCommand.Parameters(0).Value = CType(Original_ParkzeitID,Integer)
+ If (Original_Laufende_Nr.HasValue = true) Then
+ Me.Adapter.DeleteCommand.Parameters(1).Value = CType(0,Object)
+ Me.Adapter.DeleteCommand.Parameters(2).Value = CType(Original_Laufende_Nr.Value,Integer)
+ Else
+ Me.Adapter.DeleteCommand.Parameters(1).Value = CType(1,Object)
+ Me.Adapter.DeleteCommand.Parameters(2).Value = Global.System.DBNull.Value
+ End If
+ If (Original_Von.HasValue = true) Then
+ Me.Adapter.DeleteCommand.Parameters(3).Value = CType(0,Object)
+ Me.Adapter.DeleteCommand.Parameters(4).Value = CType(Original_Von.Value,Date)
+ Else
+ Me.Adapter.DeleteCommand.Parameters(3).Value = CType(1,Object)
+ Me.Adapter.DeleteCommand.Parameters(4).Value = Global.System.DBNull.Value
+ End If
+ If (Original_Bis.HasValue = true) Then
+ Me.Adapter.DeleteCommand.Parameters(5).Value = CType(0,Object)
+ Me.Adapter.DeleteCommand.Parameters(6).Value = CType(Original_Bis.Value,Date)
+ Else
+ Me.Adapter.DeleteCommand.Parameters(5).Value = CType(1,Object)
+ Me.Adapter.DeleteCommand.Parameters(6).Value = Global.System.DBNull.Value
+ End If
+ If (Original_Dauer Is Nothing) Then
+ Me.Adapter.DeleteCommand.Parameters(7).Value = CType(1,Object)
+ Me.Adapter.DeleteCommand.Parameters(8).Value = Global.System.DBNull.Value
+ Else
+ Me.Adapter.DeleteCommand.Parameters(7).Value = CType(0,Object)
+ Me.Adapter.DeleteCommand.Parameters(8).Value = CType(Original_Dauer,String)
+ End If
+ If (Original_Dauer_Minuten.HasValue = true) Then
+ Me.Adapter.DeleteCommand.Parameters(9).Value = CType(0,Object)
+ Me.Adapter.DeleteCommand.Parameters(10).Value = CType(Original_Dauer_Minuten.Value,Integer)
+ Else
+ Me.Adapter.DeleteCommand.Parameters(9).Value = CType(1,Object)
+ Me.Adapter.DeleteCommand.Parameters(10).Value = Global.System.DBNull.Value
+ End If
+ If (Original_Kennzeichen Is Nothing) Then
+ Me.Adapter.DeleteCommand.Parameters(11).Value = CType(1,Object)
+ Me.Adapter.DeleteCommand.Parameters(12).Value = Global.System.DBNull.Value
+ Else
+ Me.Adapter.DeleteCommand.Parameters(11).Value = CType(0,Object)
+ Me.Adapter.DeleteCommand.Parameters(12).Value = CType(Original_Kennzeichen,String)
+ End If
+ Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State
+ If ((Me.Adapter.DeleteCommand.Connection.State And Global.System.Data.ConnectionState.Open) _
+ <> Global.System.Data.ConnectionState.Open) Then
+ Me.Adapter.DeleteCommand.Connection.Open
+ End If
+ Try
+ Dim returnValue As Integer = Me.Adapter.DeleteCommand.ExecuteNonQuery
+ Return returnValue
+ Finally
+ If (previousConnectionState = Global.System.Data.ConnectionState.Closed) Then
+ Me.Adapter.DeleteCommand.Connection.Close
+ End If
+ End Try
+ End Function
+
+ _
+ Public Overloads Overridable Function Insert(ByVal Laufende_Nr As Global.System.Nullable(Of Integer), ByVal Von As Global.System.Nullable(Of Date), ByVal Bis As Global.System.Nullable(Of Date), ByVal Dauer As String, ByVal Dauer_Minuten As Global.System.Nullable(Of Integer), ByVal Kennzeichen As String) As Integer
+ If (Laufende_Nr.HasValue = true) Then
+ Me.Adapter.InsertCommand.Parameters(0).Value = CType(Laufende_Nr.Value,Integer)
+ Else
+ Me.Adapter.InsertCommand.Parameters(0).Value = Global.System.DBNull.Value
+ End If
+ If (Von.HasValue = true) Then
+ Me.Adapter.InsertCommand.Parameters(1).Value = CType(Von.Value,Date)
+ Else
+ Me.Adapter.InsertCommand.Parameters(1).Value = Global.System.DBNull.Value
+ End If
+ If (Bis.HasValue = true) Then
+ Me.Adapter.InsertCommand.Parameters(2).Value = CType(Bis.Value,Date)
+ Else
+ Me.Adapter.InsertCommand.Parameters(2).Value = Global.System.DBNull.Value
+ End If
+ If (Dauer Is Nothing) Then
+ Me.Adapter.InsertCommand.Parameters(3).Value = Global.System.DBNull.Value
+ Else
+ Me.Adapter.InsertCommand.Parameters(3).Value = CType(Dauer,String)
+ End If
+ If (Dauer_Minuten.HasValue = true) Then
+ Me.Adapter.InsertCommand.Parameters(4).Value = CType(Dauer_Minuten.Value,Integer)
+ Else
+ Me.Adapter.InsertCommand.Parameters(4).Value = Global.System.DBNull.Value
+ End If
+ If (Kennzeichen Is Nothing) Then
+ Me.Adapter.InsertCommand.Parameters(5).Value = Global.System.DBNull.Value
+ Else
+ Me.Adapter.InsertCommand.Parameters(5).Value = CType(Kennzeichen,String)
+ End If
+ Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
+ If ((Me.Adapter.InsertCommand.Connection.State And Global.System.Data.ConnectionState.Open) _
+ <> Global.System.Data.ConnectionState.Open) Then
+ Me.Adapter.InsertCommand.Connection.Open
+ End If
+ Try
+ Dim returnValue As Integer = Me.Adapter.InsertCommand.ExecuteNonQuery
+ Return returnValue
+ Finally
+ If (previousConnectionState = Global.System.Data.ConnectionState.Closed) Then
+ Me.Adapter.InsertCommand.Connection.Close
+ End If
+ End Try
+ End Function
+
+ _
+ Public Overloads Overridable Function Update(ByVal Laufende_Nr As Global.System.Nullable(Of Integer), ByVal Von As Global.System.Nullable(Of Date), ByVal Bis As Global.System.Nullable(Of Date), ByVal Dauer As String, ByVal Dauer_Minuten As Global.System.Nullable(Of Integer), ByVal Kennzeichen As String, ByVal Original_ParkzeitID As Integer, ByVal Original_Laufende_Nr As Global.System.Nullable(Of Integer), ByVal Original_Von As Global.System.Nullable(Of Date), ByVal Original_Bis As Global.System.Nullable(Of Date), ByVal Original_Dauer As String, ByVal Original_Dauer_Minuten As Global.System.Nullable(Of Integer), ByVal Original_Kennzeichen As String) As Integer
+ If (Laufende_Nr.HasValue = true) Then
+ Me.Adapter.UpdateCommand.Parameters(0).Value = CType(Laufende_Nr.Value,Integer)
+ Else
+ Me.Adapter.UpdateCommand.Parameters(0).Value = Global.System.DBNull.Value
+ End If
+ If (Von.HasValue = true) Then
+ Me.Adapter.UpdateCommand.Parameters(1).Value = CType(Von.Value,Date)
+ Else
+ Me.Adapter.UpdateCommand.Parameters(1).Value = Global.System.DBNull.Value
+ End If
+ If (Bis.HasValue = true) Then
+ Me.Adapter.UpdateCommand.Parameters(2).Value = CType(Bis.Value,Date)
+ Else
+ Me.Adapter.UpdateCommand.Parameters(2).Value = Global.System.DBNull.Value
+ End If
+ If (Dauer Is Nothing) Then
+ Me.Adapter.UpdateCommand.Parameters(3).Value = Global.System.DBNull.Value
+ Else
+ Me.Adapter.UpdateCommand.Parameters(3).Value = CType(Dauer,String)
+ End If
+ If (Dauer_Minuten.HasValue = true) Then
+ Me.Adapter.UpdateCommand.Parameters(4).Value = CType(Dauer_Minuten.Value,Integer)
+ Else
+ Me.Adapter.UpdateCommand.Parameters(4).Value = Global.System.DBNull.Value
+ End If
+ If (Kennzeichen Is Nothing) Then
+ Me.Adapter.UpdateCommand.Parameters(5).Value = Global.System.DBNull.Value
+ Else
+ Me.Adapter.UpdateCommand.Parameters(5).Value = CType(Kennzeichen,String)
+ End If
+ Me.Adapter.UpdateCommand.Parameters(6).Value = CType(Original_ParkzeitID,Integer)
+ If (Original_Laufende_Nr.HasValue = true) Then
+ Me.Adapter.UpdateCommand.Parameters(7).Value = CType(0,Object)
+ Me.Adapter.UpdateCommand.Parameters(8).Value = CType(Original_Laufende_Nr.Value,Integer)
+ Else
+ Me.Adapter.UpdateCommand.Parameters(7).Value = CType(1,Object)
+ Me.Adapter.UpdateCommand.Parameters(8).Value = Global.System.DBNull.Value
+ End If
+ If (Original_Von.HasValue = true) Then
+ Me.Adapter.UpdateCommand.Parameters(9).Value = CType(0,Object)
+ Me.Adapter.UpdateCommand.Parameters(10).Value = CType(Original_Von.Value,Date)
+ Else
+ Me.Adapter.UpdateCommand.Parameters(9).Value = CType(1,Object)
+ Me.Adapter.UpdateCommand.Parameters(10).Value = Global.System.DBNull.Value
+ End If
+ If (Original_Bis.HasValue = true) Then
+ Me.Adapter.UpdateCommand.Parameters(11).Value = CType(0,Object)
+ Me.Adapter.UpdateCommand.Parameters(12).Value = CType(Original_Bis.Value,Date)
+ Else
+ Me.Adapter.UpdateCommand.Parameters(11).Value = CType(1,Object)
+ Me.Adapter.UpdateCommand.Parameters(12).Value = Global.System.DBNull.Value
+ End If
+ If (Original_Dauer Is Nothing) Then
+ Me.Adapter.UpdateCommand.Parameters(13).Value = CType(1,Object)
+ Me.Adapter.UpdateCommand.Parameters(14).Value = Global.System.DBNull.Value
+ Else
+ Me.Adapter.UpdateCommand.Parameters(13).Value = CType(0,Object)
+ Me.Adapter.UpdateCommand.Parameters(14).Value = CType(Original_Dauer,String)
+ End If
+ If (Original_Dauer_Minuten.HasValue = true) Then
+ Me.Adapter.UpdateCommand.Parameters(15).Value = CType(0,Object)
+ Me.Adapter.UpdateCommand.Parameters(16).Value = CType(Original_Dauer_Minuten.Value,Integer)
+ Else
+ Me.Adapter.UpdateCommand.Parameters(15).Value = CType(1,Object)
+ Me.Adapter.UpdateCommand.Parameters(16).Value = Global.System.DBNull.Value
+ End If
+ If (Original_Kennzeichen Is Nothing) Then
+ Me.Adapter.UpdateCommand.Parameters(17).Value = CType(1,Object)
+ Me.Adapter.UpdateCommand.Parameters(18).Value = Global.System.DBNull.Value
+ Else
+ Me.Adapter.UpdateCommand.Parameters(17).Value = CType(0,Object)
+ Me.Adapter.UpdateCommand.Parameters(18).Value = CType(Original_Kennzeichen,String)
+ End If
+ Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State
+ If ((Me.Adapter.UpdateCommand.Connection.State And Global.System.Data.ConnectionState.Open) _
+ <> Global.System.Data.ConnectionState.Open) Then
+ Me.Adapter.UpdateCommand.Connection.Open
+ End If
+ Try
+ Dim returnValue As Integer = Me.Adapter.UpdateCommand.ExecuteNonQuery
+ Return returnValue
+ Finally
+ If (previousConnectionState = Global.System.Data.ConnectionState.Closed) Then
+ Me.Adapter.UpdateCommand.Connection.Close
+ End If
+ End Try
+ End Function
+ End Class
+
+ '''
+ '''TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios
+ '''
+ _
+ Partial Public Class TableAdapterManager
+ Inherits Global.System.ComponentModel.Component
+
+ Private _updateOrder As UpdateOrderOption
+
+ Private _parkzeitenTableAdapter As ParkzeitenTableAdapter
+
+ Private _backupDataSetBeforeUpdate As Boolean
+
+ Private _connection As Global.System.Data.IDbConnection
+
+ _
+ Public Property UpdateOrder() As UpdateOrderOption
+ Get
+ Return Me._updateOrder
+ End Get
+ Set
+ Me._updateOrder = value
+ End Set
+ End Property
+
+ _
+ Public Property ParkzeitenTableAdapter() As ParkzeitenTableAdapter
+ Get
+ Return Me._parkzeitenTableAdapter
+ End Get
+ Set
+ Me._parkzeitenTableAdapter = value
+ End Set
+ End Property
+
+ _
+ Public Property BackupDataSetBeforeUpdate() As Boolean
+ Get
+ Return Me._backupDataSetBeforeUpdate
+ End Get
+ Set
+ Me._backupDataSetBeforeUpdate = value
+ End Set
+ End Property
+
+ _
+ Public Property Connection() As Global.System.Data.IDbConnection
+ Get
+ If (Not (Me._connection) Is Nothing) Then
+ Return Me._connection
+ End If
+ If ((Not (Me._parkzeitenTableAdapter) Is Nothing) _
+ AndAlso (Not (Me._parkzeitenTableAdapter.Connection) Is Nothing)) Then
+ Return Me._parkzeitenTableAdapter.Connection
+ End If
+ Return Nothing
+ End Get
+ Set
+ Me._connection = value
+ End Set
+ End Property
+
+ _
+ Public ReadOnly Property TableAdapterInstanceCount() As Integer
+ Get
+ Dim count As Integer = 0
+ If (Not (Me._parkzeitenTableAdapter) Is Nothing) Then
+ count = (count + 1)
+ End If
+ Return count
+ End Get
+ End Property
+
+ '''
+ '''Update rows in top-down order.
+ '''
+ _
+ Private Function UpdateUpdatedRows(ByVal dataSet As ParkzeitDataSet, ByVal allChangedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow), ByVal allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer
+ Dim result As Integer = 0
+ If (Not (Me._parkzeitenTableAdapter) Is Nothing) Then
+ Dim updatedRows() As Global.System.Data.DataRow = dataSet.Parkzeiten.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent)
+ updatedRows = Me.GetRealUpdatedRows(updatedRows, allAddedRows)
+ If ((Not (updatedRows) Is Nothing) _
+ AndAlso (0 < updatedRows.Length)) Then
+ result = (result + Me._parkzeitenTableAdapter.Update(updatedRows))
+ allChangedRows.AddRange(updatedRows)
+ End If
+ End If
+ Return result
+ End Function
+
+ '''
+ '''Insert rows in top-down order.
+ '''
+ _
+ Private Function UpdateInsertedRows(ByVal dataSet As ParkzeitDataSet, ByVal allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer
+ Dim result As Integer = 0
+ If (Not (Me._parkzeitenTableAdapter) Is Nothing) Then
+ Dim addedRows() As Global.System.Data.DataRow = dataSet.Parkzeiten.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added)
+ If ((Not (addedRows) Is Nothing) _
+ AndAlso (0 < addedRows.Length)) Then
+ result = (result + Me._parkzeitenTableAdapter.Update(addedRows))
+ allAddedRows.AddRange(addedRows)
+ End If
+ End If
+ Return result
+ End Function
+
+ '''
+ '''Delete rows in bottom-up order.
+ '''
+ _
+ Private Function UpdateDeletedRows(ByVal dataSet As ParkzeitDataSet, ByVal allChangedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer
+ Dim result As Integer = 0
+ If (Not (Me._parkzeitenTableAdapter) Is Nothing) Then
+ Dim deletedRows() As Global.System.Data.DataRow = dataSet.Parkzeiten.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted)
+ If ((Not (deletedRows) Is Nothing) _
+ AndAlso (0 < deletedRows.Length)) Then
+ result = (result + Me._parkzeitenTableAdapter.Update(deletedRows))
+ allChangedRows.AddRange(deletedRows)
+ End If
+ End If
+ Return result
+ End Function
+
+ '''
+ '''Remove inserted rows that become updated rows after calling TableAdapter.Update(inserted rows) first
+ '''
+ _
+ Private Function GetRealUpdatedRows(ByVal updatedRows() As Global.System.Data.DataRow, ByVal allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Global.System.Data.DataRow()
+ If ((updatedRows Is Nothing) _
+ OrElse (updatedRows.Length < 1)) Then
+ Return updatedRows
+ End If
+ If ((allAddedRows Is Nothing) _
+ OrElse (allAddedRows.Count < 1)) Then
+ Return updatedRows
+ End If
+ Dim realUpdatedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow) = New Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)()
+ Dim i As Integer = 0
+ Do While (i < updatedRows.Length)
+ Dim row As Global.System.Data.DataRow = updatedRows(i)
+ If (allAddedRows.Contains(row) = false) Then
+ realUpdatedRows.Add(row)
+ End If
+ i = (i + 1)
+ Loop
+ Return realUpdatedRows.ToArray
+ End Function
+
+ '''
+ '''Update all changes to the dataset.
+ '''
+ _
+ Public Overridable Function UpdateAll(ByVal dataSet As ParkzeitDataSet) As Integer
+ If (dataSet Is Nothing) Then
+ Throw New Global.System.ArgumentNullException("dataSet")
+ End If
+ If (dataSet.HasChanges = false) Then
+ Return 0
+ End If
+ If ((Not (Me._parkzeitenTableAdapter) Is Nothing) _
+ AndAlso (Me.MatchTableAdapterConnection(Me._parkzeitenTableAdapter.Connection) = false)) Then
+ Throw New Global.System.ArgumentException("Für alle von einem TableAdapterManager verwalteten Instanzen von TableAdapter mus"& _
+ "s die gleiche Verbindungszeichenfolge verwendet werden.")
+ End If
+ Dim workConnection As Global.System.Data.IDbConnection = Me.Connection
+ If (workConnection Is Nothing) Then
+ Throw New Global.System.ApplicationException("TableAdapterManager enthält keine Verbindungsinformationen. Legen Sie jede TableA"& _
+ "dapterManager TableAdapter-Eigenschaft auf eine gültige TableAdapter-Instanz fes"& _
+ "t.")
+ End If
+ Dim workConnOpened As Boolean = false
+ If ((workConnection.State And Global.System.Data.ConnectionState.Broken) _
+ = Global.System.Data.ConnectionState.Broken) Then
+ workConnection.Close
+ End If
+ If (workConnection.State = Global.System.Data.ConnectionState.Closed) Then
+ workConnection.Open
+ workConnOpened = true
+ End If
+ Dim workTransaction As Global.System.Data.IDbTransaction = workConnection.BeginTransaction
+ If (workTransaction Is Nothing) Then
+ Throw New Global.System.ApplicationException("Die Transaktion kann nicht gestartet werden. Die aktuelle Datenverbindung unterst"& _
+ "ützt keine Transaktionen, oder der aktuelle Zustand lässt den Start der Transakt"& _
+ "ion nicht zu.")
+ End If
+ Dim allChangedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow) = New Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)()
+ Dim allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow) = New Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)()
+ Dim adaptersWithAcceptChangesDuringUpdate As Global.System.Collections.Generic.List(Of Global.System.Data.Common.DataAdapter) = New Global.System.Collections.Generic.List(Of Global.System.Data.Common.DataAdapter)()
+ Dim revertConnections As Global.System.Collections.Generic.Dictionary(Of Object, Global.System.Data.IDbConnection) = New Global.System.Collections.Generic.Dictionary(Of Object, Global.System.Data.IDbConnection)()
+ Dim result As Integer = 0
+ Dim backupDataSet As Global.System.Data.DataSet = Nothing
+ If Me.BackupDataSetBeforeUpdate Then
+ backupDataSet = New Global.System.Data.DataSet()
+ backupDataSet.Merge(dataSet)
+ End If
+ Try
+ '---- Prepare for update -----------
+ '
+ If (Not (Me._parkzeitenTableAdapter) Is Nothing) Then
+ revertConnections.Add(Me._parkzeitenTableAdapter, Me._parkzeitenTableAdapter.Connection)
+ Me._parkzeitenTableAdapter.Connection = CType(workConnection,Global.System.Data.OleDb.OleDbConnection)
+ Me._parkzeitenTableAdapter.Transaction = CType(workTransaction,Global.System.Data.OleDb.OleDbTransaction)
+ If Me._parkzeitenTableAdapter.Adapter.AcceptChangesDuringUpdate Then
+ Me._parkzeitenTableAdapter.Adapter.AcceptChangesDuringUpdate = false
+ adaptersWithAcceptChangesDuringUpdate.Add(Me._parkzeitenTableAdapter.Adapter)
+ End If
+ End If
+ '
+ '---- Perform updates -----------
+ '
+ If (Me.UpdateOrder = UpdateOrderOption.UpdateInsertDelete) Then
+ result = (result + Me.UpdateUpdatedRows(dataSet, allChangedRows, allAddedRows))
+ result = (result + Me.UpdateInsertedRows(dataSet, allAddedRows))
+ Else
+ result = (result + Me.UpdateInsertedRows(dataSet, allAddedRows))
+ result = (result + Me.UpdateUpdatedRows(dataSet, allChangedRows, allAddedRows))
+ End If
+ result = (result + Me.UpdateDeletedRows(dataSet, allChangedRows))
+ '
+ '---- Commit updates -----------
+ '
+ workTransaction.Commit
+ If (0 < allAddedRows.Count) Then
+ Dim rows((allAddedRows.Count) - 1) As Global.System.Data.DataRow
+ allAddedRows.CopyTo(rows)
+ Dim i As Integer = 0
+ Do While (i < rows.Length)
+ Dim row As Global.System.Data.DataRow = rows(i)
+ row.AcceptChanges
+ i = (i + 1)
+ Loop
+ End If
+ If (0 < allChangedRows.Count) Then
+ Dim rows((allChangedRows.Count) - 1) As Global.System.Data.DataRow
+ allChangedRows.CopyTo(rows)
+ Dim i As Integer = 0
+ Do While (i < rows.Length)
+ Dim row As Global.System.Data.DataRow = rows(i)
+ row.AcceptChanges
+ i = (i + 1)
+ Loop
+ End If
+ Catch ex As Global.System.Exception
+ workTransaction.Rollback
+ '---- Restore the dataset -----------
+ If Me.BackupDataSetBeforeUpdate Then
+ Global.System.Diagnostics.Debug.Assert((Not (backupDataSet) Is Nothing))
+ dataSet.Clear
+ dataSet.Merge(backupDataSet)
+ Else
+ If (0 < allAddedRows.Count) Then
+ Dim rows((allAddedRows.Count) - 1) As Global.System.Data.DataRow
+ allAddedRows.CopyTo(rows)
+ Dim i As Integer = 0
+ Do While (i < rows.Length)
+ Dim row As Global.System.Data.DataRow = rows(i)
+ row.AcceptChanges
+ row.SetAdded
+ i = (i + 1)
+ Loop
+ End If
+ End If
+ Throw ex
+ Finally
+ If workConnOpened Then
+ workConnection.Close
+ End If
+ If (Not (Me._parkzeitenTableAdapter) Is Nothing) Then
+ Me._parkzeitenTableAdapter.Connection = CType(revertConnections(Me._parkzeitenTableAdapter),Global.System.Data.OleDb.OleDbConnection)
+ Me._parkzeitenTableAdapter.Transaction = Nothing
+ End If
+ If (0 < adaptersWithAcceptChangesDuringUpdate.Count) Then
+ Dim adapters((adaptersWithAcceptChangesDuringUpdate.Count) - 1) As Global.System.Data.Common.DataAdapter
+ adaptersWithAcceptChangesDuringUpdate.CopyTo(adapters)
+ Dim i As Integer = 0
+ Do While (i < adapters.Length)
+ Dim adapter As Global.System.Data.Common.DataAdapter = adapters(i)
+ adapter.AcceptChangesDuringUpdate = true
+ i = (i + 1)
+ Loop
+ End If
+ End Try
+ Return result
+ End Function
+
+ _
+ Protected Overridable Sub SortSelfReferenceRows(ByVal rows() As Global.System.Data.DataRow, ByVal relation As Global.System.Data.DataRelation, ByVal childFirst As Boolean)
+ Global.System.Array.Sort(Of Global.System.Data.DataRow)(rows, New SelfReferenceComparer(relation, childFirst))
+ End Sub
+
+ _
+ Protected Overridable Function MatchTableAdapterConnection(ByVal inputConnection As Global.System.Data.IDbConnection) As Boolean
+ If (Not (Me._connection) Is Nothing) Then
+ Return true
+ End If
+ If ((Me.Connection Is Nothing) _
+ OrElse (inputConnection Is Nothing)) Then
+ Return true
+ End If
+ If String.Equals(Me.Connection.ConnectionString, inputConnection.ConnectionString, Global.System.StringComparison.Ordinal) Then
+ Return true
+ End If
+ Return false
+ End Function
+
+ '''
+ '''Update Order Option
+ '''
+ _
+ Public Enum UpdateOrderOption
+
+ InsertUpdateDelete = 0
+
+ UpdateInsertDelete = 1
+ End Enum
+
+ '''
+ '''Used to sort self-referenced table's rows
+ '''
+ _
+ Private Class SelfReferenceComparer
+ Inherits Object
+ Implements Global.System.Collections.Generic.IComparer(Of Global.System.Data.DataRow)
+
+ Private _relation As Global.System.Data.DataRelation
+
+ Private _childFirst As Integer
+
+ _
+ Friend Sub New(ByVal relation As Global.System.Data.DataRelation, ByVal childFirst As Boolean)
+ MyBase.New
+ Me._relation = relation
+ If childFirst Then
+ Me._childFirst = -1
+ Else
+ Me._childFirst = 1
+ End If
+ End Sub
+
+ _
+ Private Function GetRoot(ByVal row As Global.System.Data.DataRow, ByRef distance As Integer) As Global.System.Data.DataRow
+ Global.System.Diagnostics.Debug.Assert((Not (row) Is Nothing))
+ Dim root As Global.System.Data.DataRow = row
+ distance = 0
+
+ Dim traversedRows As Global.System.Collections.Generic.IDictionary(Of Global.System.Data.DataRow, Global.System.Data.DataRow) = New Global.System.Collections.Generic.Dictionary(Of Global.System.Data.DataRow, Global.System.Data.DataRow)()
+ traversedRows(row) = row
+
+ Dim parent As Global.System.Data.DataRow = row.GetParentRow(Me._relation, Global.System.Data.DataRowVersion.[Default])
+
+ Do While ((Not (parent) Is Nothing) _
+ AndAlso (traversedRows.ContainsKey(parent) = false))
+ distance = (distance + 1)
+ root = parent
+ traversedRows(parent) = parent
+ parent = parent.GetParentRow(Me._relation, Global.System.Data.DataRowVersion.[Default])
+
+ Loop
+
+ If (distance = 0) Then
+ traversedRows.Clear
+ traversedRows(row) = row
+ parent = row.GetParentRow(Me._relation, Global.System.Data.DataRowVersion.Original)
+
+ Do While ((Not (parent) Is Nothing) _
+ AndAlso (traversedRows.ContainsKey(parent) = false))
+ distance = (distance + 1)
+ root = parent
+ traversedRows(parent) = parent
+ parent = parent.GetParentRow(Me._relation, Global.System.Data.DataRowVersion.Original)
+
+ Loop
+ End If
+
+ Return root
+ End Function
+
+ _
+ Public Function Compare(ByVal row1 As Global.System.Data.DataRow, ByVal row2 As Global.System.Data.DataRow) As Integer Implements Global.System.Collections.Generic.IComparer(Of Global.System.Data.DataRow).Compare
+ If Object.ReferenceEquals(row1, row2) Then
+ Return 0
+ End If
+ If (row1 Is Nothing) Then
+ Return -1
+ End If
+ If (row2 Is Nothing) Then
+ Return 1
+ End If
+
+ Dim distance1 As Integer = 0
+ Dim root1 As Global.System.Data.DataRow = Me.GetRoot(row1, distance1)
+
+ Dim distance2 As Integer = 0
+ Dim root2 As Global.System.Data.DataRow = Me.GetRoot(row2, distance2)
+
+ If Object.ReferenceEquals(root1, root2) Then
+ Return (Me._childFirst * distance1.CompareTo(distance2))
+ Else
+ Global.System.Diagnostics.Debug.Assert(((Not (root1.Table) Is Nothing) _
+ AndAlso (Not (root2.Table) Is Nothing)))
+ If (root1.Table.Rows.IndexOf(root1) < root2.Table.Rows.IndexOf(root2)) Then
+ Return -1
+ Else
+ Return 1
+ End If
+ End If
+ End Function
+ End Class
+ End Class
+End Namespace
diff --git a/Parkzeit/ParkzeitDataSet.vb b/Parkzeit/ParkzeitDataSet.vb
new file mode 100644
index 0000000..b46024a
--- /dev/null
+++ b/Parkzeit/ParkzeitDataSet.vb
@@ -0,0 +1,4 @@
+
+
+Partial Public Class ParkzeitDataSet
+End Class
diff --git a/Parkzeit/ParkzeitDataSet.xsc b/Parkzeit/ParkzeitDataSet.xsc
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/Parkzeit/ParkzeitDataSet.xsc
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Parkzeit/ParkzeitDataSet.xsd b/Parkzeit/ParkzeitDataSet.xsd
new file mode 100644
index 0000000..2092946
--- /dev/null
+++ b/Parkzeit/ParkzeitDataSet.xsd
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DELETE FROM `Parkzeiten` WHERE ((`ParkzeitID` = ?) AND ((? = 1 AND `Laufende_Nr` IS NULL) OR (`Laufende_Nr` = ?)) AND ((? = 1 AND `Von` IS NULL) OR (`Von` = ?)) AND ((? = 1 AND `Bis` IS NULL) OR (`Bis` = ?)) AND ((? = 1 AND `Dauer` IS NULL) OR (`Dauer` = ?)) AND ((? = 1 AND `Dauer_Minuten` IS NULL) OR (`Dauer_Minuten` = ?)) AND ((? = 1 AND `Kennzeichen` IS NULL) OR (`Kennzeichen` = ?)))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO `Parkzeiten` (`Laufende_Nr`, `Von`, `Bis`, `Dauer`, `Dauer_Minuten`, `Kennzeichen`) VALUES (?, ?, ?, ?, ?, ?)
+
+
+
+
+
+
+
+
+
+
+
+
+ SELECT ParkzeitID, Laufende_Nr, Von, Bis, Dauer, Dauer_Minuten, Kennzeichen FROM Parkzeiten
+
+
+
+
+
+ UPDATE `Parkzeiten` SET `Laufende_Nr` = ?, `Von` = ?, `Bis` = ?, `Dauer` = ?, `Dauer_Minuten` = ?, `Kennzeichen` = ? WHERE ((`ParkzeitID` = ?) AND ((? = 1 AND `Laufende_Nr` IS NULL) OR (`Laufende_Nr` = ?)) AND ((? = 1 AND `Von` IS NULL) OR (`Von` = ?)) AND ((? = 1 AND `Bis` IS NULL) OR (`Bis` = ?)) AND ((? = 1 AND `Dauer` IS NULL) OR (`Dauer` = ?)) AND ((? = 1 AND `Dauer_Minuten` IS NULL) OR (`Dauer_Minuten` = ?)) AND ((? = 1 AND `Kennzeichen` IS NULL) OR (`Kennzeichen` = ?)))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Parkzeit/ParkzeitDataSet.xss b/Parkzeit/ParkzeitDataSet.xss
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/Parkzeit/ParkzeitDataSet.xss
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Parkzeit/Resources/Logo_Waberer.jpg b/Parkzeit/Resources/Logo_Waberer.jpg
new file mode 100644
index 0000000..0901eec
Binary files /dev/null and b/Parkzeit/Resources/Logo_Waberer.jpg differ
diff --git a/Parkzeit/Resources/Parkschild.ico b/Parkzeit/Resources/Parkschild.ico
new file mode 100644
index 0000000..5341948
Binary files /dev/null and b/Parkzeit/Resources/Parkschild.ico differ
diff --git a/Parkzeit/Resources/Versionsinfo.txt b/Parkzeit/Resources/Versionsinfo.txt
new file mode 100644
index 0000000..599b02c
--- /dev/null
+++ b/Parkzeit/Resources/Versionsinfo.txt
@@ -0,0 +1,24 @@
+Version 1.2.1 19.03.2015 (Luxbauer Andreas)
+- Umstellung auf SQLConnection
+
+Version 1.2.0 11.12.2014 (Luxbauer Andreas)
+- Anbindung SQL Server
+- Bugfix Programmstart
+
+Version 1.1.0 19.10.2013
+NEU: Trennung der Abrechnung nach LKW-Kennzeichen
+-Ungarn (die ersten drei Stellen sind Buchstaben)
+-Rumänien (die erste oder zweite Stelle ist ein Buchstabe)
+-Sonstige (die ersten beiden Stellen sind Ziffern)
+KORREKTUR: Spaltengröße bei Gesamtsumme erweitert (ansonsten erfolgte Zeilenumbruch)
+
+Version 1.0.0 30.07.2013
+Freigabe des Programms für den Echtbetrieb
+
+Version 0.9.0 28.07.2013
+Beta-Version für erste Tests
+
+Neues Programm nach Vereinbarung mit Siener Josef am 22.07.2013
+Zweck: Erfassung und Berechnung der Parkzeiten für Waberer's LKWs
+
+
diff --git a/Parkzeit/Resources/parkzeit.ico b/Parkzeit/Resources/parkzeit.ico
new file mode 100644
index 0000000..03fae60
Binary files /dev/null and b/Parkzeit/Resources/parkzeit.ico differ
diff --git a/Parkzeit/SelectQuery.vb b/Parkzeit/SelectQuery.vb
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/Parkzeit/SelectQuery.vb
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Parkzeit/cDatenbank.vb b/Parkzeit/cDatenbank.vb
new file mode 100644
index 0000000..cca3b08
--- /dev/null
+++ b/Parkzeit/cDatenbank.vb
@@ -0,0 +1,281 @@
+Imports System.Data
+'Imports System.Data.OleDb
+'Imports System.IOSystem.Data.SqlClient.System.Data.SqlClient.SqlConnection
+Imports Parkzeit.cMeineFunktionen
+'Imports System.Data.SqlClient
+'Using oConn As System.Data.System.Data.SqlClient.System.Data.SqlClient.SqlConnection = New System.Data.System.Data.SqlClient.System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("tps_write").ConnectionString())
+
+Public Class cDatenbank
+ Public Shared Function GetNewOpenConnection() As System.Data.SqlClient.SqlConnection
+ Dim conn As New System.Data.SqlClient.SqlConnection
+ conn.ConnectionString = My.Resources.connectionString_PROD
+ conn.Open()
+ Return conn
+ End Function
+End Class
+
+Public Class cOptionen
+
+ Property OptionID As Integer
+ Property Kosten_je_Stunde As Double
+End Class
+
+Public Class cOptionenDAL
+ Public Function LesenOptionen() As cOptionen
+ 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
+ Dim sql As String = "SELECT * FROM Optionen WHERE OptionID = 0"
+ Dim daten As cOptionen = Nothing
+
+ Try
+ Using conn As System.Data.SqlClient.SqlConnection = cDatenbank.GetNewOpenConnection()
+ Using cmd As New System.Data.SqlClient.SqlCommand(sql, conn)
+ Dim dr = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ daten = New cOptionen()
+ Try
+ daten.OptionID = 0
+ daten.Kosten_je_Stunde = VarToDbl(dr.Item("Kosten_je_Stunde"))
+ Catch ex As Exception
+ MsgBox("Fehler beim Einlesen der Optionen" & vbCrLf & vbCrLf & ex.Message, MsgBoxStyle.Exclamation)
+ End Try
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Return daten
+ Catch ex As Exception
+ MsgBox("Fehler beim Lesen der Optionen:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
+ Return Nothing
+ End Try
+ End Function
+
+ Public Sub SpeichernOptionen(ByVal d As cOptionen)
+ Dim hAuswahl As String = ""
+
+ 'Änderung
+ hAuswahl = String.Format(
+ "UPDATE Optionen SET Kosten_je_Stunde = @Kosten_je_Stunde WHERE OptionID = 0", _
+ d.Kosten_je_Stunde)
+ Dim sql = hAuswahl
+ Using conn As System.Data.SqlClient.SqlConnection = cDatenbank.GetNewOpenConnection()
+ Using cmd As New System.Data.SqlClient.SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@Kosten_je_Stunde", d.Kosten_je_Stunde)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As Exception
+ MsgBox("Optionen können nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern")
+ End Try
+ End Using
+ End Using
+ End Sub
+
+End Class
+
+Public Class cParkzeit
+ Property ParkzeitID As Integer
+ Property Von As Date
+ Property Bis As Date
+ Property Dauer As String
+ Property Dauer_Minuten As Integer
+ Property Kennzeichen As String
+ Property Laufende_Nr As Integer
+End Class
+
+Public Class cParkzeitDruck
+ 'alle notwendigen Druckfelder - müssen immer String sein !
+ Property ParkzeitID As String
+ Property Von As String
+ Property Bis As String
+ Property Dauer As String
+ Property Dauer_Minuten As String
+ Property Kennzeichen As String
+ Property Laufende_Nr As String
+ Property Kosten As String
+End Class
+
+Public Class cParkzeitenDAL
+
+ Public Function AnzeigeTabelle(hSQL As String) As DataTable
+ While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
+ Try
+ Dim myTable = New DataTable()
+ Using conn As System.Data.SqlClient.SqlConnection = cDatenbank.GetNewOpenConnection()
+ Using cmd As New System.Data.SqlClient.SqlCommand(hSQL, conn)
+ Dim dr = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'AnzeigeTabelle'")
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ Environment.Exit(0)
+ End If
+ End Try
+ End While
+
+ Return Nothing
+ End Function
+
+ Public Function LesenParkzeit(hID As Integer, hSQL As String) As cParkzeit
+ 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
+ Dim sql As String
+ If hID > 0 Then
+ sql = "SELECT * FROM Parkzeiten WHERE ParkzeitID = " & hID
+ Else
+ sql = hSQL
+ End If
+
+ Dim daten As cParkzeit = Nothing
+ Try
+ Using conn As System.Data.SqlClient.SqlConnection = cDatenbank.GetNewOpenConnection()
+ Using cmd As New System.Data.SqlClient.SqlCommand(sql, conn)
+ Dim dr = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ daten = New cParkzeit()
+ daten.ParkzeitID = VarToInt(dr.Item("ParkzeitID"))
+ daten.Von = CDate(dr.Item("Von"))
+ daten.Bis = CDate(dr.Item("Bis"))
+ daten.Dauer = VarToStr(dr.Item("Dauer"))
+ daten.Dauer_Minuten = VarToInt(dr.Item("Dauer_Minuten"))
+ daten.Kennzeichen = VarToStr(dr.Item("Kennzeichen"))
+ daten.Laufende_Nr = VarToInt(dr.Item("Laufende_Nr"))
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Return daten
+ Catch ex As Exception
+ MsgBox("Fehler bei LesenParkzeit: " & ex.Message)
+ Return Nothing
+ End Try
+ End Function
+
+ Public Sub SpeichernParkzeit(ByVal d As cParkzeit)
+ Dim hAuswahl As String
+ If d.ParkzeitID = 0 Then
+ 'Neuanlage
+ hAuswahl = "INSERT INTO Parkzeiten " &
+ "(Von, Bis, Dauer, Dauer_Minuten, Kennzeichen, Laufende_Nr) VALUES " &
+ "(@Von, @Bis, @Dauer, @Dauer_Minuten, @Kennzeichen, @Laufende_Nr)"
+ Else
+ 'Änderung
+ hAuswahl = String.Format(
+ "UPDATE Parkzeiten SET Von = @Von, Bis = @Bis, Dauer = @Dauer, Dauer_Minuten = @Dauer_Minuten, Kennzeichen = @Kennzeichen, Laufende_Nr = @Laufende_Nr " &
+ " WHERE ParkzeitID = @ParkzeitID", _
+ d.Von, d.Bis, d.Dauer, d.Dauer_Minuten, d.Kennzeichen, d.Laufende_Nr, d.ParkzeitID)
+ End If
+
+
+ Dim sql = hAuswahl
+ Using conn As System.Data.SqlClient.SqlConnection = cDatenbank.GetNewOpenConnection()
+ Using cmd As New System.Data.SqlClient.SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@Von", SQLDatumZeitWithOutSemi(d.Von))
+ cmd.Parameters.AddWithValue("@Bis", SQLDatumZeitWithOutSemi(d.Bis))
+ cmd.Parameters.AddWithValue("@Dauer", d.Dauer)
+ cmd.Parameters.AddWithValue("@Dauer_Minuten", d.Dauer_Minuten)
+ cmd.Parameters.AddWithValue("@Kennzeichen", d.Kennzeichen)
+ cmd.Parameters.AddWithValue("@Laufende_Nr", d.Laufende_Nr)
+ If Not d.ParkzeitID = 0 Then cmd.Parameters.AddWithValue("@ParkzeitID", d.ParkzeitID)
+
+
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As Exception
+ MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Parkzeit")
+ End Try
+ End Using
+ End Using
+
+ End Sub
+
+ Public Sub LöschenParkZeit(ByVal hID As Integer)
+ Dim sql As String = "DELETE FROM Parkzeiten WHERE ParkzeitID = " & hID
+ Using conn As System.Data.SqlClient.SqlConnection = cDatenbank.GetNewOpenConnection()
+ Using cmd As New System.Data.SqlClient.SqlCommand(sql, conn)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As Exception
+ MsgBox("Datensatz kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
+ End Try
+ End Using
+ End Using
+ End Sub
+
+ Public Function LeseDatenFürExport(hSQL As String, hDatei As String) As Long
+
+ Dim anz As Long
+ Dim textFile As IO.StreamWriter = IO.File.CreateText(hDatei)
+
+ 'Spaltenüberschriften
+ Dim x As String = "Laufende_Nr;Einfahrt;Ausfahrt;Kennzeichen;Dauer;Dauer_Minuten"
+ textFile.WriteLine(x)
+
+ Using conn As System.Data.SqlClient.SqlConnection = cDatenbank.GetNewOpenConnection()
+
+ Using cmd As New System.Data.SqlClient.SqlCommand(hSQL, conn)
+ Dim dr = cmd.ExecuteReader()
+ If dr.HasRows Then
+ While dr.Read()
+ x = ""
+ x &= VarToInt(dr.Item("Laufende_Nr")).ToString & ";"
+ x &= Format(CDate(VarToDate(dr.Item("Von"))), "yyyy.MM.dd HH:mm") & ";"
+ x &= Format(CDate(VarToDate(dr.Item("Bis"))), "yyyy.MM.dd HH:mm") & ";"
+ x &= VarToStr(dr.Item("Kennzeichen")) & ";"
+ x &= VarToStr(dr.Item("Dauer")) & "h;"
+ x &= VarToInt(dr.Item("Dauer_Minuten"))
+ textFile.WriteLine(x)
+ anz += 1
+ End While
+ End If
+ dr.Close()
+ End Using
+ End Using
+
+ textFile.Close()
+
+ Return anz 'Anzahl retour geben
+ End Function
+
+ Public Function LeseParkzeitenFürDruck(hSQL As String, hKosten As Double) As List(Of cParkzeitDruck)
+ 'Dim sql As String
+ 'sql = "SELECT * FROM Bilanzen, Bilanzarten, Kunden WHERE (Kunden.Sachbear = 'STW' OR Kunden.Sachbear = 'GRO') AND Bilanzarten.BilanzartID = Bilanzen.BilanzartID AND Kunden.KundeID = Bilanzen.KundeID"
+
+ 'MsgBox("SQL:" & vbCrLf & hSQL)
+
+ Dim datenListe As List(Of cParkzeitDruck) = New List(Of cParkzeitDruck)
+ Dim datensatz As cParkzeitDruck
+
+ Using conn As System.Data.SqlClient.SqlConnection = cDatenbank.GetNewOpenConnection()
+
+ Using cmd As New System.Data.SqlClient.SqlCommand(hSQL, conn)
+ Dim dr = cmd.ExecuteReader()
+ If (dr.HasRows) Then
+ While dr.Read()
+ datensatz = New cParkzeitDruck()
+ datensatz.ParkzeitID = VarToInt(dr.Item("ParkzeitID")).ToString
+ datensatz.Von = Format(CDate(dr.Item("Von")), "dd.MM.yyyy HH:mm")
+ datensatz.Bis = Format(CDate(dr.Item("Bis")), "dd.MM.yyyy HH:mm")
+ datensatz.Dauer = VarToStr(dr.Item("Dauer"))
+ datensatz.Dauer_Minuten = VarToStr(dr.Item("Dauer_Minuten"))
+ datensatz.Kennzeichen = VarToStr(dr.Item("Kennzeichen"))
+ datensatz.Laufende_Nr = VarToInt(dr.Item("Laufende_Nr")).ToString
+ datensatz.Kosten = "" 'Berechnung pro Eintrag notwendig/sinnvoll?
+ datenListe.Add(datensatz)
+ End While
+ End If
+ dr.Close()
+ End Using
+ End Using
+
+
+ Return datenListe
+ End Function
+
+End Class
diff --git a/Parkzeit/cGlobal.vb b/Parkzeit/cGlobal.vb
new file mode 100644
index 0000000..5719bab
--- /dev/null
+++ b/Parkzeit/cGlobal.vb
@@ -0,0 +1,14 @@
+'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 Optionen As New cOptionen
+' Public Shared AngemeldeterUser As String
+'End Class
+
+'Public Enum AufrufenderProzess
+' Programm1 = 1
+' Programm2 = 2
+'End Enum
diff --git a/Parkzeit/cMeineFunktionen.vb b/Parkzeit/cMeineFunktionen.vb
new file mode 100644
index 0000000..45d9706
--- /dev/null
+++ b/Parkzeit/cMeineFunktionen.vb
@@ -0,0 +1,167 @@
+Public Class cMeineFunktionen
+ 'Diese Klasse beinhaltet alle meine Funktionen, die in allen Projekten verwendet werden können
+
+ 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 SQLDatumWithOutSemi(dat As Date) As String
+ 'Datum für SQLAbfrage umwandeln (31.01.1998 --> #1/31/1998#)
+ SQLDatumWithOutSemi = ""
+
+ If Not IsDate(dat) Then Exit Function
+ SQLDatumWithOutSemi = "" & 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) & ":" & DateAndTime.Second(dat) & "'"
+
+
+ End Function
+
+
+ Public Shared Function SQLDatumZeitWithOutSemi(dat As Date) As String
+ 'Datum inklusive Zeit für SQLAbfrage umwandeln (31.01.1998 10:15 Uhr --> #1/31/1998 10:15:00#)
+ SQLDatumZeitWithOutSemi = ""
+
+
+ If Not IsDate(dat) Then Exit Function
+ SQLDatumZeitWithOutSemi = "" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " " &
+ DateAndTime.Hour(dat) & ":" & DateAndTime.Minute(dat) & ":" & DateAndTime.Second(dat) & ""
+
+
+ End Function
+
+ Public Shared Function GetProgrammIcon() As Drawing.Icon
+ Return My.Resources.Parkschild
+ 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 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 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
+ 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
+
+
+End Class
diff --git a/Parkzeit/frmAuswahl_Abrechnung.designer.vb b/Parkzeit/frmAuswahl_Abrechnung.designer.vb
new file mode 100644
index 0000000..261d6f5
--- /dev/null
+++ b/Parkzeit/frmAuswahl_Abrechnung.designer.vb
@@ -0,0 +1,234 @@
+ _
+Partial Class frmAuswahl_Abrechnung
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ 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.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAuswahl_Abrechnung))
+ Me.btnDruck = New System.Windows.Forms.Button()
+ Me.btnAbbruch = New System.Windows.Forms.Button()
+ Me.txtKosten = New System.Windows.Forms.TextBox()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.dtpBis = New System.Windows.Forms.DateTimePicker()
+ Me.dtpVon = New System.Windows.Forms.DateTimePicker()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.Label6 = New System.Windows.Forms.Label()
+ Me.btnCheck = New System.Windows.Forms.Button()
+ Me.btnExport = New System.Windows.Forms.Button()
+ Me.optAlle = New System.Windows.Forms.RadioButton()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.optUngarn = New System.Windows.Forms.RadioButton()
+ Me.optRumänien = New System.Windows.Forms.RadioButton()
+ Me.optSonstige = New System.Windows.Forms.RadioButton()
+ Me.SuspendLayout()
+ '
+ 'btnDruck
+ '
+ Me.btnDruck.Location = New System.Drawing.Point(94, 285)
+ Me.btnDruck.Name = "btnDruck"
+ Me.btnDruck.Size = New System.Drawing.Size(80, 40)
+ Me.btnDruck.TabIndex = 7
+ Me.btnDruck.Text = "Drucken"
+ Me.btnDruck.UseVisualStyleBackColor = True
+ '
+ 'btnAbbruch
+ '
+ Me.btnAbbruch.Location = New System.Drawing.Point(202, 285)
+ Me.btnAbbruch.Name = "btnAbbruch"
+ Me.btnAbbruch.Size = New System.Drawing.Size(80, 40)
+ Me.btnAbbruch.TabIndex = 8
+ Me.btnAbbruch.Text = "Schließen"
+ Me.btnAbbruch.UseVisualStyleBackColor = True
+ '
+ 'txtKosten
+ '
+ Me.txtKosten.Location = New System.Drawing.Point(152, 74)
+ Me.txtKosten.MaxLength = 11
+ Me.txtKosten.Name = "txtKosten"
+ Me.txtKosten.Size = New System.Drawing.Size(43, 20)
+ Me.txtKosten.TabIndex = 2
+ Me.txtKosten.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(38, 77)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(108, 13)
+ Me.Label1.TabIndex = 5
+ Me.Label1.Text = "Kosten in € je Stunde"
+ '
+ 'dtpBis
+ '
+ Me.dtpBis.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
+ Me.dtpBis.Location = New System.Drawing.Point(246, 35)
+ Me.dtpBis.Name = "dtpBis"
+ Me.dtpBis.Size = New System.Drawing.Size(93, 20)
+ Me.dtpBis.TabIndex = 1
+ '
+ 'dtpVon
+ '
+ Me.dtpVon.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
+ Me.dtpVon.Location = New System.Drawing.Point(121, 35)
+ Me.dtpVon.Name = "dtpVon"
+ Me.dtpVon.Size = New System.Drawing.Size(93, 20)
+ Me.dtpVon.TabIndex = 0
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.Location = New System.Drawing.Point(220, 38)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(20, 13)
+ Me.Label4.TabIndex = 25
+ Me.Label4.Text = "bis"
+ '
+ 'Label6
+ '
+ Me.Label6.AutoSize = True
+ Me.Label6.Location = New System.Drawing.Point(38, 38)
+ Me.Label6.Name = "Label6"
+ Me.Label6.Size = New System.Drawing.Size(77, 13)
+ Me.Label6.TabIndex = 26
+ Me.Label6.Text = "Datum Einfahrt"
+ '
+ 'btnCheck
+ '
+ Me.btnCheck.Location = New System.Drawing.Point(208, 68)
+ Me.btnCheck.Name = "btnCheck"
+ Me.btnCheck.Size = New System.Drawing.Size(80, 30)
+ Me.btnCheck.TabIndex = 3
+ Me.btnCheck.TabStop = False
+ Me.btnCheck.Text = "Check"
+ Me.btnCheck.UseVisualStyleBackColor = True
+ '
+ 'btnExport
+ '
+ Me.btnExport.Location = New System.Drawing.Point(208, 104)
+ Me.btnExport.Name = "btnExport"
+ Me.btnExport.Size = New System.Drawing.Size(80, 30)
+ Me.btnExport.TabIndex = 6
+ Me.btnExport.TabStop = False
+ Me.btnExport.Text = "Export"
+ Me.btnExport.UseVisualStyleBackColor = True
+ '
+ 'optAlle
+ '
+ Me.optAlle.AutoSize = True
+ Me.optAlle.Location = New System.Drawing.Point(78, 166)
+ Me.optAlle.Name = "optAlle"
+ Me.optAlle.Size = New System.Drawing.Size(73, 17)
+ Me.optAlle.TabIndex = 3
+ Me.optAlle.TabStop = True
+ Me.optAlle.Text = "alle LKWs"
+ Me.optAlle.UseVisualStyleBackColor = True
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(38, 150)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(75, 13)
+ Me.Label2.TabIndex = 5
+ Me.Label2.Text = "Druckauswahl"
+ '
+ 'optUngarn
+ '
+ Me.optUngarn.AutoSize = True
+ Me.optUngarn.Location = New System.Drawing.Point(78, 189)
+ Me.optUngarn.Name = "optUngarn"
+ Me.optUngarn.Size = New System.Drawing.Size(60, 17)
+ Me.optUngarn.TabIndex = 4
+ Me.optUngarn.TabStop = True
+ Me.optUngarn.Text = "Ungarn"
+ Me.optUngarn.UseVisualStyleBackColor = True
+ '
+ 'optRumänien
+ '
+ Me.optRumänien.AutoSize = True
+ Me.optRumänien.Location = New System.Drawing.Point(78, 212)
+ Me.optRumänien.Name = "optRumänien"
+ Me.optRumänien.Size = New System.Drawing.Size(73, 17)
+ Me.optRumänien.TabIndex = 5
+ Me.optRumänien.TabStop = True
+ Me.optRumänien.Text = "Rumänien"
+ Me.optRumänien.UseVisualStyleBackColor = True
+ '
+ 'optSonstige
+ '
+ Me.optSonstige.AutoSize = True
+ Me.optSonstige.Location = New System.Drawing.Point(78, 235)
+ Me.optSonstige.Name = "optSonstige"
+ Me.optSonstige.Size = New System.Drawing.Size(96, 17)
+ Me.optSonstige.TabIndex = 6
+ Me.optSonstige.TabStop = True
+ Me.optSonstige.Text = "sonstige LKWs"
+ Me.optSonstige.UseVisualStyleBackColor = True
+ '
+ 'frmAuswahl_Abrechnung
+ '
+ Me.AcceptButton = Me.btnDruck
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(376, 362)
+ Me.Controls.Add(Me.optSonstige)
+ Me.Controls.Add(Me.optRumänien)
+ Me.Controls.Add(Me.optUngarn)
+ Me.Controls.Add(Me.optAlle)
+ Me.Controls.Add(Me.btnExport)
+ Me.Controls.Add(Me.btnCheck)
+ Me.Controls.Add(Me.dtpBis)
+ Me.Controls.Add(Me.dtpVon)
+ Me.Controls.Add(Me.Label4)
+ Me.Controls.Add(Me.Label6)
+ Me.Controls.Add(Me.txtKosten)
+ Me.Controls.Add(Me.btnAbbruch)
+ Me.Controls.Add(Me.Label2)
+ Me.Controls.Add(Me.Label1)
+ Me.Controls.Add(Me.btnDruck)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.KeyPreview = True
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmAuswahl_Abrechnung"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Druckauswahl Abrechnung"
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents btnDruck As System.Windows.Forms.Button
+ Friend WithEvents btnAbbruch As System.Windows.Forms.Button
+ Friend WithEvents txtKosten As System.Windows.Forms.TextBox
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents dtpBis As System.Windows.Forms.DateTimePicker
+ Friend WithEvents dtpVon As System.Windows.Forms.DateTimePicker
+ Friend WithEvents Label4 As System.Windows.Forms.Label
+ Friend WithEvents Label6 As System.Windows.Forms.Label
+ Friend WithEvents btnCheck As System.Windows.Forms.Button
+ Friend WithEvents btnExport As System.Windows.Forms.Button
+ Friend WithEvents optAlle As System.Windows.Forms.RadioButton
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents optUngarn As System.Windows.Forms.RadioButton
+ Friend WithEvents optRumänien As System.Windows.Forms.RadioButton
+ Friend WithEvents optSonstige As System.Windows.Forms.RadioButton
+End Class
diff --git a/Parkzeit/frmAuswahl_Abrechnung.resx b/Parkzeit/frmAuswahl_Abrechnung.resx
new file mode 100644
index 0000000..8509690
--- /dev/null
+++ b/Parkzeit/frmAuswahl_Abrechnung.resx
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAICAAAAEAGACoDAAAFgAAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAMQOAADEDgAAAAAAAAAA
+ AABmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////3
+ 9fR0SSZmMwCjjH3///////////////+YfWvBs6r///90SSajjH3///+tmo23p5z///+AXUJmMwDUy8X3
+ 9fRmMwCYfWv39fT////m4N3///9mMwBmMwBmMwCYfWv////39fS3p5xmMwB0SSb////Bs6pmMwBmMwBm
+ MwCtmo3///+MbljLv7j39fRmMwBmMwDm4N3////////////Uy8VmMwDm4N3m4N2MbljBs6r///+Mblhm
+ MwBmMwC3p5z///+tmo3///+AXUJmMwD39fT///////////+AXUKMblj////////////39fS3p5xmMwCY
+ fWv///+Mblj////Bs6pmMwDu6+nUy8W3p5z///////+tmo1mMwBmMwDLv7j39fRmMwDd1tHLv7hmMwDU
+ y8X39fRmMwBmMwBmMwBmMwD39fTLv7hmMwDLv7j///90SSZmMwDUy8Xm4N3///+jjH1mMwDBs6r///+M
+ bliYfWv///+3p5xmMwBmMwDm4N3m4N1mMwCAXUL///+Mbli3p5z///////////////90SSbm4N3/////
+ ///////Lv7hmMwBmMwCAXUL///////+MblhmMwBmMwDUy8X////////m4N10SSZmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6rBs6rBs6rBs6r/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwD/////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwD/////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////+AXUJmMwBmMwBmMwD/////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwDBs6rBs6rBs6rBs6rBs6r/////////////////////////////////////////////////
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDUy8X/////////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwCAXUL/////
+ //////+YfWtmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ //////////////////////////+AXUJmMwBmMwCAXUL////////////Lv7hmMwBmMwBmMwCtmo3/////
+ //////////////////////////////////////////////////////////////////////////+AXUJm
+ MwBmMwB0SSbBs6rBs6q3p5xmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj39fT/////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/Parkzeit/frmAuswahl_Abrechnung.vb b/Parkzeit/frmAuswahl_Abrechnung.vb
new file mode 100644
index 0000000..4c4cb12
--- /dev/null
+++ b/Parkzeit/frmAuswahl_Abrechnung.vb
@@ -0,0 +1,169 @@
+Imports Parkzeit.cMeineFunktionen
+Imports System.Data.OleDb
+Imports System.Data.SqlClient
+
+Public Class frmAuswahl_Abrechnung
+
+ Private Sub frmAuswahl_Abrechnung_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
+ 'Escape händisch abfangen und auf Abbruch-Taste legen
+ If e.KeyCode = Keys.Escape Then
+ btnAbbruch.PerformClick()
+ End If
+ End Sub
+
+ Private Sub frmAuswahl_Abrechnung_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
+ Me.CenterToParent()
+
+ 'Vorschlagswerte setzen
+ dtpVon.Value = DateSerial(Now.Date.AddMonths(-1).Year, Now.Date.AddMonths(-1).Month, 1)
+ dtpBis.Value = dtpVon.Value.AddMonths(1).AddDays(-1)
+
+ txtKosten.Text = Format(frmMain.Optionen.Kosten_je_Stunde, "#0.00")
+
+ optAlle.Checked = True
+ End Sub
+
+ Private Sub btnAbbruch_Click(sender As System.Object, e As System.EventArgs) Handles btnAbbruch.Click
+ 'Fenster schließen
+ Me.Close()
+ End Sub
+
+ Private Sub txtFeld_GotFocus(sender As Object, e As System.EventArgs) Handles txtKosten.GotFocus
+ 'txtBilanzart.SelectAll()
+ CType(sender, TextBox).SelectAll()
+ End Sub
+
+ 'Private Sub txtKosten_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtKosten.KeyPress
+ ' 'Es sind nur Zahleneingaben erlaubt
+ ' Dim asc As Integer = Convert.ToInt32(e.KeyChar)
+ ' Select Case asc
+ ' 'Folgende Tasten sind erlaubt
+ ' '8 = Rücktaste (Back)
+ ' '13 = Enter
+ ' '27 = Esc
+ ' '48 To 57 = 0 bis 9
+ ' Case 8, 13, 27, 48 To 57
+ ' Case Else
+ ' e.Handled = True
+ ' End Select
+ 'End Sub
+
+ Private Sub btnDruck_Click(sender As System.Object, e As System.EventArgs) Handles btnDruck.Click, btnCheck.Click
+ Dim hSummeZeit As Integer
+ Dim hAnzahl As Integer
+ Dim hKosten As Double
+
+ 'Logische Prüfungen vor dem Drucken
+ If dtpBis.Value < dtpVon.Value Then
+ MsgBox("Bis-Datum muß größer/gleich dem Von-Datum sein.", vbInformation)
+ dtpBis.Focus()
+ Exit Sub
+ End If
+
+ If VarToDbl(txtKosten.Text) = 0 Then
+ MsgBox("Bitte einen gültigen Kostensatz eingeben.", vbInformation)
+ txtKosten.Focus()
+ Exit Sub
+ End If
+
+ 'Zusammenbau der SQL-Abfrage
+ Dim hSQL As String = "SELECT * FROM Parkzeiten WHERE Von >= " & SQLDatum(dtpVon.Value) & " AND Von <= " & SQLDatum(dtpBis.Value.AddDays(1))
+
+ Dim hauswahl As String = "Auswahl: "
+
+
+ If optUngarn.Checked Then
+ hSQL += " AND (((Left(CAST(Kennzeichen AS varchar),1))>='A' And (Left(CAST(Kennzeichen AS varchar),1))<='Z') AND ((right(left(CAST(Kennzeichen AS varchar),2),1))>='A' And (right(left(CAST(Kennzeichen AS varchar),2),1))<='Z') " &
+ "AND ((right(left(CAST(Kennzeichen AS varchar),3),1))>='A' And (right(left(CAST(Kennzeichen AS varchar),3),1))<='Z'))"
+ 'hSQL += " AND Left(CAST(Kennzeichen AS varchar),1)>='A' "
+ hauswahl += "ungarische LKWs"
+ ElseIf optRumänien.Checked Then
+ hSQL += " AND (((Parkzeiten.Von)>=" & SQLDatum(dtpVon.Value) & " And (Parkzeiten.Von)<=" & SQLDatum(dtpBis.Value) &
+ ") AND ((Left(CAST(Kennzeichen AS varchar),1))>='A' And (Left(CAST(Kennzeichen AS varchar),1))<='Z') AND ((right(left(CAST(Kennzeichen AS varchar),2),1))>='0' And " &
+ "(right(left(CAST(Kennzeichen AS varchar),2),1))<='9')) OR (((Parkzeiten.Von)>=" & SQLDatum(dtpVon.Value) & " And (Parkzeiten.Von)<=" &
+ SQLDatum(dtpBis.Value) & ") AND ((Left(CAST(Kennzeichen AS varchar),1))>='0' And (Left(CAST(Kennzeichen AS varchar),1))<='9') AND " &
+ "((right(left(CAST(Kennzeichen AS varchar),2),1))>='A' And (right(left(CAST(Kennzeichen AS varchar),2),1))<='Z')) OR (((Parkzeiten.Von)>=" & SQLDatum(dtpVon.Value) &
+ " And (Parkzeiten.Von)<=" & SQLDatum(dtpBis.Value) & ") AND ((Left(CAST(Kennzeichen AS varchar),1))>='A' And (Left(CAST(Kennzeichen AS varchar),1))<='Z') " &
+ "AND ((right(left(CAST(Kennzeichen AS varchar),3),1))>='0' And (right(left(CAST(Kennzeichen AS varchar),3),1))<='9') AND ((right(left(CAST(Kennzeichen AS varchar),2),1))>='A' And " &
+ "(right(left(CAST(Kennzeichen AS varchar),2),1))<='Z')) OR (((Parkzeiten.Von)>=" & SQLDatum(dtpVon.Value) & " And (Parkzeiten.Von)<=" &
+ SQLDatum(dtpBis.Value) & ") AND ((Left(CAST(Kennzeichen AS varchar),1))>='0' And (Left(CAST(Kennzeichen AS varchar),1))<='9') AND " &
+ "((right(left(CAST(Kennzeichen AS varchar),3),1))>='A' And (right(left(CAST(Kennzeichen AS varchar),3),1))<='Z') AND ((right(left(CAST(Kennzeichen AS varchar),2),1))>='A' And " &
+ "(right(left(CAST(Kennzeichen AS varchar),2),1))<='Z'))"
+ hauswahl += "rumänische LKWs"
+ ElseIf optSonstige.Checked Then
+ hSQL += " AND (((Left(CAST(Kennzeichen AS varchar),1))>='0' And (Left(CAST(Kennzeichen AS varchar),1))<='9') AND ((right(left(CAST(Kennzeichen AS varchar),2),1))>='0' And (right(left(CAST(Kennzeichen AS varchar),2),1))<='9'))"
+ hauswahl += "sonstige LKWs"
+ Else
+ hauswahl += "alle"
+ End If
+
+ hSQL += " ORDER BY Laufende_Nr"
+
+
+ hSummeZeit = 0
+ hAnzahl = 0
+ Using conn As SqlConnection = cDatenbank.GetNewOpenConnection()
+ Using cmd As New SqlCommand(hSQL, conn)
+ Dim dr = cmd.ExecuteReader() 'AL: ERR
+ If Not IsNothing(dr) Then
+ While dr.Read()
+ hSummeZeit += VarToInt(dr.Item("Dauer_Minuten"))
+ hAnzahl += 1
+ End While
+ End If
+ End Using
+ End Using
+
+ 'If hSummeZeit Mod 60 = 0 Then
+ 'hSummeZeit = CInt(Fix(hSummeZeit / 60)) 'umgerechnet auf Stunden
+ 'Else
+ 'hSummeZeit = CInt(Fix(hSummeZeit / 60) + 1) 'umgerechnet auf Stunden + Aufrundung auf nächste volle Stunde
+ 'End If
+
+ hKosten = hSummeZeit / 60 * VarToDbl(txtKosten.Text.Trim)
+
+
+ Dim hGesamtdauer As String = Minuten_auf_Text(hSummeZeit)
+ Dim hGesamtkosten As String = Format(hKosten, "€ #,##0.00")
+
+ 'Check gedrückt -> es wird nur eine Messagebox angezeigt
+ If sender Is btnCheck Then
+
+
+ MsgBox("Für diesen Zeitraum fallen folgende Werte an: " & vbCrLf & vbCrLf &
+ "Anzahl LKWs: " & hAnzahl & vbCrLf &
+ "Summe Stunden: " & hGesamtdauer & vbCrLf &
+ "Kosten: " & hGesamtkosten)
+
+ Exit Sub
+ End If
+
+ hauswahl += "; " & Format(dtpVon.Value, "dd.MM.yyyy") & " bis " &
+ Format(dtpBis.Value, "dd.MM.yyyy") & " / Kosten je Stunde: € " & Format(VarToDbl(txtKosten.Text), "#0.00")
+
+ Dim Auswertung As New frmDruckansicht
+ Dim Parkzeiten = New cParkzeitenDAL
+ Auswertung.BefüllenAbrechnung("Auswertung Parkzeiten Waberer's LKWs", Parkzeiten.LeseParkzeitenFürDruck(hSQL, VarToDbl(txtKosten.Text)), hauswahl, hGesamtdauer, hGesamtkosten)
+ Auswertung.Show()
+
+ End Sub
+
+ Private Sub btnExport_Click(sender As System.Object, e As System.EventArgs) Handles btnExport.Click
+ Me.Cursor = Cursors.WaitCursor
+ btnAbbruch.Visible = False
+ btnCheck.Visible = False
+
+ 'Zusammenbau der SQL-Abfrage
+ Dim hSQL As String = "SELECT * FROM Parkzeiten WHERE Von >= " & SQLDatum(dtpVon.Value) & " AND Von <= " & SQLDatum(dtpBis.Value.AddDays(1))
+ hSQL += " ORDER BY Laufende_Nr"
+ Dim hDatei As String = Application.StartupPath & "\Parkzeiten_Abrechnung_per_" & Format(Now, "yyyy_MM_dd_HH_mm") & ".csv"
+ Dim hExport As New cParkzeitenDAL
+ Dim hanz As Long = hExport.LeseDatenFürExport(hSQL, hDatei)
+
+ MsgBox("Es wurden " & hanz & " Sätze in die Datei '" & hDatei & "' exportiert.", vbInformation, "Export Parkzeiten")
+
+ Me.Cursor = Cursors.Default
+ btnAbbruch.Visible = True
+ btnCheck.Visible = True
+ End Sub
+End Class
diff --git a/Parkzeit/frmDruckansicht.designer.vb b/Parkzeit/frmDruckansicht.designer.vb
new file mode 100644
index 0000000..5c922b0
--- /dev/null
+++ b/Parkzeit/frmDruckansicht.designer.vb
@@ -0,0 +1,54 @@
+ _
+Partial Class frmDruckansicht
+ Inherits System.Windows.Forms.Form
+
+ 'Form overrides dispose to clean up the component list.
+ _
+ 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.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDruckansicht))
+ Me.ReportViewer1 = New Microsoft.Reporting.WinForms.ReportViewer()
+ Me.SuspendLayout()
+ '
+ 'ReportViewer1
+ '
+ Me.ReportViewer1.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.ReportViewer1.Location = New System.Drawing.Point(0, 0)
+ Me.ReportViewer1.Name = "ReportViewer1"
+ Me.ReportViewer1.ShowFindControls = False
+ Me.ReportViewer1.Size = New System.Drawing.Size(1185, 913)
+ Me.ReportViewer1.TabIndex = 0
+ '
+ 'frmDruckansicht
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(1184, 912)
+ Me.Controls.Add(Me.ReportViewer1)
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.Name = "frmDruckansicht"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "Auswertung"
+ Me.ResumeLayout(False)
+
+ End Sub
+ Private WithEvents ReportViewer1 As Microsoft.Reporting.WinForms.ReportViewer
+End Class
diff --git a/Parkzeit/frmDruckansicht.resx b/Parkzeit/frmDruckansicht.resx
new file mode 100644
index 0000000..8509690
--- /dev/null
+++ b/Parkzeit/frmDruckansicht.resx
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAICAAAAEAGACoDAAAFgAAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAMQOAADEDgAAAAAAAAAA
+ AABmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////3
+ 9fR0SSZmMwCjjH3///////////////+YfWvBs6r///90SSajjH3///+tmo23p5z///+AXUJmMwDUy8X3
+ 9fRmMwCYfWv39fT////m4N3///9mMwBmMwBmMwCYfWv////39fS3p5xmMwB0SSb////Bs6pmMwBmMwBm
+ MwCtmo3///+MbljLv7j39fRmMwBmMwDm4N3////////////Uy8VmMwDm4N3m4N2MbljBs6r///+Mblhm
+ MwBmMwC3p5z///+tmo3///+AXUJmMwD39fT///////////+AXUKMblj////////////39fS3p5xmMwCY
+ fWv///+Mblj////Bs6pmMwDu6+nUy8W3p5z///////+tmo1mMwBmMwDLv7j39fRmMwDd1tHLv7hmMwDU
+ y8X39fRmMwBmMwBmMwBmMwD39fTLv7hmMwDLv7j///90SSZmMwDUy8Xm4N3///+jjH1mMwDBs6r///+M
+ bliYfWv///+3p5xmMwBmMwDm4N3m4N1mMwCAXUL///+Mbli3p5z///////////////90SSbm4N3/////
+ ///////Lv7hmMwBmMwCAXUL///////+MblhmMwBmMwDUy8X////////m4N10SSZmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6rBs6rBs6rBs6r/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwD/////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwD/////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////+AXUJmMwBmMwBmMwD/////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwDBs6rBs6rBs6rBs6rBs6r/////////////////////////////////////////////////
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDUy8X/////////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwCAXUL/////
+ //////+YfWtmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ //////////////////////////+AXUJmMwBmMwCAXUL////////////Lv7hmMwBmMwBmMwCtmo3/////
+ //////////////////////////////////////////////////////////////////////////+AXUJm
+ MwBmMwB0SSbBs6rBs6q3p5xmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj39fT/////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/Parkzeit/frmDruckansicht.vb b/Parkzeit/frmDruckansicht.vb
new file mode 100644
index 0000000..9085e6c
--- /dev/null
+++ b/Parkzeit/frmDruckansicht.vb
@@ -0,0 +1,101 @@
+Imports System.IO
+Imports Microsoft.Reporting.WinForms
+
+Public Class frmDruckansicht
+
+ Public Sub BefüllenAbrechnung(ByVal titel As String, ByVal ds As IList(Of cParkzeitDruck), ByVal hAuswahl As String, _
+ ByVal hGesamtdauer As String, ByVal hGesamtkosten As String)
+ Dim rdlcName As String = "Parkzeit.rptAbrechnung.rdlc"
+ Me.ReportViewer1.LocalReport.ReportEmbeddedResource = rdlcName
+
+ Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Titel", titel))
+ Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("SelektionText", hAuswahl))
+ Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Firmenname", "VERAG Spedition AG"))
+ Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Gesamtdauer", hGesamtdauer))
+ Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Gesamtkosten", hGesamtkosten))
+ Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("KostenJeStunde", "0"))
+ 'Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Anwender", SystemInformation.UserName.ToString))
+ 'Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("SelektionText", "Selektion: angeforderte, aber nicht erhaltene Bilanzen; Sortierung nach Sachbearbeiter, Kundennr"))
+ 'Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("GruppierungNachBetreuer", boolToJaNein(True)))
+ Me.ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("DataSet1", ds))
+ Me.ReportViewer1.SetDisplayMode(DisplayMode.PrintLayout)
+ Me.ReportViewer1.RefreshReport()
+
+ End Sub
+
+ 'Private Sub reportVorbereiten(ByVal gruppierungNachBetreuer As Boolean, ByRef reportPath As String)
+ ' Dim doc As XDocument = XDocument.Parse(My.Resources.rptBilanzenAuswertung)
+
+ ' If Not gruppierungNachBetreuer Then
+ ' Const ns As String = "{http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition}" 'namespace
+ ' 'GroupExpression entfernen
+ ' For Each groupNode As XElement In doc.Descendants(ns & "Group")
+ ' If groupNode.HasAttributes AndAlso groupNode.Attributes("Name").Count = 1 AndAlso groupNode.Attributes("Name")(0).Value = "GroupBetreuer" Then
+ ' groupNode.Elements(ns & "GroupExpressions")(0).Elements(ns & "GroupExpression")(0).Value = ""
+ ' Exit For
+ ' End If
+ ' Next
+
+ ' 'Inhalt der Gruppe entfernen
+ ' For Each groupNode As XElement In doc.Descendants(ns & "Rectangle")
+ ' If groupNode.HasAttributes AndAlso groupNode.Attributes("Name").Count = 1 AndAlso groupNode.Attributes("Name")(0).Value = "GroupBetreuerRectangle" Then
+ ' groupNode.Elements(ns & "ReportItems").Remove()
+ ' Exit For
+ ' End If
+ ' Next
+
+ ' 'Höhe der Gruppe auf 0 setzen
+ ' Dim row As XElement = doc.Descendants(ns & "TablixRow").First
+ ' row.Elements(ns & "Height").First.Value = "0.01625in"
+ ' End If
+
+ ' reportPath = Path.GetTempPath() & "BilanzenAuswertung.rdlc"
+ ' doc.Save(reportPath)
+ 'End Sub
+
+ 'Public Sub BefüllenSerienbrief(ByVal ds As IList(Of cSerienbriefdruck), ByVal hBearbeiter As String, ByVal hOrt As String, ByVal hTyp As Integer)
+ ' 'Optionen laden
+ ' Dim myOptionen As New cOptionenDAL
+ ' myOptionen.OpenConnection(frmMain.connStr)
+ ' Dim optionen As cOptionen = myOptionen.LesenOptionen()
+ ' myOptionen.CloseConnection()
+
+
+ ' Dim rdlcName As String = "Bilanzen.SerienbriefAuswertung.rdlc"
+ ' Me.ReportViewer1.LocalReport.ReportEmbeddedResource = rdlcName
+ ' Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Text_Schriftart", "Arial"))
+ ' Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Text_Größe", optionen.Text_Größe & "pt"))
+ ' Dim fontWeight As String = "Default"
+ ' If (optionen.Auflistung_Fett) Then
+ ' fontWeight = "Bold"
+ ' End If
+
+ ' Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Auflistung_fett", fontWeight))
+ ' Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("BriefpartnerUndDurchwahl", hBearbeiter))
+ ' Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("GeschäftsstelleUndDatum", hOrt))
+ ' 'Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Kopf_Bilanz", "Kopf"))
+ ' 'Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Fuss_Bilanz", "Fuß"))
+ ' Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Kopf_Bilanz", "")) 'convertToHTML(hKopf)))
+ ' Me.ReportViewer1.LocalReport.SetParameters(New ReportParameter("Fuss_Bilanz", "")) 'convertToHTML(hFuß)))
+ ' Me.ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("SerienbriefDataSet", ds))
+ ' Me.ReportViewer1.SetDisplayMode(DisplayMode.PrintLayout)
+ ' Me.ReportViewer1.RefreshReport()
+ ' Me.ReportViewer1.Focus()
+
+ 'End Sub
+
+
+
+
+ Private Function boolToJaNein(ByVal wert As Boolean) As String
+ If wert Then
+ Return "ja"
+ Else
+ Return "nein"
+ End If
+ End Function
+
+ Private Sub frmDruckansicht_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+
+ End Sub
+End Class
\ No newline at end of file
diff --git a/Parkzeit/frmEintragParkzeit.Designer.vb b/Parkzeit/frmEintragParkzeit.Designer.vb
new file mode 100644
index 0000000..77961bc
--- /dev/null
+++ b/Parkzeit/frmEintragParkzeit.Designer.vb
@@ -0,0 +1,220 @@
+ _
+Partial Class frmEintragParkzeit
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ 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.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmEintragParkzeit))
+ Me.btnAbbruch = New System.Windows.Forms.Button()
+ Me.btnOK = New System.Windows.Forms.Button()
+ Me.dtpDatumVon = New System.Windows.Forms.DateTimePicker()
+ Me.Label20 = New System.Windows.Forms.Label()
+ Me.Label14 = New System.Windows.Forms.Label()
+ Me.txtKennzeichen = New System.Windows.Forms.TextBox()
+ Me.dtpUhrzeitVon = New System.Windows.Forms.DateTimePicker()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.txtLaufende_Nr = New System.Windows.Forms.TextBox()
+ Me.dtpUhrzeitBis = New System.Windows.Forms.DateTimePicker()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.dtpDatumBis = New System.Windows.Forms.DateTimePicker()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.txtDauer = New System.Windows.Forms.TextBox()
+ Me.SuspendLayout()
+ '
+ 'btnAbbruch
+ '
+ Me.btnAbbruch.Location = New System.Drawing.Point(240, 162)
+ Me.btnAbbruch.Name = "btnAbbruch"
+ Me.btnAbbruch.Size = New System.Drawing.Size(80, 40)
+ Me.btnAbbruch.TabIndex = 7
+ Me.btnAbbruch.Text = "Schließen"
+ Me.btnAbbruch.UseVisualStyleBackColor = True
+ '
+ 'btnOK
+ '
+ Me.btnOK.Location = New System.Drawing.Point(102, 162)
+ Me.btnOK.Name = "btnOK"
+ Me.btnOK.Size = New System.Drawing.Size(110, 40)
+ Me.btnOK.TabIndex = 6
+ Me.btnOK.Text = "OK -> Nächster"
+ Me.btnOK.UseVisualStyleBackColor = True
+ '
+ 'dtpDatumVon
+ '
+ Me.dtpDatumVon.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
+ Me.dtpDatumVon.Location = New System.Drawing.Point(154, 55)
+ Me.dtpDatumVon.Name = "dtpDatumVon"
+ Me.dtpDatumVon.Size = New System.Drawing.Size(93, 20)
+ Me.dtpDatumVon.TabIndex = 1
+ '
+ 'Label20
+ '
+ Me.Label20.AutoSize = True
+ Me.Label20.Location = New System.Drawing.Point(20, 118)
+ Me.Label20.Name = "Label20"
+ Me.Label20.Size = New System.Drawing.Size(96, 13)
+ Me.Label20.TabIndex = 56
+ Me.Label20.Text = "LKW-Kennzeichen"
+ '
+ 'Label14
+ '
+ Me.Label14.AutoSize = True
+ Me.Label14.Location = New System.Drawing.Point(20, 59)
+ Me.Label14.Name = "Label14"
+ Me.Label14.Size = New System.Drawing.Size(115, 13)
+ Me.Label14.TabIndex = 56
+ Me.Label14.Text = "Datum/Uhrzeit Einfahrt"
+ '
+ 'txtKennzeichen
+ '
+ Me.txtKennzeichen.Location = New System.Drawing.Point(154, 115)
+ Me.txtKennzeichen.MaxLength = 100
+ Me.txtKennzeichen.Name = "txtKennzeichen"
+ Me.txtKennzeichen.Size = New System.Drawing.Size(249, 20)
+ Me.txtKennzeichen.TabIndex = 5
+ '
+ 'dtpUhrzeitVon
+ '
+ Me.dtpUhrzeitVon.CustomFormat = "HH:mm"
+ Me.dtpUhrzeitVon.Format = System.Windows.Forms.DateTimePickerFormat.Custom
+ Me.dtpUhrzeitVon.Location = New System.Drawing.Point(253, 55)
+ Me.dtpUhrzeitVon.MinDate = New Date(1800, 1, 1, 0, 0, 0, 0)
+ Me.dtpUhrzeitVon.Name = "dtpUhrzeitVon"
+ Me.dtpUhrzeitVon.ShowUpDown = True
+ Me.dtpUhrzeitVon.Size = New System.Drawing.Size(54, 20)
+ Me.dtpUhrzeitVon.TabIndex = 2
+ Me.dtpUhrzeitVon.Value = New Date(2013, 1, 1, 0, 0, 0, 0)
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(20, 20)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(177, 13)
+ Me.Label3.TabIndex = 56
+ Me.Label3.Text = "lfd. Nummer (von Liste übernehmen)"
+ '
+ 'txtLaufende_Nr
+ '
+ Me.txtLaufende_Nr.Location = New System.Drawing.Point(203, 17)
+ Me.txtLaufende_Nr.MaxLength = 10
+ Me.txtLaufende_Nr.Name = "txtLaufende_Nr"
+ Me.txtLaufende_Nr.Size = New System.Drawing.Size(42, 20)
+ Me.txtLaufende_Nr.TabIndex = 0
+ '
+ 'dtpUhrzeitBis
+ '
+ Me.dtpUhrzeitBis.CustomFormat = "HH:mm"
+ Me.dtpUhrzeitBis.Format = System.Windows.Forms.DateTimePickerFormat.Custom
+ Me.dtpUhrzeitBis.Location = New System.Drawing.Point(253, 81)
+ Me.dtpUhrzeitBis.MinDate = New Date(1800, 1, 1, 0, 0, 0, 0)
+ Me.dtpUhrzeitBis.Name = "dtpUhrzeitBis"
+ Me.dtpUhrzeitBis.ShowUpDown = True
+ Me.dtpUhrzeitBis.Size = New System.Drawing.Size(54, 20)
+ Me.dtpUhrzeitBis.TabIndex = 4
+ Me.dtpUhrzeitBis.Value = New Date(2013, 1, 1, 0, 0, 0, 0)
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(20, 85)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(118, 13)
+ Me.Label1.TabIndex = 56
+ Me.Label1.Text = "Datum/Uhrzeit Ausfahrt"
+ '
+ 'dtpDatumBis
+ '
+ Me.dtpDatumBis.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
+ Me.dtpDatumBis.Location = New System.Drawing.Point(154, 81)
+ Me.dtpDatumBis.Name = "dtpDatumBis"
+ Me.dtpDatumBis.Size = New System.Drawing.Size(93, 20)
+ Me.dtpDatumBis.TabIndex = 3
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(313, 85)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(36, 13)
+ Me.Label2.TabIndex = 58
+ Me.Label2.Text = "Dauer"
+ '
+ 'txtDauer
+ '
+ Me.txtDauer.BackColor = System.Drawing.SystemColors.Info
+ Me.txtDauer.ForeColor = System.Drawing.SystemColors.InfoText
+ Me.txtDauer.Location = New System.Drawing.Point(355, 82)
+ Me.txtDauer.MaxLength = 100
+ Me.txtDauer.Name = "txtDauer"
+ Me.txtDauer.ReadOnly = True
+ Me.txtDauer.Size = New System.Drawing.Size(48, 20)
+ Me.txtDauer.TabIndex = 57
+ Me.txtDauer.TabStop = False
+ Me.txtDauer.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
+ '
+ 'frmEintragParkzeit
+ '
+ Me.AcceptButton = Me.btnOK
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(423, 228)
+ Me.Controls.Add(Me.Label2)
+ Me.Controls.Add(Me.txtDauer)
+ Me.Controls.Add(Me.btnAbbruch)
+ Me.Controls.Add(Me.btnOK)
+ Me.Controls.Add(Me.dtpDatumBis)
+ Me.Controls.Add(Me.Label1)
+ Me.Controls.Add(Me.dtpDatumVon)
+ Me.Controls.Add(Me.dtpUhrzeitBis)
+ Me.Controls.Add(Me.Label14)
+ Me.Controls.Add(Me.dtpUhrzeitVon)
+ Me.Controls.Add(Me.txtLaufende_Nr)
+ Me.Controls.Add(Me.Label3)
+ Me.Controls.Add(Me.txtKennzeichen)
+ Me.Controls.Add(Me.Label20)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.KeyPreview = True
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmEintragParkzeit"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Eintrag Parkzeiten"
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents btnAbbruch As System.Windows.Forms.Button
+ Friend WithEvents btnOK As System.Windows.Forms.Button
+ Friend WithEvents dtpDatumVon As System.Windows.Forms.DateTimePicker
+ Friend WithEvents Label20 As System.Windows.Forms.Label
+ Friend WithEvents Label14 As System.Windows.Forms.Label
+ Friend WithEvents txtKennzeichen As System.Windows.Forms.TextBox
+ Friend WithEvents dtpUhrzeitVon As System.Windows.Forms.DateTimePicker
+ Friend WithEvents Label3 As System.Windows.Forms.Label
+ Friend WithEvents txtLaufende_Nr As System.Windows.Forms.TextBox
+ Friend WithEvents dtpUhrzeitBis As System.Windows.Forms.DateTimePicker
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents dtpDatumBis As System.Windows.Forms.DateTimePicker
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents txtDauer As System.Windows.Forms.TextBox
+End Class
diff --git a/Parkzeit/frmEintragParkzeit.resx b/Parkzeit/frmEintragParkzeit.resx
new file mode 100644
index 0000000..8509690
--- /dev/null
+++ b/Parkzeit/frmEintragParkzeit.resx
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAICAAAAEAGACoDAAAFgAAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAMQOAADEDgAAAAAAAAAA
+ AABmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////3
+ 9fR0SSZmMwCjjH3///////////////+YfWvBs6r///90SSajjH3///+tmo23p5z///+AXUJmMwDUy8X3
+ 9fRmMwCYfWv39fT////m4N3///9mMwBmMwBmMwCYfWv////39fS3p5xmMwB0SSb////Bs6pmMwBmMwBm
+ MwCtmo3///+MbljLv7j39fRmMwBmMwDm4N3////////////Uy8VmMwDm4N3m4N2MbljBs6r///+Mblhm
+ MwBmMwC3p5z///+tmo3///+AXUJmMwD39fT///////////+AXUKMblj////////////39fS3p5xmMwCY
+ fWv///+Mblj////Bs6pmMwDu6+nUy8W3p5z///////+tmo1mMwBmMwDLv7j39fRmMwDd1tHLv7hmMwDU
+ y8X39fRmMwBmMwBmMwBmMwD39fTLv7hmMwDLv7j///90SSZmMwDUy8Xm4N3///+jjH1mMwDBs6r///+M
+ bliYfWv///+3p5xmMwBmMwDm4N3m4N1mMwCAXUL///+Mbli3p5z///////////////90SSbm4N3/////
+ ///////Lv7hmMwBmMwCAXUL///////+MblhmMwBmMwDUy8X////////m4N10SSZmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6rBs6rBs6rBs6r/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwD/////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwD/////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////+AXUJmMwBmMwBmMwD/////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwDBs6rBs6rBs6rBs6rBs6r/////////////////////////////////////////////////
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDUy8X/////////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwCAXUL/////
+ //////+YfWtmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ //////////////////////////+AXUJmMwBmMwCAXUL////////////Lv7hmMwBmMwBmMwCtmo3/////
+ //////////////////////////////////////////////////////////////////////////+AXUJm
+ MwBmMwB0SSbBs6rBs6q3p5xmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj39fT/////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/Parkzeit/frmEintragParkzeit.vb b/Parkzeit/frmEintragParkzeit.vb
new file mode 100644
index 0000000..a9c43f6
--- /dev/null
+++ b/Parkzeit/frmEintragParkzeit.vb
@@ -0,0 +1,161 @@
+'Imports System.Windows.Forms
+Imports Parkzeit.cMeineFunktionen
+
+Public Class frmEintragParkzeit
+
+ Dim Titel_Msgbox As String = "Erfassen Parkzeiten" 'wird als Titel bei einer Msgbox verwendet
+ Dim Parkzeiten As New cParkzeitenDAL
+ Dim myParkzeit As New cParkzeit
+ Dim hÄnderung As Boolean = False
+ Dim Neuanlage As Boolean = False
+ Dim DatumVon As Date
+ Dim DatumBis As Date
+ Dim Dauer As String
+ Dim DauerMinuten As Long
+ Dim Berechnung_freigegeben As Boolean = False
+
+ Private Sub frmEintragParkzeit_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
+ 'Escape händisch abfangen und auf Abbruch-Taste legen
+ If e.KeyCode = Keys.Escape Then
+ btnAbbruch.PerformClick()
+ End If
+ End Sub
+
+ Private Sub frmEintragParkzeit_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
+
+ Icon = cMeineFunktionen.GetProgrammIcon
+
+ Me.CenterToParent()
+
+
+ If frmMain.Aktive_ID = 0 Then
+ 'es erfolgt eine Neuanlage
+ Neuanlage = True
+
+ 'Vorschlagswerte setzen
+ dtpDatumVon.Value = DateSerial(Now.AddMonths(-1).Year, Now.AddMonths(-1).Month, 1)
+ dtpDatumBis.Value = dtpDatumVon.Value
+ txtLaufende_Nr.Text = "1"
+
+ Else
+ Me.Text += " (Änderung)"
+ btnOK.Text = "Speichern"
+ 'ausgewählter Datensatz wird geladen
+ myParkzeit = Parkzeiten.LesenParkzeit(frmMain.Aktive_ID, "")
+
+ 'Werte(zuweisen)
+ txtLaufende_Nr.Text = myParkzeit.Laufende_Nr.ToString
+ dtpDatumVon.Value = myParkzeit.Von.Date
+ dtpUhrzeitVon.Value = myParkzeit.Von
+ dtpDatumBis.Value = myParkzeit.Bis.Date
+ dtpUhrzeitBis.Value = myParkzeit.Bis
+ txtKennzeichen.Text = myParkzeit.Kennzeichen.Trim
+ txtDauer.Text = myParkzeit.Dauer
+ DauerMinuten = myParkzeit.Dauer_Minuten
+ End If
+ hÄnderung = False
+
+ Berechnung_freigegeben = True
+
+ End Sub
+
+
+ Private Sub btnAbbruch_Click(sender As System.Object, e As System.EventArgs) Handles btnAbbruch.Click
+ Me.Close()
+ End Sub
+
+
+ Private Sub txtFeld_GotFocus(sender As Object, e As System.EventArgs) Handles txtLaufende_Nr.GotFocus, txtKennzeichen.GotFocus
+ CType(sender, TextBox).SelectAll()
+ End Sub
+
+ Private Sub btnOK_Click(sender As System.Object, e As System.EventArgs) Handles btnOK.Click
+ 'Falls keine Änderung oder Neuanlage, dann kann Fenster geschlossen werden
+
+ 'Logische Prüfungen vor dem Speichern
+ If VarToInt(txtLaufende_Nr.Text) = 0 Then
+ MsgBox("Bitte eine gültige laufende Nummer eintragen.", , Titel_Msgbox)
+ txtLaufende_Nr.Focus()
+ Exit Sub
+ End If
+
+ DatumVon = dtpDatumVon.Value + dtpUhrzeitVon.Value.TimeOfDay
+ DatumBis = dtpDatumBis.Value + dtpUhrzeitBis.Value.TimeOfDay
+
+ If DatumBis <= DatumVon Then
+ MsgBox("Die Bis-Zeit ist kleiner/gleich der Von-Zeit!", , Titel_Msgbox)
+ dtpDatumVon.Focus()
+ Exit Sub
+ End If
+
+ If txtKennzeichen.Text.Trim = "" Then
+ MsgBox("Bitte das LKW-Kennzeichen eintragen.", , Titel_Msgbox)
+ txtKennzeichen.Focus()
+ Exit Sub
+ End If
+
+ 'Änderungen werden gespeichert
+ myParkzeit.Laufende_Nr = VarToInt(txtLaufende_Nr.Text)
+ myParkzeit.Von = DatumVon
+ myParkzeit.Bis = DatumBis
+ myParkzeit.Kennzeichen = txtKennzeichen.Text.Trim
+ myParkzeit.Dauer = txtDauer.Text
+ myParkzeit.Dauer_Minuten = VarToInt(DauerMinuten)
+
+ Parkzeiten.SpeichernParkzeit(myParkzeit)
+
+ 'bei Änderung Fenster verlassen, ansonsten können weitere Daten eingegeben werden
+ If Not Neuanlage Then
+ Me.Close()
+ Else
+ 'Jetzt Fenster für nächste Eingabe vorbereiten
+ frmMain.Tabelle_anzeigen()
+
+ txtLaufende_Nr.Text = (myParkzeit.Laufende_Nr + 1).ToString
+ dtpUhrzeitVon.Value = Now.Date
+ dtpUhrzeitBis.Value = Now.Date
+ dtpDatumBis.Value = dtpDatumVon.Value.Date
+ txtKennzeichen.Text = ""
+ dtpDatumVon.Focus()
+ End If
+ End Sub
+
+
+ Private Sub dtpDatum_ValueChanged(sender As System.Object, e As System.EventArgs) Handles dtpDatumVon.ValueChanged, dtpDatumBis.ValueChanged, dtpUhrzeitVon.ValueChanged, dtpUhrzeitBis.ValueChanged
+ If Not Berechnung_freigegeben Then Exit Sub
+
+ 'Dauer neu berechnen
+ DatumVon = dtpDatumVon.Value + dtpUhrzeitVon.Value.TimeOfDay
+ DatumBis = dtpDatumBis.Value + dtpUhrzeitBis.Value.TimeOfDay
+ Try
+ DauerMinuten = DateDiff(DateInterval.Minute, DatumVon, DatumBis)
+ If DauerMinuten < 0 Then DauerMinuten = 0
+ Dauer = Minuten_auf_Text(DauerMinuten)
+ Catch ex As Exception
+ DauerMinuten = 0
+ Dauer = ""
+ End Try
+
+ txtDauer.Text = Dauer
+ txtDauer.Refresh()
+ End Sub
+
+ Private Sub txtZahl_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtLaufende_Nr.KeyPress
+ 'Es sind nur Zahleneingaben erlaubt
+ Dim asc As Integer = Convert.ToInt32(e.KeyChar)
+ Select Case asc
+ 'Folgende Tasten sind erlaubt
+ '8 = Rücktaste (Back)
+ '13 = Enter
+ '27 = Esc
+ '48 To 57 = 0 bis 9
+ Case 8, 13, 27, 48 To 57
+ Case Else
+ e.Handled = True
+ End Select
+ End Sub
+
+End Class
+
+
+
diff --git a/Parkzeit/frmInfo.Designer.vb b/Parkzeit/frmInfo.Designer.vb
new file mode 100644
index 0000000..7b2c506
--- /dev/null
+++ b/Parkzeit/frmInfo.Designer.vb
@@ -0,0 +1,226 @@
+ _
+Partial Class frmInfo
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ 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.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmInfo))
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+ Me.btnSysteminfos = New System.Windows.Forms.Button()
+ Me.lblVersion = New System.Windows.Forms.Label()
+ Me.lblTitel = New System.Windows.Forms.Label()
+ Me.btnOKInfo = New System.Windows.Forms.Button()
+ Me.txtVersionsinfo = New System.Windows.Forms.TextBox()
+ Me.lblCopyright = New System.Windows.Forms.Label()
+ Me.lblText = New System.Windows.Forms.Label()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.lblAndi = New System.Windows.Forms.Label()
+ Me.Label7 = New System.Windows.Forms.Label()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.BackColor = System.Drawing.Color.Transparent
+ Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label1.ForeColor = System.Drawing.Color.White
+ Me.Label1.Location = New System.Drawing.Point(76, 44)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(292, 17)
+ Me.Label1.TabIndex = 31
+ Me.Label1.Text = "Erfassung der Parkzeiten für Waberer's LKW"
+ '
+ 'PictureBox1
+ '
+ Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
+ Me.PictureBox1.Location = New System.Drawing.Point(14, 16)
+ Me.PictureBox1.Name = "PictureBox1"
+ Me.PictureBox1.Size = New System.Drawing.Size(64, 64)
+ Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize
+ Me.PictureBox1.TabIndex = 30
+ Me.PictureBox1.TabStop = False
+ '
+ 'btnSysteminfos
+ '
+ Me.btnSysteminfos.Location = New System.Drawing.Point(331, 358)
+ Me.btnSysteminfos.Name = "btnSysteminfos"
+ Me.btnSysteminfos.Size = New System.Drawing.Size(79, 24)
+ Me.btnSysteminfos.TabIndex = 29
+ Me.btnSysteminfos.TabStop = False
+ Me.btnSysteminfos.Text = "Systeminfos"
+ Me.btnSysteminfos.UseVisualStyleBackColor = True
+ '
+ 'lblVersion
+ '
+ Me.lblVersion.AutoSize = True
+ Me.lblVersion.BackColor = System.Drawing.Color.Transparent
+ Me.lblVersion.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblVersion.ForeColor = System.Drawing.Color.White
+ Me.lblVersion.Location = New System.Drawing.Point(76, 70)
+ Me.lblVersion.Name = "lblVersion"
+ Me.lblVersion.Size = New System.Drawing.Size(115, 20)
+ Me.lblVersion.TabIndex = 28
+ Me.lblVersion.Text = "Version 1.0.0.0"
+ '
+ 'lblTitel
+ '
+ Me.lblTitel.AutoSize = True
+ Me.lblTitel.BackColor = System.Drawing.Color.Transparent
+ Me.lblTitel.Font = New System.Drawing.Font("Microsoft Sans Serif", 20.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblTitel.ForeColor = System.Drawing.Color.White
+ Me.lblTitel.Location = New System.Drawing.Point(73, 13)
+ Me.lblTitel.Name = "lblTitel"
+ Me.lblTitel.Size = New System.Drawing.Size(153, 31)
+ Me.lblTitel.TabIndex = 27
+ Me.lblTitel.Text = "Parkzeiten"
+ '
+ 'btnOKInfo
+ '
+ Me.btnOKInfo.Location = New System.Drawing.Point(416, 358)
+ Me.btnOKInfo.Name = "btnOKInfo"
+ Me.btnOKInfo.Size = New System.Drawing.Size(66, 24)
+ Me.btnOKInfo.TabIndex = 20
+ Me.btnOKInfo.Text = "OK"
+ Me.btnOKInfo.UseVisualStyleBackColor = True
+ '
+ 'txtVersionsinfo
+ '
+ Me.txtVersionsinfo.BackColor = System.Drawing.Color.AliceBlue
+ Me.txtVersionsinfo.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtVersionsinfo.Location = New System.Drawing.Point(36, 179)
+ Me.txtVersionsinfo.Multiline = True
+ Me.txtVersionsinfo.Name = "txtVersionsinfo"
+ Me.txtVersionsinfo.ReadOnly = True
+ Me.txtVersionsinfo.ScrollBars = System.Windows.Forms.ScrollBars.Both
+ Me.txtVersionsinfo.Size = New System.Drawing.Size(446, 173)
+ Me.txtVersionsinfo.TabIndex = 26
+ Me.txtVersionsinfo.TabStop = False
+ '
+ 'lblCopyright
+ '
+ Me.lblCopyright.AutoSize = True
+ Me.lblCopyright.BackColor = System.Drawing.Color.Transparent
+ Me.lblCopyright.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblCopyright.ForeColor = System.Drawing.Color.White
+ Me.lblCopyright.Location = New System.Drawing.Point(150, 133)
+ Me.lblCopyright.Name = "lblCopyright"
+ Me.lblCopyright.Size = New System.Drawing.Size(173, 14)
+ Me.lblCopyright.TabIndex = 25
+ Me.lblCopyright.Text = "© 2013 Engelsberger Andreas"
+ '
+ 'lblText
+ '
+ Me.lblText.AutoSize = True
+ Me.lblText.BackColor = System.Drawing.Color.Transparent
+ Me.lblText.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblText.ForeColor = System.Drawing.Color.White
+ Me.lblText.Location = New System.Drawing.Point(33, 159)
+ Me.lblText.Name = "lblText"
+ Me.lblText.Size = New System.Drawing.Size(95, 14)
+ Me.lblText.TabIndex = 24
+ Me.lblText.Text = "Versionshistorie:"
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.BackColor = System.Drawing.Color.Transparent
+ Me.Label2.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label2.ForeColor = System.Drawing.Color.White
+ Me.Label2.Location = New System.Drawing.Point(33, 133)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(59, 14)
+ Me.Label2.TabIndex = 22
+ Me.Label2.Text = "Copyright"
+ '
+ 'lblAndi
+ '
+ Me.lblAndi.AutoSize = True
+ Me.lblAndi.BackColor = System.Drawing.Color.Transparent
+ Me.lblAndi.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.lblAndi.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblAndi.ForeColor = System.Drawing.Color.White
+ Me.lblAndi.Location = New System.Drawing.Point(150, 109)
+ Me.lblAndi.Name = "lblAndi"
+ Me.lblAndi.Size = New System.Drawing.Size(126, 14)
+ Me.lblAndi.TabIndex = 23
+ Me.lblAndi.Text = "Andreas Engelsberger"
+ '
+ 'Label7
+ '
+ Me.Label7.AutoSize = True
+ Me.Label7.BackColor = System.Drawing.Color.Transparent
+ Me.Label7.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label7.ForeColor = System.Drawing.Color.White
+ Me.Label7.Location = New System.Drawing.Point(33, 109)
+ Me.Label7.Name = "Label7"
+ Me.Label7.Size = New System.Drawing.Size(96, 14)
+ Me.Label7.TabIndex = 21
+ Me.Label7.Text = "Programmierung"
+ '
+ 'frmInfo
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.SteelBlue
+ Me.ClientSize = New System.Drawing.Size(494, 394)
+ Me.Controls.Add(Me.Label1)
+ Me.Controls.Add(Me.PictureBox1)
+ Me.Controls.Add(Me.btnSysteminfos)
+ Me.Controls.Add(Me.lblVersion)
+ Me.Controls.Add(Me.lblTitel)
+ Me.Controls.Add(Me.btnOKInfo)
+ Me.Controls.Add(Me.txtVersionsinfo)
+ Me.Controls.Add(Me.lblCopyright)
+ Me.Controls.Add(Me.lblText)
+ Me.Controls.Add(Me.Label2)
+ Me.Controls.Add(Me.lblAndi)
+ Me.Controls.Add(Me.Label7)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.MaximizeBox = False
+ Me.MinimizeBox = False
+ Me.Name = "frmInfo"
+ Me.Padding = New System.Windows.Forms.Padding(9)
+ Me.ShowInTaskbar = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "Programminfo"
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
+ Friend WithEvents btnSysteminfos As System.Windows.Forms.Button
+ Friend WithEvents lblVersion As System.Windows.Forms.Label
+ Friend WithEvents lblTitel As System.Windows.Forms.Label
+ Friend WithEvents btnOKInfo As System.Windows.Forms.Button
+ Friend WithEvents txtVersionsinfo As System.Windows.Forms.TextBox
+ Friend WithEvents lblCopyright As System.Windows.Forms.Label
+ Friend WithEvents lblText As System.Windows.Forms.Label
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents lblAndi As System.Windows.Forms.Label
+ Friend WithEvents Label7 As System.Windows.Forms.Label
+
+End Class
diff --git a/Parkzeit/frmInfo.resx b/Parkzeit/frmInfo.resx
new file mode 100644
index 0000000..24148af
--- /dev/null
+++ b/Parkzeit/frmInfo.resx
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wgAADsIBFShKgAAAAulJREFUeF7t28lrk0EcxvFma2JsQpdIlBxysI1kKUjF9dSYW6tQWihIFIUi+BcI
+ HqSHiHiyJ0HQmwt4LygIIiLuoAcVBJeLqIh4ERUEjd+f4OVlKvMWZt4hzgMfOjn0nc5D3ryZ5G2fj4+P
+ T4iksM6gQfTD2WzBB4Pe4jmu4gR2IwtnshNdy57hKAqIPDug+iNteIWDiDRRFvDXBQwhkrhQgLiNEqzH
+ lQLEQxRhNS4VIK4hA2txrQDRgbW4WMB3bIOVaBUQi8W6iUTiM2N5Y6Mll8t9zWazf36Xx2HJqRCH8WgV
+ kMlkus1m8zDjnK7FxcXK3Nzc5Pj4+Knh4eF38XhceewV/MQkjEe7gKmpqf2MQ6fb7cY6nU55bGzsSiqV
+ Uh5/BZdhPGEKOMB41aGI/kajcS7EM+ETNsBorBUgkRLK5fI9GWqahdFYLUDSbrdbvDjKOa6cK+A0jMZ6
+ AfIsKJVK92WoQa4GRmO9AEm9Xj/JD+VcAU+QhLFEUkCtVmsnk0nlXAEvsRbGEkkBrVarnU6nlXMFvIG8
+ rzCWSAoYHR09onk5fIo0jCWKF8FYtVq9JEMNtxCDsVgvYGlpaXBkZET2C8q5As7DaKwXMDExcZyNlXIe
+ Bdl/GI3VAubn55v5fP4LQ+U8Ad+wCUZjpQDO++TMzMxsoVCQLbVyDoUbML4l1i6ABexjrB0WHV9eXh6a
+ np6erFQqFwcGBpTH/odQ8602WgXIJYsS5JJ0XRdb35vFYvG9lMfjsB5jDYxHqwDLZKO0B1biYgFnYS2u
+ FXAHeViLSwXIt8hlWI0rBTzARliPCwXIviCyr8qjLOA1DiHSRFHACxyD3EITeUwX8AMf8QhnsBdGP+AI
+ G90CfmEBckvNLk3bUcN6JOBkwhSwGT2XMAVsRc/FFwDVgoN8AfAFoOfiC4BqwUG+APgC0HPxBUC14CBf
+ AHwB6Ln89wWE+ZcZa/fv2kwDdzXI5/VV9GTkDgwdPj4+Po6nr+83T4Lt8/4YiW4AAAAASUVORK5CYII=
+
+
+
+
+ AAABAAEAICAAAAEAGACoDAAAFgAAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAMQOAADEDgAAAAAAAAAA
+ AABmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////3
+ 9fR0SSZmMwCjjH3///////////////+YfWvBs6r///90SSajjH3///+tmo23p5z///+AXUJmMwDUy8X3
+ 9fRmMwCYfWv39fT////m4N3///9mMwBmMwBmMwCYfWv////39fS3p5xmMwB0SSb////Bs6pmMwBmMwBm
+ MwCtmo3///+MbljLv7j39fRmMwBmMwDm4N3////////////Uy8VmMwDm4N3m4N2MbljBs6r///+Mblhm
+ MwBmMwC3p5z///+tmo3///+AXUJmMwD39fT///////////+AXUKMblj////////////39fS3p5xmMwCY
+ fWv///+Mblj////Bs6pmMwDu6+nUy8W3p5z///////+tmo1mMwBmMwDLv7j39fRmMwDd1tHLv7hmMwDU
+ y8X39fRmMwBmMwBmMwBmMwD39fTLv7hmMwDLv7j///90SSZmMwDUy8Xm4N3///+jjH1mMwDBs6r///+M
+ bliYfWv///+3p5xmMwBmMwDm4N3m4N1mMwCAXUL///+Mbli3p5z///////////////90SSbm4N3/////
+ ///////Lv7hmMwBmMwCAXUL///////+MblhmMwBmMwDUy8X////////m4N10SSZmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6rBs6rBs6rBs6r/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwD/////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwD/////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////+AXUJmMwBmMwBmMwD/////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwDBs6rBs6rBs6rBs6rBs6r/////////////////////////////////////////////////
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDUy8X/////////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwCAXUL/////
+ //////+YfWtmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ //////////////////////////+AXUJmMwBmMwCAXUL////////////Lv7hmMwBmMwBmMwCtmo3/////
+ //////////////////////////////////////////////////////////////////////////+AXUJm
+ MwBmMwB0SSbBs6rBs6q3p5xmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj39fT/////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/Parkzeit/frmInfo.vb b/Parkzeit/frmInfo.vb
new file mode 100644
index 0000000..ebe5f25
--- /dev/null
+++ b/Parkzeit/frmInfo.vb
@@ -0,0 +1,78 @@
+Imports Microsoft.VisualBasic.Devices
+Imports System.Management
+
+Public Class frmInfo
+
+ Private Sub frmInfo_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
+ 'Fenster bei Escape schließen
+ If e.KeyValue = Keys.Escape Then Me.Close()
+ End Sub
+
+ Private Sub frmInfo_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
+ lblVersion.Text = "Version " & Application.ProductVersion
+ txtVersionsinfo.Text = Parkzeit.My.Resources.Versionsinfo.ToString
+ End Sub
+
+ Private Sub btnOKInfo_Click(sender As System.Object, e As System.EventArgs) Handles btnOKInfo.Click
+ Me.Close()
+ End Sub
+
+ Private Sub btnSysteminfos_Click(sender As System.Object, e As System.EventArgs) Handles btnSysteminfos.Click
+ lblText.Text = "Systeminfos"
+
+ Dim ci As New ComputerInfo()
+
+ txtVersionsinfo.Text = "DATENBANK" & vbCrLf
+ txtVersionsinfo.Text += "Connection: " & vbTab & frmMain.ConnStrInfo & vbCrLf & vbCrLf
+
+ txtVersionsinfo.Text += "ANWENDER" & vbCrLf
+ txtVersionsinfo.Text += "Username: " & vbTab & SystemInformation.UserName.ToString & vbCrLf
+
+ Dim query2 As New SelectQuery("Win32_ComputerSystem")
+ Dim mos2 As New ManagementObjectSearcher(query2)
+
+ Dim query As New SelectQuery("Win32_Processor")
+ Dim mos As New ManagementObjectSearcher(query)
+
+ For Each mo As ManagementObject In mos2.[Get]()
+ txtVersionsinfo.Text += "Domäne: " & vbTab & vbTab & mo("Domain").ToString() & vbCrLf
+ Next
+
+ txtVersionsinfo.Text += vbCrLf & "COMPUTER" & vbCrLf
+ txtVersionsinfo.Text += "Computername: " & vbTab & SystemInformation.ComputerName.ToString & vbCrLf
+ For Each mo As ManagementObject In mos2.[Get]()
+
+ txtVersionsinfo.Text += "Computermodell: " & vbTab & mo("Manufacturer").ToString & " " & mo("Model").ToString & vbCrLf
+ Next
+ For Each mo As ManagementObject In mos.[Get]()
+ txtVersionsinfo.Text += "Prozessor: " & vbTab & mo("Name").ToString() & vbCrLf
+ txtVersionsinfo.Text += "Prozessor-Speed: " & vbTab & mo("CurrentClockSpeed").ToString() & "MHz" & vbCrLf
+ Next
+ txtVersionsinfo.Text += "verwendeter RAM: " & vbTab & Format(((New ComputerInfo()).TotalPhysicalMemory / 1024 / 1024 / 1024), "#0.00") & " GB" & vbCrLf
+ txtVersionsinfo.Text += "Monitorauflösung: " & vbTab & SystemInformation.PrimaryMonitorSize.ToString & vbCrLf
+
+ txtVersionsinfo.Text += vbCrLf & "SOFTWARE" & vbTab & vbCrLf
+ txtVersionsinfo.Text += "Betriebssystem: " & vbTab & ci.OSFullName & vbCrLf
+ txtVersionsinfo.Text += "Service Pack: " & vbTab & Environment.OSVersion.ServicePack & vbCrLf
+ txtVersionsinfo.Text += "Plattform: " & vbTab & ci.OSPlatform & vbCrLf
+ txtVersionsinfo.Text += ".net-Framework: " & vbTab & "Version " & Environment.Version.ToString & vbCrLf
+
+ mos.Dispose()
+ mos2.Dispose()
+
+ txtVersionsinfo.Focus()
+ txtVersionsinfo.Select(1, 0)
+ End Sub
+
+ Private Sub lblVersion_Click(sender As System.Object, e As System.EventArgs) Handles lblVersion.Click
+ lblText.Text = "Versionshistorie"
+ txtVersionsinfo.Text = My.Resources.Versionsinfo.ToString
+ End Sub
+
+ Private Sub lblAndi_Click(sender As System.Object, e As System.EventArgs) Handles lblAndi.Click
+ 'eMail-Programm wird gestartet werden
+ Dim hMail As String = "mailto:engelsberger@inext.at?subject=Parkzeit-Programm"
+ System.Diagnostics.Process.Start(hMail)
+ End Sub
+
+End Class
\ No newline at end of file
diff --git a/Parkzeit/frmMain.Designer.vb b/Parkzeit/frmMain.Designer.vb
new file mode 100644
index 0000000..f499460
--- /dev/null
+++ b/Parkzeit/frmMain.Designer.vb
@@ -0,0 +1,290 @@
+ _
+Partial Class frmMain
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ 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.
+ _
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
+ Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+ Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.lblAnzahl = New System.Windows.Forms.Label()
+ Me.picLogo = New System.Windows.Forms.PictureBox()
+ Me.Panel2 = New System.Windows.Forms.Panel()
+ Me.btnInfo = New System.Windows.Forms.Button()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.btnAuswerten = New System.Windows.Forms.Button()
+ Me.btnErfassen = New System.Windows.Forms.Button()
+ Me.dtpBis = New System.Windows.Forms.DateTimePicker()
+ Me.dtpVon = New System.Windows.Forms.DateTimePicker()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.Label14 = New System.Windows.Forms.Label()
+ Me.txtSuche = New System.Windows.Forms.TextBox()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.lblSuche = New System.Windows.Forms.Label()
+ Me.gridParkzeiten = New System.Windows.Forms.DataGridView()
+ Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
+ Me.mnuLöschen = New System.Windows.Forms.ToolStripMenuItem()
+ Me.Panel1.SuspendLayout()
+ CType(Me.picLogo, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.Panel2.SuspendLayout()
+ CType(Me.gridParkzeiten, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.ContextMenuStrip1.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'Panel1
+ '
+ Me.Panel1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Panel1.BackColor = System.Drawing.Color.Azure
+ Me.Panel1.Controls.Add(Me.lblAnzahl)
+ Me.Panel1.Controls.Add(Me.picLogo)
+ Me.Panel1.Controls.Add(Me.Panel2)
+ Me.Panel1.Controls.Add(Me.btnAuswerten)
+ Me.Panel1.Controls.Add(Me.btnErfassen)
+ Me.Panel1.Controls.Add(Me.dtpBis)
+ Me.Panel1.Controls.Add(Me.dtpVon)
+ Me.Panel1.Controls.Add(Me.Label4)
+ Me.Panel1.Controls.Add(Me.Label14)
+ Me.Panel1.Controls.Add(Me.txtSuche)
+ Me.Panel1.Controls.Add(Me.Label3)
+ Me.Panel1.Controls.Add(Me.lblSuche)
+ Me.Panel1.Location = New System.Drawing.Point(0, 0)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(680, 78)
+ Me.Panel1.TabIndex = 4
+ '
+ 'lblAnzahl
+ '
+ Me.lblAnzahl.AutoSize = True
+ Me.lblAnzahl.ForeColor = System.Drawing.SystemColors.HotTrack
+ Me.lblAnzahl.Location = New System.Drawing.Point(189, 33)
+ Me.lblAnzahl.Name = "lblAnzahl"
+ Me.lblAnzahl.Size = New System.Drawing.Size(82, 13)
+ Me.lblAnzahl.TabIndex = 69
+ Me.lblAnzahl.Text = "123 ausgewählt"
+ '
+ 'picLogo
+ '
+ Me.picLogo.Image = CType(resources.GetObject("picLogo.Image"), System.Drawing.Image)
+ Me.picLogo.InitialImage = Nothing
+ Me.picLogo.Location = New System.Drawing.Point(0, 3)
+ Me.picLogo.Name = "picLogo"
+ Me.picLogo.Size = New System.Drawing.Size(183, 72)
+ Me.picLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
+ Me.picLogo.TabIndex = 68
+ Me.picLogo.TabStop = False
+ '
+ 'Panel2
+ '
+ Me.Panel2.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Panel2.Controls.Add(Me.btnInfo)
+ Me.Panel2.Controls.Add(Me.Label1)
+ Me.Panel2.Location = New System.Drawing.Point(627, 0)
+ Me.Panel2.Name = "Panel2"
+ Me.Panel2.Size = New System.Drawing.Size(53, 78)
+ Me.Panel2.TabIndex = 67
+ '
+ 'btnInfo
+ '
+ Me.btnInfo.Location = New System.Drawing.Point(22, 3)
+ Me.btnInfo.Name = "btnInfo"
+ Me.btnInfo.Size = New System.Drawing.Size(28, 28)
+ Me.btnInfo.TabIndex = 68
+ Me.btnInfo.TabStop = False
+ Me.btnInfo.Text = "?"
+ Me.btnInfo.UseVisualStyleBackColor = True
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(0, 59)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(50, 13)
+ Me.Label1.TabIndex = 14
+ Me.Label1.Text = "Auswahl:"
+ Me.Label1.TextAlign = System.Drawing.ContentAlignment.TopRight
+ '
+ 'btnAuswerten
+ '
+ Me.btnAuswerten.Location = New System.Drawing.Point(469, 42)
+ Me.btnAuswerten.Name = "btnAuswerten"
+ Me.btnAuswerten.Size = New System.Drawing.Size(80, 30)
+ Me.btnAuswerten.TabIndex = 4
+ Me.btnAuswerten.TabStop = False
+ Me.btnAuswerten.Text = "Auswerten"
+ Me.btnAuswerten.UseVisualStyleBackColor = True
+ '
+ 'btnErfassen
+ '
+ Me.btnErfassen.Location = New System.Drawing.Point(469, 8)
+ Me.btnErfassen.Name = "btnErfassen"
+ Me.btnErfassen.Size = New System.Drawing.Size(80, 30)
+ Me.btnErfassen.TabIndex = 3
+ Me.btnErfassen.TabStop = False
+ Me.btnErfassen.Text = "Erfassen"
+ Me.btnErfassen.UseVisualStyleBackColor = True
+ '
+ 'dtpBis
+ '
+ Me.dtpBis.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
+ Me.dtpBis.Location = New System.Drawing.Point(351, 31)
+ Me.dtpBis.Name = "dtpBis"
+ Me.dtpBis.Size = New System.Drawing.Size(98, 20)
+ Me.dtpBis.TabIndex = 1
+ '
+ 'dtpVon
+ '
+ Me.dtpVon.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
+ Me.dtpVon.Location = New System.Drawing.Point(351, 9)
+ Me.dtpVon.Name = "dtpVon"
+ Me.dtpVon.Size = New System.Drawing.Size(98, 20)
+ Me.dtpVon.TabIndex = 0
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.Location = New System.Drawing.Point(286, 33)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(59, 13)
+ Me.Label4.TabIndex = 60
+ Me.Label4.Text = "Einfahrt bis"
+ '
+ 'Label14
+ '
+ Me.Label14.AutoSize = True
+ Me.Label14.Location = New System.Drawing.Point(286, 11)
+ Me.Label14.Name = "Label14"
+ Me.Label14.Size = New System.Drawing.Size(64, 13)
+ Me.Label14.TabIndex = 59
+ Me.Label14.Text = "Einfahrt von"
+ '
+ 'txtSuche
+ '
+ Me.txtSuche.Location = New System.Drawing.Point(351, 52)
+ Me.txtSuche.MaxLength = 30
+ Me.txtSuche.Name = "txtSuche"
+ Me.txtSuche.Size = New System.Drawing.Size(98, 20)
+ Me.txtSuche.TabIndex = 2
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(189, 11)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(50, 13)
+ Me.Label3.TabIndex = 14
+ Me.Label3.Text = "Auswahl:"
+ '
+ 'lblSuche
+ '
+ Me.lblSuche.AutoSize = True
+ Me.lblSuche.Location = New System.Drawing.Point(286, 55)
+ Me.lblSuche.Name = "lblSuche"
+ Me.lblSuche.Size = New System.Drawing.Size(38, 13)
+ Me.lblSuche.TabIndex = 14
+ Me.lblSuche.Text = "Suche"
+ '
+ 'gridParkzeiten
+ '
+ Me.gridParkzeiten.AllowUserToAddRows = False
+ Me.gridParkzeiten.AllowUserToDeleteRows = False
+ Me.gridParkzeiten.AllowUserToResizeRows = False
+ Me.gridParkzeiten.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.gridParkzeiten.BackgroundColor = System.Drawing.SystemColors.ButtonHighlight
+ DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+ DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.ActiveCaption
+ DataGridViewCellStyle1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText
+ DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight
+ DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+ DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+ Me.gridParkzeiten.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle1
+ Me.gridParkzeiten.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
+ Me.gridParkzeiten.Location = New System.Drawing.Point(0, 78)
+ Me.gridParkzeiten.MultiSelect = False
+ Me.gridParkzeiten.Name = "gridParkzeiten"
+ Me.gridParkzeiten.ReadOnly = True
+ Me.gridParkzeiten.RowHeadersVisible = False
+ DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText
+ Me.gridParkzeiten.RowsDefaultCellStyle = DataGridViewCellStyle2
+ Me.gridParkzeiten.RowTemplate.Height = 18
+ Me.gridParkzeiten.RowTemplate.ReadOnly = True
+ Me.gridParkzeiten.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
+ Me.gridParkzeiten.Size = New System.Drawing.Size(680, 580)
+ Me.gridParkzeiten.TabIndex = 5
+ Me.gridParkzeiten.TabStop = False
+ '
+ 'ContextMenuStrip1
+ '
+ Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mnuLöschen})
+ Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
+ Me.ContextMenuStrip1.Size = New System.Drawing.Size(156, 26)
+ '
+ 'mnuLöschen
+ '
+ Me.mnuLöschen.Name = "mnuLöschen"
+ Me.mnuLöschen.Size = New System.Drawing.Size(155, 22)
+ Me.mnuLöschen.Text = "Eintrag löschen"
+ '
+ 'frmMain
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(680, 658)
+ Me.Controls.Add(Me.Panel1)
+ Me.Controls.Add(Me.gridParkzeiten)
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.Name = "frmMain"
+ Me.Text = "Erfassung LKW Liste Parkplatz"
+ Me.Panel1.ResumeLayout(False)
+ Me.Panel1.PerformLayout()
+ CType(Me.picLogo, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.Panel2.ResumeLayout(False)
+ Me.Panel2.PerformLayout()
+ CType(Me.gridParkzeiten, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ContextMenuStrip1.ResumeLayout(False)
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents Panel1 As System.Windows.Forms.Panel
+ Friend WithEvents txtSuche As System.Windows.Forms.TextBox
+ Friend WithEvents lblSuche As System.Windows.Forms.Label
+ Friend WithEvents gridParkzeiten As System.Windows.Forms.DataGridView
+ Friend WithEvents dtpBis As System.Windows.Forms.DateTimePicker
+ Friend WithEvents dtpVon As System.Windows.Forms.DateTimePicker
+ Friend WithEvents Label4 As System.Windows.Forms.Label
+ Friend WithEvents Label14 As System.Windows.Forms.Label
+ Friend WithEvents btnErfassen As System.Windows.Forms.Button
+ Friend WithEvents Label3 As System.Windows.Forms.Label
+ Friend WithEvents btnAuswerten As System.Windows.Forms.Button
+ Friend WithEvents Panel2 As System.Windows.Forms.Panel
+ Friend WithEvents picLogo As System.Windows.Forms.PictureBox
+ Friend WithEvents lblAnzahl As System.Windows.Forms.Label
+ Friend WithEvents btnInfo As System.Windows.Forms.Button
+ Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip
+ Friend WithEvents mnuLöschen As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+
+End Class
diff --git a/Parkzeit/frmMain.resx b/Parkzeit/frmMain.resx
new file mode 100644
index 0000000..dac2c2a
--- /dev/null
+++ b/Parkzeit/frmMain.resx
@@ -0,0 +1,1282 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ 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
+ y97vd7vzAwbpe/apP/2DPu/e9x+fux//2Q==
+
+
+
+ 17, 17
+
+
+
+ AAABAAEAICAAAAEAGACoDAAAFgAAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAMQOAADEDgAAAAAAAAAA
+ AABmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////3
+ 9fR0SSZmMwCjjH3///////////////+YfWvBs6r///90SSajjH3///+tmo23p5z///+AXUJmMwDUy8X3
+ 9fRmMwCYfWv39fT////m4N3///9mMwBmMwBmMwCYfWv////39fS3p5xmMwB0SSb////Bs6pmMwBmMwBm
+ MwCtmo3///+MbljLv7j39fRmMwBmMwDm4N3////////////Uy8VmMwDm4N3m4N2MbljBs6r///+Mblhm
+ MwBmMwC3p5z///+tmo3///+AXUJmMwD39fT///////////+AXUKMblj////////////39fS3p5xmMwCY
+ fWv///+Mblj////Bs6pmMwDu6+nUy8W3p5z///////+tmo1mMwBmMwDLv7j39fRmMwDd1tHLv7hmMwDU
+ y8X39fRmMwBmMwBmMwBmMwD39fTLv7hmMwDLv7j///90SSZmMwDUy8Xm4N3///+jjH1mMwDBs6r///+M
+ bliYfWv///+3p5xmMwBmMwDm4N3m4N1mMwCAXUL///+Mbli3p5z///////////////90SSbm4N3/////
+ ///////Lv7hmMwBmMwCAXUL///////+MblhmMwBmMwDUy8X////////m4N10SSZmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6rBs6rBs6rBs6r/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwD/////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwD/////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////+AXUJmMwBmMwBmMwD/////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwDBs6rBs6rBs6rBs6rBs6r/////////////////////////////////////////////////
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDUy8X/////////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwCAXUL/////
+ //////+YfWtmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ //////////////////////////+AXUJmMwBmMwCAXUL////////////Lv7hmMwBmMwBmMwCtmo3/////
+ //////////////////////////////////////////////////////////////////////////+AXUJm
+ MwBmMwB0SSbBs6rBs6q3p5xmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj39fT/////////////////////////////////////////////////////////////////////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/Parkzeit/frmMain.vb b/Parkzeit/frmMain.vb
new file mode 100644
index 0000000..9647277
--- /dev/null
+++ b/Parkzeit/frmMain.vb
@@ -0,0 +1,253 @@
+Imports System.IO
+Imports System.Windows.Forms
+Imports Parkzeit.cMeineFunktionen
+Imports System.Data.SqlClient
+Imports System.ComponentModel
+
+Public Class frmMain
+ Public Shared ConnStr As String
+ Public Shared ConnStrInfo As String
+ Public Shared Aktive_ID As Integer
+ Public Shared Optionen As New cOptionen
+ Public Shared Ausgewählte_Zeile As Integer = 0
+ Private Parkzeiten As New cParkzeitenDAL
+ Private locZeilen As Integer = -1
+ Private Anzahl As Integer
+ Private Grid_aktiv As Boolean = False
+ Private Suche_freigegeben As Boolean = False
+
+ Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
+ 'InitializeComponent()
+ Icon = GetProgrammIcon()
+
+ ''aktuelle DB zuweisen
+ 'Dim pfadDatei As String = "C:\Projekte.NET\Verag\Parkzeit\Parkzeit.accdb"
+ ' If Not File.Exists(pfadDatei) Then
+ 'MsgBox("nicht gefunden: " & pfadDatei)
+ 'Sonderfall zum Debuggen
+ 'pfadDatei = Application.StartupPath & "\Parkzeit.accdb"
+ ' End If
+
+ ' If Not File.Exists(pfadDatei) Then
+ 'MsgBox("Auf die Datenbank '" & pfadDatei & "' konnte nicht zugegriffen werden!" & vbCrLf & vbCrLf & _
+ ' "Bitte verständigen Sie den zuständigen Administrator.", vbExclamation, "Fehler Datenbank")
+ ' Environment.Exit(0)
+ 'Me.Close()
+ ' End If
+ 'ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & pfadDatei
+ 'ConnStr = "Provider=SQLOLEDB;Server=DEVELOPER\DEVSQL;Database=Parkzeit;uid=sa;Password=BmWr501956;"
+ 'Dim tmp As String
+ 'tmp = "Provider=SQLOLEDB;Server=DEVELOPER\DEVSQL;Database=Parkzeit;"
+
+ ' ConnStrInfo = tmp & "uid=**;password=*********"
+ ' ConnStr = tmp & "uid=sa;password=BmWr501956"
+ 'Server=DEVELOPER\DEVSQL;database=Parkzeit;User ID=sa;Pwd=BmWr501956
+ 'jetzt noch Optionen laden
+ Dim OptionenDAL As New cOptionenDAL
+ Optionen = OptionenDAL.LesenOptionen()
+ If IsNothing(Optionen) Then
+ MsgBox("Fehler beim Laden der Optionen. Standardwerte werden eventuell nicht richtig vorgegeben.", vbCritical)
+ Me.Close()
+ End If
+
+ 'Position+Größe wird in ApplicationSettings vom Formular gespeichert
+ Try
+ Me.Size = My.Settings.frmMainSize
+ Me.Location = My.Settings.frmMainPosition
+ Catch ex As Exception
+ 'nix tun - Standardgröße wird somit automatisch gesetzt
+ End Try
+
+ 'Vorschlagswerte vergeben
+ dtpVon.Value = DateSerial(Now.Date.AddMonths(-1).Year, Now.Date.AddMonths(-1).Month, 1)
+ dtpBis.Value = Now.Date.AddDays(1)
+ 'txtKosten.Text = Format(Optionen.Kosten_je_Stunde, "#0.00")
+ dtpVon.Refresh()
+ dtpBis.Refresh()
+ 'txtKosten.Refresh()
+
+ Grid_aktiv = True
+ Tabelle_anzeigen()
+
+
+ ' Spalten_festlegen() 'AL: Hat Fehler beim Start ausgelöst, wenn keine Daten vorhanden.
+
+
+ Suche_freigegeben = True
+
+ End Sub
+
+ Private Sub frmMain_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
+ My.Settings.frmMainSize = Me.Size
+ My.Settings.frmMainPosition = Me.Location
+ My.Settings.Save()
+ Application.Exit()
+ End Sub
+
+ Public Sub Tabelle_anzeigen()
+ Dim msStart As Long = CLng((DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds)
+ 'Paint wieder reaktivieren
+ locZeilen = -1
+ If Not Grid_aktiv Then Exit Sub
+
+
+ 'je nach Auswahl SQL anpassen
+ Dim hSQL As String = "SELECT * FROM Parkzeiten WHERE Von >= " & SQLDatum(dtpVon.Value) &
+ " AND Von <= " & SQLDatum(dtpBis.Value.AddDays(1))
+
+ If txtSuche.Text <> "" Then
+ hSQL += " AND Kennzeichen LIKE '%" & txtSuche.Text & "%'"
+ End If
+
+ hSQL += " ORDER BY Laufende_Nr, Von"
+
+ gridParkzeiten.DataSource = Parkzeiten.AnzeigeTabelle(hSQL)
+
+ 'Tabelle Kommt/Geht bereinigen
+ If gridParkzeiten.RowCount = 0 Then
+ gridParkzeiten.DataSource = Nothing
+ Else
+ Spalten_festlegen()
+ 'AL: Sortierung nach Ausfahrt (Zeit)
+ gridParkzeiten.Sort(gridParkzeiten.Columns(3), ListSortDirection.Descending)
+ End If
+
+ 'Anzeige der Anzahl gewählter/aller Datensätze
+ lblAnzahl.Text = Format(gridParkzeiten.RowCount, "#,##0") & " ausgewählt"
+ lblAnzahl.Refresh()
+
+ Dim msEnd As Long = CLng((DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds)
+ Label1.Text = "" & (msEnd - msStart) & " ms"
+
+ End Sub
+
+ Private Sub Spalten_festlegen()
+ With gridParkzeiten
+ .Columns(0).Visible = False 'ID nicht anzeigen
+
+ .Columns(1).Width = 50
+ .Columns(1).HeaderText = "lfd.Nr"
+ .Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
+
+ .Columns(2).Width = 120
+ .Columns(2).HeaderText = "Einfahrt"
+ .Columns(2).DefaultCellStyle.Format = "dd.MM.yyyy HH:mm"
+
+ .Columns(3).Width = 120
+ .Columns(3).HeaderText = "Ausfahrt"
+ .Columns(3).DefaultCellStyle.Format = "dd.MM.yyyy HH:mm"
+
+ .Columns(4).Width = 80
+ .Columns(4).HeaderText = "Dauer Std"
+ .Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
+
+ .Columns(5).Visible = False 'Dauer in Minuten wird nicht angezeigt
+
+ .Columns(6).Width = 300
+ .Columns(6).HeaderText = "LKW-Kennzeichen"
+ End With
+
+ End Sub
+
+ Private Sub btnInfo_Click(sender As System.Object, e As System.EventArgs) Handles btnInfo.Click
+ Dim f As New frmInfo
+ f.ShowDialog(Me)
+ End Sub
+
+ Private Sub btnErfassen_Click(sender As System.Object, e As System.EventArgs) Handles btnErfassen.Click
+ Dim f As New frmEintragParkzeit
+ Aktive_ID = 0 'neue Einträge
+ f.ShowDialog(Me)
+ End Sub
+
+ Private Sub btnAuswerten_Click(sender As System.Object, e As System.EventArgs) Handles btnAuswerten.Click
+ Dim f As New frmAuswahl_Abrechnung
+ f.ShowDialog(Me)
+ End Sub
+
+ Private Sub dtpDatum_ValueChanged(sender As System.Object, e As System.EventArgs) Handles dtpVon.ValueChanged, dtpBis.ValueChanged
+ If Not Suche_freigegeben Then Exit Sub
+
+ Tabelle_anzeigen()
+ End Sub
+
+ Private Sub txtSuche_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtSuche.TextChanged
+ If Not Suche_freigegeben Then Exit Sub
+
+ Tabelle_anzeigen()
+ End Sub
+
+ Private Sub gridParkzeiten_CellMouseClick(sender As Object, e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles gridParkzeiten.CellMouseClick
+ 'Bei Rechtsklick mit Maus die betroffene Zeile markieren
+
+ If e.RowIndex < 0 Then Exit Sub 'Es wurde außerhalb einer gültigen Datenzeile geklickt
+
+ If e.Button = Windows.Forms.MouseButtons.Right Then
+ gridParkzeiten.CurrentCell = gridParkzeiten.Rows(e.RowIndex).Cells(e.ColumnIndex)
+ ContextMenuStrip1.Show(Windows.Forms.Cursor.Position)
+ End If
+ End Sub
+
+
+ Private Sub gridParkzeiten_DoubleClick(sender As Object, e As System.EventArgs) Handles gridParkzeiten.DoubleClick
+ Try
+
+ Aktive_ID = CInt(gridParkzeiten.Rows(gridParkzeiten.CurrentRow.Index).Cells("ParkzeitID").Value)
+
+ Ausgewählte_Zeile = gridParkzeiten.CurrentRow.Index
+ Dim f As New frmEintragParkzeit
+ f.ShowDialog(Me)
+
+ 'falls Änderung, dann die neuen Werte in Grid anzeigen
+ If Ausgewählte_Zeile >= 0 Then
+ Dim hParkzeit As cParkzeit = Parkzeiten.LesenParkzeit(Aktive_ID, "")
+ If Not IsNothing(hParkzeit) Then
+ gridParkzeiten.Rows(Ausgewählte_Zeile).Cells(1).Value = hParkzeit.Laufende_Nr
+ gridParkzeiten.Rows(Ausgewählte_Zeile).Cells(2).Value = hParkzeit.Von
+ gridParkzeiten.Rows(Ausgewählte_Zeile).Cells(3).Value = hParkzeit.Bis
+ gridParkzeiten.Rows(Ausgewählte_Zeile).Cells(4).Value = hParkzeit.Dauer
+ gridParkzeiten.Rows(Ausgewählte_Zeile).Cells(5).Value = hParkzeit.Dauer_Minuten
+ gridParkzeiten.Rows(Ausgewählte_Zeile).Cells(6).Value = hParkzeit.Kennzeichen
+ End If
+ End If
+
+ Catch ex As Exception
+
+ End Try
+ End Sub
+
+
+ Private Sub mnuLöschen_Click(sender As System.Object, e As System.EventArgs) Handles mnuLöschen.Click
+ Aktive_ID = CInt(gridParkzeiten.Rows(gridParkzeiten.CurrentRow.Index).Cells("ParkzeitID").Value)
+
+ Dim antwort = MsgBox("Möchten Sie die ausgewählte Parkzeit wirklich löschen?", CType(vbQuestion + vbYesNo + vbDefaultButton2, MsgBoxStyle), "Bilanzeintrag löschen")
+ If antwort = vbNo Then Exit Sub
+
+ Parkzeiten.LöschenParkZeit(Aktive_ID)
+
+ Tabelle_anzeigen()
+ End Sub
+
+
+ Private Sub Button1_Click(sender As Object, e As EventArgs)
+ Dim conString As String
+ 'conString = "Server=BEVPC\SQLExpress;database=MSDNSolve;Integrated Security=true"
+ conString = "Server=DEVELOPER\DEVSQL;database=Parkzeit;User ID=sa;Pwd=BmWr501956;" 'Application Name=MyApp
+ Dim con As SqlConnection = Nothing
+ Try
+ con = New SqlConnection(conString)
+ con.Open()
+ MessageBox.Show("Offen")
+
+ Catch ex As Exception
+ MessageBox.Show(ex.Message)
+ Finally
+ If con.State <> ConnectionState.Closed Then con.Close()
+ End Try
+ con.Dispose()
+
+ ' myConnection.ConnectionString = "Server=DEVELOPER\DEVSQL;Database=Parkzeit;Uid=sa;Pwd=BmWr501956;"
+
+ End Sub
+
+End Class
diff --git a/Parkzeit/parkzeit.ico b/Parkzeit/parkzeit.ico
new file mode 100644
index 0000000..03fae60
Binary files /dev/null and b/Parkzeit/parkzeit.ico differ
diff --git a/Parkzeit/rptAbrechnung.rdlc b/Parkzeit/rptAbrechnung.rdlc
new file mode 100644
index 0000000..6a26b26
--- /dev/null
+++ b/Parkzeit/rptAbrechnung.rdlc
@@ -0,0 +1,1029 @@
+
+
+
+
+
+
+
+
+ 1.41227cm
+
+
+ 3.85999cm
+
+
+ 4.13723cm
+
+
+ 1.86959cm
+
+
+ 5.47136cm
+
+
+ 0.28194cm
+
+
+
+
+ 0.55001cm
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Laufende_Nr.Value
+
+
+
+
+
+
+ Laufende_Nr
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Von.Value
+
+
+
+
+
+
+ Von
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Bis.Value
+
+
+
+
+
+
+ Bis
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Dauer.Value
+
+
+
+
+
+
+ Dauer
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Kennzeichen.Value
+
+
+
+
+
+
+ Kennzeichen
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+ 0.6cm
+
+
+
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Textbox25
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Textbox26
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ ="Gesamtsumme"
+
+
+
+
+
+
+ Textbox27
+
+
+
+
+
+
+
+
+
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Parameters!Gesamtdauer.Value
+
+
+
+
+
+
+ Textbox28
+
+
+
+
+
+
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ =Parameters!Gesamtkosten.Value
+
+
+
+
+
+
+ Textbox29
+
+
+
+
+
+
+
+
+
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Textbox30
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Before
+
+
+
+ DataSet1
+ 0.09016cm
+ 0.07936cm
+ 1.15001cm
+ 17.03238cm
+
+
+ 8pt
+
+
+
+ 0.48826in
+
+
+ 6.78534in
+
+
+ 2.01967cm
+ true
+ true
+
+
+ true
+ true
+
+
+
+
+ =Parameters!Titel.Value
+
+
+
+
+
+
+ Textbox7
+ 0.07937cm
+ 0.63249cm
+ 14.33943cm
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ lfd Nr
+
+
+
+
+
+
+ KundennummerHeader
+ 1.38215cm
+ 0.07938cm
+ 0.19968in
+ 0.556in
+ 1
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ Einfahrt
+
+
+
+
+
+
+ KundeHeader
+ 1.38215cm
+ 0.58725in
+ 0.19968in
+ 1.01006in
+ 2
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ Ausfahrt
+
+
+
+
+
+
+ KundennummerHeader
+ 1.38215cm
+ 5.35161cm
+ 0.19968in
+ 0.59375in
+ 3
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ Dauer Std.
+
+
+
+
+
+
+ KundennummerHeader
+ 1.38215cm
+ 9.11868cm
+ 0.19968in
+ 0.77763in
+ 4
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ =Parameters!SelektionText.Value
+
+
+
+
+
+
+ KundennummerHeader
+ 0.70305cm
+ 0.19792in
+ 5.67669in
+ 5
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ LKW-Kennzeichen
+
+
+
+
+
+
+ KundennummerHeader
+ 1.38215cm
+ 11.09386cm
+ 0.19968in
+ 1.30903in
+ 6
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ Embedded
+ Logo_Waberer2
+ FitProportional
+ 0.15028cm
+ 14.54362cm
+ 1.05548cm
+ 2.56813cm
+ 7
+
+
+
+
+
+ 1.88934cm
+ 0.07937cm
+ 0cm
+ 17.03238cm
+ 8
+
+
+
+
+
+
+
+
+
+
+ 0.74083cm
+ true
+ true
+
+
+ true
+ true
+
+
+
+
+ =Parameters!Firmenname.Value
+
+
+
+
+
+
+ Textbox16
+ 0.17637cm
+ 5.35161cm
+ 0.49445cm
+ 5.40723cm
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ ="Seite " & Globals!PageNumber & " von " & Globals!TotalPages
+
+
+
+
+
+
+ Textbox16
+ 0.14109cm
+ 11.20053cm
+ 0.49445cm
+ 5.91122cm
+ 1
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ ="Druck erstellt am " & format(Globals!ExecutionTime,"dd.MM.yyyy HH:mm")
+
+
+
+
+
+
+ Textbox1
+ 0.14109cm
+ 0.11907cm
+ 0.49818cm
+ 4.94425cm
+ 2
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ 0.07054cm
+ 0.15875cm
+ 0cm
+ 16.953cm
+ 3
+
+ 0.5pt
+
+
+
+
+
+
+
+
+ 29.7cm
+ 21cm
+ 2cm
+ 1cm
+ 1.5cm
+ 1cm
+ 0.13cm
+
+
+ 0
+
+
+
+ System.Data.DataSet
+ /* Local Connection */
+
+ 9a95dd35-ac23-48c7-b430-98358c7ae8dd
+
+
+
+
+
+ ParkzeitDataSet
+ /* Local Query */
+
+
+
+ ParkzeitID
+ System.Int32
+
+
+ Laufende_Nr
+ System.Int32
+
+
+ Von
+ System.DateTime
+
+
+ Bis
+ System.DateTime
+
+
+ Dauer
+ System.String
+
+
+ Dauer_Minuten
+ System.Int32
+
+
+ Kennzeichen
+ System.String
+
+
+
+ ParkzeitDataSet
+ C:\Projekte.NET\Verag\Parkzeit\Parkzeit\ParkzeitDataSet.xsd
+ Parkzeiten
+ Fill
+ GetData
+ ParkzeitenTableAdapter
+
+
+
+
+
+ String
+ ReportParameter1
+
+
+ String
+ ReportParameter1
+
+
+ String
+ ReportParameter1
+
+
+ String
+ ReportParameter1
+
+
+ String
+ ReportParameter1
+
+
+ String
+ ReportParameter1
+
+
+ Public Function GetText(druckText As String, stornoText As String) As String
+ Dim text As String = druckText
+ If stornoText <> "" Then
+ text = text & System.Environment.NewLine & "StornoText: " & stornoText
+ End If
+ Return text
+End Function
+
+
+ image/jpeg
+ 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
+
+
+ Cm
+ 542ef27d-4ffe-4731-a9a5-157c20b0ba84
+
\ No newline at end of file