Initial commit

This commit is contained in:
2020-10-21 10:43:18 +02:00
commit 56bd02798f
5848 changed files with 2659025 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
Module Crypto
Public Function EncryptText(ByVal strText As String, ByVal strPwd As String)
Dim i As Integer, c As Integer
Dim strBuff As String
strPwd = UCase$(strPwd)
If Len(strPwd) Then
For i = 1 To Len(strText)
c = Asc(Mid$(strText, i, 1))
c = c + Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1))
strBuff = strBuff & Chr(c And &HFF)
Next i
Else
strBuff = strText
End If
EncryptText = strBuff
End Function
Public Function DecryptText(ByVal strText As String, ByVal strPwd As String)
Dim i As Integer, c As Integer
Dim strBuff As String
strPwd = UCase$(strPwd)
If Len(strPwd) Then
For i = 1 To Len(strText)
c = Asc(Mid$(strText, i, 1))
c = c - Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1))
strBuff = strBuff & Chr(c And &HFF)
Next i
Else
strBuff = strText
End If
DecryptText = strBuff
End Function
End Module

View File

@@ -0,0 +1,154 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{1210CA67-4D06-4344-81F4-E7EBB72D4816}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>EDOKA_Toolset.My.MyApplication</StartupObject>
<RootNamespace>EDOKA_Toolset</RootNamespace>
<AssemblyName>EDOKA_Toolset</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>..\Bin\</OutputPath>
<DocumentationFile>EDOKA_Toolset.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>EDOKA_Toolset.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="C1.Win.C1Command.2, Version=2.0.20141.19617, Culture=neutral, PublicKeyToken=e808566f358766d8, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Bin\C1.Win.C1Command.2.dll</HintPath>
</Reference>
<Reference Include="C1.Win.C1TrueDBGrid.2, Version=2.0.20141.61347, Culture=neutral, PublicKeyToken=75ae3fb0e2b1e0da, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Bin\C1.Win.C1TrueDBGrid.2.dll</HintPath>
</Reference>
<Reference Include="EDOKA_PluginLib, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Bin\EDOKA_PluginLib.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Design" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="clsHost.vb" />
<Compile Include="Crypto.vb" />
<Compile Include="frmBenutzer.Designer.vb">
<DependentUpon>frmBenutzer.vb</DependentUpon>
</Compile>
<Compile Include="frmBenutzer.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmMain1.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmMain1.Designer.vb">
<DependentUpon>frmMain1.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="Globals.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="PluginServices.vb" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="frmBenutzer.resx">
<DependentUpon>frmBenutzer.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmMain1.resx">
<DependentUpon>frmMain1.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\licenses.licx" />
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,13 @@
Imports System.IO
Imports System.Reflection
Module Globals
Public Mitarbeiternr As Integer
Public Userdata As New DataSet
Public tgnummer As String
Public Function ApplicationPath() As String
Return Path.GetDirectoryName([Assembly].GetEntryAssembly().Location) + "\"
End Function
End Module

View File

@@ -0,0 +1,38 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.42000
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
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
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
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
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.EDOKA_Toolset.frmMain1
End Sub
End Class
End Namespace

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>frmMain1</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@@ -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
<Assembly: AssemblyTitle("EDOKA_Toolset")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("EDOKA_Toolset")>
<Assembly: AssemblyCopyright("Copyright © 2015")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
<Assembly: Guid("112c6343-7428-4d75-a3d3-d679f3216378")>
' 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:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@@ -0,0 +1,63 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.42000
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
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.
'''<summary>
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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("EDOKA_Toolset.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
End Module
End Namespace

View File

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

View File

@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.42000
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.EDOKA_Toolset.My.MySettings
Get
Return Global.EDOKA_Toolset.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@@ -0,0 +1,2 @@
C1.Win.C1TrueDBGrid.C1TrueDBGrid, C1.Win.C1TrueDBGrid.2, Version=2.0.20123.61277, Culture=neutral, PublicKeyToken=75ae3fb0e2b1e0da
C1.Win.C1TrueDBGrid.C1TrueDBGrid, C1.Win.C1TrueDBGrid.2, Version=2.0.20141.61347, Culture=neutral, PublicKeyToken=75ae3fb0e2b1e0da

View File

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

View File

@@ -0,0 +1,83 @@
Imports System.IO
Imports System.Reflection
Friend Class PluginServices
Public Structure AvailablePlugin
Public AssemblyPath As String
Public ClassName As String
End Structure
Public Shared Function FindPlugins(ByVal strPath As String, ByVal strInterface As String) As AvailablePlugin()
Dim Plugins As ArrayList = New ArrayList()
Dim strDLLs() As String, intIndex As Integer
Dim objDLL As [Assembly]
'Go through all DLLs in the directory, attempting to load them
strDLLs = Directory.GetFileSystemEntries(strPath, "*.dll")
For intIndex = 0 To strDLLs.Length - 1
Try
objDLL = [Assembly].LoadFrom(strDLLs(intIndex))
ExamineAssembly(objDLL, strInterface, Plugins)
Catch e As Exception
'Error loading DLL, we don't need to do anything special
End Try
Next
'Return all plugins found
Dim Results(Plugins.Count - 1) As AvailablePlugin
If Plugins.Count <> 0 Then
Plugins.CopyTo(Results)
Return Results
Else
Return Nothing
End If
End Function
Private Shared Sub ExamineAssembly(ByVal objDLL As [Assembly], ByVal strInterface As String, ByVal Plugins As ArrayList)
Dim objType As Type
Dim objInterface As Type
Dim Plugin As AvailablePlugin
'Loop through each type in the DLL
For Each objType In objDLL.GetTypes
'Only look at public types
If objType.IsPublic = True Then
'Ignore abstract classes
If Not ((objType.Attributes And TypeAttributes.Abstract) = TypeAttributes.Abstract) Then
'See if this type implements our interface
objInterface = objType.GetInterface(strInterface, True)
If Not (objInterface Is Nothing) Then
'It does
Plugin = New AvailablePlugin()
Plugin.AssemblyPath = objDLL.Location
Plugin.ClassName = objType.FullName
Plugins.Add(Plugin)
End If
End If
End If
Next
End Sub
Public Shared Function CreateInstance(ByVal Plugin As AvailablePlugin) As Object
Dim objDLL As [Assembly]
Dim objPlugin As Object
Try
'Load dll
objDLL = [Assembly].LoadFrom(Plugin.AssemblyPath)
'Create and return class instance
objPlugin = objDLL.CreateInstance(Plugin.ClassName)
Catch e As Exception
Return Nothing
End Try
Return objPlugin
End Function
End Class

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.diagnostics>
<sources>
<!-- Dieser Abschnitt definiert die Protokollierungskonfiguration für My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben und APPLICATION_NAME durch den Namen der Anwendung ersetzen, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
EDOKA_Toolset
</name>
</assembly>
<members>
<member name="P:EDOKA_Toolset.My.Resources.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member><member name="P:EDOKA_Toolset.My.Resources.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member><member name="T:EDOKA_Toolset.My.Resources.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
PluginLib
</name>
</assembly>
<members>
<member name="P:PluginLib.My.Resources.Resources.ResourceManager">
<summary>
Returns the cached ResourceManager instance used by this class.
</summary>
</member><member name="P:PluginLib.My.Resources.Resources.Culture">
<summary>
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
</summary>
</member><member name="T:PluginLib.My.Resources.Resources">
<summary>
A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,7 @@
Friend Class clsHost
Implements EDOKA_PluginLib.IHost
Public Sub ShowFeedback(ByVal strFeedback As String) Implements EDOKA_PluginLib.IHost.ShowFeedback
MessageBox.Show(strFeedback, Application.ProductName)
End Sub
End Class

View File

@@ -0,0 +1,139 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmBenutzer
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmBenutzer))
Me.Label3 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton()
Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton()
Me.DokList = New C1.Win.C1TrueDBGrid.C1TrueDBGrid()
Me.ToolStrip1.SuspendLayout()
CType(Me.DokList, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(423, 35)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(86, 13)
Me.Label3.TabIndex = 19
Me.Label3.Text = "0: Normaler User"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(423, 22)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(79, 13)
Me.Label2.TabIndex = 18
Me.Label2.Text = "1: Administrator"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(423, 9)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(40, 13)
Me.Label1.TabIndex = 17
Me.Label1.Text = "Rollen:"
'
'ToolStrip1
'
Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.ToolStripButton2})
Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
Me.ToolStrip1.Name = "ToolStrip1"
Me.ToolStrip1.Size = New System.Drawing.Size(519, 25)
Me.ToolStrip1.TabIndex = 21
Me.ToolStrip1.Text = "ToolStrip1"
'
'ToolStripButton1
'
Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image)
Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
Me.ToolStripButton1.Name = "ToolStripButton1"
Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22)
Me.ToolStripButton1.Text = "Fenster schliessen"
'
'ToolStripButton2
'
Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image)
Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta
Me.ToolStripButton2.Name = "ToolStripButton2"
Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22)
Me.ToolStripButton2.Text = "Daten speichern"
'
'DokList
'
Me.DokList.AllowAddNew = True
Me.DokList.AlternatingRows = True
Me.DokList.Dock = System.Windows.Forms.DockStyle.Left
Me.DokList.FetchRowStyles = True
Me.DokList.FilterBar = True
Me.DokList.GroupByCaption = "Drag a column header here to group by that column"
Me.DokList.Images.Add(CType(resources.GetObject("DokList.Images"), System.Drawing.Image))
Me.DokList.Location = New System.Drawing.Point(0, 25)
Me.DokList.Name = "DokList"
Me.DokList.PreviewInfo.Location = New System.Drawing.Point(0, 0)
Me.DokList.PreviewInfo.Size = New System.Drawing.Size(0, 0)
Me.DokList.PreviewInfo.ZoomFactor = 75.0R
Me.DokList.PrintInfo.PageSettings = CType(resources.GetObject("DokList.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings)
Me.DokList.RecordSelectorWidth = 16
Me.DokList.Size = New System.Drawing.Size(417, 277)
Me.DokList.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation
Me.DokList.TabIndex = 22
Me.DokList.Text = "C1Dokumenttypen"
Me.DokList.PropBag = resources.GetString("DokList.PropBag")
'
'frmBenutzer
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(519, 302)
Me.Controls.Add(Me.DokList)
Me.Controls.Add(Me.ToolStrip1)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Name = "frmBenutzer"
Me.Text = "frmBenutzer"
Me.ToolStrip1.ResumeLayout(False)
Me.ToolStrip1.PerformLayout()
CType(Me.DokList, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton
Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton
Friend WithEvents DokList As C1.Win.C1TrueDBGrid.C1TrueDBGrid
End Class

View File

@@ -0,0 +1,230 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="ToolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAxRSURBVGhD7Zl3VFRnGodFOgwzMAMMRarUmWFgGlVEuqCi
YsESa6yIir0k2ZjVuHE1q25yNpuoQVE0ReyigBBBsYAoCqIgOKgEUZSiaOBskt++dyDqbIIBgZz9I985
z5mZy733e5+vvt+hz5/lz/IHF5lMZipW+PzdQybbLZTIkhjcvSRJQpksyUvmnST+TWRdpO05T6kiWSzz
2SwW+5m3V9/94unray318c/xCw6+GxASogwIDlbK/PyUMl9fpczfn74zML9lSqmsDa92SFIplEqVQolE
KfTyUgqEQmV/BsEr0G93wo1wEYvveCoUFyQSiV179d0vrp6e9kzw+75NQVZOBo6kHURyShKWrViCMXGj
MSxmCKKHRiEqOhIRkeEIDQtG0KCBCAgMgK+/L7y9FZDKJPD08oSzsxP09PWhpa2tho6urgq+AwcCD1Gd
l4+Pc3v13S/u1BqBYWEVOXnZaGl5hidPGtH0pAH19Y9QXHwVO3d+ibXr/ooVK5cTy7Bs+RIsXpKIBQsT
MC9hDmbPnYk58TMxdfoUSKUSaGpqgl77a/r2gUuoAYQK0fcCia8TXeuZohIID6s4dTodT582qgJnaGh4
rOJhXS0KCwuwP/UbbNm6GX/bsB4frl+HD9a+j7+seQfvvLcS7/5lFV1bi5CQYGhpabUFrPESDUJTuw/c
I4wg+qMEGB49eoia+9Worr6DispyXMw/h0NHUrFtx+f49F9bSehjbNq8AZu3bsLefXswctQIGira0KDW
1tTq+wIt7b7QMdCAIKoXBbJyOhaoqqrErYoy3CgrQdG1Qpw9dxqHj6Ziz75d2JH0OXbu3oGT6WmY8NZ4
6BnqQFNHA9p6mi/Q0deEnlFfiKLZvSUQTgIZrxUov3UTJaXXcLmoAPmXziHvfA4ys0/i0NH9OEoT//KV
S5g1ZwZYHH1qbS3osXTUMDDWhscw4/8PgYsFeTiT9x1OfZeOk5nH6PMk9U4p5s2fC46pAfQ52jA00X0J
RxdGZjoQD+8FAUeZzNZ/cER5Vu6bCZzIOEo9cQKlN6+rBIz5hjDk6sDIVO8lPD1wLHThOdKk5wXG27m4
xfr51WXmZZFA05sL3CCBBfHgWbPB5uvD2NLwJSTFtTGAdDSv5wW+4HJ9P+OYIHvLJjS2PEdDU9se8CYC
CSRgZsuBibUBeDasl/RjwczBELKxvSCwxcJCsYtnisMWVrj6xedoetb8QqJrAiVIWBhPu60xeHaGFLCR
GnxnFuTjTHteYAOPJ//W3h41AwKRbmuP/A0b0NjchAbakbsqMD8xHlZOXJg7smHhZKyGlRsHPhPNIQro
YYF1PAv5V7Z2+CluLJqHD0cGfT+7YgUaGutRTz1RU3PvtQLpp46rCfRz5cHShQNrVxM1bITG8J3UCwIf
m5t77LV3QMvIkcDgwXgeG4tsh/74bvZsPHpQi9r6ug4FMrJOIPXQ18iiXfwGrUKMgK3QFNYUrI2Qq4ad
pwn8JndSIInDMU5ms532GpoId7O4go5IMTJyTjJkjztgY4sfxowBZDIgNBSt48fjjIsbMseNx73bt3CX
htH/CuSdz8XhYwfw7prVtBt/oRJYsHgeHDz5sPXkwd7LTA1HuSkGTLOAaEAnBPayTcbv5XDO72ebVqea
mlZ1CJdf+Y2xcW2mgyN+mDgR8PUFpZRARDh+nDIFFzzEOB45GOVXClFxT6kmcP7iGRw9fgiz42fBw0OE
goKLmL8oHv1lFrCXmsJRZq6Gk48ZAmdYdk5gpwFrVgqHc781JgY/Tp6sCub3wNSpQEAA4OcH+PiQRAQw
fTouy+U44h+A4txs3FDeeiFw7kIu/rFlIwbQucCJzgGXKGNlBJwVlujvbUYB89VwCTBH4EwriAI7IZBs
wHr7Ky6v6icSYMY1MywQFvZ6mHsCA1/CyERGAjQXrtMKdYRE8o8dwtWyYlUulHEqDcEhg7B0+SJ8uWsb
rpfSMpo4F66+1nDx48PV31IN9yALDJxjDdHATguYVv2HCYBa8+egIPwcHNzGoEEd88s9v0DPqRogYR4q
wiNwUOiBM3t2oqC4EDlns7E7ZSf2H/yKTnLpJFCsEhAMsIH7QEsIgqzVEIVaIXhevy4I8EyrnoeEoKVf
P7TY2qKFxnYLtWoLBdYaHt4GtXwrtXzLKzC/VdcZ6J4WkmilZ36iiX2LeuEArViZn2xFXlE+cimtzshK
Uy2jJdev0RCaC9EgGwhDaKiEUrCvII60RkiCTdcEGqjyBj4f9YaGqGexUM/jocHODo0uLmj08EATBdTk
7Y0mmrxN/v5oovHfRD3GXG8Ui9Ho6qq6v57LRb2JCZrp3gqxJw7Thpe25j1k5Z56sZExAgmL4yEOsYM4
vB88I2zVkETbIHSBLaRBXRB4QEHdp8pr6EBdQ4ftGj091OjooIYO2qrvJFXDZuM+A4ejgvmtuv7LvQzM
83RUfEC92RgWitOm5tjTzwaZdDo70b6RlZRQDyyeC0mEAwVLgUbbqyGPsUPEIruuCdylFlNSMJUaGqik
w/arVPTt+xL6+wteua66j4HOuHetrHCP3pfDt0CqwhtZu5PUe0AlEA9ZlCNkFKw8xkEN71h7RC4hmSBp
5yfxbRoK5dSSNymA7nDbxgYVchlOmHBxMCoKeenHcLbwvFouxAgsWBIP+TAnCtYBPrH91fAb64io5STX
FYEqZsxSD5RTK3aIVtvnTWrxXwVPPVLl5ISbXhIcoZQ7bdo0FNISmn+tAGdoFXpVoLhdwGeEM3zHOMFv
jLMaAeOdEL2qf+cE9hhwZqawedVlJMCsHLekstcgRQXdV0UT+FWJMpondwQCFItEOEDp9unVq1BSXoqi
0iK1ZE5NYGk8/Ea7wH8CBTzBRY3Ayc4YsrqTAnuNjN/ax2ZfO2xm3pDK49V1xCEu92GqmXlThp09Kmgl
KqeJygRfbmCAO15euOTiilTKk/I//QSVTCpxs+RX2Wha+hHVUlpaeh2JyxIQEOeGwEmuGDjJTY1B01wx
7F0nEpD9vgCTzDGJ2m4WS5DCYrl1xNdGRq7bOZwxyRaWqp4qp+AraCWqoqTuLK0yhygXKjl0ANWPH6K8
ouxFLnQh/yxyzmQjOydTtStXUopRWFiIt+dMQdBEEQZNdUfwVIEaoTPcEfO+C+SdEehK2cjni3ZZWaNC
JofS0hJVCgVOmZrh+MAgVOVfxEM66Ffdua3KRouvX8WlKxdReCWfss8SKOl6UdFl7Nu3F3Pmz8SIyWEI
m+FBwTIBC9UInyPAiA96QWCDhYU82dIKShpCt2kTS+OZIXP0aNRWlqO++UnbiUxZgbLyGyi7dQN371XR
IacaBZfykbw7GYkr4hE7PQzRsxQInytExFyP32TwfBFi17pA0eMCdCJLph4odnPHUWr5XMp7mKNk0/Nm
1NU9wH0SqK39HnWP6vDw4QNV1rmd8v9l7y/EqHkhGJIgRyQFFznfA1HzPTtkyCIxRq13IwF5zwps4/O9
vzThIdWMj/x1H6LhKZ2HGRoeo5l6oPnZU1XgRUVF2L7zM6z8cCHiloQhaqEXohIp6EQxohO9fpehSz0x
+qNeEJipb+SzjXbX7I3r0dTyHI1NjXj2rBmtrS148PA+rtBhZtfX27H0o9mY9E4khizxxFBi2FIpYrrA
iJUSjN0ggCJS8b2ZjU3/9uq7X7T7aAunRIbW5Vw+gx9afkBrSyseP36E/MKLSDm4A4kfTUHc6iAMXeaF
IUvFGL5c9kaMXC1F3CYBfAf7UCpmKGyvvltFk9DV0tJShI8dVnXuUi4a6utRcOU8kg/+Gws3voURy73b
Wpy6P2YZBdINRq5qE5BGSmr19FiBVLchocME8ialL8Eh+JqaumFDxw6rPn46FUlHtmDh5jgMWyHG0OUe
GLFKQlD39wCx70kQ97EAPhGKOh0do6FUtxXBI7SILhfGnPlPoa2Ojn6MX6hf3cRVkRi5hlaKTY4Yv1lA
CHuUCf8UIm6jEIpwxVM9bcOxVDczDxgJA6LLhbE2JWwMDAwiRVLpFReJV62bXPrAy19GSGp7nADCT1Lr
IZeX6uvrD6e6HQkLQp94o8I8yCdc2WxuOIvDGUmMMWSbjGM+exoOhzuKwcjEJEpbW1tE9VoTbIIZzm9c
mKFkTDC9wbSGLcF0rX0vYEMwQTNDl0swQ0eD6HZhXqJNMC9kEYwQM8F7GiOCWXl0iW61+p+l90qfPv8F
/zqI2Zapf/AAAAAASUVORK5CYII=
</value>
</data>
<data name="ToolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABSSURBVDhP3YxbCgAgCAQ9ukfzZkXBlkIv7Sf6GNB1HRKR
dEMVEFEII2Du4Yr2eCMAdUfoEejubwIcVujeUHDKVFDmHSFB6ekuskcEOHgxghiSMjk0Kh+omBHQAAAA
AElFTkSuQmCC
</value>
</data>
<data name="DokList.Images" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA0SURBVChTdYkBCgAgDAL9/6eLIsd0eSCKhw/r9aCLtC88
vAdHMEIXKUIUhMK76EfagglgA6CqHOQpL6GyAAAAAElFTkSuQmCC
</value>
</data>
<data name="DokList.PrintInfo.PageSettings" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0
dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh
d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp
emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5
c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp
bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz
dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n
LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf
U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh
d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA
AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk
cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi
eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv
bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE
ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4
AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp
bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n
ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu
RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF
9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA
AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w
BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA
AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ
QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA
ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs=
</value>
</data>
<data name="DokList.PropBag" xml:space="preserve">
<value>&lt;?xml version="1.0"?&gt;&lt;Blob&gt;&lt;Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"&gt;&lt;Data&gt;HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Style4{}Style9{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style6{}Style1{}Caption{Wrap:True;Trimming:Character;AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}&lt;/Data&gt;&lt;/Styles&gt;&lt;Splits&gt;&lt;C1.Win.C1TrueDBGrid.MergeView HBarHeight="16" VBarHeight="16" Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="16" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"&gt;&lt;CaptionStyle parent="Style2" me="Style10" /&gt;&lt;EditorStyle parent="Editor" me="Style5" /&gt;&lt;EvenRowStyle parent="EvenRow" me="Style8" /&gt;&lt;FilterBarStyle parent="FilterBar" me="Style13" /&gt;&lt;FilterWatermarkStyle parent="FilterWatermark" me="Style14" /&gt;&lt;FooterStyle parent="Footer" me="Style3" /&gt;&lt;GroupStyle parent="Group" me="Style12" /&gt;&lt;HeadingStyle parent="Heading" me="Style2" /&gt;&lt;HighLightRowStyle parent="HighlightRow" me="Style7" /&gt;&lt;InactiveStyle parent="Inactive" me="Style4" /&gt;&lt;OddRowStyle parent="OddRow" me="Style9" /&gt;&lt;RecordSelectorStyle parent="RecordSelector" me="Style11" /&gt;&lt;SelectedStyle parent="Selected" me="Style6" /&gt;&lt;Style parent="Normal" me="Style1" /&gt;&lt;ClientRect&gt;0, 0, 415, 275&lt;/ClientRect&gt;&lt;BorderSide&gt;0&lt;/BorderSide&gt;&lt;/C1.Win.C1TrueDBGrid.MergeView&gt;&lt;/Splits&gt;&lt;NamedStyles&gt;&lt;Style parent="" me="Normal" /&gt;&lt;Style parent="Normal" me="Heading" /&gt;&lt;Style parent="Heading" me="Footer" /&gt;&lt;Style parent="Heading" me="Caption" /&gt;&lt;Style parent="Heading" me="Inactive" /&gt;&lt;Style parent="Normal" me="Selected" /&gt;&lt;Style parent="Normal" me="Editor" /&gt;&lt;Style parent="Normal" me="HighlightRow" /&gt;&lt;Style parent="Normal" me="EvenRow" /&gt;&lt;Style parent="Normal" me="OddRow" /&gt;&lt;Style parent="Heading" me="RecordSelector" /&gt;&lt;Style parent="Normal" me="FilterBar" /&gt;&lt;Style parent="FilterBar" me="FilterWatermark" /&gt;&lt;Style parent="Caption" me="Group" /&gt;&lt;/NamedStyles&gt;&lt;vertSplits&gt;1&lt;/vertSplits&gt;&lt;horzSplits&gt;1&lt;/horzSplits&gt;&lt;Layout&gt;None&lt;/Layout&gt;&lt;DefaultRecSelWidth&gt;17&lt;/DefaultRecSelWidth&gt;&lt;ClientArea&gt;0, 0, 415, 275&lt;/ClientArea&gt;&lt;PrintPageHeaderStyle parent="" me="Style15" /&gt;&lt;PrintPageFooterStyle parent="" me="Style16" /&gt;&lt;/Blob&gt;</value>
</data>
</root>

View File

@@ -0,0 +1,28 @@
Public Class frmBenutzer
Private Sub frmBenutzer_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.DokList.DataSource = Globals.Userdata.Tables(0)
Me.DokList.DataMember = Globals.Userdata.Tables(0).TableName
End Sub
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
Me.Close()
End Sub
Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
For Each dr As DataRow In Globals.Userdata.Tables(0).Rows
dr.Item(0) = Crypto.EncryptText(dr.Item(0).ToString, "Selbstanzeigen")
Next
Globals.Userdata.WriteXml(Application.StartupPath + "\users.xml")
Globals.Userdata.Tables.Clear()
Globals.Userdata.ReadXml(Application.StartupPath + "\users.xml")
For Each dr As DataRow In Globals.Userdata.Tables(0).Rows
dr.Item(0) = Crypto.DecryptText(dr.Item(0).ToString, "Selbstanzeigen")
Next
Me.DokList.DataSource = Nothing
Me.DokList.DataSource = Globals.Userdata.Tables(0)
Me.DokList.DataMember = Globals.Userdata.Tables(0).TableName
End Sub
End Class

View File

@@ -0,0 +1,107 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmMain1
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.MenuStrip1 = New System.Windows.Forms.MenuStrip()
Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.lstPlugins = New System.Windows.Forms.ListBox()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.BenutzerverwaltungToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.MenuStrip1.SuspendLayout()
Me.GroupBox1.SuspendLayout()
Me.SuspendLayout()
'
'MenuStrip1
'
Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem, Me.BenutzerverwaltungToolStripMenuItem})
Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
Me.MenuStrip1.Name = "MenuStrip1"
Me.MenuStrip1.Size = New System.Drawing.Size(1310, 24)
Me.MenuStrip1.TabIndex = 0
Me.MenuStrip1.Text = "MenuStrip1"
'
'DateiToolStripMenuItem
'
Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem})
Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem"
Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20)
Me.DateiToolStripMenuItem.Text = "&Datei"
'
'BeendenToolStripMenuItem
'
Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem"
Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(120, 22)
Me.BeendenToolStripMenuItem.Text = "&Beenden"
'
'lstPlugins
'
Me.lstPlugins.Dock = System.Windows.Forms.DockStyle.Fill
Me.lstPlugins.IntegralHeight = False
Me.lstPlugins.Location = New System.Drawing.Point(3, 16)
Me.lstPlugins.Name = "lstPlugins"
Me.lstPlugins.Size = New System.Drawing.Size(194, 695)
Me.lstPlugins.TabIndex = 4
'
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.lstPlugins)
Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Left
Me.GroupBox1.Location = New System.Drawing.Point(0, 24)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New System.Drawing.Size(200, 714)
Me.GroupBox1.TabIndex = 6
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Funktionen"
'
'BenutzerverwaltungToolStripMenuItem
'
Me.BenutzerverwaltungToolStripMenuItem.Name = "BenutzerverwaltungToolStripMenuItem"
Me.BenutzerverwaltungToolStripMenuItem.Size = New System.Drawing.Size(124, 20)
Me.BenutzerverwaltungToolStripMenuItem.Text = "Benutzerverwaltung"
'
'frmMain1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1310, 738)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.MenuStrip1)
Me.IsMdiContainer = True
Me.Name = "frmMain1"
Me.Text = "EDOKA_Tools"
Me.MenuStrip1.ResumeLayout(False)
Me.MenuStrip1.PerformLayout()
Me.GroupBox1.ResumeLayout(False)
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip
Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents lstPlugins As System.Windows.Forms.ListBox
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
Friend WithEvents BenutzerverwaltungToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
End Class

View File

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

View File

@@ -0,0 +1,133 @@
Imports System.IO
Imports System.Security.Principal
Public Class frmMain1
Private Plugins() As PluginServices.AvailablePlugin
Private objHost As EDOKA_PluginLib.IHost
Dim users As New DataSet
Dim userrechte As Integer
Dim onload As Boolean = True
Private Sub PopulatePluginList()
Dim objPlugin As EDOKA_PluginLib.IPlugin
Dim intIndex As Integer
lstPlugins.Items.Add("Funktion wählen:")
'Loop through available plugins, creating instances and adding them to listbox
For intIndex = 0 To Plugins.Length - 1
objPlugin = DirectCast(PluginServices.CreateInstance(Plugins(intIndex)), EDOKA_PluginLib.IPlugin)
lstPlugins.Items.Add(objPlugin.Name)
Next
lstPlugins.SelectedIndex = 0
End Sub
Private Sub BeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BeendenToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If check_user() = False Then End
If userrechte = 1 Then BeendenToolStripMenuItem.Visible = True Else BenutzerverwaltungToolStripMenuItem.Visible = False
Plugins = PluginServices.FindPlugins(Path.GetDirectoryName(Application.ExecutablePath), "EDOKA_PluginLib.IPlugin")
If Plugins Is Nothing Then
MessageBox.Show("No plugins found!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Stop)
Exit Sub
End If
PopulatePluginList()
onload = False
End Sub
Private Sub lstPlugins_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lstPlugins.SelectedIndexChanged
Cursor = Cursors.WaitCursor
Dim objPlugin As EDOKA_PluginLib.IPlugin
Dim dblResult As Double
Try
'Create and initialize plugin
objPlugin = DirectCast(PluginServices.CreateInstance(Plugins(lstPlugins.SelectedIndex - 1)), EDOKA_PluginLib.IPlugin)
objPlugin.Initialize(objHost)
Catch ex As Exception
Cursor = Cursors.Default
Exit Sub
End Try
'Run calculation and return result
Try
objPlugin.Show(Globals.Mitarbeiternr, "", Me)
Catch ex As Exception
Cursor = Cursors.Default
MessageBox.Show("Error " + ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End Try
Cursor = Cursors.Default
End Sub
Dim ouser As New WindowsPrincipal(WindowsIdentity.GetCurrent)
''' <summary>
''' Windows-User auslesen
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Private Function Get_Username() As String
With ouser.Identity.Name
Return (.Substring(.IndexOf("\") + 1))
End With
End Function
#Region "Tools"
Sub create_usertable(ByVal username As String)
Dim ds As New DataSet
ds.Tables.Add("Users")
ds.Tables(0).Columns.Add("TGNummer")
ds.Tables(0).Columns.Add("Rolle")
ds.Tables(0).Columns.Add("EDOKA_MA_Nr")
Dim dr As DataRow = ds.Tables(0).NewRow
dr.Item(0) = Crypto.EncryptText(username, "Selbstanzeigen")
dr.Item(1) = 1
dr.Item(2) = 0
ds.Tables(0).Rows.Add(dr)
ds.WriteXml(Application.StartupPath + "\users.xml")
End Sub
Function check_user() As Boolean
Dim user As String = Get_Username()
If Not System.IO.File.Exists(Application.StartupPath + "\users.xml") Then
MsgBox("User-Datenbank ist nicht vorhanden und wird neu erstellt", MsgBoxStyle.Critical)
Dim s As String = InputBox("Geben Sie das Passwort ein:")
If s <> "edokatools" Then
Return False
End If
create_usertable(user)
Return False
End If
Globals.Userdata.ReadXml(Application.StartupPath + "\users.xml")
For Each dr As DataRow In Globals.Userdata.Tables(0).Rows
dr.Item(0) = Crypto.DecryptText(dr.Item(0).ToString, "Selbstanzeigen")
Next
userrechte = -1
For Each dr As DataRow In Globals.Userdata.Tables(0).Rows
If UCase(user) = UCase(dr.Item(0)) Then
If dr.Item(1) = 1 Then userrechte = 1 Else userrechte = 0
Globals.Mitarbeiternr = dr.Item(2)
Globals.tgnummer = user
Exit For
End If
Next
If userrechte = -1 Then
MsgBox("Sie sind nicht berechtig, die Applikation zu verwenden.", MsgBoxStyle.Exclamation)
Return False
End If
Return True
End Function
#End Region
Private Sub BenutzerverwaltungToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BenutzerverwaltungToolStripMenuItem.Click
Dim f As New frmBenutzer
f.MdiParent = Me
f.Show()
End Sub
End Class

View File

@@ -0,0 +1,23 @@
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\bin\Debug\EDOKA_Toolset.exe
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\bin\Debug\EDOKA_Toolset.pdb
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\bin\Debug\EDOKA_Toolset.xml
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\bin\Debug\PluginLib.dll
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\bin\Debug\PluginLib.pdb
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\bin\Debug\PluginLib.xml
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\Bin\EDOKA_Toolset.exe
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\Bin\EDOKA_Toolset.pdb
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\Bin\EDOKA_Toolset.xml
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.frmBenutzer.resources
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.frmMain1.resources
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.Resources.resources
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.vbproj.GenerateResource.Cache
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.exe.licenses
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.exe
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.xml
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.pdb
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\Bin\EDOKA_Toolset.exe.config
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.vbprojResolveAssemblyReference.cache
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset - Kopie\Bin\EDOKA_Toolset.exe.config
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset - Kopie\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.exe
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset - Kopie\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.xml
E:\Software-Projekte\EDOKA\tools\EDOKA_Toolset - Kopie\EDOKA_Toolset\obj\Debug\EDOKA_Toolset.pdb

View File

@@ -0,0 +1,33 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
EDOKA_Toolset
</name>
</assembly>
<members>
<member name="M:EDOKA_Toolset.frmMain1.Get_Username">
<summary>
Windows-User auslesen
</summary>
<returns></returns>
<remarks></remarks>
</member>
<member name="T:EDOKA_Toolset.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:EDOKA_Toolset.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:EDOKA_Toolset.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
</members>
</doc>