diff --git a/DD_Clipboard_Searcher/.gitattributes b/.gitattributes similarity index 100% rename from DD_Clipboard_Searcher/.gitattributes rename to .gitattributes diff --git a/DD_Clipboard_Searcher/.gitignore b/.gitignore similarity index 100% rename from DD_Clipboard_Searcher/.gitignore rename to .gitignore diff --git a/DD_Clipboard_Searcher.v12.suo b/DD_Clipboard_Searcher.v12.suo deleted file mode 100644 index dc8c104..0000000 Binary files a/DD_Clipboard_Searcher.v12.suo and /dev/null differ diff --git a/DD_Clipboard_Searcher/DD_Clipboard_Searcher.vbproj.user b/DD_Clipboard_Searcher/DD_Clipboard_Searcher.vbproj.user deleted file mode 100644 index fe7dc22..0000000 --- a/DD_Clipboard_Searcher/DD_Clipboard_Searcher.vbproj.user +++ /dev/null @@ -1,6 +0,0 @@ - - - - ShowAllFiles - - \ No newline at end of file diff --git a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.exe b/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.exe deleted file mode 100644 index 595c756..0000000 Binary files a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.exe and /dev/null differ diff --git a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.exe.config b/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.exe.config deleted file mode 100644 index b43e937..0000000 --- a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.exe.config +++ /dev/null @@ -1,23 +0,0 @@ - - - - -
- - - - - - - - - - - - False - - - - \ No newline at end of file diff --git a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.pdb b/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.pdb deleted file mode 100644 index 523fd7c..0000000 Binary files a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.pdb and /dev/null differ diff --git a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.vshost.exe b/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.vshost.exe deleted file mode 100644 index c0dfecc..0000000 Binary files a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.vshost.exe and /dev/null differ diff --git a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.vshost.exe.config b/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.vshost.exe.config deleted file mode 100644 index b43e937..0000000 --- a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.vshost.exe.config +++ /dev/null @@ -1,23 +0,0 @@ - - - - -
- - - - - - - - - - - - False - - - - \ No newline at end of file diff --git a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.vshost.exe.manifest b/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.vshost.exe.manifest deleted file mode 100644 index 061c9ca..0000000 --- a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.vshost.exe.manifest +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.xml b/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.xml deleted file mode 100644 index 76f6a39..0000000 --- a/DD_Clipboard_Searcher/bin/Debug/DD_Clipboard_Searcher.xml +++ /dev/null @@ -1,256 +0,0 @@ - - - - -DD_Clipboard_Searcher - - - - - - Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. - - - - - Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. - - - - - Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle - Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. - - - - - Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - - - - - Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - - - - - Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - - - - - Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - - - - - Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - - - - - Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - - - - - Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - - - - - Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - - - - - Diesem Event wird immer die zugewiesene HotKeyID übergeben wenn eine HotKey Kombination gedrückt wurde. - - - - - Diese Funktion fügt einen Hotkey hinzu und registriert ihn auch sofort - - Den KeyCode für die Taste - Die Zusatztasten wie z.B. Strg oder Alt, diese können auch mit OR kombiniert werden - Die ID die der Hotkey bekommen soll um diesen zu identifizieren - - - - Diese Funktion entfernt einen Hotkey und deregistriert ihn auch sofort - - Gibt die HotkeyID an welche entfernt werden soll - - - - Get all top-level window information - - List of window information objects - - - - Get all child windows for the specific windows handle (hwnd). - - List of child windows for parent window - - - - Callback function that does the work of enumerating top-level windows. - - Discovered Window handle - 1=keep going, 0=stop - - - - Callback function that does the work of enumerating child windows. - - Discovered Window handle - 1=keep going, 0=stop - - - - Build the ApiWindow object to hold information about the Window object. - - - - -Represents a strongly typed in-memory cache of data. - - - - -Represents the strongly named DataTable class. - - - - -Represents the strongly named DataTable class. - - - - -Represents the strongly named DataTable class. - - - - -Represents the strongly named DataTable class. - - - - -Represents the strongly named DataTable class. - - - - -Represents strongly named DataRow class. - - - - -Represents strongly named DataRow class. - - - - -Represents strongly named DataRow class. - - - - -Represents strongly named DataRow class. - - - - -Represents strongly named DataRow class. - - - - -Row event argument class - - - - -Row event argument class - - - - -Row event argument class - - - - -Row event argument class - - - - -Row event argument class - - - - -Represents the connection and commands used to retrieve and save data. - - - - -Represents the connection and commands used to retrieve and save data. - - - - -Represents the connection and commands used to retrieve and save data. - - - - -Represents the connection and commands used to retrieve and save data. - - - - -TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios - - - - -Update rows in top-down order. - - - - -Insert rows in top-down order. - - - - -Delete rows in bottom-up order. - - - - -Remove inserted rows that become updated rows after calling TableAdapter.Update(inserted rows) first - - - - -Update all changes to the dataset. - - - - -Update Order Option - - - - -Used to sort self-referenced table's rows - - - - diff --git a/DD_Clipboard_Searcher/bin/Debug/DD_LIB_Standards.dll b/DD_Clipboard_Searcher/bin/Debug/DD_LIB_Standards.dll deleted file mode 100644 index 7a6b842..0000000 Binary files a/DD_Clipboard_Searcher/bin/Debug/DD_LIB_Standards.dll and /dev/null differ diff --git a/DD_Clipboard_Searcher/bin/Debug/DD_LIB_Standards.pdb b/DD_Clipboard_Searcher/bin/Debug/DD_LIB_Standards.pdb deleted file mode 100644 index c83bd0c..0000000 Binary files a/DD_Clipboard_Searcher/bin/Debug/DD_LIB_Standards.pdb and /dev/null differ diff --git a/DD_Clipboard_Searcher/bin/Debug/DD_LIB_Standards.xml b/DD_Clipboard_Searcher/bin/Debug/DD_LIB_Standards.xml deleted file mode 100644 index f2ce66f..0000000 --- a/DD_Clipboard_Searcher/bin/Debug/DD_LIB_Standards.xml +++ /dev/null @@ -1,322 +0,0 @@ - - - - -DD_LIB_Standards - - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Establishes a databaseconnection and returns false or true - - SQL-Server ConnectionString - true if this is a proxy-Conenction - Returns true when connection was established, false if not - - - - - Returns a .Net Datatable for an sql-statement - - select statement for datatable (select XYZ from TableORView) - true if this statement shall be executed on the proxy-server - Returns a .Net Datatable - - - - - Executes the passed sql-statement - - the sql statement - true if this statement shall be executed on the proxy-server - Returns true if properly executed, else false - - - - - Executes the passed sql-statement as scalar-Command - - the scalarCommand - true if this statement shall be executed on the proxy-server - Returns the scalar-result as .net-object - - - - - Konstruktor der Lizenz - - Name des Moduls - Gültigkeitsdatum der Lizenz - - - - - Liefert oder setzt den Namen des Moduls für diese Lizenz - - - - - - - - Liefert oder setzt das Gültigkeitsdatum der Lizenz für das Modul - - - - - - - - Liefert ob die Lizenz schon abgelaufen ist - - - - - - - - Liefert den Typend er Lizenz - - - - - - - - Liefert die Anzahl der Profile - - - - - - - - Konstruktor für den Lizenz-Manager - - Passwort zum Entschlüsseln des Lizenzkeys - verschlüsselter Lizenzkey - - - - - Konstruktor für den Lizenz-Manager ohne License load - - Passwort zum Entschlüsseln des Lizenzkeys - - - - - Lädt alle Lizenzen aus dem Lizenz-Array - - - - - - Codiert eine Zeichenkette - - zu verschlüsselnde Zeichenkette - das zur Verschlüsselung verwendete Passwort - liefert eine verschlüsselte Zeichenkette - - - - - Decodiert den verschlüsselten Lizenzkey - - verschlüsselter Lizenzkey - - - - - - Zerlegt den entschlüsselten Lizenzkey - - entschlüsselter Lizenzkey - - - - - - Liefert das Passwort zum Entschlüsseln des Lizenzschlüssels - - - - - - - - Liefert eine Sammlung von Lizenzobjekten - - - - - - - - Liefert oder setzt den Lizenzschlüssel - - - - - - - - Konstruktor für die Lizenzen-Sammlung - - In Array übertragene Lizenzinformationen - - - - - Fügt der Lizenz-Sammlung eine Lizenz hinzu - - Name des Moduls, für das eine Lizenz angelegt werden soll - Datum der Gültigkeit der Lizenz - - - - - Liefert eine Lizenz an Hand des Modulnamens - - Name des zu suchenden Moduls - liefert ein Lizenzobjekt - - - - - liefert eine Sammlung von Lizenzobjekten - - - - - - - - liefert eine Lizenz an Hand des Modulnamens - - Name des zu suchenden Moduls - - - - - - - Liefert oder setzt den Firmennamen des Lizenzeigentümers - - - - - - - - Liefert alle Indexe eines Objekttypen. - - Name des Objekttyps - Array mit allen Objekttyp zugeordneten Indexen als String - - - - - returns all objecttypes as windream-Objects - - all widnream-Objecttypes as objects - - - - - Checks wether a file is existing in windream - - full filepath to the file - Returns true when file exists, false if not - - - - - Returns a windream-type as Integer. - - Name of indexfield - Returns integer, which describes the type - - - - - Returns a windream-type as Integer. - - filepath of windream-file - Username to check - Returns info about filerights - - - - - Creates a new version of the file - - full WD_File to the file - Comment - Returns true when version was created exists, false if not - - - - - Deletes a file in windream - - full WD_File to the file - Returns true when file was deleted, false if not - - - - - Passes indexvalues to a windream-file - - full WD_File to the file - Indexname of Index - Value for indexing - _objecttype - Returns true when indexing was successfull, false if not - - - - - Removes the vektorlink from windream - - full WD_File to the file - Indexname of Vektor-Index - Value which is to be deleted - Returns true when indexing was successfull, false if not - - - - - Creates a personified session - - Domainname as string - ServerName as string - UserName as string - Password as string - Returns true when file exists, false if not - - - - - Creates a windream session with the actual user - - - - diff --git a/DD_Clipboard_Searcher/bin/Debug/Interop.WINDREAMLib.dll b/DD_Clipboard_Searcher/bin/Debug/Interop.WINDREAMLib.dll deleted file mode 100644 index 0ca0114..0000000 Binary files a/DD_Clipboard_Searcher/bin/Debug/Interop.WINDREAMLib.dll and /dev/null differ diff --git a/SetupWix/Config.wxi b/SetupWix/Config.wxi deleted file mode 100644 index d824057..0000000 --- a/SetupWix/Config.wxi +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/SetupWix/.gitattributes b/app/DD_Clipboard_Searcher/.gitattributes similarity index 100% rename from SetupWix/.gitattributes rename to app/DD_Clipboard_Searcher/.gitattributes diff --git a/SetupWix/.gitignore b/app/DD_Clipboard_Searcher/.gitignore similarity index 100% rename from SetupWix/.gitignore rename to app/DD_Clipboard_Searcher/.gitignore diff --git a/DD_Clipboard_Searcher/App.config b/app/DD_Clipboard_Searcher/App.config similarity index 64% rename from DD_Clipboard_Searcher/App.config rename to app/DD_Clipboard_Searcher/App.config index b43e937..953662b 100644 --- a/DD_Clipboard_Searcher/App.config +++ b/app/DD_Clipboard_Searcher/App.config @@ -2,11 +2,11 @@ -
+
- @@ -14,10 +14,10 @@ - + False - + \ No newline at end of file diff --git a/DD_Clipboard_Searcher/Class1.vb b/app/DD_Clipboard_Searcher/Class1.vb similarity index 96% rename from DD_Clipboard_Searcher/Class1.vb rename to app/DD_Clipboard_Searcher/Class1.vb index d7b261d..e81de26 100644 --- a/DD_Clipboard_Searcher/Class1.vb +++ b/app/DD_Clipboard_Searcher/Class1.vb @@ -26,7 +26,7 @@ Public Class ClipboardWatcher : Inherits NativeWindow : Implements IDisposable clsWINDOWSApi.Get_ForegroundWindow_Info() 'Dim CapTxt As String = clsWINDOWSApi.GetCaption() If IsNothing(PROC_Name) Then Exit Sub - If PROC_Name.StartsWith("DD_Clipboard_Searcher") Then Exit Sub + If PROC_Name.StartsWith("DD_Clipboard_Watcher") Then Exit Sub If LogErrorsOnly = False Then clsLogger.Add(String.Format(" >>{0} - Clipboard ChangedEvent for process '{1}' fired!", Now.ToString, PROC_Name), False) ' If CapTxt.ToUpper.StartsWith("DD") Then Exit Sub RaiseEvent Changed(Me, EventArgs.Empty) diff --git a/DD_Clipboard_Searcher/ClassInit.vb b/app/DD_Clipboard_Searcher/ClassInit.vb similarity index 90% rename from DD_Clipboard_Searcher/ClassInit.vb rename to app/DD_Clipboard_Searcher/ClassInit.vb index 0539d41..166ee14 100644 --- a/DD_Clipboard_Searcher/ClassInit.vb +++ b/app/DD_Clipboard_Searcher/ClassInit.vb @@ -71,6 +71,7 @@ Public Class ClassInit USER_GUID = USER_DT.Rows(0).Item("GUID") USER_LANGUAGE = USER_DT.Rows(0).Item("LANGUAGE") DT_CLIENT_USER = clsDatabase.Return_Datatable("SELECT T.*, T1.CLIENT_NAME FROM TBDD_CLIENT_USER T,TBDD_CLIENT T1 WHERE T.CLIENT_ID = T1.GUID AND T.USER_ID = " & USER_GUID, True) + Dim Access_right As Boolean = False sql = String.Format("SELECT COUNT(T.GUID) FROM TBDD_USER_MODULES T, TBDD_MODULES T1 WHERE T.MODULE_ID = T1.GUID AND UPPER(T1.NAME) = UPPER('Clipboard-Searcher') AND T.USER_ID = {0}", USER_GUID) Dim USER2MODULE = clsDatabase.Execute_Scalar(sql) @@ -93,11 +94,19 @@ Public Class ClassInit MsgBox(msg, MsgBoxStyle.Exclamation, "Attention:") Return False Else + If DT_CLIENT_USER.Rows.Count = 0 Then + Dim msg = String.Format("Keine Client-Modul Verknüpfung für Ihren User definiert." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!") + If USER_LANGUAGE <> "de-DE" Then + msg = String.Format("Noc client-module link for Your user." & vbNewLine & "Please contact the admin.") + End If + MsgBox(msg, MsgBoxStyle.Exclamation, "Attention:") + Return False + End If 'Am System anmelden - clsLicense.Refresh_Licence(0) + clsLicense.Refresh_Licence(DT_CLIENT_USER.Rows(0).Item("CLIENT_ID")) 'Am System anmelden - sql = String.Format("UPDATE TBDD_USER SET LOGGED_IN = 1, LOGGED_WHERE = '{0}' WHERE GUID = {1}", Environment.MachineName, USER_GUID) - clsDatabase.Execute_non_Query(sql) + ' sql = String.Format("UPDATE TBDD_USER SET LOGGED_IN = 1, LOGGED_WHERE = '{0}' WHERE GUID = {1}", Environment.MachineName, USER_GUID) + 'clsDatabase.Execute_non_Query(sql) sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE= 'Clipboard-Searcher'" If clsDatabase.Execute_non_Query(sql, True) = True Then diff --git a/DD_Clipboard_Searcher/ClassLayout.vb b/app/DD_Clipboard_Searcher/ClassLayout.vb similarity index 100% rename from DD_Clipboard_Searcher/ClassLayout.vb rename to app/DD_Clipboard_Searcher/ClassLayout.vb diff --git a/DD_Clipboard_Searcher/DD_Clipboard_Searcher.vbproj b/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj similarity index 96% rename from DD_Clipboard_Searcher/DD_Clipboard_Searcher.vbproj rename to app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj index 9d8d404..e692aa6 100644 --- a/DD_Clipboard_Searcher/DD_Clipboard_Searcher.vbproj +++ b/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj @@ -6,9 +6,9 @@ AnyCPU {09BC9934-1A38-4752-8873-639B42779CDB} WinExe - DD_Clipboard_Searcher.My.MyApplication - DD_Clipboard_Searcher - DD_Clipboard_Searcher + DD_Clipboard_Watcher.My.MyApplication + DD_Clipboard_Watcher + DD_Clipboard_Watcher 512 WindowsForms v4.5.1 @@ -21,7 +21,7 @@ true true bin\Debug\ - DD_Clipboard_Searcher.xml + DD_Clipboard_Watcher.xml 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 @@ -31,7 +31,7 @@ true true bin\Release\ - DD_Clipboard_Searcher.xml + DD_Clipboard_Watcher.xml 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 @@ -242,6 +242,8 @@ + + diff --git a/DD_Clipboard_Searcher/KeyOutput_8167.ico b/app/DD_Clipboard_Searcher/KeyOutput_8167.ico similarity index 100% rename from DD_Clipboard_Searcher/KeyOutput_8167.ico rename to app/DD_Clipboard_Searcher/KeyOutput_8167.ico diff --git a/DD_Clipboard_Searcher/My Project/Application.Designer.vb b/app/DD_Clipboard_Searcher/My Project/Application.Designer.vb similarity index 56% rename from DD_Clipboard_Searcher/My Project/Application.Designer.vb rename to app/DD_Clipboard_Searcher/My Project/Application.Designer.vb index a89d677..9b69cd4 100644 --- a/DD_Clipboard_Searcher/My Project/Application.Designer.vb +++ b/app/DD_Clipboard_Searcher/My Project/Application.Designer.vb @@ -1,38 +1,38 @@ -'------------------------------------------------------------------------------ -' -' This code was generated by a tool. -' Runtime Version:4.0.30319.36366 -' -' Changes to this file may cause incorrect behavior and will be lost if -' the code is regenerated. -' -'------------------------------------------------------------------------------ - -Option Strict On -Option Explicit On - - -Namespace My - - 'NOTE: This file is auto-generated; do not modify it directly. To make changes, - ' or if you encounter build errors in this file, go to the Project Designer - ' (go to Project Properties or double-click the My Project node in - ' Solution Explorer), and make changes on the Application tab. - ' - 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.DD_Clipboard_Searcher.frmMain - End Sub - End Class -End Namespace +'------------------------------------------------------------------------------ +' +' 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. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'HINWEIS: Diese Datei wird automatisch generiert und darf nicht direkt bearbeitet werden. Wenn Sie Änderungen vornehmen möchten + ' oder in dieser Datei Buildfehler auftreten, 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.DD_Clipboard_Watcher.frmMain + End Sub + End Class +End Namespace diff --git a/DD_Clipboard_Searcher/My Project/Application.myapp b/app/DD_Clipboard_Searcher/My Project/Application.myapp similarity index 93% rename from DD_Clipboard_Searcher/My Project/Application.myapp rename to app/DD_Clipboard_Searcher/My Project/Application.myapp index ddd964a..5907301 100644 --- a/DD_Clipboard_Searcher/My Project/Application.myapp +++ b/app/DD_Clipboard_Searcher/My Project/Application.myapp @@ -1,10 +1,10 @@ - - - true - frmMain - false - 0 - true - 0 - true + + + true + frmMain + false + 0 + true + 0 + true \ No newline at end of file diff --git a/DD_Clipboard_Searcher/My Project/AssemblyInfo.vb b/app/DD_Clipboard_Searcher/My Project/AssemblyInfo.vb similarity index 92% rename from DD_Clipboard_Searcher/My Project/AssemblyInfo.vb rename to app/DD_Clipboard_Searcher/My Project/AssemblyInfo.vb index 1981c67..c9e157d 100644 --- a/DD_Clipboard_Searcher/My Project/AssemblyInfo.vb +++ b/app/DD_Clipboard_Searcher/My Project/AssemblyInfo.vb @@ -18,7 +18,7 @@ Imports System.Runtime.InteropServices '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: ' @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + diff --git a/DD_Clipboard_Searcher/My Project/Resources.Designer.vb b/app/DD_Clipboard_Searcher/My Project/Resources.Designer.vb similarity index 86% rename from DD_Clipboard_Searcher/My Project/Resources.Designer.vb rename to app/DD_Clipboard_Searcher/My Project/Resources.Designer.vb index fb704eb..afb6a9d 100644 --- a/DD_Clipboard_Searcher/My Project/Resources.Designer.vb +++ b/app/DD_Clipboard_Searcher/My Project/Resources.Designer.vb @@ -1,7 +1,7 @@ '------------------------------------------------------------------------------ ' ' Dieser Code wurde von einem Tool generiert. -' Laufzeitversion:4.0.30319.36366 +' Laufzeitversion:4.0.30319.42000 ' ' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn ' der Code erneut generiert wird. @@ -39,7 +39,7 @@ Namespace My.Resources 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("DD_Clipboard_Searcher.Resources", GetType(Resources).Assembly) + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DD_Clipboard_Watcher.Resources", GetType(Resources).Assembly) resourceMan = temp End If Return resourceMan @@ -130,6 +130,16 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property startwithoutdebugging_6556() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("startwithoutdebugging_6556", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -139,5 +149,15 @@ Namespace My.Resources Return CType(obj,System.Drawing.Bitmap) End Get End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property Symbols_Stop_16xLG() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("Symbols_Stop_16xLG", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property End Module End Namespace diff --git a/DD_Clipboard_Searcher/My Project/Resources.resx b/app/DD_Clipboard_Searcher/My Project/Resources.resx similarity index 93% rename from DD_Clipboard_Searcher/My Project/Resources.resx rename to app/DD_Clipboard_Searcher/My Project/Resources.resx index f29a047..fbd5982 100644 --- a/DD_Clipboard_Searcher/My Project/Resources.resx +++ b/app/DD_Clipboard_Searcher/My Project/Resources.resx @@ -118,28 +118,34 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\ReduceSize.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\GoToDefinition_5575.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\control_start_blue.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\KeyOutput_8167.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\StatusAnnotations_Stop_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Annotation_New.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\KeyDown_8461.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\folder_Open_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Annotation_New.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\control_start_blue.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\ReduceSize.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\startwithoutdebugging_6556.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Symbols_Stop_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/DD_Clipboard_Searcher/My Project/Settings.Designer.vb b/app/DD_Clipboard_Searcher/My Project/Settings.Designer.vb similarity index 91% rename from DD_Clipboard_Searcher/My Project/Settings.Designer.vb rename to app/DD_Clipboard_Searcher/My Project/Settings.Designer.vb index dbd1f81..97f553a 100644 --- a/DD_Clipboard_Searcher/My Project/Settings.Designer.vb +++ b/app/DD_Clipboard_Searcher/My Project/Settings.Designer.vb @@ -1,7 +1,7 @@ '------------------------------------------------------------------------------ ' ' Dieser Code wurde von einem Tool generiert. -' Laufzeitversion:4.0.30319.36366 +' Laufzeitversion:4.0.30319.42000 ' ' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn ' der Code erneut generiert wird. @@ -15,21 +15,21 @@ 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" +#Region "Automatische My.Settings-Speicherfunktion" #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) + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) If My.Application.SaveMySettingsOnExit Then My.Settings.Save() End If @@ -87,9 +87,9 @@ Namespace My Friend Module MySettingsProperty _ - Friend ReadOnly Property Settings() As Global.DD_Clipboard_Searcher.My.MySettings + Friend ReadOnly Property Settings() As Global.DD_Clipboard_Watcher.My.MySettings Get - Return Global.DD_Clipboard_Searcher.My.MySettings.Default + Return Global.DD_Clipboard_Watcher.My.MySettings.Default End Get End Property End Module diff --git a/DD_Clipboard_Searcher/My Project/Settings.settings b/app/DD_Clipboard_Searcher/My Project/Settings.settings similarity index 100% rename from DD_Clipboard_Searcher/My Project/Settings.settings rename to app/DD_Clipboard_Searcher/My Project/Settings.settings diff --git a/DD_Clipboard_Searcher/My Project/licenses.licx b/app/DD_Clipboard_Searcher/My Project/licenses.licx similarity index 100% rename from DD_Clipboard_Searcher/My Project/licenses.licx rename to app/DD_Clipboard_Searcher/My Project/licenses.licx diff --git a/DD_Clipboard_Searcher/MyDataset.Designer.vb b/app/DD_Clipboard_Searcher/MyDataset.Designer.vb similarity index 78% rename from DD_Clipboard_Searcher/MyDataset.Designer.vb rename to app/DD_Clipboard_Searcher/MyDataset.Designer.vb index 3ef3fb5..abf0016 100644 --- a/DD_Clipboard_Searcher/MyDataset.Designer.vb +++ b/app/DD_Clipboard_Searcher/MyDataset.Designer.vb @@ -1,7 +1,7 @@ '------------------------------------------------------------------------------ ' ' Dieser Code wurde von einem Tool generiert. -' Laufzeitversion:4.0.30319.36366 +' Laufzeitversion:4.0.30319.42000 ' ' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn ' der Code erneut generiert wird. @@ -26,41 +26,41 @@ Partial Public Class MyDataset Inherits Global.System.Data.DataSet Private tableTBCBS_PROFILES As TBCBS_PROFILESDataTable - + Private tableTBCBS_USER_PROFILE As TBCBS_USER_PROFILEDataTable - + Private tableVWUSER_PROFILE As VWUSER_PROFILEDataTable - + Private tableTBCBS_PROFILE_PROCESS As TBCBS_PROFILE_PROCESSDataTable - + Private tableTBWH_User As TBWH_UserDataTable - + Private _schemaSerializationMode As Global.System.Data.SchemaSerializationMode = Global.System.Data.SchemaSerializationMode.IncludeSchema - - _ + + _ Public Sub New() - MyBase.New() - Me.BeginInit() - Me.InitClass() + 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() + 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) + 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) + 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))) @@ -85,8 +85,8 @@ Partial Public Class MyDataset Me.Locale = ds.Locale Me.CaseSensitive = ds.CaseSensitive Me.EnforceConstraints = ds.EnforceConstraints - Me.Merge(ds, False, Global.System.Data.MissingSchemaAction.Add) - Me.InitVars() + 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 @@ -95,122 +95,122 @@ Partial Public Class MyDataset AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler AddHandler Me.Relations.CollectionChanged, schemaChangedHandler End Sub - - _ + + _ Public ReadOnly Property TBCBS_PROFILES() As TBCBS_PROFILESDataTable Get Return Me.tableTBCBS_PROFILES End Get End Property - - _ + + _ Public ReadOnly Property TBCBS_USER_PROFILE() As TBCBS_USER_PROFILEDataTable Get Return Me.tableTBCBS_USER_PROFILE End Get End Property - - _ + + _ Public ReadOnly Property VWUSER_PROFILE() As VWUSER_PROFILEDataTable Get Return Me.tableVWUSER_PROFILE End Get End Property - - _ + + _ Public ReadOnly Property TBCBS_PROFILE_PROCESS() As TBCBS_PROFILE_PROCESSDataTable Get Return Me.tableTBCBS_PROFILE_PROCESS End Get End Property - - _ + + _ Public ReadOnly Property TBWH_User() As TBWH_UserDataTable Get Return Me.tableTBWH_User End Get End Property - - _ + + _ Public Overrides Property SchemaSerializationMode() As Global.System.Data.SchemaSerializationMode Get Return Me._schemaSerializationMode End Get - Set(value As Global.System.Data.SchemaSerializationMode) + 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() + Me.BeginInit + Me.InitClass + Me.EndInit End Sub - - _ + + _ Public Overrides Function Clone() As Global.System.Data.DataSet - Dim cln As MyDataset = CType(MyBase.Clone, MyDataset) - cln.InitVars() + Dim cln As MyDataset = CType(MyBase.Clone,MyDataset) + cln.InitVars cln.SchemaSerializationMode = Me.SchemaSerializationMode Return cln End Function - - _ + + _ Protected Overrides Function ShouldSerializeTables() As Boolean - Return False + Return false End Function - - _ + + _ Protected Overrides Function ShouldSerializeRelations() As Boolean - Return False + 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() + Me.Reset Dim ds As Global.System.Data.DataSet = New Global.System.Data.DataSet() ds.ReadXml(reader) If (Not (ds.Tables("TBCBS_PROFILES")) Is Nothing) Then @@ -234,71 +234,71 @@ Partial Public Class MyDataset Me.Locale = ds.Locale Me.CaseSensitive = ds.CaseSensitive Me.EnforceConstraints = ds.EnforceConstraints - Me.Merge(ds, False, Global.System.Data.MissingSchemaAction.Add) - Me.InitVars() + Me.Merge(ds, false, Global.System.Data.MissingSchemaAction.Add) + Me.InitVars Else Me.ReadXml(reader) - Me.InitVars() + 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) + Me.InitVars(true) End Sub - - _ + + _ Friend Overloads Sub InitVars(ByVal initTable As Boolean) - Me.tableTBCBS_PROFILES = CType(MyBase.Tables("TBCBS_PROFILES"), TBCBS_PROFILESDataTable) - If (initTable = True) Then + Me.tableTBCBS_PROFILES = CType(MyBase.Tables("TBCBS_PROFILES"),TBCBS_PROFILESDataTable) + If (initTable = true) Then If (Not (Me.tableTBCBS_PROFILES) Is Nothing) Then - Me.tableTBCBS_PROFILES.InitVars() + Me.tableTBCBS_PROFILES.InitVars End If End If - Me.tableTBCBS_USER_PROFILE = CType(MyBase.Tables("TBCBS_USER_PROFILE"), TBCBS_USER_PROFILEDataTable) - If (initTable = True) Then + Me.tableTBCBS_USER_PROFILE = CType(MyBase.Tables("TBCBS_USER_PROFILE"),TBCBS_USER_PROFILEDataTable) + If (initTable = true) Then If (Not (Me.tableTBCBS_USER_PROFILE) Is Nothing) Then - Me.tableTBCBS_USER_PROFILE.InitVars() + Me.tableTBCBS_USER_PROFILE.InitVars End If End If - Me.tableVWUSER_PROFILE = CType(MyBase.Tables("VWUSER_PROFILE"), VWUSER_PROFILEDataTable) - If (initTable = True) Then + Me.tableVWUSER_PROFILE = CType(MyBase.Tables("VWUSER_PROFILE"),VWUSER_PROFILEDataTable) + If (initTable = true) Then If (Not (Me.tableVWUSER_PROFILE) Is Nothing) Then - Me.tableVWUSER_PROFILE.InitVars() + Me.tableVWUSER_PROFILE.InitVars End If End If - Me.tableTBCBS_PROFILE_PROCESS = CType(MyBase.Tables("TBCBS_PROFILE_PROCESS"), TBCBS_PROFILE_PROCESSDataTable) - If (initTable = True) Then + Me.tableTBCBS_PROFILE_PROCESS = CType(MyBase.Tables("TBCBS_PROFILE_PROCESS"),TBCBS_PROFILE_PROCESSDataTable) + If (initTable = true) Then If (Not (Me.tableTBCBS_PROFILE_PROCESS) Is Nothing) Then - Me.tableTBCBS_PROFILE_PROCESS.InitVars() + Me.tableTBCBS_PROFILE_PROCESS.InitVars End If End If - Me.tableTBWH_User = CType(MyBase.Tables("TBWH_User"), TBWH_UserDataTable) - If (initTable = True) Then + Me.tableTBWH_User = CType(MyBase.Tables("TBWH_User"),TBWH_UserDataTable) + If (initTable = true) Then If (Not (Me.tableTBWH_User) Is Nothing) Then - Me.tableTBWH_User.InitVars() + Me.tableTBWH_User.InitVars End If End If End Sub - - _ + + _ Private Sub InitClass() Me.DataSetName = "MyDataset" Me.Prefix = "" Me.Namespace = "http://tempuri.org/MyDataset.xsd" - Me.EnforceConstraints = True + Me.EnforceConstraints = true Me.SchemaSerializationMode = Global.System.Data.SchemaSerializationMode.IncludeSchema Me.tableTBCBS_PROFILES = New TBCBS_PROFILESDataTable() MyBase.Tables.Add(Me.tableTBCBS_PROFILES) @@ -311,47 +311,47 @@ Partial Public Class MyDataset Me.tableTBWH_User = New TBWH_UserDataTable() MyBase.Tables.Add(Me.tableTBWH_User) End Sub - - _ + + _ Private Function ShouldSerializeTBCBS_PROFILES() As Boolean - Return False + Return false End Function - - _ + + _ Private Function ShouldSerializeTBCBS_USER_PROFILE() As Boolean - Return False + Return false End Function - - _ + + _ Private Function ShouldSerializeVWUSER_PROFILE() As Boolean - Return False + Return false End Function - - _ + + _ Private Function ShouldSerializeTBCBS_PROFILE_PROCESS() As Boolean - Return False + Return false End Function - - _ + + _ Private Function ShouldSerializeTBWH_User() As Boolean - Return False + 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() + 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 MyDataset = New MyDataset() Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType() @@ -364,97 +364,97 @@ Partial Public Class MyDataset 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 + 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) + 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) _ + + 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() + s1.Close End If If (Not (s2) Is Nothing) Then - s2.Close() + s2.Close End If End Try End If xs.Add(dsSchema) Return type End Function - - _ + + _ Public Delegate Sub TBCBS_PROFILESRowChangeEventHandler(ByVal sender As Object, ByVal e As TBCBS_PROFILESRowChangeEvent) - - _ + + _ Public Delegate Sub TBCBS_USER_PROFILERowChangeEventHandler(ByVal sender As Object, ByVal e As TBCBS_USER_PROFILERowChangeEvent) - - _ + + _ Public Delegate Sub VWUSER_PROFILERowChangeEventHandler(ByVal sender As Object, ByVal e As VWUSER_PROFILERowChangeEvent) - - _ + + _ Public Delegate Sub TBCBS_PROFILE_PROCESSRowChangeEventHandler(ByVal sender As Object, ByVal e As TBCBS_PROFILE_PROCESSRowChangeEvent) - - _ + + _ Public Delegate Sub TBWH_UserRowChangeEventHandler(ByVal sender As Object, ByVal e As TBWH_UserRowChangeEvent) - + ''' '''Represents the strongly named DataTable class. ''' - _ + _ Partial Public Class TBCBS_PROFILESDataTable Inherits Global.System.Data.TypedTableBase(Of TBCBS_PROFILESRow) - + Private columnGUID As Global.System.Data.DataColumn - + Private columnNAME As Global.System.Data.DataColumn - + Private columnCOMMENT As Global.System.Data.DataColumn - + Private columnWD_SEARCH As Global.System.Data.DataColumn - + Private columnREGEX_EXPRESSION As Global.System.Data.DataColumn - + Private columnADDED_WHO As Global.System.Data.DataColumn - + Private columnADDED_WHEN As Global.System.Data.DataColumn - + Private columnCHANGED_WHO As Global.System.Data.DataColumn - + Private columnCHANGED_WHEN As Global.System.Data.DataColumn - - _ + + _ Public Sub New() - MyBase.New() + MyBase.New Me.TableName = "TBCBS_PROFILES" - Me.BeginInit() - Me.InitClass() - Me.EndInit() + Me.BeginInit + Me.InitClass + Me.EndInit End Sub - - _ + + _ Friend Sub New(ByVal table As Global.System.Data.DataTable) - MyBase.New() + MyBase.New Me.TableName = table.TableName If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then Me.CaseSensitive = table.CaseSensitive @@ -468,153 +468,153 @@ Partial Public Class MyDataset 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() + Me.InitVars End Sub - - _ + + _ Public ReadOnly Property GUIDColumn() As Global.System.Data.DataColumn Get Return Me.columnGUID End Get End Property - - _ + + _ Public ReadOnly Property NAMEColumn() As Global.System.Data.DataColumn Get Return Me.columnNAME End Get End Property - - _ + + _ Public ReadOnly Property COMMENTColumn() As Global.System.Data.DataColumn Get Return Me.columnCOMMENT End Get End Property - - _ + + _ Public ReadOnly Property WD_SEARCHColumn() As Global.System.Data.DataColumn Get Return Me.columnWD_SEARCH End Get End Property - - _ + + _ Public ReadOnly Property REGEX_EXPRESSIONColumn() As Global.System.Data.DataColumn Get Return Me.columnREGEX_EXPRESSION End Get End Property - - _ + + _ Public ReadOnly Property ADDED_WHOColumn() As Global.System.Data.DataColumn Get Return Me.columnADDED_WHO End Get End Property - - _ + + _ Public ReadOnly Property ADDED_WHENColumn() As Global.System.Data.DataColumn Get Return Me.columnADDED_WHEN End Get End Property - - _ + + _ Public ReadOnly Property CHANGED_WHOColumn() As Global.System.Data.DataColumn Get Return Me.columnCHANGED_WHO End Get End Property - - _ + + _ Public ReadOnly Property CHANGED_WHENColumn() As Global.System.Data.DataColumn Get Return Me.columnCHANGED_WHEN End Get End Property - - _ + + _ Public ReadOnly Property Count() As Integer Get Return Me.Rows.Count End Get End Property - - _ - Default Public ReadOnly Property Item(ByVal index As Integer) As TBCBS_PROFILESRow + + _ + Public Default ReadOnly Property Item(ByVal index As Integer) As TBCBS_PROFILESRow Get - Return CType(Me.Rows(index), TBCBS_PROFILESRow) + Return CType(Me.Rows(index),TBCBS_PROFILESRow) End Get End Property - - _ + + _ Public Event TBCBS_PROFILESRowChanging As TBCBS_PROFILESRowChangeEventHandler - - _ + + _ Public Event TBCBS_PROFILESRowChanged As TBCBS_PROFILESRowChangeEventHandler - - _ + + _ Public Event TBCBS_PROFILESRowDeleting As TBCBS_PROFILESRowChangeEventHandler - - _ + + _ Public Event TBCBS_PROFILESRowDeleted As TBCBS_PROFILESRowChangeEventHandler - - _ + + _ Public Overloads Sub AddTBCBS_PROFILESRow(ByVal row As TBCBS_PROFILESRow) Me.Rows.Add(row) End Sub - - _ + + _ Public Overloads Function AddTBCBS_PROFILESRow(ByVal NAME As String, ByVal COMMENT As String, ByVal WD_SEARCH As String, ByVal REGEX_EXPRESSION As String, ByVal ADDED_WHO As String, ByVal ADDED_WHEN As Date, ByVal CHANGED_WHO As String, ByVal CHANGED_WHEN As Date) As TBCBS_PROFILESRow - Dim rowTBCBS_PROFILESRow As TBCBS_PROFILESRow = CType(Me.NewRow, TBCBS_PROFILESRow) + Dim rowTBCBS_PROFILESRow As TBCBS_PROFILESRow = CType(Me.NewRow,TBCBS_PROFILESRow) Dim columnValuesArray() As Object = New Object() {Nothing, NAME, COMMENT, WD_SEARCH, REGEX_EXPRESSION, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN} rowTBCBS_PROFILESRow.ItemArray = columnValuesArray Me.Rows.Add(rowTBCBS_PROFILESRow) Return rowTBCBS_PROFILESRow End Function - - _ + + _ Public Function FindByGUID(ByVal GUID As Integer) As TBCBS_PROFILESRow - Return CType(Me.Rows.Find(New Object() {GUID}), TBCBS_PROFILESRow) + Return CType(Me.Rows.Find(New Object() {GUID}),TBCBS_PROFILESRow) End Function - - _ + + _ Public Overrides Function Clone() As Global.System.Data.DataTable - Dim cln As TBCBS_PROFILESDataTable = CType(MyBase.Clone, TBCBS_PROFILESDataTable) - cln.InitVars() + Dim cln As TBCBS_PROFILESDataTable = CType(MyBase.Clone,TBCBS_PROFILESDataTable) + cln.InitVars Return cln End Function - - _ + + _ Protected Overrides Function CreateInstance() As Global.System.Data.DataTable Return New TBCBS_PROFILESDataTable() End Function - - _ + + _ Friend Sub InitVars() Me.columnGUID = MyBase.Columns("GUID") Me.columnNAME = MyBase.Columns("NAME") @@ -626,9 +626,9 @@ Partial Public Class MyDataset Me.columnCHANGED_WHO = MyBase.Columns("CHANGED_WHO") Me.columnCHANGED_WHEN = MyBase.Columns("CHANGED_WHEN") End Sub - - _ + + _ Private Sub InitClass() Me.columnGUID = New Global.System.Data.DataColumn("GUID", GetType(Integer), Nothing, Global.System.Data.MappingType.Element) MyBase.Columns.Add(Me.columnGUID) @@ -648,86 +648,86 @@ Partial Public Class MyDataset MyBase.Columns.Add(Me.columnCHANGED_WHO) Me.columnCHANGED_WHEN = New Global.System.Data.DataColumn("CHANGED_WHEN", GetType(Date), Nothing, Global.System.Data.MappingType.Element) MyBase.Columns.Add(Me.columnCHANGED_WHEN) - Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, True)) - Me.columnGUID.AutoIncrement = True - Me.columnGUID.AllowDBNull = False - Me.columnGUID.ReadOnly = True - Me.columnGUID.Unique = True - Me.columnNAME.AllowDBNull = False + Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, true)) + Me.columnGUID.AutoIncrement = true + Me.columnGUID.AllowDBNull = false + Me.columnGUID.ReadOnly = true + Me.columnGUID.Unique = true + Me.columnNAME.AllowDBNull = false Me.columnNAME.MaxLength = 100 Me.columnCOMMENT.MaxLength = 500 - Me.columnWD_SEARCH.AllowDBNull = False + Me.columnWD_SEARCH.AllowDBNull = false Me.columnWD_SEARCH.MaxLength = 250 - Me.columnREGEX_EXPRESSION.AllowDBNull = False - Me.columnREGEX_EXPRESSION.DefaultValue = CType("", String) + Me.columnREGEX_EXPRESSION.AllowDBNull = false + Me.columnREGEX_EXPRESSION.DefaultValue = CType("",String) Me.columnREGEX_EXPRESSION.MaxLength = 100 - Me.columnADDED_WHO.AllowDBNull = False + Me.columnADDED_WHO.AllowDBNull = false Me.columnADDED_WHO.MaxLength = 50 Me.columnCHANGED_WHO.MaxLength = 50 End Sub - - _ + + _ Public Function NewTBCBS_PROFILESRow() As TBCBS_PROFILESRow - Return CType(Me.NewRow, TBCBS_PROFILESRow) + Return CType(Me.NewRow,TBCBS_PROFILESRow) End Function - - _ + + _ Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow Return New TBCBS_PROFILESRow(builder) End Function - - _ + + _ Protected Overrides Function GetRowType() As Global.System.Type Return GetType(TBCBS_PROFILESRow) End Function - - _ + + _ Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowChanged(e) If (Not (Me.TBCBS_PROFILESRowChangedEvent) Is Nothing) Then - RaiseEvent TBCBS_PROFILESRowChanged(Me, New TBCBS_PROFILESRowChangeEvent(CType(e.Row, TBCBS_PROFILESRow), e.Action)) + RaiseEvent TBCBS_PROFILESRowChanged(Me, New TBCBS_PROFILESRowChangeEvent(CType(e.Row,TBCBS_PROFILESRow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowChanging(e) If (Not (Me.TBCBS_PROFILESRowChangingEvent) Is Nothing) Then - RaiseEvent TBCBS_PROFILESRowChanging(Me, New TBCBS_PROFILESRowChangeEvent(CType(e.Row, TBCBS_PROFILESRow), e.Action)) + RaiseEvent TBCBS_PROFILESRowChanging(Me, New TBCBS_PROFILESRowChangeEvent(CType(e.Row,TBCBS_PROFILESRow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowDeleted(e) If (Not (Me.TBCBS_PROFILESRowDeletedEvent) Is Nothing) Then - RaiseEvent TBCBS_PROFILESRowDeleted(Me, New TBCBS_PROFILESRowChangeEvent(CType(e.Row, TBCBS_PROFILESRow), e.Action)) + RaiseEvent TBCBS_PROFILESRowDeleted(Me, New TBCBS_PROFILESRowChangeEvent(CType(e.Row,TBCBS_PROFILESRow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowDeleting(e) If (Not (Me.TBCBS_PROFILESRowDeletingEvent) Is Nothing) Then - RaiseEvent TBCBS_PROFILESRowDeleting(Me, New TBCBS_PROFILESRowChangeEvent(CType(e.Row, TBCBS_PROFILESRow), e.Action)) + RaiseEvent TBCBS_PROFILESRowDeleting(Me, New TBCBS_PROFILESRowChangeEvent(CType(e.Row,TBCBS_PROFILESRow), e.Action)) End If End Sub - - _ + + _ Public Sub RemoveTBCBS_PROFILESRow(ByVal row As TBCBS_PROFILESRow) 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() @@ -756,35 +756,35 @@ Partial Public Class MyDataset 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 + 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) + 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) _ + + 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() + s1.Close End If If (Not (s2) Is Nothing) Then - s2.Close() + s2.Close End If End Try End If @@ -792,39 +792,39 @@ Partial Public Class MyDataset Return type End Function End Class - + ''' '''Represents the strongly named DataTable class. ''' - _ + _ Partial Public Class TBCBS_USER_PROFILEDataTable Inherits Global.System.Data.TypedTableBase(Of TBCBS_USER_PROFILERow) - + Private columnGUID As Global.System.Data.DataColumn - + Private columnPROFILE_ID As Global.System.Data.DataColumn - + Private columnUSER_ID As Global.System.Data.DataColumn - + Private columnADDED_WHO As Global.System.Data.DataColumn - + Private columnADDED_WHEN As Global.System.Data.DataColumn - - _ + + _ Public Sub New() - MyBase.New() + MyBase.New Me.TableName = "TBCBS_USER_PROFILE" - Me.BeginInit() - Me.InitClass() - Me.EndInit() + Me.BeginInit + Me.InitClass + Me.EndInit End Sub - - _ + + _ Friend Sub New(ByVal table As Global.System.Data.DataTable) - MyBase.New() + MyBase.New Me.TableName = table.TableName If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then Me.CaseSensitive = table.CaseSensitive @@ -838,121 +838,121 @@ Partial Public Class MyDataset 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() + Me.InitVars End Sub - - _ + + _ Public ReadOnly Property GUIDColumn() As Global.System.Data.DataColumn Get Return Me.columnGUID End Get End Property - - _ + + _ Public ReadOnly Property PROFILE_IDColumn() As Global.System.Data.DataColumn Get Return Me.columnPROFILE_ID End Get End Property - - _ + + _ Public ReadOnly Property USER_IDColumn() As Global.System.Data.DataColumn Get Return Me.columnUSER_ID End Get End Property - - _ + + _ Public ReadOnly Property ADDED_WHOColumn() As Global.System.Data.DataColumn Get Return Me.columnADDED_WHO End Get End Property - - _ + + _ Public ReadOnly Property ADDED_WHENColumn() As Global.System.Data.DataColumn Get Return Me.columnADDED_WHEN End Get End Property - - _ + + _ Public ReadOnly Property Count() As Integer Get Return Me.Rows.Count End Get End Property - - _ - Default Public ReadOnly Property Item(ByVal index As Integer) As TBCBS_USER_PROFILERow + + _ + Public Default ReadOnly Property Item(ByVal index As Integer) As TBCBS_USER_PROFILERow Get - Return CType(Me.Rows(index), TBCBS_USER_PROFILERow) + Return CType(Me.Rows(index),TBCBS_USER_PROFILERow) End Get End Property - - _ + + _ Public Event TBCBS_USER_PROFILERowChanging As TBCBS_USER_PROFILERowChangeEventHandler - - _ + + _ Public Event TBCBS_USER_PROFILERowChanged As TBCBS_USER_PROFILERowChangeEventHandler - - _ + + _ Public Event TBCBS_USER_PROFILERowDeleting As TBCBS_USER_PROFILERowChangeEventHandler - - _ + + _ Public Event TBCBS_USER_PROFILERowDeleted As TBCBS_USER_PROFILERowChangeEventHandler - - _ + + _ Public Overloads Sub AddTBCBS_USER_PROFILERow(ByVal row As TBCBS_USER_PROFILERow) Me.Rows.Add(row) End Sub - - _ + + _ Public Overloads Function AddTBCBS_USER_PROFILERow(ByVal PROFILE_ID As Integer, ByVal USER_ID As Integer, ByVal ADDED_WHO As String, ByVal ADDED_WHEN As Date) As TBCBS_USER_PROFILERow - Dim rowTBCBS_USER_PROFILERow As TBCBS_USER_PROFILERow = CType(Me.NewRow, TBCBS_USER_PROFILERow) + Dim rowTBCBS_USER_PROFILERow As TBCBS_USER_PROFILERow = CType(Me.NewRow,TBCBS_USER_PROFILERow) Dim columnValuesArray() As Object = New Object() {Nothing, PROFILE_ID, USER_ID, ADDED_WHO, ADDED_WHEN} rowTBCBS_USER_PROFILERow.ItemArray = columnValuesArray Me.Rows.Add(rowTBCBS_USER_PROFILERow) Return rowTBCBS_USER_PROFILERow End Function - - _ + + _ Public Function FindByGUID(ByVal GUID As Integer) As TBCBS_USER_PROFILERow - Return CType(Me.Rows.Find(New Object() {GUID}), TBCBS_USER_PROFILERow) + Return CType(Me.Rows.Find(New Object() {GUID}),TBCBS_USER_PROFILERow) End Function - - _ + + _ Public Overrides Function Clone() As Global.System.Data.DataTable - Dim cln As TBCBS_USER_PROFILEDataTable = CType(MyBase.Clone, TBCBS_USER_PROFILEDataTable) - cln.InitVars() + Dim cln As TBCBS_USER_PROFILEDataTable = CType(MyBase.Clone,TBCBS_USER_PROFILEDataTable) + cln.InitVars Return cln End Function - - _ + + _ Protected Overrides Function CreateInstance() As Global.System.Data.DataTable Return New TBCBS_USER_PROFILEDataTable() End Function - - _ + + _ Friend Sub InitVars() Me.columnGUID = MyBase.Columns("GUID") Me.columnPROFILE_ID = MyBase.Columns("PROFILE_ID") @@ -960,9 +960,9 @@ Partial Public Class MyDataset Me.columnADDED_WHO = MyBase.Columns("ADDED_WHO") Me.columnADDED_WHEN = MyBase.Columns("ADDED_WHEN") End Sub - - _ + + _ Private Sub InitClass() Me.columnGUID = New Global.System.Data.DataColumn("GUID", GetType(Integer), Nothing, Global.System.Data.MappingType.Element) MyBase.Columns.Add(Me.columnGUID) @@ -974,79 +974,79 @@ Partial Public Class MyDataset MyBase.Columns.Add(Me.columnADDED_WHO) Me.columnADDED_WHEN = New Global.System.Data.DataColumn("ADDED_WHEN", GetType(Date), Nothing, Global.System.Data.MappingType.Element) MyBase.Columns.Add(Me.columnADDED_WHEN) - Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, True)) - Me.columnGUID.AutoIncrement = True - Me.columnGUID.AllowDBNull = False - Me.columnGUID.ReadOnly = True - Me.columnGUID.Unique = True - Me.columnPROFILE_ID.AllowDBNull = False - Me.columnUSER_ID.AllowDBNull = False - Me.columnADDED_WHO.AllowDBNull = False + Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, true)) + Me.columnGUID.AutoIncrement = true + Me.columnGUID.AllowDBNull = false + Me.columnGUID.ReadOnly = true + Me.columnGUID.Unique = true + Me.columnPROFILE_ID.AllowDBNull = false + Me.columnUSER_ID.AllowDBNull = false + Me.columnADDED_WHO.AllowDBNull = false Me.columnADDED_WHO.MaxLength = 50 End Sub - - _ + + _ Public Function NewTBCBS_USER_PROFILERow() As TBCBS_USER_PROFILERow - Return CType(Me.NewRow, TBCBS_USER_PROFILERow) + Return CType(Me.NewRow,TBCBS_USER_PROFILERow) End Function - - _ + + _ Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow Return New TBCBS_USER_PROFILERow(builder) End Function - - _ + + _ Protected Overrides Function GetRowType() As Global.System.Type Return GetType(TBCBS_USER_PROFILERow) End Function - - _ + + _ Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowChanged(e) If (Not (Me.TBCBS_USER_PROFILERowChangedEvent) Is Nothing) Then - RaiseEvent TBCBS_USER_PROFILERowChanged(Me, New TBCBS_USER_PROFILERowChangeEvent(CType(e.Row, TBCBS_USER_PROFILERow), e.Action)) + RaiseEvent TBCBS_USER_PROFILERowChanged(Me, New TBCBS_USER_PROFILERowChangeEvent(CType(e.Row,TBCBS_USER_PROFILERow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowChanging(e) If (Not (Me.TBCBS_USER_PROFILERowChangingEvent) Is Nothing) Then - RaiseEvent TBCBS_USER_PROFILERowChanging(Me, New TBCBS_USER_PROFILERowChangeEvent(CType(e.Row, TBCBS_USER_PROFILERow), e.Action)) + RaiseEvent TBCBS_USER_PROFILERowChanging(Me, New TBCBS_USER_PROFILERowChangeEvent(CType(e.Row,TBCBS_USER_PROFILERow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowDeleted(e) If (Not (Me.TBCBS_USER_PROFILERowDeletedEvent) Is Nothing) Then - RaiseEvent TBCBS_USER_PROFILERowDeleted(Me, New TBCBS_USER_PROFILERowChangeEvent(CType(e.Row, TBCBS_USER_PROFILERow), e.Action)) + RaiseEvent TBCBS_USER_PROFILERowDeleted(Me, New TBCBS_USER_PROFILERowChangeEvent(CType(e.Row,TBCBS_USER_PROFILERow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowDeleting(e) If (Not (Me.TBCBS_USER_PROFILERowDeletingEvent) Is Nothing) Then - RaiseEvent TBCBS_USER_PROFILERowDeleting(Me, New TBCBS_USER_PROFILERowChangeEvent(CType(e.Row, TBCBS_USER_PROFILERow), e.Action)) + RaiseEvent TBCBS_USER_PROFILERowDeleting(Me, New TBCBS_USER_PROFILERowChangeEvent(CType(e.Row,TBCBS_USER_PROFILERow), e.Action)) End If End Sub - - _ + + _ Public Sub RemoveTBCBS_USER_PROFILERow(ByVal row As TBCBS_USER_PROFILERow) 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() @@ -1075,35 +1075,35 @@ Partial Public Class MyDataset 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 + 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) + 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) _ + + 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() + s1.Close End If If (Not (s2) Is Nothing) Then - s2.Close() + s2.Close End If End Try End If @@ -1111,39 +1111,39 @@ Partial Public Class MyDataset Return type End Function End Class - + ''' '''Represents the strongly named DataTable class. ''' - _ + _ Partial Public Class VWUSER_PROFILEDataTable Inherits Global.System.Data.TypedTableBase(Of VWUSER_PROFILERow) - + Private columnGUID As Global.System.Data.DataColumn - + Private columnPROFILE_ID As Global.System.Data.DataColumn - + Private columnUSERNAME As Global.System.Data.DataColumn - + Private columnNAME As Global.System.Data.DataColumn - + Private columnPRENAME As Global.System.Data.DataColumn - - _ + + _ Public Sub New() - MyBase.New() + MyBase.New Me.TableName = "VWUSER_PROFILE" - Me.BeginInit() - Me.InitClass() - Me.EndInit() + Me.BeginInit + Me.InitClass + Me.EndInit End Sub - - _ + + _ Friend Sub New(ByVal table As Global.System.Data.DataTable) - MyBase.New() + MyBase.New Me.TableName = table.TableName If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then Me.CaseSensitive = table.CaseSensitive @@ -1157,121 +1157,121 @@ Partial Public Class MyDataset 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() + Me.InitVars End Sub - - _ + + _ Public ReadOnly Property GUIDColumn() As Global.System.Data.DataColumn Get Return Me.columnGUID End Get End Property - - _ + + _ Public ReadOnly Property PROFILE_IDColumn() As Global.System.Data.DataColumn Get Return Me.columnPROFILE_ID End Get End Property - - _ + + _ Public ReadOnly Property USERNAMEColumn() As Global.System.Data.DataColumn Get Return Me.columnUSERNAME End Get End Property - - _ + + _ Public ReadOnly Property NAMEColumn() As Global.System.Data.DataColumn Get Return Me.columnNAME End Get End Property - - _ + + _ Public ReadOnly Property PRENAMEColumn() As Global.System.Data.DataColumn Get Return Me.columnPRENAME End Get End Property - - _ + + _ Public ReadOnly Property Count() As Integer Get Return Me.Rows.Count End Get End Property - - _ - Default Public ReadOnly Property Item(ByVal index As Integer) As VWUSER_PROFILERow + + _ + Public Default ReadOnly Property Item(ByVal index As Integer) As VWUSER_PROFILERow Get - Return CType(Me.Rows(index), VWUSER_PROFILERow) + Return CType(Me.Rows(index),VWUSER_PROFILERow) End Get End Property - - _ + + _ Public Event VWUSER_PROFILERowChanging As VWUSER_PROFILERowChangeEventHandler - - _ + + _ Public Event VWUSER_PROFILERowChanged As VWUSER_PROFILERowChangeEventHandler - - _ + + _ Public Event VWUSER_PROFILERowDeleting As VWUSER_PROFILERowChangeEventHandler - - _ + + _ Public Event VWUSER_PROFILERowDeleted As VWUSER_PROFILERowChangeEventHandler - - _ + + _ Public Overloads Sub AddVWUSER_PROFILERow(ByVal row As VWUSER_PROFILERow) Me.Rows.Add(row) End Sub - - _ + + _ Public Overloads Function AddVWUSER_PROFILERow(ByVal PROFILE_ID As Integer, ByVal USERNAME As String, ByVal NAME As String, ByVal PRENAME As String) As VWUSER_PROFILERow - Dim rowVWUSER_PROFILERow As VWUSER_PROFILERow = CType(Me.NewRow, VWUSER_PROFILERow) + Dim rowVWUSER_PROFILERow As VWUSER_PROFILERow = CType(Me.NewRow,VWUSER_PROFILERow) Dim columnValuesArray() As Object = New Object() {Nothing, PROFILE_ID, USERNAME, NAME, PRENAME} rowVWUSER_PROFILERow.ItemArray = columnValuesArray Me.Rows.Add(rowVWUSER_PROFILERow) Return rowVWUSER_PROFILERow End Function - - _ + + _ Public Function FindByGUID(ByVal GUID As Integer) As VWUSER_PROFILERow - Return CType(Me.Rows.Find(New Object() {GUID}), VWUSER_PROFILERow) + Return CType(Me.Rows.Find(New Object() {GUID}),VWUSER_PROFILERow) End Function - - _ + + _ Public Overrides Function Clone() As Global.System.Data.DataTable - Dim cln As VWUSER_PROFILEDataTable = CType(MyBase.Clone, VWUSER_PROFILEDataTable) - cln.InitVars() + Dim cln As VWUSER_PROFILEDataTable = CType(MyBase.Clone,VWUSER_PROFILEDataTable) + cln.InitVars Return cln End Function - - _ + + _ Protected Overrides Function CreateInstance() As Global.System.Data.DataTable Return New VWUSER_PROFILEDataTable() End Function - - _ + + _ Friend Sub InitVars() Me.columnGUID = MyBase.Columns("GUID") Me.columnPROFILE_ID = MyBase.Columns("PROFILE_ID") @@ -1279,9 +1279,9 @@ Partial Public Class MyDataset Me.columnNAME = MyBase.Columns("NAME") Me.columnPRENAME = MyBase.Columns("PRENAME") End Sub - - _ + + _ Private Sub InitClass() Me.columnGUID = New Global.System.Data.DataColumn("GUID", GetType(Integer), Nothing, Global.System.Data.MappingType.Element) MyBase.Columns.Add(Me.columnGUID) @@ -1293,82 +1293,82 @@ Partial Public Class MyDataset MyBase.Columns.Add(Me.columnNAME) Me.columnPRENAME = New Global.System.Data.DataColumn("PRENAME", GetType(String), Nothing, Global.System.Data.MappingType.Element) MyBase.Columns.Add(Me.columnPRENAME) - Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, True)) - Me.columnGUID.AutoIncrement = True + Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, true)) + Me.columnGUID.AutoIncrement = true Me.columnGUID.AutoIncrementSeed = -1 Me.columnGUID.AutoIncrementStep = -1 - Me.columnGUID.AllowDBNull = False - Me.columnGUID.ReadOnly = True - Me.columnGUID.Unique = True - Me.columnPROFILE_ID.AllowDBNull = False - Me.columnUSERNAME.AllowDBNull = False + Me.columnGUID.AllowDBNull = false + Me.columnGUID.ReadOnly = true + Me.columnGUID.Unique = true + Me.columnPROFILE_ID.AllowDBNull = false + Me.columnUSERNAME.AllowDBNull = false Me.columnUSERNAME.MaxLength = 50 Me.columnNAME.MaxLength = 50 Me.columnPRENAME.MaxLength = 50 End Sub - - _ + + _ Public Function NewVWUSER_PROFILERow() As VWUSER_PROFILERow - Return CType(Me.NewRow, VWUSER_PROFILERow) + Return CType(Me.NewRow,VWUSER_PROFILERow) End Function - - _ + + _ Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow Return New VWUSER_PROFILERow(builder) End Function - - _ + + _ Protected Overrides Function GetRowType() As Global.System.Type Return GetType(VWUSER_PROFILERow) End Function - - _ + + _ Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowChanged(e) If (Not (Me.VWUSER_PROFILERowChangedEvent) Is Nothing) Then - RaiseEvent VWUSER_PROFILERowChanged(Me, New VWUSER_PROFILERowChangeEvent(CType(e.Row, VWUSER_PROFILERow), e.Action)) + RaiseEvent VWUSER_PROFILERowChanged(Me, New VWUSER_PROFILERowChangeEvent(CType(e.Row,VWUSER_PROFILERow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowChanging(e) If (Not (Me.VWUSER_PROFILERowChangingEvent) Is Nothing) Then - RaiseEvent VWUSER_PROFILERowChanging(Me, New VWUSER_PROFILERowChangeEvent(CType(e.Row, VWUSER_PROFILERow), e.Action)) + RaiseEvent VWUSER_PROFILERowChanging(Me, New VWUSER_PROFILERowChangeEvent(CType(e.Row,VWUSER_PROFILERow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowDeleted(e) If (Not (Me.VWUSER_PROFILERowDeletedEvent) Is Nothing) Then - RaiseEvent VWUSER_PROFILERowDeleted(Me, New VWUSER_PROFILERowChangeEvent(CType(e.Row, VWUSER_PROFILERow), e.Action)) + RaiseEvent VWUSER_PROFILERowDeleted(Me, New VWUSER_PROFILERowChangeEvent(CType(e.Row,VWUSER_PROFILERow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowDeleting(e) If (Not (Me.VWUSER_PROFILERowDeletingEvent) Is Nothing) Then - RaiseEvent VWUSER_PROFILERowDeleting(Me, New VWUSER_PROFILERowChangeEvent(CType(e.Row, VWUSER_PROFILERow), e.Action)) + RaiseEvent VWUSER_PROFILERowDeleting(Me, New VWUSER_PROFILERowChangeEvent(CType(e.Row,VWUSER_PROFILERow), e.Action)) End If End Sub - - _ + + _ Public Sub RemoveVWUSER_PROFILERow(ByVal row As VWUSER_PROFILERow) 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() @@ -1397,35 +1397,35 @@ Partial Public Class MyDataset 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 + 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) + 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) _ + + 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() + s1.Close End If If (Not (s2) Is Nothing) Then - s2.Close() + s2.Close End If End Try End If @@ -1433,39 +1433,39 @@ Partial Public Class MyDataset Return type End Function End Class - + ''' '''Represents the strongly named DataTable class. ''' - _ + _ Partial Public Class TBCBS_PROFILE_PROCESSDataTable Inherits Global.System.Data.TypedTableBase(Of TBCBS_PROFILE_PROCESSRow) - + Private columnGUID As Global.System.Data.DataColumn - + Private columnPROFILE_ID As Global.System.Data.DataColumn - + Private columnPROC_NAME As Global.System.Data.DataColumn - + Private columnADDED_WHO As Global.System.Data.DataColumn - + Private columnADDED_WHEN As Global.System.Data.DataColumn - - _ + + _ Public Sub New() - MyBase.New() + MyBase.New Me.TableName = "TBCBS_PROFILE_PROCESS" - Me.BeginInit() - Me.InitClass() - Me.EndInit() + Me.BeginInit + Me.InitClass + Me.EndInit End Sub - - _ + + _ Friend Sub New(ByVal table As Global.System.Data.DataTable) - MyBase.New() + MyBase.New Me.TableName = table.TableName If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then Me.CaseSensitive = table.CaseSensitive @@ -1479,121 +1479,121 @@ Partial Public Class MyDataset 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() + Me.InitVars End Sub - - _ + + _ Public ReadOnly Property GUIDColumn() As Global.System.Data.DataColumn Get Return Me.columnGUID End Get End Property - - _ + + _ Public ReadOnly Property PROFILE_IDColumn() As Global.System.Data.DataColumn Get Return Me.columnPROFILE_ID End Get End Property - - _ + + _ Public ReadOnly Property PROC_NAMEColumn() As Global.System.Data.DataColumn Get Return Me.columnPROC_NAME End Get End Property - - _ + + _ Public ReadOnly Property ADDED_WHOColumn() As Global.System.Data.DataColumn Get Return Me.columnADDED_WHO End Get End Property - - _ + + _ Public ReadOnly Property ADDED_WHENColumn() As Global.System.Data.DataColumn Get Return Me.columnADDED_WHEN End Get End Property - - _ + + _ Public ReadOnly Property Count() As Integer Get Return Me.Rows.Count End Get End Property - - _ - Default Public ReadOnly Property Item(ByVal index As Integer) As TBCBS_PROFILE_PROCESSRow + + _ + Public Default ReadOnly Property Item(ByVal index As Integer) As TBCBS_PROFILE_PROCESSRow Get - Return CType(Me.Rows(index), TBCBS_PROFILE_PROCESSRow) + Return CType(Me.Rows(index),TBCBS_PROFILE_PROCESSRow) End Get End Property - - _ + + _ Public Event TBCBS_PROFILE_PROCESSRowChanging As TBCBS_PROFILE_PROCESSRowChangeEventHandler - - _ + + _ Public Event TBCBS_PROFILE_PROCESSRowChanged As TBCBS_PROFILE_PROCESSRowChangeEventHandler - - _ + + _ Public Event TBCBS_PROFILE_PROCESSRowDeleting As TBCBS_PROFILE_PROCESSRowChangeEventHandler - - _ + + _ Public Event TBCBS_PROFILE_PROCESSRowDeleted As TBCBS_PROFILE_PROCESSRowChangeEventHandler - - _ + + _ Public Overloads Sub AddTBCBS_PROFILE_PROCESSRow(ByVal row As TBCBS_PROFILE_PROCESSRow) Me.Rows.Add(row) End Sub - - _ + + _ Public Overloads Function AddTBCBS_PROFILE_PROCESSRow(ByVal PROFILE_ID As Integer, ByVal PROC_NAME As String, ByVal ADDED_WHO As String, ByVal ADDED_WHEN As Date) As TBCBS_PROFILE_PROCESSRow - Dim rowTBCBS_PROFILE_PROCESSRow As TBCBS_PROFILE_PROCESSRow = CType(Me.NewRow, TBCBS_PROFILE_PROCESSRow) + Dim rowTBCBS_PROFILE_PROCESSRow As TBCBS_PROFILE_PROCESSRow = CType(Me.NewRow,TBCBS_PROFILE_PROCESSRow) Dim columnValuesArray() As Object = New Object() {Nothing, PROFILE_ID, PROC_NAME, ADDED_WHO, ADDED_WHEN} rowTBCBS_PROFILE_PROCESSRow.ItemArray = columnValuesArray Me.Rows.Add(rowTBCBS_PROFILE_PROCESSRow) Return rowTBCBS_PROFILE_PROCESSRow End Function - - _ + + _ Public Function FindByGUID(ByVal GUID As Integer) As TBCBS_PROFILE_PROCESSRow - Return CType(Me.Rows.Find(New Object() {GUID}), TBCBS_PROFILE_PROCESSRow) + Return CType(Me.Rows.Find(New Object() {GUID}),TBCBS_PROFILE_PROCESSRow) End Function - - _ + + _ Public Overrides Function Clone() As Global.System.Data.DataTable - Dim cln As TBCBS_PROFILE_PROCESSDataTable = CType(MyBase.Clone, TBCBS_PROFILE_PROCESSDataTable) - cln.InitVars() + Dim cln As TBCBS_PROFILE_PROCESSDataTable = CType(MyBase.Clone,TBCBS_PROFILE_PROCESSDataTable) + cln.InitVars Return cln End Function - - _ + + _ Protected Overrides Function CreateInstance() As Global.System.Data.DataTable Return New TBCBS_PROFILE_PROCESSDataTable() End Function - - _ + + _ Friend Sub InitVars() Me.columnGUID = MyBase.Columns("GUID") Me.columnPROFILE_ID = MyBase.Columns("PROFILE_ID") @@ -1601,9 +1601,9 @@ Partial Public Class MyDataset Me.columnADDED_WHO = MyBase.Columns("ADDED_WHO") Me.columnADDED_WHEN = MyBase.Columns("ADDED_WHEN") End Sub - - _ + + _ Private Sub InitClass() Me.columnGUID = New Global.System.Data.DataColumn("GUID", GetType(Integer), Nothing, Global.System.Data.MappingType.Element) MyBase.Columns.Add(Me.columnGUID) @@ -1615,82 +1615,82 @@ Partial Public Class MyDataset MyBase.Columns.Add(Me.columnADDED_WHO) Me.columnADDED_WHEN = New Global.System.Data.DataColumn("ADDED_WHEN", GetType(Date), Nothing, Global.System.Data.MappingType.Element) MyBase.Columns.Add(Me.columnADDED_WHEN) - Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, True)) - Me.columnGUID.AutoIncrement = True + Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, true)) + Me.columnGUID.AutoIncrement = true Me.columnGUID.AutoIncrementSeed = -1 Me.columnGUID.AutoIncrementStep = -1 - Me.columnGUID.AllowDBNull = False - Me.columnGUID.ReadOnly = True - Me.columnGUID.Unique = True - Me.columnPROFILE_ID.AllowDBNull = False - Me.columnPROC_NAME.AllowDBNull = False + Me.columnGUID.AllowDBNull = false + Me.columnGUID.ReadOnly = true + Me.columnGUID.Unique = true + Me.columnPROFILE_ID.AllowDBNull = false + Me.columnPROC_NAME.AllowDBNull = false Me.columnPROC_NAME.MaxLength = 100 - Me.columnADDED_WHO.AllowDBNull = False + Me.columnADDED_WHO.AllowDBNull = false Me.columnADDED_WHO.MaxLength = 50 End Sub - - _ + + _ Public Function NewTBCBS_PROFILE_PROCESSRow() As TBCBS_PROFILE_PROCESSRow - Return CType(Me.NewRow, TBCBS_PROFILE_PROCESSRow) + Return CType(Me.NewRow,TBCBS_PROFILE_PROCESSRow) End Function - - _ + + _ Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow Return New TBCBS_PROFILE_PROCESSRow(builder) End Function - - _ + + _ Protected Overrides Function GetRowType() As Global.System.Type Return GetType(TBCBS_PROFILE_PROCESSRow) End Function - - _ + + _ Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowChanged(e) If (Not (Me.TBCBS_PROFILE_PROCESSRowChangedEvent) Is Nothing) Then - RaiseEvent TBCBS_PROFILE_PROCESSRowChanged(Me, New TBCBS_PROFILE_PROCESSRowChangeEvent(CType(e.Row, TBCBS_PROFILE_PROCESSRow), e.Action)) + RaiseEvent TBCBS_PROFILE_PROCESSRowChanged(Me, New TBCBS_PROFILE_PROCESSRowChangeEvent(CType(e.Row,TBCBS_PROFILE_PROCESSRow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowChanging(e) If (Not (Me.TBCBS_PROFILE_PROCESSRowChangingEvent) Is Nothing) Then - RaiseEvent TBCBS_PROFILE_PROCESSRowChanging(Me, New TBCBS_PROFILE_PROCESSRowChangeEvent(CType(e.Row, TBCBS_PROFILE_PROCESSRow), e.Action)) + RaiseEvent TBCBS_PROFILE_PROCESSRowChanging(Me, New TBCBS_PROFILE_PROCESSRowChangeEvent(CType(e.Row,TBCBS_PROFILE_PROCESSRow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowDeleted(e) If (Not (Me.TBCBS_PROFILE_PROCESSRowDeletedEvent) Is Nothing) Then - RaiseEvent TBCBS_PROFILE_PROCESSRowDeleted(Me, New TBCBS_PROFILE_PROCESSRowChangeEvent(CType(e.Row, TBCBS_PROFILE_PROCESSRow), e.Action)) + RaiseEvent TBCBS_PROFILE_PROCESSRowDeleted(Me, New TBCBS_PROFILE_PROCESSRowChangeEvent(CType(e.Row,TBCBS_PROFILE_PROCESSRow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowDeleting(e) If (Not (Me.TBCBS_PROFILE_PROCESSRowDeletingEvent) Is Nothing) Then - RaiseEvent TBCBS_PROFILE_PROCESSRowDeleting(Me, New TBCBS_PROFILE_PROCESSRowChangeEvent(CType(e.Row, TBCBS_PROFILE_PROCESSRow), e.Action)) + RaiseEvent TBCBS_PROFILE_PROCESSRowDeleting(Me, New TBCBS_PROFILE_PROCESSRowChangeEvent(CType(e.Row,TBCBS_PROFILE_PROCESSRow), e.Action)) End If End Sub - - _ + + _ Public Sub RemoveTBCBS_PROFILE_PROCESSRow(ByVal row As TBCBS_PROFILE_PROCESSRow) 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() @@ -1719,35 +1719,35 @@ Partial Public Class MyDataset 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 + 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) + 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) _ + + 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() + s1.Close End If If (Not (s2) Is Nothing) Then - s2.Close() + s2.Close End If End Try End If @@ -1755,41 +1755,41 @@ Partial Public Class MyDataset Return type End Function End Class - + ''' '''Represents the strongly named DataTable class. ''' - _ + _ Partial Public Class TBWH_UserDataTable Inherits Global.System.Data.TypedTableBase(Of TBWH_UserRow) - + Private columnSelect As Global.System.Data.DataColumn - + Private columnUsername As Global.System.Data.DataColumn - + Private columnPrename As Global.System.Data.DataColumn - + Private columnSurname As Global.System.Data.DataColumn - + Private columnEmail As Global.System.Data.DataColumn - + Private columnID As Global.System.Data.DataColumn - - _ + + _ Public Sub New() - MyBase.New() + MyBase.New Me.TableName = "TBWH_User" - Me.BeginInit() - Me.InitClass() - Me.EndInit() + Me.BeginInit + Me.InitClass + Me.EndInit End Sub - - _ + + _ Friend Sub New(ByVal table As Global.System.Data.DataTable) - MyBase.New() + MyBase.New Me.TableName = table.TableName If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then Me.CaseSensitive = table.CaseSensitive @@ -1803,123 +1803,123 @@ Partial Public Class MyDataset 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() + Me.InitVars End Sub - - _ + + _ Public ReadOnly Property SelectColumn() As Global.System.Data.DataColumn Get Return Me.columnSelect End Get End Property - - _ + + _ Public ReadOnly Property UsernameColumn() As Global.System.Data.DataColumn Get Return Me.columnUsername End Get End Property - - _ + + _ Public ReadOnly Property PrenameColumn() As Global.System.Data.DataColumn Get Return Me.columnPrename End Get End Property - - _ + + _ Public ReadOnly Property SurnameColumn() As Global.System.Data.DataColumn Get Return Me.columnSurname End Get End Property - - _ + + _ Public ReadOnly Property EmailColumn() As Global.System.Data.DataColumn Get Return Me.columnEmail End Get End Property - - _ + + _ Public ReadOnly Property IDColumn() As Global.System.Data.DataColumn Get Return Me.columnID End Get End Property - - _ + + _ Public ReadOnly Property Count() As Integer Get Return Me.Rows.Count End Get End Property - - _ - Default Public ReadOnly Property Item(ByVal index As Integer) As TBWH_UserRow + + _ + Public Default ReadOnly Property Item(ByVal index As Integer) As TBWH_UserRow Get - Return CType(Me.Rows(index), TBWH_UserRow) + Return CType(Me.Rows(index),TBWH_UserRow) End Get End Property - - _ + + _ Public Event TBWH_UserRowChanging As TBWH_UserRowChangeEventHandler - - _ + + _ Public Event TBWH_UserRowChanged As TBWH_UserRowChangeEventHandler - - _ + + _ Public Event TBWH_UserRowDeleting As TBWH_UserRowChangeEventHandler - - _ + + _ Public Event TBWH_UserRowDeleted As TBWH_UserRowChangeEventHandler - - _ + + _ Public Overloads Sub AddTBWH_UserRow(ByVal row As TBWH_UserRow) Me.Rows.Add(row) End Sub - - _ + + _ Public Overloads Function AddTBWH_UserRow(ByVal _Select As Boolean, ByVal Username As String, ByVal Prename As String, ByVal Surname As String, ByVal Email As String, ByVal ID As Short) As TBWH_UserRow - Dim rowTBWH_UserRow As TBWH_UserRow = CType(Me.NewRow, TBWH_UserRow) + Dim rowTBWH_UserRow As TBWH_UserRow = CType(Me.NewRow,TBWH_UserRow) Dim columnValuesArray() As Object = New Object() {_Select, Username, Prename, Surname, Email, ID} rowTBWH_UserRow.ItemArray = columnValuesArray Me.Rows.Add(rowTBWH_UserRow) Return rowTBWH_UserRow End Function - - _ + + _ Public Overrides Function Clone() As Global.System.Data.DataTable - Dim cln As TBWH_UserDataTable = CType(MyBase.Clone, TBWH_UserDataTable) - cln.InitVars() + Dim cln As TBWH_UserDataTable = CType(MyBase.Clone,TBWH_UserDataTable) + cln.InitVars Return cln End Function - - _ + + _ Protected Overrides Function CreateInstance() As Global.System.Data.DataTable Return New TBWH_UserDataTable() End Function - - _ + + _ Friend Sub InitVars() Me.columnSelect = MyBase.Columns("Select") Me.columnUsername = MyBase.Columns("Username") @@ -1928,9 +1928,9 @@ Partial Public Class MyDataset Me.columnEmail = MyBase.Columns("Email") Me.columnID = MyBase.Columns("ID") End Sub - - _ + + _ Private Sub InitClass() Me.columnSelect = New Global.System.Data.DataColumn("Select", GetType(Boolean), Nothing, Global.System.Data.MappingType.Element) Me.columnSelect.ExtendedProperties.Add("Generator_ColumnPropNameInTable", "SelectColumn") @@ -1947,71 +1947,71 @@ Partial Public Class MyDataset MyBase.Columns.Add(Me.columnEmail) Me.columnID = New Global.System.Data.DataColumn("ID", GetType(Short), Nothing, Global.System.Data.MappingType.Element) MyBase.Columns.Add(Me.columnID) - Me.columnSelect.DefaultValue = CType(False, Boolean) + Me.columnSelect.DefaultValue = CType(false,Boolean) End Sub - - _ + + _ Public Function NewTBWH_UserRow() As TBWH_UserRow - Return CType(Me.NewRow, TBWH_UserRow) + Return CType(Me.NewRow,TBWH_UserRow) End Function - - _ + + _ Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow Return New TBWH_UserRow(builder) End Function - - _ + + _ Protected Overrides Function GetRowType() As Global.System.Type Return GetType(TBWH_UserRow) End Function - - _ + + _ Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowChanged(e) If (Not (Me.TBWH_UserRowChangedEvent) Is Nothing) Then - RaiseEvent TBWH_UserRowChanged(Me, New TBWH_UserRowChangeEvent(CType(e.Row, TBWH_UserRow), e.Action)) + RaiseEvent TBWH_UserRowChanged(Me, New TBWH_UserRowChangeEvent(CType(e.Row,TBWH_UserRow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowChanging(e) If (Not (Me.TBWH_UserRowChangingEvent) Is Nothing) Then - RaiseEvent TBWH_UserRowChanging(Me, New TBWH_UserRowChangeEvent(CType(e.Row, TBWH_UserRow), e.Action)) + RaiseEvent TBWH_UserRowChanging(Me, New TBWH_UserRowChangeEvent(CType(e.Row,TBWH_UserRow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowDeleted(e) If (Not (Me.TBWH_UserRowDeletedEvent) Is Nothing) Then - RaiseEvent TBWH_UserRowDeleted(Me, New TBWH_UserRowChangeEvent(CType(e.Row, TBWH_UserRow), e.Action)) + RaiseEvent TBWH_UserRowDeleted(Me, New TBWH_UserRowChangeEvent(CType(e.Row,TBWH_UserRow), e.Action)) End If End Sub - - _ + + _ Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs) MyBase.OnRowDeleting(e) If (Not (Me.TBWH_UserRowDeletingEvent) Is Nothing) Then - RaiseEvent TBWH_UserRowDeleting(Me, New TBWH_UserRowChangeEvent(CType(e.Row, TBWH_UserRow), e.Action)) + RaiseEvent TBWH_UserRowDeleting(Me, New TBWH_UserRowChangeEvent(CType(e.Row,TBWH_UserRow), e.Action)) End If End Sub - - _ + + _ Public Sub RemoveTBWH_UserRow(ByVal row As TBWH_UserRow) 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() @@ -2040,35 +2040,35 @@ Partial Public Class MyDataset 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 + 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) + 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) _ + + 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() + s1.Close End If If (Not (s2) Is Nothing) Then - s2.Close() + s2.Close End If End Try End If @@ -2076,814 +2076,814 @@ Partial Public Class MyDataset Return type End Function End Class - + ''' '''Represents strongly named DataRow class. ''' Partial Public Class TBCBS_PROFILESRow Inherits Global.System.Data.DataRow - + Private tableTBCBS_PROFILES As TBCBS_PROFILESDataTable - - _ + + _ Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder) MyBase.New(rb) - Me.tableTBCBS_PROFILES = CType(Me.Table, TBCBS_PROFILESDataTable) + Me.tableTBCBS_PROFILES = CType(Me.Table,TBCBS_PROFILESDataTable) End Sub - - _ + + _ Public Property GUID() As Integer Get - Return CType(Me(Me.tableTBCBS_PROFILES.GUIDColumn), Integer) + Return CType(Me(Me.tableTBCBS_PROFILES.GUIDColumn),Integer) End Get - Set(value As Integer) + Set Me(Me.tableTBCBS_PROFILES.GUIDColumn) = value End Set End Property - - _ + + _ Public Property NAME() As String Get - Return CType(Me(Me.tableTBCBS_PROFILES.NAMEColumn), String) + Return CType(Me(Me.tableTBCBS_PROFILES.NAMEColumn),String) End Get - Set(value As String) + Set Me(Me.tableTBCBS_PROFILES.NAMEColumn) = value End Set End Property - - _ + + _ Public Property COMMENT() As String Get - Try - Return CType(Me(Me.tableTBCBS_PROFILES.COMMENTColumn), String) + Try + Return CType(Me(Me.tableTBCBS_PROFILES.COMMENTColumn),String) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte COMMENT in Tabelle TBCBS_PROFILES ist DBNull.", e) End Try End Get - Set(value As String) + Set Me(Me.tableTBCBS_PROFILES.COMMENTColumn) = value End Set End Property - - _ + + _ Public Property WD_SEARCH() As String Get - Return CType(Me(Me.tableTBCBS_PROFILES.WD_SEARCHColumn), String) + Return CType(Me(Me.tableTBCBS_PROFILES.WD_SEARCHColumn),String) End Get - Set(value As String) + Set Me(Me.tableTBCBS_PROFILES.WD_SEARCHColumn) = value End Set End Property - - _ + + _ Public Property REGEX_EXPRESSION() As String Get - Return CType(Me(Me.tableTBCBS_PROFILES.REGEX_EXPRESSIONColumn), String) + Return CType(Me(Me.tableTBCBS_PROFILES.REGEX_EXPRESSIONColumn),String) End Get - Set(value As String) + Set Me(Me.tableTBCBS_PROFILES.REGEX_EXPRESSIONColumn) = value End Set End Property - - _ + + _ Public Property ADDED_WHO() As String Get - Return CType(Me(Me.tableTBCBS_PROFILES.ADDED_WHOColumn), String) + Return CType(Me(Me.tableTBCBS_PROFILES.ADDED_WHOColumn),String) End Get - Set(value As String) + Set Me(Me.tableTBCBS_PROFILES.ADDED_WHOColumn) = value End Set End Property - - _ + + _ Public Property ADDED_WHEN() As Date Get - Try - Return CType(Me(Me.tableTBCBS_PROFILES.ADDED_WHENColumn), Date) + Try + Return CType(Me(Me.tableTBCBS_PROFILES.ADDED_WHENColumn),Date) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte ADDED_WHEN in Tabelle TBCBS_PROFILES ist DBNull.", e) End Try End Get - Set(value As Date) + Set Me(Me.tableTBCBS_PROFILES.ADDED_WHENColumn) = value End Set End Property - - _ + + _ Public Property CHANGED_WHO() As String Get - Try - Return CType(Me(Me.tableTBCBS_PROFILES.CHANGED_WHOColumn), String) + Try + Return CType(Me(Me.tableTBCBS_PROFILES.CHANGED_WHOColumn),String) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte CHANGED_WHO in Tabelle TBCBS_PROFILES ist DBNull.", e) End Try End Get - Set(value As String) + Set Me(Me.tableTBCBS_PROFILES.CHANGED_WHOColumn) = value End Set End Property - - _ + + _ Public Property CHANGED_WHEN() As Date Get - Try - Return CType(Me(Me.tableTBCBS_PROFILES.CHANGED_WHENColumn), Date) + Try + Return CType(Me(Me.tableTBCBS_PROFILES.CHANGED_WHENColumn),Date) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte CHANGED_WHEN in Tabelle TBCBS_PROFILES ist DBNull.", e) End Try End Get - Set(value As Date) + Set Me(Me.tableTBCBS_PROFILES.CHANGED_WHENColumn) = value End Set End Property - - _ + + _ Public Function IsCOMMENTNull() As Boolean Return Me.IsNull(Me.tableTBCBS_PROFILES.COMMENTColumn) End Function - - _ + + _ Public Sub SetCOMMENTNull() Me(Me.tableTBCBS_PROFILES.COMMENTColumn) = Global.System.Convert.DBNull End Sub - - _ + + _ Public Function IsADDED_WHENNull() As Boolean Return Me.IsNull(Me.tableTBCBS_PROFILES.ADDED_WHENColumn) End Function - - _ + + _ Public Sub SetADDED_WHENNull() Me(Me.tableTBCBS_PROFILES.ADDED_WHENColumn) = Global.System.Convert.DBNull End Sub - - _ + + _ Public Function IsCHANGED_WHONull() As Boolean Return Me.IsNull(Me.tableTBCBS_PROFILES.CHANGED_WHOColumn) End Function - - _ + + _ Public Sub SetCHANGED_WHONull() Me(Me.tableTBCBS_PROFILES.CHANGED_WHOColumn) = Global.System.Convert.DBNull End Sub - - _ + + _ Public Function IsCHANGED_WHENNull() As Boolean Return Me.IsNull(Me.tableTBCBS_PROFILES.CHANGED_WHENColumn) End Function - - _ + + _ Public Sub SetCHANGED_WHENNull() Me(Me.tableTBCBS_PROFILES.CHANGED_WHENColumn) = Global.System.Convert.DBNull End Sub End Class - + ''' '''Represents strongly named DataRow class. ''' Partial Public Class TBCBS_USER_PROFILERow Inherits Global.System.Data.DataRow - + Private tableTBCBS_USER_PROFILE As TBCBS_USER_PROFILEDataTable - - _ + + _ Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder) MyBase.New(rb) - Me.tableTBCBS_USER_PROFILE = CType(Me.Table, TBCBS_USER_PROFILEDataTable) + Me.tableTBCBS_USER_PROFILE = CType(Me.Table,TBCBS_USER_PROFILEDataTable) End Sub - - _ + + _ Public Property GUID() As Integer Get - Return CType(Me(Me.tableTBCBS_USER_PROFILE.GUIDColumn), Integer) + Return CType(Me(Me.tableTBCBS_USER_PROFILE.GUIDColumn),Integer) End Get - Set(value As Integer) + Set Me(Me.tableTBCBS_USER_PROFILE.GUIDColumn) = value End Set End Property - - _ + + _ Public Property PROFILE_ID() As Integer Get - Return CType(Me(Me.tableTBCBS_USER_PROFILE.PROFILE_IDColumn), Integer) + Return CType(Me(Me.tableTBCBS_USER_PROFILE.PROFILE_IDColumn),Integer) End Get - Set(value As Integer) + Set Me(Me.tableTBCBS_USER_PROFILE.PROFILE_IDColumn) = value End Set End Property - - _ + + _ Public Property USER_ID() As Integer Get - Return CType(Me(Me.tableTBCBS_USER_PROFILE.USER_IDColumn), Integer) + Return CType(Me(Me.tableTBCBS_USER_PROFILE.USER_IDColumn),Integer) End Get - Set(value As Integer) + Set Me(Me.tableTBCBS_USER_PROFILE.USER_IDColumn) = value End Set End Property - - _ + + _ Public Property ADDED_WHO() As String Get - Return CType(Me(Me.tableTBCBS_USER_PROFILE.ADDED_WHOColumn), String) + Return CType(Me(Me.tableTBCBS_USER_PROFILE.ADDED_WHOColumn),String) End Get - Set(value As String) + Set Me(Me.tableTBCBS_USER_PROFILE.ADDED_WHOColumn) = value End Set End Property - - _ + + _ Public Property ADDED_WHEN() As Date Get - Try - Return CType(Me(Me.tableTBCBS_USER_PROFILE.ADDED_WHENColumn), Date) + Try + Return CType(Me(Me.tableTBCBS_USER_PROFILE.ADDED_WHENColumn),Date) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte ADDED_WHEN in Tabelle TBCBS_USER_PROFILE ist DBNull.", e) End Try End Get - Set(value As Date) + Set Me(Me.tableTBCBS_USER_PROFILE.ADDED_WHENColumn) = value End Set End Property - - _ + + _ Public Function IsADDED_WHENNull() As Boolean Return Me.IsNull(Me.tableTBCBS_USER_PROFILE.ADDED_WHENColumn) End Function - - _ + + _ Public Sub SetADDED_WHENNull() Me(Me.tableTBCBS_USER_PROFILE.ADDED_WHENColumn) = Global.System.Convert.DBNull End Sub End Class - + ''' '''Represents strongly named DataRow class. ''' Partial Public Class VWUSER_PROFILERow Inherits Global.System.Data.DataRow - + Private tableVWUSER_PROFILE As VWUSER_PROFILEDataTable - - _ + + _ Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder) MyBase.New(rb) - Me.tableVWUSER_PROFILE = CType(Me.Table, VWUSER_PROFILEDataTable) + Me.tableVWUSER_PROFILE = CType(Me.Table,VWUSER_PROFILEDataTable) End Sub - - _ + + _ Public Property GUID() As Integer Get - Return CType(Me(Me.tableVWUSER_PROFILE.GUIDColumn), Integer) + Return CType(Me(Me.tableVWUSER_PROFILE.GUIDColumn),Integer) End Get - Set(value As Integer) + Set Me(Me.tableVWUSER_PROFILE.GUIDColumn) = value End Set End Property - - _ + + _ Public Property PROFILE_ID() As Integer Get - Return CType(Me(Me.tableVWUSER_PROFILE.PROFILE_IDColumn), Integer) + Return CType(Me(Me.tableVWUSER_PROFILE.PROFILE_IDColumn),Integer) End Get - Set(value As Integer) + Set Me(Me.tableVWUSER_PROFILE.PROFILE_IDColumn) = value End Set End Property - - _ + + _ Public Property USERNAME() As String Get - Return CType(Me(Me.tableVWUSER_PROFILE.USERNAMEColumn), String) + Return CType(Me(Me.tableVWUSER_PROFILE.USERNAMEColumn),String) End Get - Set(value As String) + Set Me(Me.tableVWUSER_PROFILE.USERNAMEColumn) = value End Set End Property - - _ + + _ Public Property NAME() As String Get - Try - Return CType(Me(Me.tableVWUSER_PROFILE.NAMEColumn), String) + Try + Return CType(Me(Me.tableVWUSER_PROFILE.NAMEColumn),String) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte NAME in Tabelle VWUSER_PROFILE ist DBNull.", e) End Try End Get - Set(value As String) + Set Me(Me.tableVWUSER_PROFILE.NAMEColumn) = value End Set End Property - - _ + + _ Public Property PRENAME() As String Get - Try - Return CType(Me(Me.tableVWUSER_PROFILE.PRENAMEColumn), String) + Try + Return CType(Me(Me.tableVWUSER_PROFILE.PRENAMEColumn),String) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte PRENAME in Tabelle VWUSER_PROFILE ist DBNull.", e) End Try End Get - Set(value As String) + Set Me(Me.tableVWUSER_PROFILE.PRENAMEColumn) = value End Set End Property - - _ + + _ Public Function IsNAMENull() As Boolean Return Me.IsNull(Me.tableVWUSER_PROFILE.NAMEColumn) End Function - - _ + + _ Public Sub SetNAMENull() Me(Me.tableVWUSER_PROFILE.NAMEColumn) = Global.System.Convert.DBNull End Sub - - _ + + _ Public Function IsPRENAMENull() As Boolean Return Me.IsNull(Me.tableVWUSER_PROFILE.PRENAMEColumn) End Function - - _ + + _ Public Sub SetPRENAMENull() Me(Me.tableVWUSER_PROFILE.PRENAMEColumn) = Global.System.Convert.DBNull End Sub End Class - + ''' '''Represents strongly named DataRow class. ''' Partial Public Class TBCBS_PROFILE_PROCESSRow Inherits Global.System.Data.DataRow - + Private tableTBCBS_PROFILE_PROCESS As TBCBS_PROFILE_PROCESSDataTable - - _ + + _ Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder) MyBase.New(rb) - Me.tableTBCBS_PROFILE_PROCESS = CType(Me.Table, TBCBS_PROFILE_PROCESSDataTable) + Me.tableTBCBS_PROFILE_PROCESS = CType(Me.Table,TBCBS_PROFILE_PROCESSDataTable) End Sub - - _ + + _ Public Property GUID() As Integer Get - Return CType(Me(Me.tableTBCBS_PROFILE_PROCESS.GUIDColumn), Integer) + Return CType(Me(Me.tableTBCBS_PROFILE_PROCESS.GUIDColumn),Integer) End Get - Set(value As Integer) + Set Me(Me.tableTBCBS_PROFILE_PROCESS.GUIDColumn) = value End Set End Property - - _ + + _ Public Property PROFILE_ID() As Integer Get - Return CType(Me(Me.tableTBCBS_PROFILE_PROCESS.PROFILE_IDColumn), Integer) + Return CType(Me(Me.tableTBCBS_PROFILE_PROCESS.PROFILE_IDColumn),Integer) End Get - Set(value As Integer) + Set Me(Me.tableTBCBS_PROFILE_PROCESS.PROFILE_IDColumn) = value End Set End Property - - _ + + _ Public Property PROC_NAME() As String Get - Return CType(Me(Me.tableTBCBS_PROFILE_PROCESS.PROC_NAMEColumn), String) + Return CType(Me(Me.tableTBCBS_PROFILE_PROCESS.PROC_NAMEColumn),String) End Get - Set(value As String) + Set Me(Me.tableTBCBS_PROFILE_PROCESS.PROC_NAMEColumn) = value End Set End Property - - _ + + _ Public Property ADDED_WHO() As String Get - Return CType(Me(Me.tableTBCBS_PROFILE_PROCESS.ADDED_WHOColumn), String) + Return CType(Me(Me.tableTBCBS_PROFILE_PROCESS.ADDED_WHOColumn),String) End Get - Set(value As String) + Set Me(Me.tableTBCBS_PROFILE_PROCESS.ADDED_WHOColumn) = value End Set End Property - - _ + + _ Public Property ADDED_WHEN() As Date Get - Try - Return CType(Me(Me.tableTBCBS_PROFILE_PROCESS.ADDED_WHENColumn), Date) + Try + Return CType(Me(Me.tableTBCBS_PROFILE_PROCESS.ADDED_WHENColumn),Date) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte ADDED_WHEN in Tabelle TBCBS_PROFILE_PROCESS ist DBNull.", e) End Try End Get - Set(value As Date) + Set Me(Me.tableTBCBS_PROFILE_PROCESS.ADDED_WHENColumn) = value End Set End Property - - _ + + _ Public Function IsADDED_WHENNull() As Boolean Return Me.IsNull(Me.tableTBCBS_PROFILE_PROCESS.ADDED_WHENColumn) End Function - - _ + + _ Public Sub SetADDED_WHENNull() Me(Me.tableTBCBS_PROFILE_PROCESS.ADDED_WHENColumn) = Global.System.Convert.DBNull End Sub End Class - + ''' '''Represents strongly named DataRow class. ''' Partial Public Class TBWH_UserRow Inherits Global.System.Data.DataRow - + Private tableTBWH_User As TBWH_UserDataTable - - _ + + _ Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder) MyBase.New(rb) - Me.tableTBWH_User = CType(Me.Table, TBWH_UserDataTable) + Me.tableTBWH_User = CType(Me.Table,TBWH_UserDataTable) End Sub - - _ + + _ Public Property _Select() As Boolean Get - Try - Return CType(Me(Me.tableTBWH_User.SelectColumn), Boolean) + Try + Return CType(Me(Me.tableTBWH_User.SelectColumn),Boolean) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Select in Tabelle TBWH_User ist DBNull.", e) End Try End Get - Set(value As Boolean) + Set Me(Me.tableTBWH_User.SelectColumn) = value End Set End Property - - _ + + _ Public Property Username() As String Get - Try - Return CType(Me(Me.tableTBWH_User.UsernameColumn), String) + Try + Return CType(Me(Me.tableTBWH_User.UsernameColumn),String) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Username in Tabelle TBWH_User ist DBNull.", e) End Try End Get - Set(value As String) + Set Me(Me.tableTBWH_User.UsernameColumn) = value End Set End Property - - _ + + _ Public Property Prename() As String Get - Try - Return CType(Me(Me.tableTBWH_User.PrenameColumn), String) + Try + Return CType(Me(Me.tableTBWH_User.PrenameColumn),String) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Prename in Tabelle TBWH_User ist DBNull.", e) End Try End Get - Set(value As String) + Set Me(Me.tableTBWH_User.PrenameColumn) = value End Set End Property - - _ + + _ Public Property Surname() As String Get - Try - Return CType(Me(Me.tableTBWH_User.SurnameColumn), String) + Try + Return CType(Me(Me.tableTBWH_User.SurnameColumn),String) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Surname in Tabelle TBWH_User ist DBNull.", e) End Try End Get - Set(value As String) + Set Me(Me.tableTBWH_User.SurnameColumn) = value End Set End Property - - _ + + _ Public Property Email() As String Get - Try - Return CType(Me(Me.tableTBWH_User.EmailColumn), String) + Try + Return CType(Me(Me.tableTBWH_User.EmailColumn),String) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Email in Tabelle TBWH_User ist DBNull.", e) End Try End Get - Set(value As String) + Set Me(Me.tableTBWH_User.EmailColumn) = value End Set End Property - - _ + + _ Public Property ID() As Short Get - Try - Return CType(Me(Me.tableTBWH_User.IDColumn), Short) + Try + Return CType(Me(Me.tableTBWH_User.IDColumn),Short) Catch e As Global.System.InvalidCastException Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte ID in Tabelle TBWH_User ist DBNull.", e) End Try End Get - Set(value As Short) + Set Me(Me.tableTBWH_User.IDColumn) = value End Set End Property - - _ + + _ Public Function Is_SelectNull() As Boolean Return Me.IsNull(Me.tableTBWH_User.SelectColumn) End Function - - _ + + _ Public Sub Set_SelectNull() Me(Me.tableTBWH_User.SelectColumn) = Global.System.Convert.DBNull End Sub - - _ + + _ Public Function IsUsernameNull() As Boolean Return Me.IsNull(Me.tableTBWH_User.UsernameColumn) End Function - - _ + + _ Public Sub SetUsernameNull() Me(Me.tableTBWH_User.UsernameColumn) = Global.System.Convert.DBNull End Sub - - _ + + _ Public Function IsPrenameNull() As Boolean Return Me.IsNull(Me.tableTBWH_User.PrenameColumn) End Function - - _ + + _ Public Sub SetPrenameNull() Me(Me.tableTBWH_User.PrenameColumn) = Global.System.Convert.DBNull End Sub - - _ + + _ Public Function IsSurnameNull() As Boolean Return Me.IsNull(Me.tableTBWH_User.SurnameColumn) End Function - - _ + + _ Public Sub SetSurnameNull() Me(Me.tableTBWH_User.SurnameColumn) = Global.System.Convert.DBNull End Sub - - _ + + _ Public Function IsEmailNull() As Boolean Return Me.IsNull(Me.tableTBWH_User.EmailColumn) End Function - - _ + + _ Public Sub SetEmailNull() Me(Me.tableTBWH_User.EmailColumn) = Global.System.Convert.DBNull End Sub - - _ + + _ Public Function IsIDNull() As Boolean Return Me.IsNull(Me.tableTBWH_User.IDColumn) End Function - - _ + + _ Public Sub SetIDNull() Me(Me.tableTBWH_User.IDColumn) = Global.System.Convert.DBNull End Sub End Class - + ''' '''Row event argument class ''' - _ + _ Public Class TBCBS_PROFILESRowChangeEvent Inherits Global.System.EventArgs - + Private eventRow As TBCBS_PROFILESRow - + Private eventAction As Global.System.Data.DataRowAction - - _ + + _ Public Sub New(ByVal row As TBCBS_PROFILESRow, ByVal action As Global.System.Data.DataRowAction) - MyBase.New() + MyBase.New Me.eventRow = row Me.eventAction = action End Sub - - _ + + _ Public ReadOnly Property Row() As TBCBS_PROFILESRow 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 - + ''' '''Row event argument class ''' - _ + _ Public Class TBCBS_USER_PROFILERowChangeEvent Inherits Global.System.EventArgs - + Private eventRow As TBCBS_USER_PROFILERow - + Private eventAction As Global.System.Data.DataRowAction - - _ + + _ Public Sub New(ByVal row As TBCBS_USER_PROFILERow, ByVal action As Global.System.Data.DataRowAction) - MyBase.New() + MyBase.New Me.eventRow = row Me.eventAction = action End Sub - - _ + + _ Public ReadOnly Property Row() As TBCBS_USER_PROFILERow 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 - + ''' '''Row event argument class ''' - _ + _ Public Class VWUSER_PROFILERowChangeEvent Inherits Global.System.EventArgs - + Private eventRow As VWUSER_PROFILERow - + Private eventAction As Global.System.Data.DataRowAction - - _ + + _ Public Sub New(ByVal row As VWUSER_PROFILERow, ByVal action As Global.System.Data.DataRowAction) - MyBase.New() + MyBase.New Me.eventRow = row Me.eventAction = action End Sub - - _ + + _ Public ReadOnly Property Row() As VWUSER_PROFILERow 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 - + ''' '''Row event argument class ''' - _ + _ Public Class TBCBS_PROFILE_PROCESSRowChangeEvent Inherits Global.System.EventArgs - + Private eventRow As TBCBS_PROFILE_PROCESSRow - + Private eventAction As Global.System.Data.DataRowAction - - _ + + _ Public Sub New(ByVal row As TBCBS_PROFILE_PROCESSRow, ByVal action As Global.System.Data.DataRowAction) - MyBase.New() + MyBase.New Me.eventRow = row Me.eventAction = action End Sub - - _ + + _ Public ReadOnly Property Row() As TBCBS_PROFILE_PROCESSRow 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 - + ''' '''Row event argument class ''' - _ + _ Public Class TBWH_UserRowChangeEvent Inherits Global.System.EventArgs - + Private eventRow As TBWH_UserRow - + Private eventAction As Global.System.Data.DataRowAction - - _ + + _ Public Sub New(ByVal row As TBWH_UserRow, ByVal action As Global.System.Data.DataRowAction) - MyBase.New() + MyBase.New Me.eventRow = row Me.eventAction = action End Sub - - _ + + _ Public ReadOnly Property Row() As TBWH_UserRow Get Return Me.eventRow End Get End Property - - _ + + _ Public ReadOnly Property Action() As Global.System.Data.DataRowAction Get Return Me.eventAction @@ -2893,57 +2893,57 @@ Partial Public Class MyDataset End Class Namespace MyDatasetTableAdapters - + ''' '''Represents the connection and commands used to retrieve and save data. ''' - _ + _ Partial Public Class TBCBS_PROFILESTableAdapter Inherits Global.System.ComponentModel.Component - + Private WithEvents _adapter As Global.System.Data.SqlClient.SqlDataAdapter - + Private _connection As Global.System.Data.SqlClient.SqlConnection - + Private _transaction As Global.System.Data.SqlClient.SqlTransaction - + Private _commandCollection() As Global.System.Data.SqlClient.SqlCommand - + Private _clearBeforeFill As Boolean - - _ + + _ Public Sub New() - MyBase.New() - Me.ClearBeforeFill = True + MyBase.New + Me.ClearBeforeFill = true End Sub - - _ + + _ Protected Friend ReadOnly Property Adapter() As Global.System.Data.SqlClient.SqlDataAdapter Get If (Me._adapter Is Nothing) Then - Me.InitAdapter() + Me.InitAdapter End If Return Me._adapter End Get End Property - - _ + + _ Friend Property Connection() As Global.System.Data.SqlClient.SqlConnection Get If (Me._connection Is Nothing) Then - Me.InitConnection() + Me.InitConnection End If Return Me._connection End Get - Set(value As Global.System.Data.SqlClient.SqlConnection) + Set Me._connection = value If (Not (Me.Adapter.InsertCommand) Is Nothing) Then Me.Adapter.InsertCommand.Connection = value @@ -2957,65 +2957,65 @@ Namespace MyDatasetTableAdapters 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.SqlClient.SqlCommand).Connection = value + CType(Me.CommandCollection(i),Global.System.Data.SqlClient.SqlCommand).Connection = value End If i = (i + 1) Loop End Set End Property - - _ + + _ Friend Property Transaction() As Global.System.Data.SqlClient.SqlTransaction Get Return Me._transaction End Get - Set(value As Global.System.Data.SqlClient.SqlTransaction) + 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) _ + 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) _ + 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) _ + 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.SqlClient.SqlCommand() Get If (Me._commandCollection Is Nothing) Then - Me.InitCommandCollection() + Me.InitCommandCollection End If Return Me._commandCollection End Get End Property - - _ + + _ Public Property ClearBeforeFill() As Boolean Get Return Me._clearBeforeFill End Get - Set(value As Boolean) + Set Me._clearBeforeFill = value End Set End Property - - _ + + _ Private Sub InitAdapter() Me._adapter = New Global.System.Data.SqlClient.SqlDataAdapter() Dim tableMapping As Global.System.Data.Common.DataTableMapping = New Global.System.Data.Common.DataTableMapping() @@ -3033,272 +3033,272 @@ Namespace MyDatasetTableAdapters Me._adapter.TableMappings.Add(tableMapping) Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.DeleteCommand.Connection = Me.Connection - Me._adapter.DeleteCommand.CommandText = "DELETE FROM TBCBS_PROFILES" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "WHERE (GUID = @Original_GUID)" + Me._adapter.DeleteCommand.CommandText = "DELETE FROM TBCBS_PROFILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @Original_GUID)" Me._adapter.DeleteCommand.CommandType = Global.System.Data.CommandType.Text - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, False, Nothing, "", "", "")) + Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) Me._adapter.InsertCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.InsertCommand.Connection = Me.Connection - Me._adapter.InsertCommand.CommandText = "INSERT INTO TBCBS_PROFILES" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & " (NAME, COMMENT, WD_SEARCH, R" & _ - "EGEX_EXPRESSION, ADDED_WHO)" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "VALUES (@NAME,@COMMENT,@WD_SEARCH,@REGEX_EXP" & _ - "RESSION,@ADDED_WHO); " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "SELECT GUID, NAME, COMMENT, WD_SEARCH, REGEX_EXPRESSION, " & _ - "ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM TBCBS_PROFILES WHERE (GUID" & _ + Me._adapter.InsertCommand.CommandText = "INSERT INTO TBCBS_PROFILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (NAME, COMMENT, WD_SEARCH, R"& _ + "EGEX_EXPRESSION, ADDED_WHO)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"VALUES (@NAME,@COMMENT,@WD_SEARCH,@REGEX_EXP"& _ + "RESSION,@ADDED_WHO); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, NAME, COMMENT, WD_SEARCH, REGEX_EXPRESSION, "& _ + "ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FROM TBCBS_PROFILES WHERE (GUID"& _ " = SCOPE_IDENTITY())" Me._adapter.InsertCommand.CommandType = Global.System.Data.CommandType.Text - Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@NAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "NAME", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@COMMENT", Global.System.Data.SqlDbType.VarChar, 500, Global.System.Data.ParameterDirection.Input, 0, 0, "COMMENT", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@WD_SEARCH", Global.System.Data.SqlDbType.VarChar, 250, Global.System.Data.ParameterDirection.Input, 0, 0, "WD_SEARCH", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@REGEX_EXPRESSION", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "REGEX_EXPRESSION", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@NAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "NAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@COMMENT", Global.System.Data.SqlDbType.VarChar, 500, Global.System.Data.ParameterDirection.Input, 0, 0, "COMMENT", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@WD_SEARCH", Global.System.Data.SqlDbType.VarChar, 250, Global.System.Data.ParameterDirection.Input, 0, 0, "WD_SEARCH", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@REGEX_EXPRESSION", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "REGEX_EXPRESSION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.UpdateCommand.Connection = Me.Connection - Me._adapter.UpdateCommand.CommandText = "UPDATE TBCBS_PROFILES" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "SET NAME = @NAME, COMMENT = @COMMENT," & _ - " WD_SEARCH = @WD_SEARCH, REGEX_EXPRESSION = @REGEX_EXPRESSION, CHANGED_WHO = @CH" & _ - "ANGED_WHO" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "WHERE (GUID = @Original_GUID); " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "SELECT GUID, NAME, COMMENT, W" & _ - "D_SEARCH, REGEX_EXPRESSION, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FRO" & _ + Me._adapter.UpdateCommand.CommandText = "UPDATE TBCBS_PROFILES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SET NAME = @NAME, COMMENT = @COMMENT,"& _ + " WD_SEARCH = @WD_SEARCH, REGEX_EXPRESSION = @REGEX_EXPRESSION, CHANGED_WHO = @CH"& _ + "ANGED_WHO"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @Original_GUID); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, NAME, COMMENT, W"& _ + "D_SEARCH, REGEX_EXPRESSION, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN FRO"& _ "M TBCBS_PROFILES WHERE (GUID = @GUID)" Me._adapter.UpdateCommand.CommandType = Global.System.Data.CommandType.Text - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@NAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "NAME", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@COMMENT", Global.System.Data.SqlDbType.VarChar, 500, Global.System.Data.ParameterDirection.Input, 0, 0, "COMMENT", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@WD_SEARCH", Global.System.Data.SqlDbType.VarChar, 250, Global.System.Data.ParameterDirection.Input, 0, 0, "WD_SEARCH", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@REGEX_EXPRESSION", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "REGEX_EXPRESSION", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@CHANGED_WHO", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHO", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, False, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, False, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@NAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "NAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@COMMENT", Global.System.Data.SqlDbType.VarChar, 500, Global.System.Data.ParameterDirection.Input, 0, 0, "COMMENT", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@WD_SEARCH", Global.System.Data.SqlDbType.VarChar, 250, Global.System.Data.ParameterDirection.Input, 0, 0, "WD_SEARCH", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@REGEX_EXPRESSION", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "REGEX_EXPRESSION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@CHANGED_WHO", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "CHANGED_WHO", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) End Sub - - _ + + _ Private Sub InitConnection() Me._connection = New Global.System.Data.SqlClient.SqlConnection() - Me._connection.ConnectionString = Global.DD_Clipboard_Searcher.My.MySettings.Default.DD_ECMConnectionString + Me._connection.ConnectionString = Global.DD_Clipboard_Watcher.My.MySettings.Default.DD_ECMConnectionString End Sub - - _ + + _ Private Sub InitCommandCollection() Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(0) {} Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(0).Connection = Me.Connection - Me._commandCollection(0).CommandText = "SELECT TBCBS_PROFILES.*" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "FROM TBCBS_PROFILES" + Me._commandCollection(0).CommandText = "SELECT TBCBS_PROFILES.*"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBCBS_PROFILES" Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text End Sub - - _ - Public Overridable Overloads Function Fill(ByVal dataTable As MyDataset.TBCBS_PROFILESDataTable) As Integer + + _ + Public Overloads Overridable Function Fill(ByVal dataTable As MyDataset.TBCBS_PROFILESDataTable) As Integer Me.Adapter.SelectCommand = Me.CommandCollection(0) - If (Me.ClearBeforeFill = True) Then - dataTable.Clear() + If (Me.ClearBeforeFill = true) Then + dataTable.Clear End If Dim returnValue As Integer = Me.Adapter.Fill(dataTable) Return returnValue End Function - - _ - Public Overridable Overloads Function GetData() As MyDataset.TBCBS_PROFILESDataTable + + _ + Public Overloads Overridable Function GetData() As MyDataset.TBCBS_PROFILESDataTable Me.Adapter.SelectCommand = Me.CommandCollection(0) Dim dataTable As MyDataset.TBCBS_PROFILESDataTable = New MyDataset.TBCBS_PROFILESDataTable() Me.Adapter.Fill(dataTable) Return dataTable End Function - - _ - Public Overridable Overloads Function Update(ByVal dataTable As MyDataset.TBCBS_PROFILESDataTable) As Integer + + _ + Public Overloads Overridable Function Update(ByVal dataTable As MyDataset.TBCBS_PROFILESDataTable) As Integer Return Me.Adapter.Update(dataTable) End Function - - _ - Public Overridable Overloads Function Update(ByVal dataSet As MyDataset) As Integer + + _ + Public Overloads Overridable Function Update(ByVal dataSet As MyDataset) As Integer Return Me.Adapter.Update(dataSet, "TBCBS_PROFILES") End Function - - _ - Public Overridable Overloads Function Update(ByVal dataRow As Global.System.Data.DataRow) As Integer + + _ + 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 Overridable Overloads Function Update(ByVal dataRows() As Global.System.Data.DataRow) As Integer + + _ + Public Overloads Overridable Function Update(ByVal dataRows() As Global.System.Data.DataRow) As Integer Return Me.Adapter.Update(dataRows) End Function - - _ - Public Overridable Overloads Function Delete(ByVal Original_GUID As Integer) As Integer - Me.Adapter.DeleteCommand.Parameters(0).Value = CType(Original_GUID, Integer) + + _ + Public Overloads Overridable Function Delete(ByVal Original_GUID As Integer) As Integer + Me.Adapter.DeleteCommand.Parameters(0).Value = CType(Original_GUID,Integer) Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State - If ((Me.Adapter.DeleteCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ + If ((Me.Adapter.DeleteCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then - Me.Adapter.DeleteCommand.Connection.Open() + Me.Adapter.DeleteCommand.Connection.Open End If - Try + 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() + Me.Adapter.DeleteCommand.Connection.Close End If End Try End Function - - _ - Public Overridable Overloads Function Insert(ByVal NAME As String, ByVal COMMENT As String, ByVal WD_SEARCH As String, ByVal REGEX_EXPRESSION As String, ByVal ADDED_WHO As String) As Integer + + _ + Public Overloads Overridable Function Insert(ByVal NAME As String, ByVal COMMENT As String, ByVal WD_SEARCH As String, ByVal REGEX_EXPRESSION As String, ByVal ADDED_WHO As String) As Integer If (NAME Is Nothing) Then Throw New Global.System.ArgumentNullException("NAME") Else - Me.Adapter.InsertCommand.Parameters(0).Value = CType(NAME, String) + Me.Adapter.InsertCommand.Parameters(0).Value = CType(NAME,String) End If If (COMMENT Is Nothing) Then Me.Adapter.InsertCommand.Parameters(1).Value = Global.System.DBNull.Value Else - Me.Adapter.InsertCommand.Parameters(1).Value = CType(COMMENT, String) + Me.Adapter.InsertCommand.Parameters(1).Value = CType(COMMENT,String) End If If (WD_SEARCH Is Nothing) Then Throw New Global.System.ArgumentNullException("WD_SEARCH") Else - Me.Adapter.InsertCommand.Parameters(2).Value = CType(WD_SEARCH, String) + Me.Adapter.InsertCommand.Parameters(2).Value = CType(WD_SEARCH,String) End If If (REGEX_EXPRESSION Is Nothing) Then Throw New Global.System.ArgumentNullException("REGEX_EXPRESSION") Else - Me.Adapter.InsertCommand.Parameters(3).Value = CType(REGEX_EXPRESSION, String) + Me.Adapter.InsertCommand.Parameters(3).Value = CType(REGEX_EXPRESSION,String) End If If (ADDED_WHO Is Nothing) Then Throw New Global.System.ArgumentNullException("ADDED_WHO") Else - Me.Adapter.InsertCommand.Parameters(4).Value = CType(ADDED_WHO, String) + Me.Adapter.InsertCommand.Parameters(4).Value = CType(ADDED_WHO,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) _ + If ((Me.Adapter.InsertCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then - Me.Adapter.InsertCommand.Connection.Open() + Me.Adapter.InsertCommand.Connection.Open End If - Try + 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() + Me.Adapter.InsertCommand.Connection.Close End If End Try End Function - - _ - Public Overridable Overloads Function Update(ByVal NAME As String, ByVal COMMENT As String, ByVal WD_SEARCH As String, ByVal REGEX_EXPRESSION As String, ByVal CHANGED_WHO As String, ByVal Original_GUID As Integer, ByVal GUID As Integer) As Integer + + _ + Public Overloads Overridable Function Update(ByVal NAME As String, ByVal COMMENT As String, ByVal WD_SEARCH As String, ByVal REGEX_EXPRESSION As String, ByVal CHANGED_WHO As String, ByVal Original_GUID As Integer, ByVal GUID As Integer) As Integer If (NAME Is Nothing) Then Throw New Global.System.ArgumentNullException("NAME") Else - Me.Adapter.UpdateCommand.Parameters(0).Value = CType(NAME, String) + Me.Adapter.UpdateCommand.Parameters(0).Value = CType(NAME,String) End If If (COMMENT Is Nothing) Then Me.Adapter.UpdateCommand.Parameters(1).Value = Global.System.DBNull.Value Else - Me.Adapter.UpdateCommand.Parameters(1).Value = CType(COMMENT, String) + Me.Adapter.UpdateCommand.Parameters(1).Value = CType(COMMENT,String) End If If (WD_SEARCH Is Nothing) Then Throw New Global.System.ArgumentNullException("WD_SEARCH") Else - Me.Adapter.UpdateCommand.Parameters(2).Value = CType(WD_SEARCH, String) + Me.Adapter.UpdateCommand.Parameters(2).Value = CType(WD_SEARCH,String) End If If (REGEX_EXPRESSION Is Nothing) Then Throw New Global.System.ArgumentNullException("REGEX_EXPRESSION") Else - Me.Adapter.UpdateCommand.Parameters(3).Value = CType(REGEX_EXPRESSION, String) + Me.Adapter.UpdateCommand.Parameters(3).Value = CType(REGEX_EXPRESSION,String) End If If (CHANGED_WHO Is Nothing) Then Me.Adapter.UpdateCommand.Parameters(4).Value = Global.System.DBNull.Value Else - Me.Adapter.UpdateCommand.Parameters(4).Value = CType(CHANGED_WHO, String) + Me.Adapter.UpdateCommand.Parameters(4).Value = CType(CHANGED_WHO,String) End If - Me.Adapter.UpdateCommand.Parameters(5).Value = CType(Original_GUID, Integer) - Me.Adapter.UpdateCommand.Parameters(6).Value = CType(GUID, Integer) + Me.Adapter.UpdateCommand.Parameters(5).Value = CType(Original_GUID,Integer) + Me.Adapter.UpdateCommand.Parameters(6).Value = CType(GUID,Integer) Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State - If ((Me.Adapter.UpdateCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ + If ((Me.Adapter.UpdateCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then - Me.Adapter.UpdateCommand.Connection.Open() + Me.Adapter.UpdateCommand.Connection.Open End If - Try + 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() + Me.Adapter.UpdateCommand.Connection.Close End If End Try End Function End Class - + ''' '''Represents the connection and commands used to retrieve and save data. ''' - _ + _ Partial Public Class TBCBS_USER_PROFILETableAdapter Inherits Global.System.ComponentModel.Component - + Private WithEvents _adapter As Global.System.Data.SqlClient.SqlDataAdapter - + Private _connection As Global.System.Data.SqlClient.SqlConnection - + Private _transaction As Global.System.Data.SqlClient.SqlTransaction - + Private _commandCollection() As Global.System.Data.SqlClient.SqlCommand - + Private _clearBeforeFill As Boolean - - _ + + _ Public Sub New() - MyBase.New() - Me.ClearBeforeFill = True + MyBase.New + Me.ClearBeforeFill = true End Sub - - _ + + _ Protected Friend ReadOnly Property Adapter() As Global.System.Data.SqlClient.SqlDataAdapter Get If (Me._adapter Is Nothing) Then - Me.InitAdapter() + Me.InitAdapter End If Return Me._adapter End Get End Property - - _ + + _ Friend Property Connection() As Global.System.Data.SqlClient.SqlConnection Get If (Me._connection Is Nothing) Then - Me.InitConnection() + Me.InitConnection End If Return Me._connection End Get - Set(value As Global.System.Data.SqlClient.SqlConnection) + Set Me._connection = value If (Not (Me.Adapter.InsertCommand) Is Nothing) Then Me.Adapter.InsertCommand.Connection = value @@ -3312,65 +3312,65 @@ Namespace MyDatasetTableAdapters 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.SqlClient.SqlCommand).Connection = value + CType(Me.CommandCollection(i),Global.System.Data.SqlClient.SqlCommand).Connection = value End If i = (i + 1) Loop End Set End Property - - _ + + _ Friend Property Transaction() As Global.System.Data.SqlClient.SqlTransaction Get Return Me._transaction End Get - Set(value As Global.System.Data.SqlClient.SqlTransaction) + 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) _ + 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) _ + 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) _ + 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.SqlClient.SqlCommand() Get If (Me._commandCollection Is Nothing) Then - Me.InitCommandCollection() + Me.InitCommandCollection End If Return Me._commandCollection End Get End Property - - _ + + _ Public Property ClearBeforeFill() As Boolean Get Return Me._clearBeforeFill End Get - Set(value As Boolean) + Set Me._clearBeforeFill = value End Set End Property - - _ + + _ Private Sub InitAdapter() Me._adapter = New Global.System.Data.SqlClient.SqlDataAdapter() Dim tableMapping As Global.System.Data.Common.DataTableMapping = New Global.System.Data.Common.DataTableMapping() @@ -3384,223 +3384,223 @@ Namespace MyDatasetTableAdapters Me._adapter.TableMappings.Add(tableMapping) Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.DeleteCommand.Connection = Me.Connection - Me._adapter.DeleteCommand.CommandText = "DELETE FROM TBCBS_USER_PROFILE" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "WHERE (GUID = @Original_GUID)" + Me._adapter.DeleteCommand.CommandText = "DELETE FROM TBCBS_USER_PROFILE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @Original_GUID)" Me._adapter.DeleteCommand.CommandType = Global.System.Data.CommandType.Text - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, False, Nothing, "", "", "")) + Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) Me._adapter.InsertCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.InsertCommand.Connection = Me.Connection - Me._adapter.InsertCommand.CommandText = "INSERT INTO TBCBS_USER_PROFILE" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & " (PROFILE_ID, USER_ID, AD" & _ - "DED_WHO)" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "VALUES (@PROFILE_ID,@USER_ID,@ADDED_WHO); " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "SELECT GUID, PROFIL" & _ - "E_ID, USER_ID, ADDED_WHO, ADDED_WHEN FROM TBCBS_USER_PROFILE WHERE (GUID = SCOPE" & _ + Me._adapter.InsertCommand.CommandText = "INSERT INTO TBCBS_USER_PROFILE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (PROFILE_ID, USER_ID, AD"& _ + "DED_WHO)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"VALUES (@PROFILE_ID,@USER_ID,@ADDED_WHO); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, PROFIL"& _ + "E_ID, USER_ID, ADDED_WHO, ADDED_WHEN FROM TBCBS_USER_PROFILE WHERE (GUID = SCOPE"& _ "_IDENTITY())" Me._adapter.InsertCommand.CommandType = Global.System.Data.CommandType.Text - Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFILE_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USER_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "USER_ID", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFILE_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USER_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "USER_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.UpdateCommand.Connection = Me.Connection - Me._adapter.UpdateCommand.CommandText = "UPDATE TBCBS_USER_PROFILE" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "SET PROFILE_ID = @PROFILE_ID, USE" & _ - "R_ID = @USER_ID" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "WHERE (GUID = @Original_GUID); " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "SELECT GUID, PROFILE_ID" & _ + Me._adapter.UpdateCommand.CommandText = "UPDATE TBCBS_USER_PROFILE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SET PROFILE_ID = @PROFILE_ID, USE"& _ + "R_ID = @USER_ID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @Original_GUID); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, PROFILE_ID"& _ ", USER_ID, ADDED_WHO, ADDED_WHEN FROM TBCBS_USER_PROFILE WHERE (GUID = @GUID)" Me._adapter.UpdateCommand.CommandType = Global.System.Data.CommandType.Text - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFILE_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USER_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "USER_ID", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, False, Nothing, "", "", "")) - Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, False, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFILE_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USER_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "USER_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) End Sub - - _ + + _ Private Sub InitConnection() Me._connection = New Global.System.Data.SqlClient.SqlConnection() - Me._connection.ConnectionString = Global.DD_Clipboard_Searcher.My.MySettings.Default.DD_ECMConnectionString + Me._connection.ConnectionString = Global.DD_Clipboard_Watcher.My.MySettings.Default.DD_ECMConnectionString End Sub - - _ + + _ Private Sub InitCommandCollection() Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(0) {} Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(0).Connection = Me.Connection - Me._commandCollection(0).CommandText = "SELECT TBCBS_USER_PROFILE.*" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "FROM TBCBS_USER_PROFILE" + Me._commandCollection(0).CommandText = "SELECT TBCBS_USER_PROFILE.*"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBCBS_USER_PROFILE" Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text End Sub - - _ - Public Overridable Overloads Function Fill(ByVal dataTable As MyDataset.TBCBS_USER_PROFILEDataTable) As Integer + + _ + Public Overloads Overridable Function Fill(ByVal dataTable As MyDataset.TBCBS_USER_PROFILEDataTable) As Integer Me.Adapter.SelectCommand = Me.CommandCollection(0) - If (Me.ClearBeforeFill = True) Then - dataTable.Clear() + If (Me.ClearBeforeFill = true) Then + dataTable.Clear End If Dim returnValue As Integer = Me.Adapter.Fill(dataTable) Return returnValue End Function - - _ - Public Overridable Overloads Function GetData() As MyDataset.TBCBS_USER_PROFILEDataTable + + _ + Public Overloads Overridable Function GetData() As MyDataset.TBCBS_USER_PROFILEDataTable Me.Adapter.SelectCommand = Me.CommandCollection(0) Dim dataTable As MyDataset.TBCBS_USER_PROFILEDataTable = New MyDataset.TBCBS_USER_PROFILEDataTable() Me.Adapter.Fill(dataTable) Return dataTable End Function - - _ - Public Overridable Overloads Function Update(ByVal dataTable As MyDataset.TBCBS_USER_PROFILEDataTable) As Integer + + _ + Public Overloads Overridable Function Update(ByVal dataTable As MyDataset.TBCBS_USER_PROFILEDataTable) As Integer Return Me.Adapter.Update(dataTable) End Function - - _ - Public Overridable Overloads Function Update(ByVal dataSet As MyDataset) As Integer + + _ + Public Overloads Overridable Function Update(ByVal dataSet As MyDataset) As Integer Return Me.Adapter.Update(dataSet, "TBCBS_USER_PROFILE") End Function - - _ - Public Overridable Overloads Function Update(ByVal dataRow As Global.System.Data.DataRow) As Integer + + _ + 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 Overridable Overloads Function Update(ByVal dataRows() As Global.System.Data.DataRow) As Integer + + _ + Public Overloads Overridable Function Update(ByVal dataRows() As Global.System.Data.DataRow) As Integer Return Me.Adapter.Update(dataRows) End Function - - _ - Public Overridable Overloads Function Delete(ByVal Original_GUID As Integer) As Integer - Me.Adapter.DeleteCommand.Parameters(0).Value = CType(Original_GUID, Integer) + + _ + Public Overloads Overridable Function Delete(ByVal Original_GUID As Integer) As Integer + Me.Adapter.DeleteCommand.Parameters(0).Value = CType(Original_GUID,Integer) Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State - If ((Me.Adapter.DeleteCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ + If ((Me.Adapter.DeleteCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then - Me.Adapter.DeleteCommand.Connection.Open() + Me.Adapter.DeleteCommand.Connection.Open End If - Try + 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() + Me.Adapter.DeleteCommand.Connection.Close End If End Try End Function - - _ - Public Overridable Overloads Function Insert(ByVal PROFILE_ID As Integer, ByVal USER_ID As Integer, ByVal ADDED_WHO As String) As Integer - Me.Adapter.InsertCommand.Parameters(0).Value = CType(PROFILE_ID, Integer) - Me.Adapter.InsertCommand.Parameters(1).Value = CType(USER_ID, Integer) + + _ + Public Overloads Overridable Function Insert(ByVal PROFILE_ID As Integer, ByVal USER_ID As Integer, ByVal ADDED_WHO As String) As Integer + Me.Adapter.InsertCommand.Parameters(0).Value = CType(PROFILE_ID,Integer) + Me.Adapter.InsertCommand.Parameters(1).Value = CType(USER_ID,Integer) If (ADDED_WHO Is Nothing) Then Throw New Global.System.ArgumentNullException("ADDED_WHO") Else - Me.Adapter.InsertCommand.Parameters(2).Value = CType(ADDED_WHO, String) + Me.Adapter.InsertCommand.Parameters(2).Value = CType(ADDED_WHO,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) _ + If ((Me.Adapter.InsertCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then - Me.Adapter.InsertCommand.Connection.Open() + Me.Adapter.InsertCommand.Connection.Open End If - Try + 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() + Me.Adapter.InsertCommand.Connection.Close End If End Try End Function - - _ - Public Overridable Overloads Function Update(ByVal PROFILE_ID As Integer, ByVal USER_ID As Integer, ByVal Original_GUID As Integer, ByVal GUID As Integer) As Integer - Me.Adapter.UpdateCommand.Parameters(0).Value = CType(PROFILE_ID, Integer) - Me.Adapter.UpdateCommand.Parameters(1).Value = CType(USER_ID, Integer) - Me.Adapter.UpdateCommand.Parameters(2).Value = CType(Original_GUID, Integer) - Me.Adapter.UpdateCommand.Parameters(3).Value = CType(GUID, Integer) + + _ + Public Overloads Overridable Function Update(ByVal PROFILE_ID As Integer, ByVal USER_ID As Integer, ByVal Original_GUID As Integer, ByVal GUID As Integer) As Integer + Me.Adapter.UpdateCommand.Parameters(0).Value = CType(PROFILE_ID,Integer) + Me.Adapter.UpdateCommand.Parameters(1).Value = CType(USER_ID,Integer) + Me.Adapter.UpdateCommand.Parameters(2).Value = CType(Original_GUID,Integer) + Me.Adapter.UpdateCommand.Parameters(3).Value = CType(GUID,Integer) Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State - If ((Me.Adapter.UpdateCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ + If ((Me.Adapter.UpdateCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then - Me.Adapter.UpdateCommand.Connection.Open() + Me.Adapter.UpdateCommand.Connection.Open End If - Try + 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() + Me.Adapter.UpdateCommand.Connection.Close End If End Try End Function End Class - + ''' '''Represents the connection and commands used to retrieve and save data. ''' - _ + _ Partial Public Class VWUSER_PROFILETableAdapter Inherits Global.System.ComponentModel.Component - + Private WithEvents _adapter As Global.System.Data.SqlClient.SqlDataAdapter - + Private _connection As Global.System.Data.SqlClient.SqlConnection - + Private _transaction As Global.System.Data.SqlClient.SqlTransaction - + Private _commandCollection() As Global.System.Data.SqlClient.SqlCommand - + Private _clearBeforeFill As Boolean - - _ + + _ Public Sub New() - MyBase.New() - Me.ClearBeforeFill = True + MyBase.New + Me.ClearBeforeFill = true End Sub - - _ + + _ Protected Friend ReadOnly Property Adapter() As Global.System.Data.SqlClient.SqlDataAdapter Get If (Me._adapter Is Nothing) Then - Me.InitAdapter() + Me.InitAdapter End If Return Me._adapter End Get End Property - - _ + + _ Friend Property Connection() As Global.System.Data.SqlClient.SqlConnection Get If (Me._connection Is Nothing) Then - Me.InitConnection() + Me.InitConnection End If Return Me._connection End Get - Set(value As Global.System.Data.SqlClient.SqlConnection) + Set Me._connection = value If (Not (Me.Adapter.InsertCommand) Is Nothing) Then Me.Adapter.InsertCommand.Connection = value @@ -3614,65 +3614,65 @@ Namespace MyDatasetTableAdapters 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.SqlClient.SqlCommand).Connection = value + CType(Me.CommandCollection(i),Global.System.Data.SqlClient.SqlCommand).Connection = value End If i = (i + 1) Loop End Set End Property - - _ + + _ Friend Property Transaction() As Global.System.Data.SqlClient.SqlTransaction Get Return Me._transaction End Get - Set(value As Global.System.Data.SqlClient.SqlTransaction) + 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) _ + 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) _ + 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) _ + 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.SqlClient.SqlCommand() Get If (Me._commandCollection Is Nothing) Then - Me.InitCommandCollection() + Me.InitCommandCollection End If Return Me._commandCollection End Get End Property - - _ + + _ Public Property ClearBeforeFill() As Boolean Get Return Me._clearBeforeFill End Get - Set(value As Boolean) + Set Me._clearBeforeFill = value End Set End Property - - _ + + _ Private Sub InitAdapter() Me._adapter = New Global.System.Data.SqlClient.SqlDataAdapter() Dim tableMapping As Global.System.Data.Common.DataTableMapping = New Global.System.Data.Common.DataTableMapping() @@ -3685,137 +3685,137 @@ Namespace MyDatasetTableAdapters tableMapping.ColumnMappings.Add("PRENAME", "PRENAME") Me._adapter.TableMappings.Add(tableMapping) End Sub - - _ + + _ Private Sub InitConnection() Me._connection = New Global.System.Data.SqlClient.SqlConnection() - Me._connection.ConnectionString = Global.DD_Clipboard_Searcher.My.MySettings.Default.DD_ECMConnectionString + Me._connection.ConnectionString = Global.DD_Clipboard_Watcher.My.MySettings.Default.DD_ECMConnectionString End Sub - - _ + + _ Private Sub InitCommandCollection() Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(1) {} Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(0).Connection = Me.Connection - Me._commandCollection(0).CommandText = "SELECT T.GUID, T.PROFILE_ID, T1.USERNAME, T1.NAME, T1.PRENAME" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "FROM " & _ - " TBCBS_USER_PROFILE AS T INNER JOIN" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & " TBDD_USER AS T" & _ - "1 ON T.USER_ID = T1.GUID" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "WHERE (T.PROFILE_ID = @PROFILE_ID) ORDER BY T1." & _ + Me._commandCollection(0).CommandText = "SELECT T.GUID, T.PROFILE_ID, T1.USERNAME, T1.NAME, T1.PRENAME"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM "& _ + " TBCBS_USER_PROFILE AS T INNER JOIN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" TBDD_USER AS T"& _ + "1 ON T.USER_ID = T1.GUID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (T.PROFILE_ID = @PROFILE_ID) ORDER BY T1."& _ "USERNAME" Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text - Me._commandCollection(0).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFILE_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) + Me._commandCollection(0).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFILE_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(1) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(1).Connection = Me.Connection Me._commandCollection(1).CommandText = "DELETE FROM TBCBS_USER_RPOFILE WHERE GUID = @GUID" Me._commandCollection(1).CommandType = Global.System.Data.CommandType.Text - Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.[Variant], 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Original, False, Nothing, "", "", "")) + Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.[Variant], 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) End Sub - - _ - Public Overridable Overloads Function Fill(ByVal dataTable As MyDataset.VWUSER_PROFILEDataTable, ByVal PROFILE_ID As Integer) As Integer + + _ + Public Overloads Overridable Function Fill(ByVal dataTable As MyDataset.VWUSER_PROFILEDataTable, ByVal PROFILE_ID As Integer) As Integer Me.Adapter.SelectCommand = Me.CommandCollection(0) - Me.Adapter.SelectCommand.Parameters(0).Value = CType(PROFILE_ID, Integer) - If (Me.ClearBeforeFill = True) Then - dataTable.Clear() + Me.Adapter.SelectCommand.Parameters(0).Value = CType(PROFILE_ID,Integer) + If (Me.ClearBeforeFill = true) Then + dataTable.Clear End If Dim returnValue As Integer = Me.Adapter.Fill(dataTable) Return returnValue End Function - - _ - Public Overridable Overloads Function GetData(ByVal PROFILE_ID As Integer) As MyDataset.VWUSER_PROFILEDataTable + + _ + Public Overloads Overridable Function GetData(ByVal PROFILE_ID As Integer) As MyDataset.VWUSER_PROFILEDataTable Me.Adapter.SelectCommand = Me.CommandCollection(0) - Me.Adapter.SelectCommand.Parameters(0).Value = CType(PROFILE_ID, Integer) + Me.Adapter.SelectCommand.Parameters(0).Value = CType(PROFILE_ID,Integer) Dim dataTable As MyDataset.VWUSER_PROFILEDataTable = New MyDataset.VWUSER_PROFILEDataTable() Me.Adapter.Fill(dataTable) Return dataTable End Function - - _ - Public Overridable Overloads Function cmdDelete(ByVal GUID As Object) As Integer + + _ + Public Overloads Overridable Function cmdDelete(ByVal GUID As Object) As Integer Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(1) If (GUID Is Nothing) Then Throw New Global.System.ArgumentNullException("GUID") Else - command.Parameters(0).Value = CType(GUID, Object) + command.Parameters(0).Value = CType(GUID,Object) End If Dim previousConnectionState As Global.System.Data.ConnectionState = command.Connection.State - If ((command.Connection.State And Global.System.Data.ConnectionState.Open) _ + If ((command.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then - command.Connection.Open() + command.Connection.Open End If Dim returnValue As Integer - Try + Try returnValue = command.ExecuteNonQuery Finally If (previousConnectionState = Global.System.Data.ConnectionState.Closed) Then - command.Connection.Close() + command.Connection.Close End If End Try Return returnValue End Function End Class - + ''' '''Represents the connection and commands used to retrieve and save data. ''' - _ + _ Partial Public Class TBCBS_PROFILE_PROCESSTableAdapter Inherits Global.System.ComponentModel.Component - + Private WithEvents _adapter As Global.System.Data.SqlClient.SqlDataAdapter - + Private _connection As Global.System.Data.SqlClient.SqlConnection - + Private _transaction As Global.System.Data.SqlClient.SqlTransaction - + Private _commandCollection() As Global.System.Data.SqlClient.SqlCommand - + Private _clearBeforeFill As Boolean - - _ + + _ Public Sub New() - MyBase.New() - Me.ClearBeforeFill = True + MyBase.New + Me.ClearBeforeFill = true End Sub - - _ + + _ Protected Friend ReadOnly Property Adapter() As Global.System.Data.SqlClient.SqlDataAdapter Get If (Me._adapter Is Nothing) Then - Me.InitAdapter() + Me.InitAdapter End If Return Me._adapter End Get End Property - - _ + + _ Friend Property Connection() As Global.System.Data.SqlClient.SqlConnection Get If (Me._connection Is Nothing) Then - Me.InitConnection() + Me.InitConnection End If Return Me._connection End Get - Set(value As Global.System.Data.SqlClient.SqlConnection) + Set Me._connection = value If (Not (Me.Adapter.InsertCommand) Is Nothing) Then Me.Adapter.InsertCommand.Connection = value @@ -3829,65 +3829,65 @@ Namespace MyDatasetTableAdapters 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.SqlClient.SqlCommand).Connection = value + CType(Me.CommandCollection(i),Global.System.Data.SqlClient.SqlCommand).Connection = value End If i = (i + 1) Loop End Set End Property - - _ + + _ Friend Property Transaction() As Global.System.Data.SqlClient.SqlTransaction Get Return Me._transaction End Get - Set(value As Global.System.Data.SqlClient.SqlTransaction) + 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) _ + 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) _ + 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) _ + 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.SqlClient.SqlCommand() Get If (Me._commandCollection Is Nothing) Then - Me.InitCommandCollection() + Me.InitCommandCollection End If Return Me._commandCollection End Get End Property - - _ + + _ Public Property ClearBeforeFill() As Boolean Get Return Me._clearBeforeFill End Get - Set(value As Boolean) + Set Me._clearBeforeFill = value End Set End Property - - _ + + _ Private Sub InitAdapter() Me._adapter = New Global.System.Data.SqlClient.SqlDataAdapter() Dim tableMapping As Global.System.Data.Common.DataTableMapping = New Global.System.Data.Common.DataTableMapping() @@ -3901,210 +3901,210 @@ Namespace MyDatasetTableAdapters Me._adapter.TableMappings.Add(tableMapping) Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.DeleteCommand.Connection = Me.Connection - Me._adapter.DeleteCommand.CommandText = "DELETE FROM TBCBS_PROFILE_PROCESS" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "WHERE (GUID = @GUID)" + Me._adapter.DeleteCommand.CommandText = "DELETE FROM TBCBS_PROFILE_PROCESS"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @GUID)" Me._adapter.DeleteCommand.CommandType = Global.System.Data.CommandType.Text - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, False, Nothing, "", "", "")) + Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) Me._adapter.InsertCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.InsertCommand.Connection = Me.Connection - Me._adapter.InsertCommand.CommandText = "INSERT INTO TBCBS_PROFILE_PROCESS" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & " (PROFILE_ID, PROC_NAM" & _ - "E, ADDED_WHO)" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "VALUES (@PROFILE,@PROC_NAME,@ADDED_WHO)" + Me._adapter.InsertCommand.CommandText = "INSERT INTO TBCBS_PROFILE_PROCESS"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (PROFILE_ID, PROC_NAM"& _ + "E, ADDED_WHO)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"VALUES (@PROFILE,@PROC_NAME,@ADDED_WHO)" Me._adapter.InsertCommand.CommandType = Global.System.Data.CommandType.Text - Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFILE", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROC_NAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "PROC_NAME", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) - Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFILE", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROC_NAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "PROC_NAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) End Sub - - _ + + _ Private Sub InitConnection() Me._connection = New Global.System.Data.SqlClient.SqlConnection() - Me._connection.ConnectionString = Global.DD_Clipboard_Searcher.My.MySettings.Default.DD_ECMConnectionString + Me._connection.ConnectionString = Global.DD_Clipboard_Watcher.My.MySettings.Default.DD_ECMConnectionString End Sub - - _ + + _ Private Sub InitCommandCollection() Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(0) {} Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(0).Connection = Me.Connection - Me._commandCollection(0).CommandText = "SELECT GUID, PROFILE_ID, PROC_NAME, ADDED_WHO, ADDED_WHEN" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "FROM " & _ - " TBCBS_PROFILE_PROCESS" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "WHERE (PROFILE_ID = @PID)" + Me._commandCollection(0).CommandText = "SELECT GUID, PROFILE_ID, PROC_NAME, ADDED_WHO, ADDED_WHEN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM "& _ + " TBCBS_PROFILE_PROCESS"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (PROFILE_ID = @PID)" Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text - Me._commandCollection(0).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, False, Nothing, "", "", "")) + Me._commandCollection(0).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) End Sub - - _ - Public Overridable Overloads Function Fill(ByVal dataTable As MyDataset.TBCBS_PROFILE_PROCESSDataTable, ByVal PID As Integer) As Integer + + _ + Public Overloads Overridable Function Fill(ByVal dataTable As MyDataset.TBCBS_PROFILE_PROCESSDataTable, ByVal PID As Integer) As Integer Me.Adapter.SelectCommand = Me.CommandCollection(0) - Me.Adapter.SelectCommand.Parameters(0).Value = CType(PID, Integer) - If (Me.ClearBeforeFill = True) Then - dataTable.Clear() + Me.Adapter.SelectCommand.Parameters(0).Value = CType(PID,Integer) + If (Me.ClearBeforeFill = true) Then + dataTable.Clear End If Dim returnValue As Integer = Me.Adapter.Fill(dataTable) Return returnValue End Function - - _ - Public Overridable Overloads Function GetData(ByVal PID As Integer) As MyDataset.TBCBS_PROFILE_PROCESSDataTable + + _ + Public Overloads Overridable Function GetData(ByVal PID As Integer) As MyDataset.TBCBS_PROFILE_PROCESSDataTable Me.Adapter.SelectCommand = Me.CommandCollection(0) - Me.Adapter.SelectCommand.Parameters(0).Value = CType(PID, Integer) + Me.Adapter.SelectCommand.Parameters(0).Value = CType(PID,Integer) Dim dataTable As MyDataset.TBCBS_PROFILE_PROCESSDataTable = New MyDataset.TBCBS_PROFILE_PROCESSDataTable() Me.Adapter.Fill(dataTable) Return dataTable End Function - - _ - Public Overridable Overloads Function Update(ByVal dataTable As MyDataset.TBCBS_PROFILE_PROCESSDataTable) As Integer + + _ + Public Overloads Overridable Function Update(ByVal dataTable As MyDataset.TBCBS_PROFILE_PROCESSDataTable) As Integer Return Me.Adapter.Update(dataTable) End Function - - _ - Public Overridable Overloads Function Update(ByVal dataSet As MyDataset) As Integer + + _ + Public Overloads Overridable Function Update(ByVal dataSet As MyDataset) As Integer Return Me.Adapter.Update(dataSet, "TBCBS_PROFILE_PROCESS") End Function - - _ - Public Overridable Overloads Function Update(ByVal dataRow As Global.System.Data.DataRow) As Integer + + _ + 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 Overridable Overloads Function Update(ByVal dataRows() As Global.System.Data.DataRow) As Integer + + _ + Public Overloads Overridable Function Update(ByVal dataRows() As Global.System.Data.DataRow) As Integer Return Me.Adapter.Update(dataRows) 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 _tBCBS_PROFILESTableAdapter As TBCBS_PROFILESTableAdapter - + Private _tBCBS_USER_PROFILETableAdapter As TBCBS_USER_PROFILETableAdapter - + Private _tBCBS_PROFILE_PROCESSTableAdapter As TBCBS_PROFILE_PROCESSTableAdapter - + Private _backupDataSetBeforeUpdate As Boolean - + Private _connection As Global.System.Data.IDbConnection - - _ + + _ Public Property UpdateOrder() As UpdateOrderOption Get Return Me._updateOrder End Get - Set(value As UpdateOrderOption) + Set Me._updateOrder = value End Set End Property - - _ + + _ Public Property TBCBS_PROFILESTableAdapter() As TBCBS_PROFILESTableAdapter Get Return Me._tBCBS_PROFILESTableAdapter End Get - Set(value As TBCBS_PROFILESTableAdapter) + Set Me._tBCBS_PROFILESTableAdapter = value End Set End Property - - _ + + _ Public Property TBCBS_USER_PROFILETableAdapter() As TBCBS_USER_PROFILETableAdapter Get Return Me._tBCBS_USER_PROFILETableAdapter End Get - Set(value As TBCBS_USER_PROFILETableAdapter) + Set Me._tBCBS_USER_PROFILETableAdapter = value End Set End Property - - _ + + _ Public Property TBCBS_PROFILE_PROCESSTableAdapter() As TBCBS_PROFILE_PROCESSTableAdapter Get Return Me._tBCBS_PROFILE_PROCESSTableAdapter End Get - Set(value As TBCBS_PROFILE_PROCESSTableAdapter) + Set Me._tBCBS_PROFILE_PROCESSTableAdapter = value End Set End Property - - _ + + _ Public Property BackupDataSetBeforeUpdate() As Boolean Get Return Me._backupDataSetBeforeUpdate End Get - Set(value As Boolean) + 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._tBCBS_PROFILESTableAdapter) Is Nothing) _ + If ((Not (Me._tBCBS_PROFILESTableAdapter) Is Nothing) _ AndAlso (Not (Me._tBCBS_PROFILESTableAdapter.Connection) Is Nothing)) Then Return Me._tBCBS_PROFILESTableAdapter.Connection End If - If ((Not (Me._tBCBS_USER_PROFILETableAdapter) Is Nothing) _ + If ((Not (Me._tBCBS_USER_PROFILETableAdapter) Is Nothing) _ AndAlso (Not (Me._tBCBS_USER_PROFILETableAdapter.Connection) Is Nothing)) Then Return Me._tBCBS_USER_PROFILETableAdapter.Connection End If - If ((Not (Me._tBCBS_PROFILE_PROCESSTableAdapter) Is Nothing) _ + If ((Not (Me._tBCBS_PROFILE_PROCESSTableAdapter) Is Nothing) _ AndAlso (Not (Me._tBCBS_PROFILE_PROCESSTableAdapter.Connection) Is Nothing)) Then Return Me._tBCBS_PROFILE_PROCESSTableAdapter.Connection End If Return Nothing End Get - Set(value As Global.System.Data.IDbConnection) + Set Me._connection = value End Set End Property - - _ + + _ Public ReadOnly Property TableAdapterInstanceCount() As Integer Get Dim count As Integer = 0 @@ -4120,18 +4120,18 @@ Namespace MyDatasetTableAdapters Return count End Get End Property - + ''' '''Update rows in top-down order. ''' - _ + _ Private Function UpdateUpdatedRows(ByVal dataSet As MyDataset, 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._tBCBS_PROFILESTableAdapter) Is Nothing) Then Dim updatedRows() As Global.System.Data.DataRow = dataSet.TBCBS_PROFILES.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent) updatedRows = Me.GetRealUpdatedRows(updatedRows, allAddedRows) - If ((Not (updatedRows) Is Nothing) _ + If ((Not (updatedRows) Is Nothing) _ AndAlso (0 < updatedRows.Length)) Then result = (result + Me._tBCBS_PROFILESTableAdapter.Update(updatedRows)) allChangedRows.AddRange(updatedRows) @@ -4140,7 +4140,7 @@ Namespace MyDatasetTableAdapters If (Not (Me._tBCBS_USER_PROFILETableAdapter) Is Nothing) Then Dim updatedRows() As Global.System.Data.DataRow = dataSet.TBCBS_USER_PROFILE.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent) updatedRows = Me.GetRealUpdatedRows(updatedRows, allAddedRows) - If ((Not (updatedRows) Is Nothing) _ + If ((Not (updatedRows) Is Nothing) _ AndAlso (0 < updatedRows.Length)) Then result = (result + Me._tBCBS_USER_PROFILETableAdapter.Update(updatedRows)) allChangedRows.AddRange(updatedRows) @@ -4149,7 +4149,7 @@ Namespace MyDatasetTableAdapters If (Not (Me._tBCBS_PROFILE_PROCESSTableAdapter) Is Nothing) Then Dim updatedRows() As Global.System.Data.DataRow = dataSet.TBCBS_PROFILE_PROCESS.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent) updatedRows = Me.GetRealUpdatedRows(updatedRows, allAddedRows) - If ((Not (updatedRows) Is Nothing) _ + If ((Not (updatedRows) Is Nothing) _ AndAlso (0 < updatedRows.Length)) Then result = (result + Me._tBCBS_PROFILE_PROCESSTableAdapter.Update(updatedRows)) allChangedRows.AddRange(updatedRows) @@ -4157,17 +4157,17 @@ Namespace MyDatasetTableAdapters End If Return result End Function - + ''' '''Insert rows in top-down order. ''' - _ + _ Private Function UpdateInsertedRows(ByVal dataSet As MyDataset, ByVal allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer Dim result As Integer = 0 If (Not (Me._tBCBS_PROFILESTableAdapter) Is Nothing) Then Dim addedRows() As Global.System.Data.DataRow = dataSet.TBCBS_PROFILES.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added) - If ((Not (addedRows) Is Nothing) _ + If ((Not (addedRows) Is Nothing) _ AndAlso (0 < addedRows.Length)) Then result = (result + Me._tBCBS_PROFILESTableAdapter.Update(addedRows)) allAddedRows.AddRange(addedRows) @@ -4175,7 +4175,7 @@ Namespace MyDatasetTableAdapters End If If (Not (Me._tBCBS_USER_PROFILETableAdapter) Is Nothing) Then Dim addedRows() As Global.System.Data.DataRow = dataSet.TBCBS_USER_PROFILE.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added) - If ((Not (addedRows) Is Nothing) _ + If ((Not (addedRows) Is Nothing) _ AndAlso (0 < addedRows.Length)) Then result = (result + Me._tBCBS_USER_PROFILETableAdapter.Update(addedRows)) allAddedRows.AddRange(addedRows) @@ -4183,7 +4183,7 @@ Namespace MyDatasetTableAdapters End If If (Not (Me._tBCBS_PROFILE_PROCESSTableAdapter) Is Nothing) Then Dim addedRows() As Global.System.Data.DataRow = dataSet.TBCBS_PROFILE_PROCESS.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added) - If ((Not (addedRows) Is Nothing) _ + If ((Not (addedRows) Is Nothing) _ AndAlso (0 < addedRows.Length)) Then result = (result + Me._tBCBS_PROFILE_PROCESSTableAdapter.Update(addedRows)) allAddedRows.AddRange(addedRows) @@ -4191,17 +4191,17 @@ Namespace MyDatasetTableAdapters End If Return result End Function - + ''' '''Delete rows in bottom-up order. ''' - _ + _ Private Function UpdateDeletedRows(ByVal dataSet As MyDataset, ByVal allChangedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer Dim result As Integer = 0 If (Not (Me._tBCBS_PROFILE_PROCESSTableAdapter) Is Nothing) Then Dim deletedRows() As Global.System.Data.DataRow = dataSet.TBCBS_PROFILE_PROCESS.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted) - If ((Not (deletedRows) Is Nothing) _ + If ((Not (deletedRows) Is Nothing) _ AndAlso (0 < deletedRows.Length)) Then result = (result + Me._tBCBS_PROFILE_PROCESSTableAdapter.Update(deletedRows)) allChangedRows.AddRange(deletedRows) @@ -4209,7 +4209,7 @@ Namespace MyDatasetTableAdapters End If If (Not (Me._tBCBS_USER_PROFILETableAdapter) Is Nothing) Then Dim deletedRows() As Global.System.Data.DataRow = dataSet.TBCBS_USER_PROFILE.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted) - If ((Not (deletedRows) Is Nothing) _ + If ((Not (deletedRows) Is Nothing) _ AndAlso (0 < deletedRows.Length)) Then result = (result + Me._tBCBS_USER_PROFILETableAdapter.Update(deletedRows)) allChangedRows.AddRange(deletedRows) @@ -4217,7 +4217,7 @@ Namespace MyDatasetTableAdapters End If If (Not (Me._tBCBS_PROFILESTableAdapter) Is Nothing) Then Dim deletedRows() As Global.System.Data.DataRow = dataSet.TBCBS_PROFILES.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted) - If ((Not (deletedRows) Is Nothing) _ + If ((Not (deletedRows) Is Nothing) _ AndAlso (0 < deletedRows.Length)) Then result = (result + Me._tBCBS_PROFILESTableAdapter.Update(deletedRows)) allChangedRows.AddRange(deletedRows) @@ -4225,18 +4225,18 @@ Namespace MyDatasetTableAdapters 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) _ + If ((updatedRows Is Nothing) _ OrElse (updatedRows.Length < 1)) Then Return updatedRows End If - If ((allAddedRows Is Nothing) _ + If ((allAddedRows Is Nothing) _ OrElse (allAddedRows.Count < 1)) Then Return updatedRows End If @@ -4244,60 +4244,60 @@ Namespace MyDatasetTableAdapters 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 + 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 MyDataset) As Integer If (dataSet Is Nothing) Then Throw New Global.System.ArgumentNullException("dataSet") End If - If (dataSet.HasChanges = False) Then + If (dataSet.HasChanges = false) Then Return 0 End If - If ((Not (Me._tBCBS_PROFILESTableAdapter) Is Nothing) _ - AndAlso (Me.MatchTableAdapterConnection(Me._tBCBS_PROFILESTableAdapter.Connection) = False)) Then - Throw New Global.System.ArgumentException("Für alle von einem TableAdapterManager verwalteten Instanzen von TableAdapter mus" & _ + If ((Not (Me._tBCBS_PROFILESTableAdapter) Is Nothing) _ + AndAlso (Me.MatchTableAdapterConnection(Me._tBCBS_PROFILESTableAdapter.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 - If ((Not (Me._tBCBS_USER_PROFILETableAdapter) Is Nothing) _ - AndAlso (Me.MatchTableAdapterConnection(Me._tBCBS_USER_PROFILETableAdapter.Connection) = False)) Then - Throw New Global.System.ArgumentException("Für alle von einem TableAdapterManager verwalteten Instanzen von TableAdapter mus" & _ + If ((Not (Me._tBCBS_USER_PROFILETableAdapter) Is Nothing) _ + AndAlso (Me.MatchTableAdapterConnection(Me._tBCBS_USER_PROFILETableAdapter.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 - If ((Not (Me._tBCBS_PROFILE_PROCESSTableAdapter) Is Nothing) _ - AndAlso (Me.MatchTableAdapterConnection(Me._tBCBS_PROFILE_PROCESSTableAdapter.Connection) = False)) Then - Throw New Global.System.ArgumentException("Für alle von einem TableAdapterManager verwalteten Instanzen von TableAdapter mus" & _ + If ((Not (Me._tBCBS_PROFILE_PROCESSTableAdapter) Is Nothing) _ + AndAlso (Me.MatchTableAdapterConnection(Me._tBCBS_PROFILE_PROCESSTableAdapter.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" & _ + 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) _ + Dim workConnOpened As Boolean = false + If ((workConnection.State And Global.System.Data.ConnectionState.Broken) _ = Global.System.Data.ConnectionState.Broken) Then - workConnection.Close() + workConnection.Close End If If (workConnection.State = Global.System.Data.ConnectionState.Closed) Then - workConnection.Open() - workConnOpened = True + 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" & _ + 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)() @@ -4310,33 +4310,33 @@ Namespace MyDatasetTableAdapters backupDataSet = New Global.System.Data.DataSet() backupDataSet.Merge(dataSet) End If - Try + Try '---- Prepare for update ----------- ' If (Not (Me._tBCBS_PROFILESTableAdapter) Is Nothing) Then revertConnections.Add(Me._tBCBS_PROFILESTableAdapter, Me._tBCBS_PROFILESTableAdapter.Connection) - Me._tBCBS_PROFILESTableAdapter.Connection = CType(workConnection, Global.System.Data.SqlClient.SqlConnection) - Me._tBCBS_PROFILESTableAdapter.Transaction = CType(workTransaction, Global.System.Data.SqlClient.SqlTransaction) + Me._tBCBS_PROFILESTableAdapter.Connection = CType(workConnection,Global.System.Data.SqlClient.SqlConnection) + Me._tBCBS_PROFILESTableAdapter.Transaction = CType(workTransaction,Global.System.Data.SqlClient.SqlTransaction) If Me._tBCBS_PROFILESTableAdapter.Adapter.AcceptChangesDuringUpdate Then - Me._tBCBS_PROFILESTableAdapter.Adapter.AcceptChangesDuringUpdate = False + Me._tBCBS_PROFILESTableAdapter.Adapter.AcceptChangesDuringUpdate = false adaptersWithAcceptChangesDuringUpdate.Add(Me._tBCBS_PROFILESTableAdapter.Adapter) End If End If If (Not (Me._tBCBS_USER_PROFILETableAdapter) Is Nothing) Then revertConnections.Add(Me._tBCBS_USER_PROFILETableAdapter, Me._tBCBS_USER_PROFILETableAdapter.Connection) - Me._tBCBS_USER_PROFILETableAdapter.Connection = CType(workConnection, Global.System.Data.SqlClient.SqlConnection) - Me._tBCBS_USER_PROFILETableAdapter.Transaction = CType(workTransaction, Global.System.Data.SqlClient.SqlTransaction) + Me._tBCBS_USER_PROFILETableAdapter.Connection = CType(workConnection,Global.System.Data.SqlClient.SqlConnection) + Me._tBCBS_USER_PROFILETableAdapter.Transaction = CType(workTransaction,Global.System.Data.SqlClient.SqlTransaction) If Me._tBCBS_USER_PROFILETableAdapter.Adapter.AcceptChangesDuringUpdate Then - Me._tBCBS_USER_PROFILETableAdapter.Adapter.AcceptChangesDuringUpdate = False + Me._tBCBS_USER_PROFILETableAdapter.Adapter.AcceptChangesDuringUpdate = false adaptersWithAcceptChangesDuringUpdate.Add(Me._tBCBS_USER_PROFILETableAdapter.Adapter) End If End If If (Not (Me._tBCBS_PROFILE_PROCESSTableAdapter) Is Nothing) Then revertConnections.Add(Me._tBCBS_PROFILE_PROCESSTableAdapter, Me._tBCBS_PROFILE_PROCESSTableAdapter.Connection) - Me._tBCBS_PROFILE_PROCESSTableAdapter.Connection = CType(workConnection, Global.System.Data.SqlClient.SqlConnection) - Me._tBCBS_PROFILE_PROCESSTableAdapter.Transaction = CType(workTransaction, Global.System.Data.SqlClient.SqlTransaction) + Me._tBCBS_PROFILE_PROCESSTableAdapter.Connection = CType(workConnection,Global.System.Data.SqlClient.SqlConnection) + Me._tBCBS_PROFILE_PROCESSTableAdapter.Transaction = CType(workTransaction,Global.System.Data.SqlClient.SqlTransaction) If Me._tBCBS_PROFILE_PROCESSTableAdapter.Adapter.AcceptChangesDuringUpdate Then - Me._tBCBS_PROFILE_PROCESSTableAdapter.Adapter.AcceptChangesDuringUpdate = False + Me._tBCBS_PROFILE_PROCESSTableAdapter.Adapter.AcceptChangesDuringUpdate = false adaptersWithAcceptChangesDuringUpdate.Add(Me._tBCBS_PROFILE_PROCESSTableAdapter.Adapter) End If End If @@ -4354,14 +4354,14 @@ Namespace MyDatasetTableAdapters ' '---- Commit updates ----------- ' - workTransaction.Commit() + 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() + row.AcceptChanges i = (i + 1) Loop End If @@ -4371,16 +4371,16 @@ Namespace MyDatasetTableAdapters Dim i As Integer = 0 Do While (i < rows.Length) Dim row As Global.System.Data.DataRow = rows(i) - row.AcceptChanges() + row.AcceptChanges i = (i + 1) Loop End If Catch ex As Global.System.Exception - workTransaction.Rollback() + workTransaction.Rollback '---- Restore the dataset ----------- If Me.BackupDataSetBeforeUpdate Then Global.System.Diagnostics.Debug.Assert((Not (backupDataSet) Is Nothing)) - dataSet.Clear() + dataSet.Clear dataSet.Merge(backupDataSet) Else If (0 < allAddedRows.Count) Then @@ -4389,8 +4389,8 @@ Namespace MyDatasetTableAdapters Dim i As Integer = 0 Do While (i < rows.Length) Dim row As Global.System.Data.DataRow = rows(i) - row.AcceptChanges() - row.SetAdded() + row.AcceptChanges + row.SetAdded i = (i + 1) Loop End If @@ -4398,18 +4398,18 @@ Namespace MyDatasetTableAdapters Throw ex Finally If workConnOpened Then - workConnection.Close() + workConnection.Close End If If (Not (Me._tBCBS_PROFILESTableAdapter) Is Nothing) Then - Me._tBCBS_PROFILESTableAdapter.Connection = CType(revertConnections(Me._tBCBS_PROFILESTableAdapter), Global.System.Data.SqlClient.SqlConnection) + Me._tBCBS_PROFILESTableAdapter.Connection = CType(revertConnections(Me._tBCBS_PROFILESTableAdapter),Global.System.Data.SqlClient.SqlConnection) Me._tBCBS_PROFILESTableAdapter.Transaction = Nothing End If If (Not (Me._tBCBS_USER_PROFILETableAdapter) Is Nothing) Then - Me._tBCBS_USER_PROFILETableAdapter.Connection = CType(revertConnections(Me._tBCBS_USER_PROFILETableAdapter), Global.System.Data.SqlClient.SqlConnection) + Me._tBCBS_USER_PROFILETableAdapter.Connection = CType(revertConnections(Me._tBCBS_USER_PROFILETableAdapter),Global.System.Data.SqlClient.SqlConnection) Me._tBCBS_USER_PROFILETableAdapter.Transaction = Nothing End If If (Not (Me._tBCBS_PROFILE_PROCESSTableAdapter) Is Nothing) Then - Me._tBCBS_PROFILE_PROCESSTableAdapter.Connection = CType(revertConnections(Me._tBCBS_PROFILE_PROCESSTableAdapter), Global.System.Data.SqlClient.SqlConnection) + Me._tBCBS_PROFILE_PROCESSTableAdapter.Connection = CType(revertConnections(Me._tBCBS_PROFILE_PROCESSTableAdapter),Global.System.Data.SqlClient.SqlConnection) Me._tBCBS_PROFILE_PROCESSTableAdapter.Transaction = Nothing End If If (0 < adaptersWithAcceptChangesDuringUpdate.Count) Then @@ -4418,63 +4418,63 @@ Namespace MyDatasetTableAdapters Dim i As Integer = 0 Do While (i < adapters.Length) Dim adapter As Global.System.Data.Common.DataAdapter = adapters(i) - adapter.AcceptChangesDuringUpdate = True + 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 + Return true End If - If ((Me.Connection Is Nothing) _ + If ((Me.Connection Is Nothing) _ OrElse (inputConnection Is Nothing)) Then - Return True + Return true End If If String.Equals(Me.Connection.ConnectionString, inputConnection.ConnectionString, Global.System.StringComparison.Ordinal) Then - Return True + Return true End If - Return False + 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() + MyBase.New Me._relation = relation If childFirst Then Me._childFirst = -1 @@ -4482,9 +4482,9 @@ Namespace MyDatasetTableAdapters 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 @@ -4495,8 +4495,8 @@ Namespace MyDatasetTableAdapters 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)) + Do While ((Not (parent) Is Nothing) _ + AndAlso (traversedRows.ContainsKey(parent) = false)) distance = (distance + 1) root = parent traversedRows(parent) = parent @@ -4505,12 +4505,12 @@ Namespace MyDatasetTableAdapters Loop If (distance = 0) Then - traversedRows.Clear() + 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)) + Do While ((Not (parent) Is Nothing) _ + AndAlso (traversedRows.ContainsKey(parent) = false)) distance = (distance + 1) root = parent traversedRows(parent) = parent @@ -4521,9 +4521,9 @@ Namespace MyDatasetTableAdapters 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 @@ -4544,7 +4544,7 @@ Namespace MyDatasetTableAdapters If Object.ReferenceEquals(root1, root2) Then Return (Me._childFirst * distance1.CompareTo(distance2)) Else - Global.System.Diagnostics.Debug.Assert(((Not (root1.Table) Is Nothing) _ + 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 diff --git a/DD_Clipboard_Searcher/MyDataset.xsc b/app/DD_Clipboard_Searcher/MyDataset.xsc similarity index 100% rename from DD_Clipboard_Searcher/MyDataset.xsc rename to app/DD_Clipboard_Searcher/MyDataset.xsc diff --git a/DD_Clipboard_Searcher/MyDataset.xsd b/app/DD_Clipboard_Searcher/MyDataset.xsd similarity index 91% rename from DD_Clipboard_Searcher/MyDataset.xsd rename to app/DD_Clipboard_Searcher/MyDataset.xsd index 02ab131..353b393 100644 --- a/DD_Clipboard_Searcher/MyDataset.xsd +++ b/app/DD_Clipboard_Searcher/MyDataset.xsd @@ -4,7 +4,7 @@ - + @@ -132,7 +132,7 @@ SELECT GUID, PROFILE_ID, USER_ID, ADDED_WHO, ADDED_WHEN FROM TBCBS_USER_PROFILE - + SELECT T.GUID, T.PROFILE_ID, T1.USERNAME, T1.NAME, T1.PRENAME @@ -219,7 +219,7 @@ WHERE (PROFILE_ID = @PID) - + @@ -270,7 +270,7 @@ WHERE (PROFILE_ID = @PID) - + @@ -287,7 +287,7 @@ WHERE (PROFILE_ID = @PID) - + @@ -316,7 +316,7 @@ WHERE (PROFILE_ID = @PID) - + @@ -328,7 +328,7 @@ WHERE (PROFILE_ID = @PID) - + diff --git a/DD_Clipboard_Searcher/MyDataset.xss b/app/DD_Clipboard_Searcher/MyDataset.xss similarity index 100% rename from DD_Clipboard_Searcher/MyDataset.xss rename to app/DD_Clipboard_Searcher/MyDataset.xss diff --git a/DD_Clipboard_Searcher/Resources/Annotation_New.png b/app/DD_Clipboard_Searcher/Resources/Annotation_New.png similarity index 100% rename from DD_Clipboard_Searcher/Resources/Annotation_New.png rename to app/DD_Clipboard_Searcher/Resources/Annotation_New.png diff --git a/DD_Clipboard_Searcher/Resources/GoToDefinition_5575.png b/app/DD_Clipboard_Searcher/Resources/GoToDefinition_5575.png similarity index 100% rename from DD_Clipboard_Searcher/Resources/GoToDefinition_5575.png rename to app/DD_Clipboard_Searcher/Resources/GoToDefinition_5575.png diff --git a/DD_Clipboard_Searcher/Resources/KeyDown_8461.png b/app/DD_Clipboard_Searcher/Resources/KeyDown_8461.png similarity index 100% rename from DD_Clipboard_Searcher/Resources/KeyDown_8461.png rename to app/DD_Clipboard_Searcher/Resources/KeyDown_8461.png diff --git a/DD_Clipboard_Searcher/Resources/KeyOutput_8167.ico b/app/DD_Clipboard_Searcher/Resources/KeyOutput_8167.ico similarity index 100% rename from DD_Clipboard_Searcher/Resources/KeyOutput_8167.ico rename to app/DD_Clipboard_Searcher/Resources/KeyOutput_8167.ico diff --git a/DD_Clipboard_Searcher/Resources/KeyOutput_8167.png b/app/DD_Clipboard_Searcher/Resources/KeyOutput_8167.png similarity index 100% rename from DD_Clipboard_Searcher/Resources/KeyOutput_8167.png rename to app/DD_Clipboard_Searcher/Resources/KeyOutput_8167.png diff --git a/DD_Clipboard_Searcher/Resources/ReduceSize.png b/app/DD_Clipboard_Searcher/Resources/ReduceSize.png similarity index 100% rename from DD_Clipboard_Searcher/Resources/ReduceSize.png rename to app/DD_Clipboard_Searcher/Resources/ReduceSize.png diff --git a/DD_Clipboard_Searcher/Resources/StatusAnnotations_Stop_16xLG.png b/app/DD_Clipboard_Searcher/Resources/StatusAnnotations_Stop_16xLG.png similarity index 100% rename from DD_Clipboard_Searcher/Resources/StatusAnnotations_Stop_16xLG.png rename to app/DD_Clipboard_Searcher/Resources/StatusAnnotations_Stop_16xLG.png diff --git a/app/DD_Clipboard_Searcher/Resources/Symbols_Stop_16xLG.png b/app/DD_Clipboard_Searcher/Resources/Symbols_Stop_16xLG.png new file mode 100644 index 0000000..8a42603 Binary files /dev/null and b/app/DD_Clipboard_Searcher/Resources/Symbols_Stop_16xLG.png differ diff --git a/DD_Clipboard_Searcher/Resources/control_start_blue.png b/app/DD_Clipboard_Searcher/Resources/control_start_blue.png similarity index 100% rename from DD_Clipboard_Searcher/Resources/control_start_blue.png rename to app/DD_Clipboard_Searcher/Resources/control_start_blue.png diff --git a/DD_Clipboard_Searcher/Resources/folder_Open_16xLG.png b/app/DD_Clipboard_Searcher/Resources/folder_Open_16xLG.png similarity index 100% rename from DD_Clipboard_Searcher/Resources/folder_Open_16xLG.png rename to app/DD_Clipboard_Searcher/Resources/folder_Open_16xLG.png diff --git a/app/DD_Clipboard_Searcher/Resources/startwithoutdebugging_6556.png b/app/DD_Clipboard_Searcher/Resources/startwithoutdebugging_6556.png new file mode 100644 index 0000000..ed280eb Binary files /dev/null and b/app/DD_Clipboard_Searcher/Resources/startwithoutdebugging_6556.png differ diff --git a/DD_Clipboard_Searcher/clsHotkey.vb b/app/DD_Clipboard_Searcher/clsHotkey.vb similarity index 100% rename from DD_Clipboard_Searcher/clsHotkey.vb rename to app/DD_Clipboard_Searcher/clsHotkey.vb diff --git a/DD_Clipboard_Searcher/clsLicense.vb b/app/DD_Clipboard_Searcher/clsLicense.vb similarity index 97% rename from DD_Clipboard_Searcher/clsLicense.vb rename to app/DD_Clipboard_Searcher/clsLicense.vb index 22fd180..889bc10 100644 --- a/DD_Clipboard_Searcher/clsLicense.vb +++ b/app/DD_Clipboard_Searcher/clsLicense.vb @@ -1,48 +1,48 @@ -Imports DD_LIB_Standards -Public Class clsLicense - Private Shared lic_string As String - Private Shared Sub Get_License(CLIENT_ID As Integer) - Dim sql As String = String.Format("SELECT LICENSE_DDCBSEARCHER FROM TBDD_CLIENT WHERE GUID = {0}", CLIENT_ID) - - lic_string = clsDatabase.Execute_Scalar(sql) - End Sub - Public Shared Sub Refresh_Licence(CLIENT_ID As Integer) - Try - Dim _lizenzManager = New clsLicenseManager("#DigitalData35452!#", "") - Get_License(CLIENT_ID) - - If lic_string = "" Then - LICENSE_COUNT = 0 - LICENSE_DATE = "1900-01-01" - ERROR_INIT = "NO LICENSE" - Exit Sub - End If - - Dim licString = _lizenzManager.DecodeLicenseKey(lic_string) - Dim split() = licString.ToString.Split("#") - - If lic_string <> "" Then - LICENSE_COUNT = split(0) - LICENSE_DATE = CDate(split(1)) - End If - - If CDate(split(1)) < CDate(Now.ToShortDateString) Then - MsgBox("Your license evaluated!" & vbNewLine & "Last valid date: " & split(1) & vbNewLine & "Please contact Digital Data.", MsgBoxStyle.Exclamation) - LICENSE_EXPIRED = True - LICENSE_COUNT = 0 - ERROR_INIT = "NO LICENSE" - End If - Catch ex As Exception - MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in licensemanager:") - End Try - End Sub - - Public Shared Function license_is_Valid() - If LICENSE_EXPIRED Then - MsgBox("Your license has expired!" & vbNewLine & "Last valid date: " & LICENSE_DATE & vbNewLine & "Please contact Digital Data!", MsgBoxStyle.Exclamation) - Return False - Else : Return True - - End If - End Function -End Class +Imports DD_LIB_Standards +Public Class clsLicense + Private Shared lic_string As String + Private Shared Sub Get_License(CLIENT_ID As Integer) + Dim sql As String = String.Format("SELECT LICENSE_DDCBSEARCHER FROM TBDD_CLIENT WHERE GUID = {0}", CLIENT_ID) + + lic_string = clsDatabase.Execute_Scalar(sql) + End Sub + Public Shared Sub Refresh_Licence(CLIENT_ID As Integer) + Try + Dim _lizenzManager = New clsLicenseManager("#DigitalData35452!#", "") + Get_License(CLIENT_ID) + + If lic_string = "" Then + LICENSE_COUNT = 0 + LICENSE_DATE = "1900-01-01" + ERROR_INIT = "NO LICENSE" + Exit Sub + End If + + Dim licString = _lizenzManager.DecodeLicenseKey(lic_string) + Dim split() = licString.ToString.Split("#") + + If lic_string <> "" Then + LICENSE_COUNT = split(0) + LICENSE_DATE = CDate(split(1)) + End If + + If CDate(split(1)) < CDate(Now.ToShortDateString) Then + MsgBox("Your license evaluated!" & vbNewLine & "Last valid date: " & split(1) & vbNewLine & "Please contact Digital Data.", MsgBoxStyle.Exclamation) + LICENSE_EXPIRED = True + LICENSE_COUNT = 0 + ERROR_INIT = "NO LICENSE" + End If + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in licensemanager:") + End Try + End Sub + + Public Shared Function license_is_Valid() + If LICENSE_EXPIRED Then + MsgBox("Your license has expired!" & vbNewLine & "Last valid date: " & LICENSE_DATE & vbNewLine & "Please contact Digital Data!", MsgBoxStyle.Exclamation) + Return False + Else : Return True + + End If + End Function +End Class diff --git a/DD_Clipboard_Searcher/clsSearch.vb b/app/DD_Clipboard_Searcher/clsSearch.vb similarity index 96% rename from DD_Clipboard_Searcher/clsSearch.vb rename to app/DD_Clipboard_Searcher/clsSearch.vb index 1130571..853cf0e 100644 --- a/DD_Clipboard_Searcher/clsSearch.vb +++ b/app/DD_Clipboard_Searcher/clsSearch.vb @@ -60,7 +60,8 @@ Public Class clsSearch fileContents = fileContents.Replace("@Clipboard", CURR_MATCH_RESULT) fileContents = fileContents.Replace("@CLIPBOARD", CURR_MATCH_RESULT) fileContents = fileContents.Replace("@Zwischenablage", CURR_MATCH_RESULT) - + fileContents = fileContents.Replace("123456789", CURR_MATCH_RESULT) + fileContents = fileContents.Replace("4711", CURR_MATCH_RESULT) Try 'Die windream File zusammensetzen windream_temp_search = temppath & tempName & extension @@ -135,6 +136,8 @@ Public Class clsSearch Catch ex As Exception clsLogger.Add("Unexpected error while Setting foreground: " & ex.Message) End Try + CURR_MATCH_WM_SEARCH = Nothing + CURR_MATCH_RESULT = Nothing Return "" Catch ex As Exception clsLogger.Add("Unexpected error in Create Search: " & ex.Message) diff --git a/DD_Clipboard_Searcher/clsWINDOWSApi.vb b/app/DD_Clipboard_Searcher/clsWINDOWSApi.vb similarity index 98% rename from DD_Clipboard_Searcher/clsWINDOWSApi.vb rename to app/DD_Clipboard_Searcher/clsWINDOWSApi.vb index 6e79e11..c8ce1fe 100644 --- a/DD_Clipboard_Searcher/clsWINDOWSApi.vb +++ b/app/DD_Clipboard_Searcher/clsWINDOWSApi.vb @@ -1,72 +1,72 @@ -Imports DD_LIB_Standards - -Public Class clsWINDOWSApi - Private Declare Function GetForegroundWindow Lib "user32.dll" Alias "GetForegroundWindow" () As IntPtr - Private Declare Auto Function GetWindowText Lib "user32.dll" (ByVal hWnd As System.IntPtr, ByVal lpString As System.Text.StringBuilder, ByVal cch As Integer) As Integer - Private Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As IntPtr, ByRef lpdwProcessID As Integer) As Integer - Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hWnd As IntPtr, ByVal WinTitle As String, ByVal MaxLength As Integer) As Integer - Private Declare Function GetWindowTextLength Lib "user32.dll" Alias "GetWindowTextLengthA" (ByVal hwnd As Int32) As Integer - - Private Shared Function GetClassName(ByVal hWnd As System.IntPtr, _ - ByVal lpClassName As System.Text.StringBuilder, _ - ByVal nMaxCount As Integer) As Integer - ' Leave function empty - End Function - Public Shared Function GetCaption() As String - Dim Caption As New System.Text.StringBuilder(256) - Dim hWnd As IntPtr = GetForegroundWindow() - Dim pid As Integer = 0 - GetWindowThreadProcessId(hWnd, pid) - If pid = 0 Then Exit Function - Return Caption.ToString() - End Function - Public Shared Function IsRelevantWindow(windowname As String) - Try - Dim enumerator1 As New clsWindowApi - 'Jedes Formularwindow durchlaufen - For Each top As clsWindowApi.ApiWindow In enumerator1.GetTopLevelWindows() - If LogErrorsOnly = False Then clsLogger.Add(" ... top-window Name: " & top.MainWindowTitle, False) - If top.MainWindowTitle.Contains(windowname) Or top.MainWindowTitle.ToLower = windowname.ToLower Then - Console.WriteLine(top.MainWindowTitle) - Return False - End If - Next top - Catch ex As Exception - MsgBox("Error in IsRelevantWindowt:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) - clsLogger.Add(">> Error in IsRelevantWindow:" & ex.Message, False) - Return False - End Try - End Function - Private Shared m_LastHwnd As Long - Public Shared Sub Get_ForegroundWindow_Info() - '—– Get the Handle to the Current Forground Window —– - Dim hWnd As IntPtr = GetForegroundWindow() - If hWnd = IntPtr.Zero Then Exit Sub - '—– Find the Length of the Window’s Title —– - Dim TitleLength As Int32 - TitleLength = GetWindowTextLength(hWnd) - '—– Find the Window’s Title —– - Dim WindowTitle As String = StrDup(TitleLength + 1, "*") - GetWindowText(hWnd, WindowTitle, TitleLength + 1) - '—– Find the PID of the Application that Owns the Window —– - Dim pid As Integer = 0 - GetWindowThreadProcessId(hWnd, pid) - If pid = 0 Then Exit Sub - '—– Get the actual PROCESS from the process ID —– - Dim proc As Process = Process.GetProcessById(pid) - If proc Is Nothing Then Exit Sub - Dim msg = pid.ToString & vbNewLine - PROC_PID = pid.ToString - PROC_Name = proc.ProcessName - msg &= vbNewLine & "Procname: " & proc.ProcessName - - msg &= vbNewLine & "MainWindowTitle: " & proc.MainWindowTitle - - msg &= vbNewLine & "WindowTitle: " & WindowTitle - PROC_WindowTitle = WindowTitle - - msg &= vbNewLine & TitleLength.ToString - ' MsgBox(msg) - End Sub - -End Class +Imports DD_LIB_Standards + +Public Class clsWINDOWSApi + Private Declare Function GetForegroundWindow Lib "user32.dll" Alias "GetForegroundWindow" () As IntPtr + Private Declare Auto Function GetWindowText Lib "user32.dll" (ByVal hWnd As System.IntPtr, ByVal lpString As System.Text.StringBuilder, ByVal cch As Integer) As Integer + Private Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As IntPtr, ByRef lpdwProcessID As Integer) As Integer + Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hWnd As IntPtr, ByVal WinTitle As String, ByVal MaxLength As Integer) As Integer + Private Declare Function GetWindowTextLength Lib "user32.dll" Alias "GetWindowTextLengthA" (ByVal hwnd As Int32) As Integer + + Private Shared Function GetClassName(ByVal hWnd As System.IntPtr, _ + ByVal lpClassName As System.Text.StringBuilder, _ + ByVal nMaxCount As Integer) As Integer + ' Leave function empty + End Function + Public Shared Function GetCaption() As String + Dim Caption As New System.Text.StringBuilder(256) + Dim hWnd As IntPtr = GetForegroundWindow() + Dim pid As Integer = 0 + GetWindowThreadProcessId(hWnd, pid) + If pid = 0 Then Exit Function + Return Caption.ToString() + End Function + Public Shared Function IsRelevantWindow(windowname As String) + Try + Dim enumerator1 As New clsWindowApi + 'Jedes Formularwindow durchlaufen + For Each top As clsWindowApi.ApiWindow In enumerator1.GetTopLevelWindows() + If LogErrorsOnly = False Then clsLogger.Add(" ... top-window Name: " & top.MainWindowTitle, False) + If top.MainWindowTitle.Contains(windowname) Or top.MainWindowTitle.ToLower = windowname.ToLower Then + Console.WriteLine(top.MainWindowTitle) + Return False + End If + Next top + Catch ex As Exception + MsgBox("Error in IsRelevantWindowt:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + clsLogger.Add(">> Error in IsRelevantWindow:" & ex.Message, False) + Return False + End Try + End Function + Private Shared m_LastHwnd As Long + Public Shared Sub Get_ForegroundWindow_Info() + '—– Get the Handle to the Current Forground Window —– + Dim hWnd As IntPtr = GetForegroundWindow() + If hWnd = IntPtr.Zero Then Exit Sub + '—– Find the Length of the Window’s Title —– + Dim TitleLength As Int32 + TitleLength = GetWindowTextLength(hWnd) + '—– Find the Window’s Title —– + Dim WindowTitle As String = StrDup(TitleLength + 1, "*") + GetWindowText(hWnd, WindowTitle, TitleLength + 1) + '—– Find the PID of the Application that Owns the Window —– + Dim pid As Integer = 0 + GetWindowThreadProcessId(hWnd, pid) + If pid = 0 Then Exit Sub + '—– Get the actual PROCESS from the process ID —– + Dim proc As Process = Process.GetProcessById(pid) + If proc Is Nothing Then Exit Sub + Dim msg = pid.ToString & vbNewLine + PROC_PID = pid.ToString + PROC_Name = proc.ProcessName + msg &= vbNewLine & "Procname: " & proc.ProcessName + + msg &= vbNewLine & "MainWindowTitle: " & proc.MainWindowTitle + + msg &= vbNewLine & "WindowTitle: " & WindowTitle + PROC_WindowTitle = WindowTitle + + msg &= vbNewLine & TitleLength.ToString + ' MsgBox(msg) + End Sub + +End Class diff --git a/DD_Clipboard_Searcher/clsWindowApivb.vb b/app/DD_Clipboard_Searcher/clsWindowApivb.vb similarity index 97% rename from DD_Clipboard_Searcher/clsWindowApivb.vb rename to app/DD_Clipboard_Searcher/clsWindowApivb.vb index caf5c83..0cbce68 100644 --- a/DD_Clipboard_Searcher/clsWindowApivb.vb +++ b/app/DD_Clipboard_Searcher/clsWindowApivb.vb @@ -1,179 +1,179 @@ -Imports System.Data -Imports System.Runtime.InteropServices -Imports System.Text -Imports System.Collections.Generic -Public Class clsWindowApi - Public Class ApiWindow - Public MainWindowTitle As String = "" - Public ClassName As String = "" - Public hWnd As Int32 - End Class - - Private Delegate Function EnumCallBackDelegate(ByVal hwnd As Integer, ByVal lParam As Integer) As Integer - - ' Top-level windows. - Private Declare Function EnumWindows Lib "user32" _ - (ByVal lpEnumFunc As EnumCallBackDelegate, ByVal lParam As Integer) As Integer - - ' Child windows. - Private Declare Function EnumChildWindows Lib "user32" _ - (ByVal hWndParent As Integer, ByVal lpEnumFunc As EnumCallBackDelegate, ByVal lParam As Integer) As Integer - - ' Get the window class. - Private Declare Function GetClassName _ - Lib "user32" Alias "GetClassNameA" _ - (ByVal hwnd As Integer, ByVal lpClassName As StringBuilder, ByVal nMaxCount As Integer) As Integer - - ' Test if the window is visible--only get visible ones. - Private Declare Function IsWindowVisible Lib "user32" _ - (ByVal hwnd As Integer) As Integer - - ' Test if the window's parent--only get the one's without parents. - Private Declare Function GetParent Lib "user32" _ - (ByVal hwnd As Integer) As Integer - - ' Get window text length signature. - Private Declare Function SendMessage _ - Lib "user32" Alias "SendMessageA" _ - (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32 - - ' Get window text signature. - Private Declare Function SendMessage _ - Lib "user32" Alias "SendMessageA" _ - (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As StringBuilder) As Int32 - - Private _listChildren As New List(Of ApiWindow) - Private _listTopLevel As New List(Of ApiWindow) - - Private _topLevelClass As String = "" - Private _childClass As String = "" - - ''' - ''' Get all top-level window information - ''' - ''' List of window information objects - Public Overloads Function GetTopLevelWindows() As List(Of ApiWindow) - - EnumWindows(AddressOf EnumWindowProc, &H0) - - Return _listTopLevel - - End Function - - Public Overloads Function GetTopLevelWindows(ByVal className As String) As List(Of ApiWindow) - - _topLevelClass = className - - Return Me.GetTopLevelWindows() - - End Function - - ''' - ''' Get all child windows for the specific windows handle (hwnd). - ''' - ''' List of child windows for parent window - Public Overloads Function GetChildWindows(ByVal hwnd As Int32) As List(Of ApiWindow) - - ' Clear the window list. - _listChildren = New List(Of ApiWindow) - - ' Start the enumeration process. - EnumChildWindows(hwnd, AddressOf EnumChildWindowProc, &H0) - - ' Return the children list when the process is completed. - Return _listChildren - - End Function - - Public Overloads Function GetChildWindows(ByVal hwnd As Int32, ByVal childClass As String) As List(Of ApiWindow) - - ' Set the search - _childClass = childClass - - Return Me.GetChildWindows(hwnd) - - End Function - - ''' - ''' Callback function that does the work of enumerating top-level windows. - ''' - ''' Discovered Window handle - ''' 1=keep going, 0=stop - Private Function EnumWindowProc(ByVal hwnd As Int32, ByVal lParam As Int32) As Int32 - - ' Eliminate windows that are not top-level. - If GetParent(hwnd) = 0 AndAlso CBool(IsWindowVisible(hwnd)) Then - - ' Get the window title / class name. - Dim window As ApiWindow = GetWindowIdentification(hwnd) - - ' Match the class name if searching for a specific window class. - If _topLevelClass.Length = 0 OrElse window.ClassName.ToLower() = _topLevelClass.ToLower() Then - _listTopLevel.Add(window) - End If - - End If - - ' To continue enumeration, return True (1), and to stop enumeration - ' return False (0). - ' When 1 is returned, enumeration continues until there are no - ' more windows left. - - Return 1 - - End Function - - ''' - ''' Callback function that does the work of enumerating child windows. - ''' - ''' Discovered Window handle - ''' 1=keep going, 0=stop - Private Function EnumChildWindowProc(ByVal hwnd As Int32, ByVal lParam As Int32) As Int32 - - Dim window As ApiWindow = GetWindowIdentification(hwnd) - - ' Attempt to match the child class, if one was specified, otherwise - ' enumerate all the child windows. - If _childClass.Length = 0 OrElse window.ClassName.ToLower() = _childClass.ToLower() Then - _listChildren.Add(window) - End If - - Return 1 - - End Function - - ''' - ''' Build the ApiWindow object to hold information about the Window object. - ''' - Private Function GetWindowIdentification(ByVal hwnd As Integer) As ApiWindow - - Const WM_GETTEXT As Int32 = &HD - Const WM_GETTEXTLENGTH As Int32 = &HE - - Dim window As New ApiWindow() - - Dim title As New StringBuilder() - - ' Get the size of the string required to hold the window title. - Dim size As Int32 = SendMessage(hwnd, WM_GETTEXTLENGTH, 0, 0) - - ' If the return is 0, there is no title. - If size > 0 Then - title = New StringBuilder(size + 1) - - SendMessage(hwnd, WM_GETTEXT, title.Capacity, title) - End If - - ' Get the class name for the window. - Dim classBuilder As New StringBuilder(64) - GetClassName(hwnd, classBuilder, 64) - - ' Set the properties for the ApiWindow object. - window.ClassName = classBuilder.ToString() - window.MainWindowTitle = title.ToString() - window.hWnd = hwnd - - Return window - - End Function -End Class +Imports System.Data +Imports System.Runtime.InteropServices +Imports System.Text +Imports System.Collections.Generic +Public Class clsWindowApi + Public Class ApiWindow + Public MainWindowTitle As String = "" + Public ClassName As String = "" + Public hWnd As Int32 + End Class + + Private Delegate Function EnumCallBackDelegate(ByVal hwnd As Integer, ByVal lParam As Integer) As Integer + + ' Top-level windows. + Private Declare Function EnumWindows Lib "user32" _ + (ByVal lpEnumFunc As EnumCallBackDelegate, ByVal lParam As Integer) As Integer + + ' Child windows. + Private Declare Function EnumChildWindows Lib "user32" _ + (ByVal hWndParent As Integer, ByVal lpEnumFunc As EnumCallBackDelegate, ByVal lParam As Integer) As Integer + + ' Get the window class. + Private Declare Function GetClassName _ + Lib "user32" Alias "GetClassNameA" _ + (ByVal hwnd As Integer, ByVal lpClassName As StringBuilder, ByVal nMaxCount As Integer) As Integer + + ' Test if the window is visible--only get visible ones. + Private Declare Function IsWindowVisible Lib "user32" _ + (ByVal hwnd As Integer) As Integer + + ' Test if the window's parent--only get the one's without parents. + Private Declare Function GetParent Lib "user32" _ + (ByVal hwnd As Integer) As Integer + + ' Get window text length signature. + Private Declare Function SendMessage _ + Lib "user32" Alias "SendMessageA" _ + (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32 + + ' Get window text signature. + Private Declare Function SendMessage _ + Lib "user32" Alias "SendMessageA" _ + (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As StringBuilder) As Int32 + + Private _listChildren As New List(Of ApiWindow) + Private _listTopLevel As New List(Of ApiWindow) + + Private _topLevelClass As String = "" + Private _childClass As String = "" + + ''' + ''' Get all top-level window information + ''' + ''' List of window information objects + Public Overloads Function GetTopLevelWindows() As List(Of ApiWindow) + + EnumWindows(AddressOf EnumWindowProc, &H0) + + Return _listTopLevel + + End Function + + Public Overloads Function GetTopLevelWindows(ByVal className As String) As List(Of ApiWindow) + + _topLevelClass = className + + Return Me.GetTopLevelWindows() + + End Function + + ''' + ''' Get all child windows for the specific windows handle (hwnd). + ''' + ''' List of child windows for parent window + Public Overloads Function GetChildWindows(ByVal hwnd As Int32) As List(Of ApiWindow) + + ' Clear the window list. + _listChildren = New List(Of ApiWindow) + + ' Start the enumeration process. + EnumChildWindows(hwnd, AddressOf EnumChildWindowProc, &H0) + + ' Return the children list when the process is completed. + Return _listChildren + + End Function + + Public Overloads Function GetChildWindows(ByVal hwnd As Int32, ByVal childClass As String) As List(Of ApiWindow) + + ' Set the search + _childClass = childClass + + Return Me.GetChildWindows(hwnd) + + End Function + + ''' + ''' Callback function that does the work of enumerating top-level windows. + ''' + ''' Discovered Window handle + ''' 1=keep going, 0=stop + Private Function EnumWindowProc(ByVal hwnd As Int32, ByVal lParam As Int32) As Int32 + + ' Eliminate windows that are not top-level. + If GetParent(hwnd) = 0 AndAlso CBool(IsWindowVisible(hwnd)) Then + + ' Get the window title / class name. + Dim window As ApiWindow = GetWindowIdentification(hwnd) + + ' Match the class name if searching for a specific window class. + If _topLevelClass.Length = 0 OrElse window.ClassName.ToLower() = _topLevelClass.ToLower() Then + _listTopLevel.Add(window) + End If + + End If + + ' To continue enumeration, return True (1), and to stop enumeration + ' return False (0). + ' When 1 is returned, enumeration continues until there are no + ' more windows left. + + Return 1 + + End Function + + ''' + ''' Callback function that does the work of enumerating child windows. + ''' + ''' Discovered Window handle + ''' 1=keep going, 0=stop + Private Function EnumChildWindowProc(ByVal hwnd As Int32, ByVal lParam As Int32) As Int32 + + Dim window As ApiWindow = GetWindowIdentification(hwnd) + + ' Attempt to match the child class, if one was specified, otherwise + ' enumerate all the child windows. + If _childClass.Length = 0 OrElse window.ClassName.ToLower() = _childClass.ToLower() Then + _listChildren.Add(window) + End If + + Return 1 + + End Function + + ''' + ''' Build the ApiWindow object to hold information about the Window object. + ''' + Private Function GetWindowIdentification(ByVal hwnd As Integer) As ApiWindow + + Const WM_GETTEXT As Int32 = &HD + Const WM_GETTEXTLENGTH As Int32 = &HE + + Dim window As New ApiWindow() + + Dim title As New StringBuilder() + + ' Get the size of the string required to hold the window title. + Dim size As Int32 = SendMessage(hwnd, WM_GETTEXTLENGTH, 0, 0) + + ' If the return is 0, there is no title. + If size > 0 Then + title = New StringBuilder(size + 1) + + SendMessage(hwnd, WM_GETTEXT, title.Capacity, title) + End If + + ' Get the class name for the window. + Dim classBuilder As New StringBuilder(64) + GetClassName(hwnd, classBuilder, 64) + + ' Set the properties for the ApiWindow object. + window.ClassName = classBuilder.ToString() + window.MainWindowTitle = title.ToString() + window.hWnd = hwnd + + Return window + + End Function +End Class diff --git a/DD_Clipboard_Searcher/frmAdministration.Designer.vb b/app/DD_Clipboard_Searcher/frmAdministration.Designer.vb similarity index 90% rename from DD_Clipboard_Searcher/frmAdministration.Designer.vb rename to app/DD_Clipboard_Searcher/frmAdministration.Designer.vb index b6588c6..9c8cd22 100644 --- a/DD_Clipboard_Searcher/frmAdministration.Designer.vb +++ b/app/DD_Clipboard_Searcher/frmAdministration.Designer.vb @@ -37,7 +37,7 @@ Partial Class frmAdministration Me.btnaddSearch = New System.Windows.Forms.Button() Me.GridControl1 = New DevExpress.XtraGrid.GridControl() Me.TBCBS_PROFILESBindingSource = New System.Windows.Forms.BindingSource(Me.components) - Me.MyDataset = New DD_Clipboard_Searcher.MyDataset() + Me.MyDataset = New DD_Clipboard_Watcher.MyDataset() Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView() Me.colGUID = New DevExpress.XtraGrid.Columns.GridColumn() Me.colNAME = New DevExpress.XtraGrid.Columns.GridColumn() @@ -83,22 +83,22 @@ Partial Class frmAdministration Me.colUSERNAME = New DevExpress.XtraGrid.Columns.GridColumn() Me.colNAME1 = New DevExpress.XtraGrid.Columns.GridColumn() Me.colPRENAME = New DevExpress.XtraGrid.Columns.GridColumn() - Me.TBCBS_PROFILESTableAdapter = New DD_Clipboard_Searcher.MyDatasetTableAdapters.TBCBS_PROFILESTableAdapter() - Me.TableAdapterManager = New DD_Clipboard_Searcher.MyDatasetTableAdapters.TableAdapterManager() + Me.TBCBS_PROFILESTableAdapter = New DD_Clipboard_Watcher.MyDatasetTableAdapters.TBCBS_PROFILESTableAdapter() + Me.TableAdapterManager = New DD_Clipboard_Watcher.MyDatasetTableAdapters.TableAdapterManager() Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() Me.statuslabel = New System.Windows.Forms.ToolStripStatusLabel() Me.OFDWindreamsuche = New System.Windows.Forms.OpenFileDialog() - Me.VWUSER_PROFILETableAdapter = New DD_Clipboard_Searcher.MyDatasetTableAdapters.VWUSER_PROFILETableAdapter() + Me.VWUSER_PROFILETableAdapter = New DD_Clipboard_Watcher.MyDatasetTableAdapters.VWUSER_PROFILETableAdapter() Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.btnStartStopProcess = New System.Windows.Forms.Button() Me.PictureBox1 = New System.Windows.Forms.PictureBox() - Me.chkRunwindowCheck = New System.Windows.Forms.CheckBox() Me.txtProcessName = New System.Windows.Forms.TextBox() Me.txtPID = New System.Windows.Forms.TextBox() Me.Label4 = New System.Windows.Forms.Label() Me.Label3 = New System.Windows.Forms.Label() Me.TimerTest = New System.Windows.Forms.Timer(Me.components) Me.TBCBS_PROFILE_PROCESSBindingSource = New System.Windows.Forms.BindingSource(Me.components) - Me.TBCBS_PROFILE_PROCESSTableAdapter = New DD_Clipboard_Searcher.MyDatasetTableAdapters.TBCBS_PROFILE_PROCESSTableAdapter() + Me.TBCBS_PROFILE_PROCESSTableAdapter = New DD_Clipboard_Watcher.MyDatasetTableAdapters.TBCBS_PROFILE_PROCESSTableAdapter() Me.GridControl3 = New DevExpress.XtraGrid.GridControl() Me.GridViewProcessProfile = New DevExpress.XtraGrid.Views.Grid.GridView() Me.colGUID2 = New DevExpress.XtraGrid.Columns.GridColumn() @@ -106,8 +106,14 @@ Partial Class frmAdministration Me.colADDED_WHEN = New DevExpress.XtraGrid.Columns.GridColumn() Me.colADDED_WHO = New DevExpress.XtraGrid.Columns.GridColumn() Me.GroupBox4 = New System.Windows.Forms.GroupBox() - Me.btnLinkProcessPRofile = New System.Windows.Forms.Button() Me.btndeleteProcessProfileLink = New System.Windows.Forms.Button() + Me.btnLinkProcessPRofile = New System.Windows.Forms.Button() + Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker() + Me.GroupBox5 = New System.Windows.Forms.GroupBox() + Me.lblLicenseDate = New System.Windows.Forms.Label() + Me.lbllicenseCount = New System.Windows.Forms.Label() + Me.Label6 = New System.Windows.Forms.Label() + Me.Label5 = New System.Windows.Forms.Label() GUIDLabel = New System.Windows.Forms.Label() NAMELabel = New System.Windows.Forms.Label() COMMENTLabel = New System.Windows.Forms.Label() @@ -138,6 +144,7 @@ Partial Class frmAdministration CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridViewProcessProfile, System.ComponentModel.ISupportInitialize).BeginInit() Me.GroupBox4.SuspendLayout() + Me.GroupBox5.SuspendLayout() Me.SuspendLayout() ' 'GUIDLabel @@ -635,7 +642,7 @@ Partial Class frmAdministration Me.btndeleteUserConstructorRel.ImeMode = System.Windows.Forms.ImeMode.NoControl Me.btndeleteUserConstructorRel.Location = New System.Drawing.Point(9, 263) Me.btndeleteUserConstructorRel.Name = "btndeleteUserConstructorRel" - Me.btndeleteUserConstructorRel.Size = New System.Drawing.Size(173, 23) + Me.btndeleteUserConstructorRel.Size = New System.Drawing.Size(351, 23) Me.btndeleteUserConstructorRel.TabIndex = 60 Me.btndeleteUserConstructorRel.Text = "Lösche Userzuordnung" Me.btndeleteUserConstructorRel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft @@ -684,6 +691,13 @@ Partial Class frmAdministration ' Me.GridViewProfileUser.Appearance.EvenRow.BackColor = System.Drawing.Color.Aqua Me.GridViewProfileUser.Appearance.EvenRow.Options.UseBackColor = True + Me.GridViewProfileUser.Appearance.HeaderPanel.BackColor = System.Drawing.Color.Gray + Me.GridViewProfileUser.Appearance.HeaderPanel.ForeColor = System.Drawing.Color.Black + Me.GridViewProfileUser.Appearance.HeaderPanel.Options.UseBackColor = True + Me.GridViewProfileUser.Appearance.HeaderPanel.Options.UseBorderColor = True + Me.GridViewProfileUser.Appearance.HeaderPanel.Options.UseForeColor = True + Me.GridViewProfileUser.Appearance.Row.ForeColor = System.Drawing.Color.Black + Me.GridViewProfileUser.Appearance.Row.Options.UseForeColor = True Me.GridViewProfileUser.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colGUID1, Me.colUSERNAME, Me.colNAME1, Me.colPRENAME}) Me.GridViewProfileUser.GridControl = Me.GridControl2 Me.GridViewProfileUser.Name = "GridViewProfileUser" @@ -742,7 +756,7 @@ Partial Class frmAdministration Me.TableAdapterManager.TBCBS_PROFILE_PROCESSTableAdapter = Nothing Me.TableAdapterManager.TBCBS_PROFILESTableAdapter = Me.TBCBS_PROFILESTableAdapter Me.TableAdapterManager.TBCBS_USER_PROFILETableAdapter = Nothing - Me.TableAdapterManager.UpdateOrder = DD_Clipboard_Searcher.MyDatasetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete + Me.TableAdapterManager.UpdateOrder = DD_Clipboard_Watcher.MyDatasetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete ' 'StatusStrip1 ' @@ -770,22 +784,34 @@ Partial Class frmAdministration ' 'GroupBox3 ' + Me.GroupBox3.Controls.Add(Me.btnStartStopProcess) Me.GroupBox3.Controls.Add(Me.PictureBox1) - Me.GroupBox3.Controls.Add(Me.chkRunwindowCheck) Me.GroupBox3.Controls.Add(Me.txtProcessName) Me.GroupBox3.Controls.Add(Me.txtPID) Me.GroupBox3.Controls.Add(Me.Label4) Me.GroupBox3.Controls.Add(Me.Label3) Me.GroupBox3.Location = New System.Drawing.Point(12, 310) Me.GroupBox3.Name = "GroupBox3" - Me.GroupBox3.Size = New System.Drawing.Size(606, 81) + Me.GroupBox3.Size = New System.Drawing.Size(570, 81) Me.GroupBox3.TabIndex = 2 Me.GroupBox3.TabStop = False Me.GroupBox3.Text = "Auswahl Fenster/Prozess:" ' + 'btnStartStopProcess + ' + Me.btnStartStopProcess.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.startwithoutdebugging_6556 + Me.btnStartStopProcess.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnStartStopProcess.Location = New System.Drawing.Point(6, 35) + Me.btnStartStopProcess.Name = "btnStartStopProcess" + Me.btnStartStopProcess.Size = New System.Drawing.Size(190, 23) + Me.btnStartStopProcess.TabIndex = 8 + Me.btnStartStopProcess.Text = "Starte Aktive Fenster-Auswahl" + Me.btnStartStopProcess.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btnStartStopProcess.UseVisualStyleBackColor = True + ' 'PictureBox1 ' - Me.PictureBox1.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.Annotation_New + Me.PictureBox1.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.Annotation_New Me.PictureBox1.Location = New System.Drawing.Point(510, 28) Me.PictureBox1.Name = "PictureBox1" Me.PictureBox1.Size = New System.Drawing.Size(48, 40) @@ -793,16 +819,6 @@ Partial Class frmAdministration Me.PictureBox1.TabStop = False Me.PictureBox1.Visible = False ' - 'chkRunwindowCheck - ' - Me.chkRunwindowCheck.AutoSize = True - Me.chkRunwindowCheck.Location = New System.Drawing.Point(6, 39) - Me.chkRunwindowCheck.Name = "chkRunwindowCheck" - Me.chkRunwindowCheck.Size = New System.Drawing.Size(173, 17) - Me.chkRunwindowCheck.TabIndex = 6 - Me.chkRunwindowCheck.Text = "Starte Aktive-Fenster Auswahl" - Me.chkRunwindowCheck.UseVisualStyleBackColor = True - ' 'txtProcessName ' Me.txtProcessName.Font = New System.Drawing.Font("Tahoma", 8.25!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) @@ -815,7 +831,7 @@ Partial Class frmAdministration 'txtPID ' Me.txtPID.Font = New System.Drawing.Font("Tahoma", 8.25!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtPID.Location = New System.Drawing.Point(192, 37) + Me.txtPID.Location = New System.Drawing.Point(206, 37) Me.txtPID.Name = "txtPID" Me.txtPID.ReadOnly = True Me.txtPID.Size = New System.Drawing.Size(59, 21) @@ -833,7 +849,7 @@ Partial Class frmAdministration 'Label3 ' Me.Label3.AutoSize = True - Me.Label3.Location = New System.Drawing.Point(192, 21) + Me.Label3.Location = New System.Drawing.Point(206, 21) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(59, 13) Me.Label3.TabIndex = 0 @@ -922,24 +938,11 @@ Partial Class frmAdministration Me.GroupBox4.Controls.Add(Me.GridControl3) Me.GroupBox4.Location = New System.Drawing.Point(12, 397) Me.GroupBox4.Name = "GroupBox4" - Me.GroupBox4.Size = New System.Drawing.Size(606, 308) + Me.GroupBox4.Size = New System.Drawing.Size(570, 308) Me.GroupBox4.TabIndex = 21 Me.GroupBox4.TabStop = False Me.GroupBox4.Text = "Aktuell zugeordnete Prozesse:" ' - 'btnLinkProcessPRofile - ' - Me.btnLinkProcessPRofile.Image = CType(resources.GetObject("btnLinkProcessPRofile.Image"), System.Drawing.Image) - Me.btnLinkProcessPRofile.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnLinkProcessPRofile.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.btnLinkProcessPRofile.Location = New System.Drawing.Point(353, 20) - Me.btnLinkProcessPRofile.Name = "btnLinkProcessPRofile" - Me.btnLinkProcessPRofile.Size = New System.Drawing.Size(205, 28) - Me.btnLinkProcessPRofile.TabIndex = 60 - Me.btnLinkProcessPRofile.Text = "Prozess und Profil verknüpfen" - Me.btnLinkProcessPRofile.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.btnLinkProcessPRofile.UseVisualStyleBackColor = True - ' 'btndeleteProcessProfileLink ' Me.btndeleteProcessProfileLink.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) @@ -954,11 +957,79 @@ Partial Class frmAdministration Me.btndeleteProcessProfileLink.TextAlign = System.Drawing.ContentAlignment.MiddleRight Me.btndeleteProcessProfileLink.UseVisualStyleBackColor = True ' + 'btnLinkProcessPRofile + ' + Me.btnLinkProcessPRofile.Image = CType(resources.GetObject("btnLinkProcessPRofile.Image"), System.Drawing.Image) + Me.btnLinkProcessPRofile.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnLinkProcessPRofile.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.btnLinkProcessPRofile.Location = New System.Drawing.Point(353, 20) + Me.btnLinkProcessPRofile.Name = "btnLinkProcessPRofile" + Me.btnLinkProcessPRofile.Size = New System.Drawing.Size(205, 28) + Me.btnLinkProcessPRofile.TabIndex = 60 + Me.btnLinkProcessPRofile.Text = "Prozess und Profil verknüpfen" + Me.btnLinkProcessPRofile.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btnLinkProcessPRofile.UseVisualStyleBackColor = True + ' + 'GroupBox5 + ' + Me.GroupBox5.Controls.Add(Me.lblLicenseDate) + Me.GroupBox5.Controls.Add(Me.lbllicenseCount) + Me.GroupBox5.Controls.Add(Me.Label6) + Me.GroupBox5.Controls.Add(Me.Label5) + Me.GroupBox5.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.GroupBox5.Location = New System.Drawing.Point(914, 310) + Me.GroupBox5.Name = "GroupBox5" + Me.GroupBox5.Size = New System.Drawing.Size(271, 71) + Me.GroupBox5.TabIndex = 22 + Me.GroupBox5.TabStop = False + Me.GroupBox5.Text = "Lizenzübersicht" + ' + 'lblLicenseDate + ' + Me.lblLicenseDate.AutoSize = True + Me.lblLicenseDate.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblLicenseDate.Location = New System.Drawing.Point(135, 45) + Me.lblLicenseDate.Name = "lblLicenseDate" + Me.lblLicenseDate.RightToLeft = System.Windows.Forms.RightToLeft.Yes + Me.lblLicenseDate.Size = New System.Drawing.Size(13, 13) + Me.lblLicenseDate.TabIndex = 7 + Me.lblLicenseDate.Text = "0" + ' + 'lbllicenseCount + ' + Me.lbllicenseCount.AutoSize = True + Me.lbllicenseCount.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lbllicenseCount.Location = New System.Drawing.Point(135, 20) + Me.lbllicenseCount.Name = "lbllicenseCount" + Me.lbllicenseCount.RightToLeft = System.Windows.Forms.RightToLeft.Yes + Me.lbllicenseCount.Size = New System.Drawing.Size(13, 13) + Me.lbllicenseCount.TabIndex = 6 + Me.lbllicenseCount.Text = "0" + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(7, 45) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(65, 13) + Me.Label6.TabIndex = 1 + Me.Label6.Text = "Gültigkeit:" + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(7, 20) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(122, 13) + Me.Label5.TabIndex = 0 + Me.Label5.Text = "Anzahl der Lizenzen:" + ' 'frmAdministration ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(1240, 730) + Me.Controls.Add(Me.GroupBox5) Me.Controls.Add(Me.GroupBox4) Me.Controls.Add(Me.GroupBox3) Me.Controls.Add(Me.GroupBox2) @@ -995,16 +1066,18 @@ Partial Class frmAdministration CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridViewProcessProfile, System.ComponentModel.ISupportInitialize).EndInit() Me.GroupBox4.ResumeLayout(False) + Me.GroupBox5.ResumeLayout(False) + Me.GroupBox5.PerformLayout() Me.ResumeLayout(False) Me.PerformLayout() End Sub Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox - Friend WithEvents MyDataset As DD_Clipboard_Searcher.MyDataset + Friend WithEvents MyDataset As DD_Clipboard_Watcher.MyDataset Friend WithEvents TBCBS_PROFILESBindingSource As System.Windows.Forms.BindingSource - Friend WithEvents TBCBS_PROFILESTableAdapter As DD_Clipboard_Searcher.MyDatasetTableAdapters.TBCBS_PROFILESTableAdapter - Friend WithEvents TableAdapterManager As DD_Clipboard_Searcher.MyDatasetTableAdapters.TableAdapterManager + Friend WithEvents TBCBS_PROFILESTableAdapter As DD_Clipboard_Watcher.MyDatasetTableAdapters.TBCBS_PROFILESTableAdapter + Friend WithEvents TableAdapterManager As DD_Clipboard_Watcher.MyDatasetTableAdapters.TableAdapterManager Friend WithEvents TBCBS_PROFILESBindingNavigator As System.Windows.Forms.BindingNavigator Friend WithEvents BindingNavigatorAddNewItem As System.Windows.Forms.ToolStripButton Friend WithEvents BindingNavigatorCountItem As System.Windows.Forms.ToolStripLabel @@ -1038,7 +1111,7 @@ Partial Class frmAdministration Friend WithEvents GridControl2 As DevExpress.XtraGrid.GridControl Friend WithEvents GridViewProfileUser As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents VWUSER_PROFILEBindingSource As System.Windows.Forms.BindingSource - Friend WithEvents VWUSER_PROFILETableAdapter As DD_Clipboard_Searcher.MyDatasetTableAdapters.VWUSER_PROFILETableAdapter + Friend WithEvents VWUSER_PROFILETableAdapter As DD_Clipboard_Watcher.MyDatasetTableAdapters.VWUSER_PROFILETableAdapter Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents colGUID1 As DevExpress.XtraGrid.Columns.GridColumn Friend WithEvents colUSERNAME As DevExpress.XtraGrid.Columns.GridColumn @@ -1059,12 +1132,11 @@ Partial Class frmAdministration Friend WithEvents txtPID As System.Windows.Forms.TextBox Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label - Friend WithEvents chkRunwindowCheck As System.Windows.Forms.CheckBox Friend WithEvents TimerTest As System.Windows.Forms.Timer Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox Friend WithEvents TBWH_UserBindingSource As System.Windows.Forms.BindingSource Friend WithEvents TBCBS_PROFILE_PROCESSBindingSource As System.Windows.Forms.BindingSource - Friend WithEvents TBCBS_PROFILE_PROCESSTableAdapter As DD_Clipboard_Searcher.MyDatasetTableAdapters.TBCBS_PROFILE_PROCESSTableAdapter + Friend WithEvents TBCBS_PROFILE_PROCESSTableAdapter As DD_Clipboard_Watcher.MyDatasetTableAdapters.TBCBS_PROFILE_PROCESSTableAdapter Friend WithEvents GridControl3 As DevExpress.XtraGrid.GridControl Friend WithEvents GridViewProcessProfile As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents colGUID2 As DevExpress.XtraGrid.Columns.GridColumn @@ -1074,4 +1146,11 @@ Partial Class frmAdministration Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox Friend WithEvents btnLinkProcessPRofile As System.Windows.Forms.Button Friend WithEvents btndeleteProcessProfileLink As System.Windows.Forms.Button + Friend WithEvents btnStartStopProcess As Button + Friend WithEvents BackgroundWorker1 As System.ComponentModel.BackgroundWorker + Friend WithEvents GroupBox5 As GroupBox + Friend WithEvents lblLicenseDate As Label + Friend WithEvents lbllicenseCount As Label + Friend WithEvents Label6 As Label + Friend WithEvents Label5 As Label End Class diff --git a/DD_Clipboard_Searcher/frmAdministration.resx b/app/DD_Clipboard_Searcher/frmAdministration.resx similarity index 99% rename from DD_Clipboard_Searcher/frmAdministration.resx rename to app/DD_Clipboard_Searcher/frmAdministration.resx index 57cae47..afa3726 100644 --- a/DD_Clipboard_Searcher/frmAdministration.resx +++ b/app/DD_Clipboard_Searcher/frmAdministration.resx @@ -321,6 +321,9 @@ D6j0I59LJxNQMSLqx2LdPwrM0UyYo5kwR/OA5RDpc3VgpHUOZwAAAABJRU5ErkJggg== + + 17, 95 + AAABAAMAEBAQAAEABAAoAQAANgAAABAQAAABAAgAaAUAAF4BAAAQEAAAAQAgAGgEAADGBgAAKAAAABAA diff --git a/DD_Clipboard_Searcher/frmAdministration.vb b/app/DD_Clipboard_Searcher/frmAdministration.vb similarity index 93% rename from DD_Clipboard_Searcher/frmAdministration.vb rename to app/DD_Clipboard_Searcher/frmAdministration.vb index 377ee3d..ea70d89 100644 --- a/DD_Clipboard_Searcher/frmAdministration.vb +++ b/app/DD_Clipboard_Searcher/frmAdministration.vb @@ -32,6 +32,13 @@ Public Class frmAdministration End Sub Private Sub frmAdministration_Load(sender As Object, e As EventArgs) Handles MyBase.Load Load_Profiles() + lbllicenseCount.Text = LICENSE_COUNT + If LICENSE_DATE.ToString.Contains("2099") Then + lblLicenseDate.Text = "Unlimited" + Else + lblLicenseDate.Text = LICENSE_DATE + End If + End Sub Sub Status_Changed(text As String, col As System.Drawing.Color) statuslabel.Text = text @@ -147,25 +154,13 @@ Public Class frmAdministration End Try End Sub - Private Sub chkRunwindowCheck_CheckedChanged(sender As Object, e As EventArgs) Handles chkRunwindowCheck.CheckedChanged - If chkRunwindowCheck.Checked Then - Me.Cursor = Cursors.WaitCursor - txtPID.Text = "" - txtProcessName.Text = "" - TimerTest.Start() - chkRunwindowCheck.Text = "Stoppe Auswertung" - Status_Changed("Auswertung von aktivem Fenster läuft! Alle 5 Sekunden Prüfung! - Wechseln Sie durch die aktiven Anwendungen!", Color.Orange) - Else - Me.Cursor = Cursors.Default - TimerTest.Stop() - chkRunwindowCheck.Text = "Starte Aktive-Fenster Auswahl" - Status_Changed("", Color.Transparent) - End If + Private Sub chkRunwindowCheck_CheckedChanged(sender As Object, e As EventArgs) + End Sub Private Sub TimerTest_Tick(sender As Object, e As EventArgs) Handles TimerTest.Tick clsWINDOWSApi.Get_ForegroundWindow_Info() - If PID <> PROC_PID And PROC_Name <> "DD_Clipboard_Searcher" Then + If PID <> PROC_PID And PROC_Name <> "DD_Clipboard_Watcher" Then PictureBox1.Visible = True PID = PROC_PID txtPID.Text = PROC_PID @@ -223,4 +218,20 @@ Public Class frmAdministration MsgBox("Unexpected Error in deleting ProfileProcess-Relation: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) End Try End Sub + + Private Sub btnStartStopProcess_Click(sender As Object, e As EventArgs) Handles btnStartStopProcess.Click + If btnStartStopProcess.Text = "Starte Aktive Fenster-Auswahl" Then + Me.Cursor = Cursors.WaitCursor + txtPID.Text = "" + txtProcessName.Text = "" + TimerTest.Start() + btnStartStopProcess.Text = "Stoppe Auswertung Fenster" + Status_Changed("Auswertung von aktivem Fenster läuft! Alle 5 Sekunden Prüfung! - Wechseln Sie durch die aktiven Anwendungen!", Color.Orange) + Else + Me.Cursor = Cursors.Default + TimerTest.Stop() + btnStartStopProcess.Text = "Starte Aktive Fenster-Auswahl" + Status_Changed("", Color.Transparent) + End If + End Sub End Class \ No newline at end of file diff --git a/DD_Clipboard_Searcher/frmConfig_Basic.Designer.vb b/app/DD_Clipboard_Searcher/frmConfig_Basic.Designer.vb similarity index 81% rename from DD_Clipboard_Searcher/frmConfig_Basic.Designer.vb rename to app/DD_Clipboard_Searcher/frmConfig_Basic.Designer.vb index 8cd13d7..79a932e 100644 --- a/DD_Clipboard_Searcher/frmConfig_Basic.Designer.vb +++ b/app/DD_Clipboard_Searcher/frmConfig_Basic.Designer.vb @@ -1,319 +1,392 @@ - _ -Partial Class frmConfig_Basic - 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(frmConfig_Basic)) - Me.TabControl1 = New System.Windows.Forms.TabControl() - Me.TabPage1 = New System.Windows.Forms.TabPage() - Me.chkbxUserAut = New System.Windows.Forms.CheckBox() - Me.Label5 = New System.Windows.Forms.Label() - Me.cmbDatenbank = New System.Windows.Forms.ComboBox() - Me.Label4 = New System.Windows.Forms.Label() - Me.Label1 = New System.Windows.Forms.Label() - Me.Label2 = New System.Windows.Forms.Label() - Me.Label3 = New System.Windows.Forms.Label() - Me.txtActualConnection = New System.Windows.Forms.TextBox() - Me.txtServer = New System.Windows.Forms.TextBox() - Me.txtUser = New System.Windows.Forms.TextBox() - Me.txtPasswort = New System.Windows.Forms.TextBox() - Me.BtnConnect = New System.Windows.Forms.Button() - Me.TabPage2 = New System.Windows.Forms.TabPage() - Me.chkWDMaximized = New System.Windows.Forms.CheckBox() - Me.chkLogErrorsOnly = New System.Windows.Forms.CheckBox() - Me.Button1 = New System.Windows.Forms.Button() - Me.btnApplicationFolder = New System.Windows.Forms.Button() - Me.LinkLabel1 = New System.Windows.Forms.LinkLabel() - Me.TabControl1.SuspendLayout() - Me.TabPage1.SuspendLayout() - Me.TabPage2.SuspendLayout() - Me.SuspendLayout() - ' - 'TabControl1 - ' - Me.TabControl1.Controls.Add(Me.TabPage1) - Me.TabControl1.Controls.Add(Me.TabPage2) - Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill - Me.TabControl1.Location = New System.Drawing.Point(0, 0) - Me.TabControl1.Name = "TabControl1" - Me.TabControl1.SelectedIndex = 0 - Me.TabControl1.Size = New System.Drawing.Size(676, 186) - Me.TabControl1.TabIndex = 1 - ' - 'TabPage1 - ' - Me.TabPage1.Controls.Add(Me.chkbxUserAut) - Me.TabPage1.Controls.Add(Me.Label5) - Me.TabPage1.Controls.Add(Me.cmbDatenbank) - Me.TabPage1.Controls.Add(Me.Label4) - Me.TabPage1.Controls.Add(Me.Label1) - Me.TabPage1.Controls.Add(Me.Label2) - Me.TabPage1.Controls.Add(Me.Label3) - Me.TabPage1.Controls.Add(Me.txtActualConnection) - Me.TabPage1.Controls.Add(Me.txtServer) - Me.TabPage1.Controls.Add(Me.txtUser) - Me.TabPage1.Controls.Add(Me.txtPasswort) - Me.TabPage1.Controls.Add(Me.BtnConnect) - Me.TabPage1.Location = New System.Drawing.Point(4, 22) - Me.TabPage1.Name = "TabPage1" - Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) - Me.TabPage1.Size = New System.Drawing.Size(668, 160) - Me.TabPage1.TabIndex = 0 - Me.TabPage1.Text = "Datenbank-Verbindung" - Me.TabPage1.UseVisualStyleBackColor = True - ' - 'chkbxUserAut - ' - Me.chkbxUserAut.AutoSize = True - Me.chkbxUserAut.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.chkbxUserAut.Location = New System.Drawing.Point(510, 36) - Me.chkbxUserAut.Name = "chkbxUserAut" - Me.chkbxUserAut.Size = New System.Drawing.Size(155, 17) - Me.chkbxUserAut.TabIndex = 47 - Me.chkbxUserAut.Text = "Windows-Authentifizierung" - Me.chkbxUserAut.UseVisualStyleBackColor = True - ' - 'Label5 - ' - Me.Label5.AutoSize = True - Me.Label5.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Label5.Location = New System.Drawing.Point(5, 115) - Me.Label5.Name = "Label5" - Me.Label5.Size = New System.Drawing.Size(138, 13) - Me.Label5.TabIndex = 46 - Me.Label5.Text = "Aktueller ConnectionString:" - ' - 'cmbDatenbank - ' - Me.cmbDatenbank.FormattingEnabled = True - Me.cmbDatenbank.Location = New System.Drawing.Point(8, 82) - Me.cmbDatenbank.Name = "cmbDatenbank" - Me.cmbDatenbank.Size = New System.Drawing.Size(252, 21) - Me.cmbDatenbank.TabIndex = 39 - ' - 'Label4 - ' - Me.Label4.AutoSize = True - Me.Label4.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Label4.Location = New System.Drawing.Point(5, 62) - Me.Label4.Name = "Label4" - Me.Label4.Size = New System.Drawing.Size(63, 13) - Me.Label4.TabIndex = 44 - Me.Label4.Text = "Datenbank:" - ' - 'Label1 - ' - Me.Label1.AutoSize = True - Me.Label1.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Label1.Location = New System.Drawing.Point(5, 14) - Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(74, 13) - Me.Label1.TabIndex = 41 - Me.Label1.Text = "Server-Name:" - ' - 'Label2 - ' - Me.Label2.AutoSize = True - Me.Label2.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Label2.Location = New System.Drawing.Point(299, 14) - Me.Label2.Name = "Label2" - Me.Label2.Size = New System.Drawing.Size(80, 13) - Me.Label2.TabIndex = 42 - Me.Label2.Text = "Benutzername:" - ' - 'Label3 - ' - Me.Label3.AutoSize = True - Me.Label3.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Label3.Location = New System.Drawing.Point(423, 14) - Me.Label3.Name = "Label3" - Me.Label3.Size = New System.Drawing.Size(55, 13) - Me.Label3.TabIndex = 43 - Me.Label3.Text = "Passwort:" - ' - 'txtActualConnection - ' - Me.txtActualConnection.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.txtActualConnection.BackColor = System.Drawing.Color.WhiteSmoke - Me.txtActualConnection.Location = New System.Drawing.Point(8, 131) - Me.txtActualConnection.Name = "txtActualConnection" - Me.txtActualConnection.ReadOnly = True - Me.txtActualConnection.Size = New System.Drawing.Size(528, 21) - Me.txtActualConnection.TabIndex = 45 - ' - 'txtServer - ' - Me.txtServer.ForeColor = System.Drawing.SystemColors.WindowText - Me.txtServer.Location = New System.Drawing.Point(8, 34) - Me.txtServer.Name = "txtServer" - Me.txtServer.Size = New System.Drawing.Size(288, 21) - Me.txtServer.TabIndex = 36 - ' - 'txtUser - ' - Me.txtUser.ForeColor = System.Drawing.SystemColors.WindowText - Me.txtUser.Location = New System.Drawing.Point(302, 34) - Me.txtUser.Name = "txtUser" - Me.txtUser.Size = New System.Drawing.Size(118, 21) - Me.txtUser.TabIndex = 37 - ' - 'txtPasswort - ' - Me.txtPasswort.ForeColor = System.Drawing.SystemColors.WindowText - Me.txtPasswort.Location = New System.Drawing.Point(426, 34) - Me.txtPasswort.Name = "txtPasswort" - Me.txtPasswort.Size = New System.Drawing.Size(64, 21) - Me.txtPasswort.TabIndex = 38 - Me.txtPasswort.UseSystemPasswordChar = True - ' - 'BtnConnect - ' - Me.BtnConnect.Image = CType(resources.GetObject("BtnConnect.Image"), System.Drawing.Image) - Me.BtnConnect.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.BtnConnect.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.BtnConnect.Location = New System.Drawing.Point(302, 82) - Me.BtnConnect.Name = "BtnConnect" - Me.BtnConnect.Size = New System.Drawing.Size(253, 25) - Me.BtnConnect.TabIndex = 40 - Me.BtnConnect.Text = "Verbindung zur Datenbank herstellen" - Me.BtnConnect.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.BtnConnect.UseVisualStyleBackColor = True - ' - 'TabPage2 - ' - Me.TabPage2.Controls.Add(Me.chkWDMaximized) - Me.TabPage2.Controls.Add(Me.chkLogErrorsOnly) - Me.TabPage2.Controls.Add(Me.Button1) - Me.TabPage2.Controls.Add(Me.btnApplicationFolder) - Me.TabPage2.Controls.Add(Me.LinkLabel1) - Me.TabPage2.Location = New System.Drawing.Point(4, 22) - Me.TabPage2.Name = "TabPage2" - Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) - Me.TabPage2.Size = New System.Drawing.Size(668, 160) - Me.TabPage2.TabIndex = 1 - Me.TabPage2.Text = "Weitere Einstellungen" - Me.TabPage2.UseVisualStyleBackColor = True - ' - 'chkWDMaximized - ' - Me.chkWDMaximized.AutoSize = True - Me.chkWDMaximized.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.chkWDMaximized.Location = New System.Drawing.Point(8, 40) - Me.chkWDMaximized.Name = "chkWDMaximized" - Me.chkWDMaximized.Size = New System.Drawing.Size(162, 17) - Me.chkWDMaximized.TabIndex = 8 - Me.chkWDMaximized.Text = "windream-search maximiert?" - Me.chkWDMaximized.UseVisualStyleBackColor = True - ' - 'chkLogErrorsOnly - ' - Me.chkLogErrorsOnly.AutoSize = True - Me.chkLogErrorsOnly.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.chkLogErrorsOnly.Location = New System.Drawing.Point(8, 17) - Me.chkLogErrorsOnly.Name = "chkLogErrorsOnly" - Me.chkLogErrorsOnly.Size = New System.Drawing.Size(100, 17) - Me.chkLogErrorsOnly.TabIndex = 7 - Me.chkLogErrorsOnly.Text = "Log Errors Only" - Me.chkLogErrorsOnly.UseVisualStyleBackColor = True - ' - 'Button1 - ' - Me.Button1.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.folder_Open_16xLG - Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button1.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Button1.Location = New System.Drawing.Point(462, 71) - Me.Button1.Name = "Button1" - Me.Button1.Size = New System.Drawing.Size(198, 23) - Me.Button1.TabIndex = 6 - Me.Button1.Text = "Open Log-Folder" - Me.Button1.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.Button1.UseVisualStyleBackColor = True - ' - 'btnApplicationFolder - ' - Me.btnApplicationFolder.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.folder_Open_16xLG - Me.btnApplicationFolder.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnApplicationFolder.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.btnApplicationFolder.Location = New System.Drawing.Point(462, 45) - Me.btnApplicationFolder.Name = "btnApplicationFolder" - Me.btnApplicationFolder.Size = New System.Drawing.Size(198, 23) - Me.btnApplicationFolder.TabIndex = 2 - Me.btnApplicationFolder.Text = "Open AppFolder User" - Me.btnApplicationFolder.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.btnApplicationFolder.UseVisualStyleBackColor = True - ' - 'LinkLabel1 - ' - Me.LinkLabel1.AutoSize = True - Me.LinkLabel1.Font = New System.Drawing.Font("Segoe UI", 9.75!) - Me.LinkLabel1.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.LinkLabel1.Location = New System.Drawing.Point(459, 16) - Me.LinkLabel1.Name = "LinkLabel1" - Me.LinkLabel1.Size = New System.Drawing.Size(201, 17) - Me.LinkLabel1.TabIndex = 1 - Me.LinkLabel1.TabStop = True - Me.LinkLabel1.Text = "Link zu Support-Tool Digital Data" - ' - 'frmConfig_Basic - ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) - Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(676, 186) - Me.Controls.Add(Me.TabControl1) - Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - 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 = "frmConfig_Basic" - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen - Me.Text = "Grundeinstellungen" - Me.TabControl1.ResumeLayout(False) - Me.TabPage1.ResumeLayout(False) - Me.TabPage1.PerformLayout() - Me.TabPage2.ResumeLayout(False) - Me.TabPage2.PerformLayout() - Me.ResumeLayout(False) - - End Sub - Friend WithEvents TabControl1 As System.Windows.Forms.TabControl - Friend WithEvents TabPage1 As System.Windows.Forms.TabPage - Friend WithEvents chkbxUserAut As System.Windows.Forms.CheckBox - Friend WithEvents Label5 As System.Windows.Forms.Label - Friend WithEvents cmbDatenbank As System.Windows.Forms.ComboBox - Friend WithEvents Label4 As System.Windows.Forms.Label - Friend WithEvents Label1 As System.Windows.Forms.Label - Friend WithEvents Label2 As System.Windows.Forms.Label - Friend WithEvents Label3 As System.Windows.Forms.Label - Friend WithEvents txtActualConnection As System.Windows.Forms.TextBox - Friend WithEvents txtServer As System.Windows.Forms.TextBox - Friend WithEvents txtUser As System.Windows.Forms.TextBox - Friend WithEvents txtPasswort As System.Windows.Forms.TextBox - Friend WithEvents BtnConnect As System.Windows.Forms.Button - Friend WithEvents TabPage2 As System.Windows.Forms.TabPage - Friend WithEvents chkWDMaximized As System.Windows.Forms.CheckBox - Friend WithEvents chkLogErrorsOnly As System.Windows.Forms.CheckBox - Friend WithEvents Button1 As System.Windows.Forms.Button - Friend WithEvents btnApplicationFolder As System.Windows.Forms.Button - Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel -End Class + _ +Partial Class frmConfig_Basic + 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(frmConfig_Basic)) + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.chkbxUserAut = New System.Windows.Forms.CheckBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.cmbDatenbank = New System.Windows.Forms.ComboBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.txtActualConnection = New System.Windows.Forms.TextBox() + Me.txtServer = New System.Windows.Forms.TextBox() + Me.txtUser = New System.Windows.Forms.TextBox() + Me.txtPasswort = New System.Windows.Forms.TextBox() + Me.BtnConnect = New System.Windows.Forms.Button() + Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.chkWDMaximized = New System.Windows.Forms.CheckBox() + Me.chkLogErrorsOnly = New System.Windows.Forms.CheckBox() + Me.Button1 = New System.Windows.Forms.Button() + Me.btnApplicationFolder = New System.Windows.Forms.Button() + Me.LinkLabel1 = New System.Windows.Forms.LinkLabel() + Me.cmbfunctionHit = New System.Windows.Forms.ComboBox() + Me.Label6 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.txtHotkeySearchKey = New System.Windows.Forms.TextBox() + Me.btnChangeHotkey = New System.Windows.Forms.Button() + Me.lblChanges = New System.Windows.Forms.Label() + Me.TabControl1.SuspendLayout() + Me.TabPage1.SuspendLayout() + Me.TabPage2.SuspendLayout() + Me.SuspendLayout() + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Controls.Add(Me.TabPage2) + Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl1.Location = New System.Drawing.Point(0, 0) + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.Size = New System.Drawing.Size(676, 186) + Me.TabControl1.TabIndex = 1 + ' + 'TabPage1 + ' + Me.TabPage1.Controls.Add(Me.chkbxUserAut) + Me.TabPage1.Controls.Add(Me.Label5) + Me.TabPage1.Controls.Add(Me.cmbDatenbank) + Me.TabPage1.Controls.Add(Me.Label4) + Me.TabPage1.Controls.Add(Me.Label1) + Me.TabPage1.Controls.Add(Me.Label2) + Me.TabPage1.Controls.Add(Me.Label3) + Me.TabPage1.Controls.Add(Me.txtActualConnection) + Me.TabPage1.Controls.Add(Me.txtServer) + Me.TabPage1.Controls.Add(Me.txtUser) + Me.TabPage1.Controls.Add(Me.txtPasswort) + Me.TabPage1.Controls.Add(Me.BtnConnect) + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage1.Size = New System.Drawing.Size(668, 160) + Me.TabPage1.TabIndex = 0 + Me.TabPage1.Text = "Datenbank-Verbindung" + Me.TabPage1.UseVisualStyleBackColor = True + ' + 'chkbxUserAut + ' + Me.chkbxUserAut.AutoSize = True + Me.chkbxUserAut.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.chkbxUserAut.Location = New System.Drawing.Point(510, 36) + Me.chkbxUserAut.Name = "chkbxUserAut" + Me.chkbxUserAut.Size = New System.Drawing.Size(155, 17) + Me.chkbxUserAut.TabIndex = 47 + Me.chkbxUserAut.Text = "Windows-Authentifizierung" + Me.chkbxUserAut.UseVisualStyleBackColor = True + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.Label5.Location = New System.Drawing.Point(5, 115) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(138, 13) + Me.Label5.TabIndex = 46 + Me.Label5.Text = "Aktueller ConnectionString:" + ' + 'cmbDatenbank + ' + Me.cmbDatenbank.FormattingEnabled = True + Me.cmbDatenbank.Location = New System.Drawing.Point(8, 82) + Me.cmbDatenbank.Name = "cmbDatenbank" + Me.cmbDatenbank.Size = New System.Drawing.Size(252, 21) + Me.cmbDatenbank.TabIndex = 39 + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.Label4.Location = New System.Drawing.Point(5, 62) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(63, 13) + Me.Label4.TabIndex = 44 + Me.Label4.Text = "Datenbank:" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.Label1.Location = New System.Drawing.Point(5, 14) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(74, 13) + Me.Label1.TabIndex = 41 + Me.Label1.Text = "Server-Name:" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.Label2.Location = New System.Drawing.Point(299, 14) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(80, 13) + Me.Label2.TabIndex = 42 + Me.Label2.Text = "Benutzername:" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.Label3.Location = New System.Drawing.Point(423, 14) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(55, 13) + Me.Label3.TabIndex = 43 + Me.Label3.Text = "Passwort:" + ' + 'txtActualConnection + ' + Me.txtActualConnection.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtActualConnection.BackColor = System.Drawing.Color.WhiteSmoke + Me.txtActualConnection.Location = New System.Drawing.Point(8, 131) + Me.txtActualConnection.Name = "txtActualConnection" + Me.txtActualConnection.ReadOnly = True + Me.txtActualConnection.Size = New System.Drawing.Size(528, 21) + Me.txtActualConnection.TabIndex = 45 + ' + 'txtServer + ' + Me.txtServer.ForeColor = System.Drawing.SystemColors.WindowText + Me.txtServer.Location = New System.Drawing.Point(8, 34) + Me.txtServer.Name = "txtServer" + Me.txtServer.Size = New System.Drawing.Size(288, 21) + Me.txtServer.TabIndex = 36 + ' + 'txtUser + ' + Me.txtUser.ForeColor = System.Drawing.SystemColors.WindowText + Me.txtUser.Location = New System.Drawing.Point(302, 34) + Me.txtUser.Name = "txtUser" + Me.txtUser.Size = New System.Drawing.Size(118, 21) + Me.txtUser.TabIndex = 37 + ' + 'txtPasswort + ' + Me.txtPasswort.ForeColor = System.Drawing.SystemColors.WindowText + Me.txtPasswort.Location = New System.Drawing.Point(426, 34) + Me.txtPasswort.Name = "txtPasswort" + Me.txtPasswort.Size = New System.Drawing.Size(64, 21) + Me.txtPasswort.TabIndex = 38 + Me.txtPasswort.UseSystemPasswordChar = True + ' + 'BtnConnect + ' + Me.BtnConnect.Image = CType(resources.GetObject("BtnConnect.Image"), System.Drawing.Image) + Me.BtnConnect.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.BtnConnect.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.BtnConnect.Location = New System.Drawing.Point(302, 82) + Me.BtnConnect.Name = "BtnConnect" + Me.BtnConnect.Size = New System.Drawing.Size(253, 25) + Me.BtnConnect.TabIndex = 40 + Me.BtnConnect.Text = "Verbindung zur Datenbank herstellen" + Me.BtnConnect.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.BtnConnect.UseVisualStyleBackColor = True + ' + 'TabPage2 + ' + Me.TabPage2.Controls.Add(Me.lblChanges) + Me.TabPage2.Controls.Add(Me.btnChangeHotkey) + Me.TabPage2.Controls.Add(Me.txtHotkeySearchKey) + Me.TabPage2.Controls.Add(Me.Label7) + Me.TabPage2.Controls.Add(Me.Label6) + Me.TabPage2.Controls.Add(Me.cmbfunctionHit) + Me.TabPage2.Controls.Add(Me.chkWDMaximized) + Me.TabPage2.Controls.Add(Me.chkLogErrorsOnly) + Me.TabPage2.Controls.Add(Me.Button1) + Me.TabPage2.Controls.Add(Me.btnApplicationFolder) + Me.TabPage2.Controls.Add(Me.LinkLabel1) + Me.TabPage2.Location = New System.Drawing.Point(4, 22) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage2.Size = New System.Drawing.Size(668, 160) + Me.TabPage2.TabIndex = 1 + Me.TabPage2.Text = "Weitere Einstellungen" + Me.TabPage2.UseVisualStyleBackColor = True + ' + 'chkWDMaximized + ' + Me.chkWDMaximized.AutoSize = True + Me.chkWDMaximized.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.chkWDMaximized.Location = New System.Drawing.Point(8, 40) + Me.chkWDMaximized.Name = "chkWDMaximized" + Me.chkWDMaximized.Size = New System.Drawing.Size(162, 17) + Me.chkWDMaximized.TabIndex = 8 + Me.chkWDMaximized.Text = "windream-search maximiert?" + Me.chkWDMaximized.UseVisualStyleBackColor = True + ' + 'chkLogErrorsOnly + ' + Me.chkLogErrorsOnly.AutoSize = True + Me.chkLogErrorsOnly.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.chkLogErrorsOnly.Location = New System.Drawing.Point(8, 17) + Me.chkLogErrorsOnly.Name = "chkLogErrorsOnly" + Me.chkLogErrorsOnly.Size = New System.Drawing.Size(100, 17) + Me.chkLogErrorsOnly.TabIndex = 7 + Me.chkLogErrorsOnly.Text = "Log Errors Only" + Me.chkLogErrorsOnly.UseVisualStyleBackColor = True + ' + 'Button1 + ' + Me.Button1.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.folder_Open_16xLG + Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button1.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.Button1.Location = New System.Drawing.Point(462, 71) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(198, 23) + Me.Button1.TabIndex = 6 + Me.Button1.Text = "Open Log-Folder" + Me.Button1.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.Button1.UseVisualStyleBackColor = True + ' + 'btnApplicationFolder + ' + Me.btnApplicationFolder.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.folder_Open_16xLG + Me.btnApplicationFolder.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnApplicationFolder.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.btnApplicationFolder.Location = New System.Drawing.Point(462, 45) + Me.btnApplicationFolder.Name = "btnApplicationFolder" + Me.btnApplicationFolder.Size = New System.Drawing.Size(198, 23) + Me.btnApplicationFolder.TabIndex = 2 + Me.btnApplicationFolder.Text = "Open AppFolder User" + Me.btnApplicationFolder.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btnApplicationFolder.UseVisualStyleBackColor = True + ' + 'LinkLabel1 + ' + Me.LinkLabel1.AutoSize = True + Me.LinkLabel1.Font = New System.Drawing.Font("Segoe UI", 9.75!) + Me.LinkLabel1.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.LinkLabel1.Location = New System.Drawing.Point(459, 16) + Me.LinkLabel1.Name = "LinkLabel1" + Me.LinkLabel1.Size = New System.Drawing.Size(200, 17) + Me.LinkLabel1.TabIndex = 1 + Me.LinkLabel1.TabStop = True + Me.LinkLabel1.Text = "Link zu Support-Tool Digital Data" + ' + 'cmbfunctionHit + ' + Me.cmbfunctionHit.FormattingEnabled = True + Me.cmbfunctionHit.Items.AddRange(New Object() {"strg", "SHIFT"}) + Me.cmbfunctionHit.Location = New System.Drawing.Point(11, 91) + Me.cmbfunctionHit.Name = "cmbfunctionHit" + Me.cmbfunctionHit.Size = New System.Drawing.Size(79, 21) + Me.cmbfunctionHit.TabIndex = 9 + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(8, 75) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(82, 13) + Me.Label6.TabIndex = 10 + Me.Label6.Text = "Funktionstaste:" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(102, 75) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(68, 13) + Me.Label7.TabIndex = 11 + Me.Label7.Text = "Zifferntaste:" + ' + 'txtHotkeySearchKey + ' + Me.txtHotkeySearchKey.Location = New System.Drawing.Point(105, 91) + Me.txtHotkeySearchKey.Name = "txtHotkeySearchKey" + Me.txtHotkeySearchKey.Size = New System.Drawing.Size(65, 21) + Me.txtHotkeySearchKey.TabIndex = 12 + Me.txtHotkeySearchKey.Text = "f" + ' + 'btnChangeHotkey + ' + Me.btnChangeHotkey.Location = New System.Drawing.Point(185, 89) + Me.btnChangeHotkey.Name = "btnChangeHotkey" + Me.btnChangeHotkey.Size = New System.Drawing.Size(121, 23) + Me.btnChangeHotkey.TabIndex = 13 + Me.btnChangeHotkey.Text = "Ändere Hotkey" + Me.btnChangeHotkey.UseVisualStyleBackColor = True + ' + 'lblChanges + ' + Me.lblChanges.AutoSize = True + Me.lblChanges.BackColor = System.Drawing.Color.Yellow + Me.lblChanges.Location = New System.Drawing.Point(8, 115) + Me.lblChanges.Name = "lblChanges" + Me.lblChanges.Size = New System.Drawing.Size(38, 13) + Me.lblChanges.TabIndex = 14 + Me.lblChanges.Text = "Label8" + Me.lblChanges.Visible = False + ' + 'frmConfig_Basic + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(676, 186) + Me.Controls.Add(Me.TabControl1) + Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + 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 = "frmConfig_Basic" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Grundeinstellungen" + Me.TabControl1.ResumeLayout(False) + Me.TabPage1.ResumeLayout(False) + Me.TabPage1.PerformLayout() + Me.TabPage2.ResumeLayout(False) + Me.TabPage2.PerformLayout() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents TabControl1 As System.Windows.Forms.TabControl + Friend WithEvents TabPage1 As System.Windows.Forms.TabPage + Friend WithEvents chkbxUserAut As System.Windows.Forms.CheckBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents cmbDatenbank As System.Windows.Forms.ComboBox + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents txtActualConnection As System.Windows.Forms.TextBox + Friend WithEvents txtServer As System.Windows.Forms.TextBox + Friend WithEvents txtUser As System.Windows.Forms.TextBox + Friend WithEvents txtPasswort As System.Windows.Forms.TextBox + Friend WithEvents BtnConnect As System.Windows.Forms.Button + Friend WithEvents TabPage2 As System.Windows.Forms.TabPage + Friend WithEvents chkWDMaximized As System.Windows.Forms.CheckBox + Friend WithEvents chkLogErrorsOnly As System.Windows.Forms.CheckBox + Friend WithEvents Button1 As System.Windows.Forms.Button + Friend WithEvents btnApplicationFolder As System.Windows.Forms.Button + Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel + Friend WithEvents Label6 As Label + Friend WithEvents cmbfunctionHit As ComboBox + Friend WithEvents txtHotkeySearchKey As TextBox + Friend WithEvents Label7 As Label + Friend WithEvents btnChangeHotkey As Button + Friend WithEvents lblChanges As Label +End Class diff --git a/DD_Clipboard_Searcher/frmConfig_Basic.resx b/app/DD_Clipboard_Searcher/frmConfig_Basic.resx similarity index 98% rename from DD_Clipboard_Searcher/frmConfig_Basic.resx rename to app/DD_Clipboard_Searcher/frmConfig_Basic.resx index 3dd12d1..0aad17c 100644 --- a/DD_Clipboard_Searcher/frmConfig_Basic.resx +++ b/app/DD_Clipboard_Searcher/frmConfig_Basic.resx @@ -1,170 +1,170 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29m - dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJVSURBVDhPpZLNi5JRFMYHWsyqPyBa1SqCilm1bBNR - EbSIoU2BxVRQm2gVFESLGCvLJjIQyhmRScRvx89XRdHZzMLPVBxmFHXwgyujos44qePTvbdm0N6gRS8c - znvgPr9z73POFID/ionC5/NNe73eWUEQTG63O+NyuQZOp/OH3W6PrKys6KxW6yWz2XxkXDMuPk3FiXg8 - jlqthk6ng/39fQyHQ2xvb6NQKCAUCsFoNIYNBsNxEYB2DRSLRYxGI1r+/RsMBojFYtDpdGpaTgI8Hg/Z - 29v7J4AQAq1WS2g5CaDvJb1eD9VqFc1mE7u7u1zQ7/fRarWQz+cRDodRqVSwvLwsBjgcDsJE9XqdH85k - Mkin00gkElxIPUIwGES5XIZGoxEDqNNkZ2cHjUaDdymVSjwzXyKRCDeQxdbWFpaWlsQAm81Gut0ufyMT - 5XI5fpjdZm1tDX6/H4FAgINVKpUYYLFYCBsd84CJ19fX+eg2NjawuroKxbc3ePL5Nu6/v45bry6Orjw9 - +3wCYDKZSLvd5h2y2Sx//+bmJv//pJXipf4O7CkF4hUBcu9D3JSfwflHx2SHALoc5MDtVCqFZDLJuzMz - Ja8vw/r9A6yZj/QoIPPdg9z3gAF6hwC6HISJ2TOYcBxw7dkMnKkvXHzw2ZIKBvglZkGX4yqdbzcajfLV - ZYayqbB84fFJvBXuYl6QcPG8RyK+AQs63xNqtfrr4uJii2bo9Xq2dZh7MYsbslN4J8zxziyzesKDP0Op - VB5VKBQzCwsL52Qy2TQ9LKXRZtf+naUApn4Cytwc5qi3odMAAAAASUVORK5CYII= - - - - - AAABAAIAEBAQAAEABAAoAQAAJgAAABAQAAABAAgAaAUAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ - AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAA/wAAAAAAAA948AAAAAAA+Hd/AAAAAAD4d3fwAA - AAAA93d3///wAAAPd3d3d48AAAD3d3d3ePAAAA93d3d38AAAD3d3d3fwAAAPd3f/d/AAAA93d/D38AAA - D4d3fw/wAAAA+Hd38AAAAAAP///wAAAAAAAAAAAA//8AAOf/AADD/wAAgf8AAID/AADABwAA4AMAAPAB - AAD4AQAA+AEAAPgBAAD4EQAA+AkAAPwHAAD+BwAA//8AACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAA - AAAAAAAAAAEAAAABAAAAAAAAQkJCAE1NTQBZWVkAZGRkAIaGhgCcnJwAp6enAL6+vgDr6+sA9vb2APr6 - +gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAsLAAAAAAAAAAAAAAAAAAoGBwoAAAAA - AAAAAAAAAAsHAQEFCgAAAAAAAAAAAAALBwEBAQUKAAAAAAAAAAAAAAoEAQEBBQoKCgoLAAAAAAAACQQB - AQECAQEDCAoAAAAAAAAJBAEBAQEBAQEICwAAAAAAAAkBAQEBAQEBAwoAAAAAAAAKAQEBAQUFAQEKAAAA - AAAACgEBAQUKCgUBCgAAAAAAAAoDAQEFCgAKBgoAAAAAAAALCAEBAQUKAAoLAAAAAAAAAAoIAwEBBgoA - AAAAAAAAAAAACwoKCgoLAAAAAAAAAAAAAAAAAAAAAAAAAP//AADn/wAAw/8AAIH/AACA/wAAwAcAAOAD - AADwAQAA+AEAAPgBAAD4AQAA+BEAAPgJAAD8BwAA/gcAAP//AAA= - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJVSURBVDhPpZLNi5JRFMYHWsyqPyBa1SqCilm1bBNR + EbSIoU2BxVRQm2gVFESLGCvLJjIQyhmRScRvx89XRdHZzMLPVBxmFHXwgyujos44qePTvbdm0N6gRS8c + znvgPr9z73POFID/ionC5/NNe73eWUEQTG63O+NyuQZOp/OH3W6PrKys6KxW6yWz2XxkXDMuPk3FiXg8 + jlqthk6ng/39fQyHQ2xvb6NQKCAUCsFoNIYNBsNxEYB2DRSLRYxGI1r+/RsMBojFYtDpdGpaTgI8Hg/Z + 29v7J4AQAq1WS2g5CaDvJb1eD9VqFc1mE7u7u1zQ7/fRarWQz+cRDodRqVSwvLwsBjgcDsJE9XqdH85k + Mkin00gkElxIPUIwGES5XIZGoxEDqNNkZ2cHjUaDdymVSjwzXyKRCDeQxdbWFpaWlsQAm81Gut0ufyMT + 5XI5fpjdZm1tDX6/H4FAgINVKpUYYLFYCBsd84CJ19fX+eg2NjawuroKxbc3ePL5Nu6/v45bry6Orjw9 + +3wCYDKZSLvd5h2y2Sx//+bmJv//pJXipf4O7CkF4hUBcu9D3JSfwflHx2SHALoc5MDtVCqFZDLJuzMz + Ja8vw/r9A6yZj/QoIPPdg9z3gAF6hwC6HISJ2TOYcBxw7dkMnKkvXHzw2ZIKBvglZkGX4yqdbzcajfLV + ZYayqbB84fFJvBXuYl6QcPG8RyK+AQs63xNqtfrr4uJii2bo9Xq2dZh7MYsbslN4J8zxziyzesKDP0Op + VB5VKBQzCwsL52Qy2TQ9LKXRZtf+naUApn4Cytwc5qi3odMAAAAASUVORK5CYII= + + + + + AAABAAIAEBAQAAEABAAoAQAAJgAAABAQAAABAAgAaAUAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAIAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ + AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAA/wAAAAAAAA948AAAAAAA+Hd/AAAAAAD4d3fwAA + AAAA93d3///wAAAPd3d3d48AAAD3d3d3ePAAAA93d3d38AAAD3d3d3fwAAAPd3f/d/AAAA93d/D38AAA + D4d3fw/wAAAA+Hd38AAAAAAP///wAAAAAAAAAAAA//8AAOf/AADD/wAAgf8AAID/AADABwAA4AMAAPAB + AAD4AQAA+AEAAPgBAAD4EQAA+AkAAPwHAAD+BwAA//8AACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAA + AAAAAAAAAAEAAAABAAAAAAAAQkJCAE1NTQBZWVkAZGRkAIaGhgCcnJwAp6enAL6+vgDr6+sA9vb2APr6 + +gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAsLAAAAAAAAAAAAAAAAAAoGBwoAAAAA + AAAAAAAAAAsHAQEFCgAAAAAAAAAAAAALBwEBAQUKAAAAAAAAAAAAAAoEAQEBBQoKCgoLAAAAAAAACQQB + AQECAQEDCAoAAAAAAAAJBAEBAQEBAQEICwAAAAAAAAkBAQEBAQEBAwoAAAAAAAAKAQEBAQUFAQEKAAAA + AAAACgEBAQUKCgUBCgAAAAAAAAoDAQEFCgAKBgoAAAAAAAALCAEBAQUKAAoLAAAAAAAAAAoIAwEBBgoA + AAAAAAAAAAAACwoKCgoLAAAAAAAAAAAAAAAAAAAAAAAAAP//AADn/wAAw/8AAIH/AACA/wAAwAcAAOAD + AADwAQAA+AEAAPgBAAD4AQAA+BEAAPgJAAD8BwAA/gcAAP//AAA= + + \ No newline at end of file diff --git a/DD_Clipboard_Searcher/frmConfig_Basic.vb b/app/DD_Clipboard_Searcher/frmConfig_Basic.vb similarity index 80% rename from DD_Clipboard_Searcher/frmConfig_Basic.vb rename to app/DD_Clipboard_Searcher/frmConfig_Basic.vb index 6a561bc..088bbf4 100644 --- a/DD_Clipboard_Searcher/frmConfig_Basic.vb +++ b/app/DD_Clipboard_Searcher/frmConfig_Basic.vb @@ -2,6 +2,7 @@ Imports System.Globalization Imports DD_LIB_Standards Public Class frmConfig_Basic + Dim WithEvents Hotkey As New clsHotkey(Me) Dim formloaded As Boolean = False Private Sub BtnConnect_Click(sender As Object, e As EventArgs) Handles BtnConnect.Click Try @@ -101,6 +102,7 @@ Public Class frmConfig_Basic End Sub Private Sub frmConfig_Basic_Load(sender As Object, e As EventArgs) Handles MyBase.Load + lblChanges.Visible = False If Not MyConnectionString = String.Empty Then CONNECTION_CHANGED = False Try @@ -166,6 +168,12 @@ Public Class frmConfig_Basic Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged Select Case TabControl1.SelectedIndex Case 1 + Try + cmbfunctionHit.SelectedIndex = cmbfunctionHit.FindStringExact(HotkeyFunctionKey) + txtHotkeySearchKey.Text = HotkeySearchKey + Catch ex As Exception + + End Try @@ -196,4 +204,35 @@ Public Class frmConfig_Basic Private Sub txtPasswort_TextChanged(sender As Object, e As EventArgs) Handles txtPasswort.TextChanged End Sub + + Private Sub btnChangeHotkey_Click(sender As Object, e As EventArgs) Handles btnChangeHotkey.Click + Try + If cmbfunctionHit.SelectedIndex <> -1 Then + Hotkey.RemoveHotKey(354523017) + SaveConfigValue("HotkeyFunctionKey", cmbfunctionHit.Text) + SaveConfigValue("HotkeySearchKey", txtHotkeySearchKey.Text) + Dim keyCode As Keys + Dim kc As New KeysConverter + Dim obj As Object = kc.ConvertFromString(txtHotkeySearchKey.Text.ToUpper) + keyCode = CType(obj, Keys) + If cmbfunctionHit.Text = "strg" Then + Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_CONTROL, 354523017) + ElseIf cmbfunctionHit.Text = "SHIFT" Then + Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, 354523017) + End If + lblChanges.Text = "Hotkey changed - " & Now.ToString & " - Restart required" + lblChanges.Visible = True + Dim msg = "Die Änderung des Hotkeys war erfolgreich." & vbNewLine & "Da es sich um einen global Hotkey handelt muss die Anwendung aber neugestartet werden!" + If USER_LANGUAGE <> "de-DE" Then + msg = "The change of your desired hotkey was successfull." & vbNewLine & "For using it the application must be restarted now!" + End If + MsgBox(msg, MsgBoxStyle.Information) + Cursor = Cursors.WaitCursor + Application.Restart() + End If + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected Error in ChangeHotkey:") + End Try + + End Sub End Class \ No newline at end of file diff --git a/DD_Clipboard_Searcher/frmLicense.Designer.vb b/app/DD_Clipboard_Searcher/frmLicense.Designer.vb similarity index 95% rename from DD_Clipboard_Searcher/frmLicense.Designer.vb rename to app/DD_Clipboard_Searcher/frmLicense.Designer.vb index 76e3bd5..009d434 100644 --- a/DD_Clipboard_Searcher/frmLicense.Designer.vb +++ b/app/DD_Clipboard_Searcher/frmLicense.Designer.vb @@ -1,199 +1,199 @@ - _ -Partial Class frmLicense - 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(frmLicense)) - Me.txtPW = New System.Windows.Forms.TextBox() - Me.lblPW = New System.Windows.Forms.Label() - Me.grbBoxlicense = New System.Windows.Forms.GroupBox() - Me.lblClient = New System.Windows.Forms.Label() - Me.cmbClients = New System.Windows.Forms.ComboBox() - Me.Label5 = New System.Windows.Forms.Label() - Me.dtpGueltig_GI = New System.Windows.Forms.DateTimePicker() - Me.btnnewLicenses = New System.Windows.Forms.Button() - Me.txtNewlicences = New System.Windows.Forms.TextBox() - Me.lblnewlicenses = New System.Windows.Forms.Label() - Me.btnPW_check = New System.Windows.Forms.Button() - Me.grbBoxlicense.SuspendLayout() - Me.SuspendLayout() - ' - 'txtPW - ' - Me.txtPW.Location = New System.Drawing.Point(109, 6) - Me.txtPW.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) - Me.txtPW.Name = "txtPW" - Me.txtPW.Size = New System.Drawing.Size(207, 21) - Me.txtPW.TabIndex = 32 - Me.txtPW.UseSystemPasswordChar = True - ' - 'lblPW - ' - Me.lblPW.AutoSize = True - Me.lblPW.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblPW.Location = New System.Drawing.Point(12, 9) - Me.lblPW.Name = "lblPW" - Me.lblPW.Size = New System.Drawing.Size(91, 13) - Me.lblPW.TabIndex = 31 - Me.lblPW.Text = "Master Passwort:" - ' - 'grbBoxlicense - ' - Me.grbBoxlicense.Controls.Add(Me.lblClient) - Me.grbBoxlicense.Controls.Add(Me.cmbClients) - Me.grbBoxlicense.Controls.Add(Me.Label5) - Me.grbBoxlicense.Controls.Add(Me.dtpGueltig_GI) - Me.grbBoxlicense.Controls.Add(Me.btnnewLicenses) - Me.grbBoxlicense.Controls.Add(Me.txtNewlicences) - Me.grbBoxlicense.Controls.Add(Me.lblnewlicenses) - Me.grbBoxlicense.Location = New System.Drawing.Point(15, 41) - Me.grbBoxlicense.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) - Me.grbBoxlicense.Name = "grbBoxlicense" - Me.grbBoxlicense.Padding = New System.Windows.Forms.Padding(3, 4, 3, 4) - Me.grbBoxlicense.Size = New System.Drawing.Size(469, 140) - Me.grbBoxlicense.TabIndex = 30 - Me.grbBoxlicense.TabStop = False - Me.grbBoxlicense.Text = "Lizenzanzahl ändern:" - Me.grbBoxlicense.Visible = False - ' - 'lblClient - ' - Me.lblClient.AutoSize = True - Me.lblClient.Font = New System.Drawing.Font("Verdana", 9.75!) - Me.lblClient.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblClient.Location = New System.Drawing.Point(7, 20) - Me.lblClient.Name = "lblClient" - Me.lblClient.Size = New System.Drawing.Size(140, 16) - Me.lblClient.TabIndex = 19 - Me.lblClient.Text = "Mandantenauswahl:" - ' - 'cmbClients - ' - Me.cmbClients.Font = New System.Drawing.Font("Tahoma", 9.75!) - Me.cmbClients.FormattingEnabled = True - Me.cmbClients.Location = New System.Drawing.Point(10, 39) - Me.cmbClients.Name = "cmbClients" - Me.cmbClients.Size = New System.Drawing.Size(262, 24) - Me.cmbClients.TabIndex = 18 - ' - 'Label5 - ' - Me.Label5.AutoSize = True - Me.Label5.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Label5.Location = New System.Drawing.Point(7, 106) - Me.Label5.Name = "Label5" - Me.Label5.Size = New System.Drawing.Size(55, 13) - Me.Label5.TabIndex = 16 - Me.Label5.Text = "Gültigkeit:" - Me.Label5.TextAlign = System.Drawing.ContentAlignment.TopRight - ' - 'dtpGueltig_GI - ' - Me.dtpGueltig_GI.Format = System.Windows.Forms.DateTimePickerFormat.[Short] - Me.dtpGueltig_GI.Location = New System.Drawing.Point(168, 100) - Me.dtpGueltig_GI.Name = "dtpGueltig_GI" - Me.dtpGueltig_GI.Size = New System.Drawing.Size(104, 21) - Me.dtpGueltig_GI.TabIndex = 15 - Me.dtpGueltig_GI.Value = New Date(2099, 12, 31, 0, 0, 0, 0) - ' - 'btnnewLicenses - ' - Me.btnnewLicenses.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.btnnewLicenses.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.KeyDown_8461 - Me.btnnewLicenses.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnnewLicenses.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.btnnewLicenses.Location = New System.Drawing.Point(307, 91) - Me.btnnewLicenses.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) - Me.btnnewLicenses.Name = "btnnewLicenses" - Me.btnnewLicenses.Size = New System.Drawing.Size(145, 30) - Me.btnnewLicenses.TabIndex = 5 - Me.btnnewLicenses.Text = "Erneuere Lizenz" - Me.btnnewLicenses.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.btnnewLicenses.UseVisualStyleBackColor = True - ' - 'txtNewlicences - ' - Me.txtNewlicences.Location = New System.Drawing.Point(241, 74) - Me.txtNewlicences.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) - Me.txtNewlicences.Name = "txtNewlicences" - Me.txtNewlicences.Size = New System.Drawing.Size(31, 21) - Me.txtNewlicences.TabIndex = 4 - Me.txtNewlicences.Text = "1" - ' - 'lblnewlicenses - ' - Me.lblnewlicenses.AutoSize = True - Me.lblnewlicenses.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.lblnewlicenses.Location = New System.Drawing.Point(7, 77) - Me.lblnewlicenses.Name = "lblnewlicenses" - Me.lblnewlicenses.Size = New System.Drawing.Size(113, 13) - Me.lblnewlicenses.TabIndex = 3 - Me.lblnewlicenses.Text = "Anzahl User-Lizenzen:" - ' - 'btnPW_check - ' - Me.btnPW_check.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.KeyDown_8461 - Me.btnPW_check.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnPW_check.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.btnPW_check.Location = New System.Drawing.Point(322, 1) - Me.btnPW_check.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) - Me.btnPW_check.Name = "btnPW_check" - Me.btnPW_check.Size = New System.Drawing.Size(162, 32) - Me.btnPW_check.TabIndex = 33 - Me.btnPW_check.Text = "Open License Manager" - Me.btnPW_check.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.btnPW_check.UseVisualStyleBackColor = True - ' - 'frmLicense - ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) - Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(490, 188) - Me.Controls.Add(Me.btnPW_check) - Me.Controls.Add(Me.txtPW) - Me.Controls.Add(Me.lblPW) - Me.Controls.Add(Me.grbBoxlicense) - Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) - Me.MaximizeBox = False - Me.MinimizeBox = False - Me.Name = "frmLicense" - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent - Me.Text = "License Manager" - Me.grbBoxlicense.ResumeLayout(False) - Me.grbBoxlicense.PerformLayout() - Me.ResumeLayout(False) - Me.PerformLayout() - - End Sub - Friend WithEvents btnPW_check As System.Windows.Forms.Button - Friend WithEvents txtPW As System.Windows.Forms.TextBox - Friend WithEvents lblPW As System.Windows.Forms.Label - Friend WithEvents grbBoxlicense As System.Windows.Forms.GroupBox - Friend WithEvents lblClient As System.Windows.Forms.Label - Friend WithEvents cmbClients As System.Windows.Forms.ComboBox - Friend WithEvents Label5 As System.Windows.Forms.Label - Friend WithEvents dtpGueltig_GI As System.Windows.Forms.DateTimePicker - Friend WithEvents btnnewLicenses As System.Windows.Forms.Button - Friend WithEvents txtNewlicences As System.Windows.Forms.TextBox - Friend WithEvents lblnewlicenses As System.Windows.Forms.Label -End Class + _ +Partial Class frmLicense + 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(frmLicense)) + Me.txtPW = New System.Windows.Forms.TextBox() + Me.lblPW = New System.Windows.Forms.Label() + Me.grbBoxlicense = New System.Windows.Forms.GroupBox() + Me.lblClient = New System.Windows.Forms.Label() + Me.cmbClients = New System.Windows.Forms.ComboBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.dtpGueltig_GI = New System.Windows.Forms.DateTimePicker() + Me.btnnewLicenses = New System.Windows.Forms.Button() + Me.txtNewlicences = New System.Windows.Forms.TextBox() + Me.lblnewlicenses = New System.Windows.Forms.Label() + Me.btnPW_check = New System.Windows.Forms.Button() + Me.grbBoxlicense.SuspendLayout() + Me.SuspendLayout() + ' + 'txtPW + ' + Me.txtPW.Location = New System.Drawing.Point(109, 6) + Me.txtPW.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.txtPW.Name = "txtPW" + Me.txtPW.Size = New System.Drawing.Size(207, 21) + Me.txtPW.TabIndex = 32 + Me.txtPW.UseSystemPasswordChar = True + ' + 'lblPW + ' + Me.lblPW.AutoSize = True + Me.lblPW.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.lblPW.Location = New System.Drawing.Point(12, 9) + Me.lblPW.Name = "lblPW" + Me.lblPW.Size = New System.Drawing.Size(91, 13) + Me.lblPW.TabIndex = 31 + Me.lblPW.Text = "Master Passwort:" + ' + 'grbBoxlicense + ' + Me.grbBoxlicense.Controls.Add(Me.lblClient) + Me.grbBoxlicense.Controls.Add(Me.cmbClients) + Me.grbBoxlicense.Controls.Add(Me.Label5) + Me.grbBoxlicense.Controls.Add(Me.dtpGueltig_GI) + Me.grbBoxlicense.Controls.Add(Me.btnnewLicenses) + Me.grbBoxlicense.Controls.Add(Me.txtNewlicences) + Me.grbBoxlicense.Controls.Add(Me.lblnewlicenses) + Me.grbBoxlicense.Location = New System.Drawing.Point(15, 41) + Me.grbBoxlicense.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.grbBoxlicense.Name = "grbBoxlicense" + Me.grbBoxlicense.Padding = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.grbBoxlicense.Size = New System.Drawing.Size(469, 140) + Me.grbBoxlicense.TabIndex = 30 + Me.grbBoxlicense.TabStop = False + Me.grbBoxlicense.Text = "Lizenzanzahl ändern:" + Me.grbBoxlicense.Visible = False + ' + 'lblClient + ' + Me.lblClient.AutoSize = True + Me.lblClient.Font = New System.Drawing.Font("Verdana", 9.75!) + Me.lblClient.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.lblClient.Location = New System.Drawing.Point(7, 20) + Me.lblClient.Name = "lblClient" + Me.lblClient.Size = New System.Drawing.Size(140, 16) + Me.lblClient.TabIndex = 19 + Me.lblClient.Text = "Mandantenauswahl:" + ' + 'cmbClients + ' + Me.cmbClients.Font = New System.Drawing.Font("Tahoma", 9.75!) + Me.cmbClients.FormattingEnabled = True + Me.cmbClients.Location = New System.Drawing.Point(10, 39) + Me.cmbClients.Name = "cmbClients" + Me.cmbClients.Size = New System.Drawing.Size(262, 24) + Me.cmbClients.TabIndex = 18 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.Label5.Location = New System.Drawing.Point(7, 106) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(55, 13) + Me.Label5.TabIndex = 16 + Me.Label5.Text = "Gültigkeit:" + Me.Label5.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'dtpGueltig_GI + ' + Me.dtpGueltig_GI.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.dtpGueltig_GI.Location = New System.Drawing.Point(168, 100) + Me.dtpGueltig_GI.Name = "dtpGueltig_GI" + Me.dtpGueltig_GI.Size = New System.Drawing.Size(104, 21) + Me.dtpGueltig_GI.TabIndex = 15 + Me.dtpGueltig_GI.Value = New Date(2099, 12, 31, 0, 0, 0, 0) + ' + 'btnnewLicenses + ' + Me.btnnewLicenses.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnnewLicenses.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.KeyDown_8461 + Me.btnnewLicenses.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnnewLicenses.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.btnnewLicenses.Location = New System.Drawing.Point(307, 91) + Me.btnnewLicenses.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.btnnewLicenses.Name = "btnnewLicenses" + Me.btnnewLicenses.Size = New System.Drawing.Size(145, 30) + Me.btnnewLicenses.TabIndex = 5 + Me.btnnewLicenses.Text = "Erneuere Lizenz" + Me.btnnewLicenses.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btnnewLicenses.UseVisualStyleBackColor = True + ' + 'txtNewlicences + ' + Me.txtNewlicences.Location = New System.Drawing.Point(241, 74) + Me.txtNewlicences.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.txtNewlicences.Name = "txtNewlicences" + Me.txtNewlicences.Size = New System.Drawing.Size(31, 21) + Me.txtNewlicences.TabIndex = 4 + Me.txtNewlicences.Text = "1" + ' + 'lblnewlicenses + ' + Me.lblnewlicenses.AutoSize = True + Me.lblnewlicenses.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.lblnewlicenses.Location = New System.Drawing.Point(7, 77) + Me.lblnewlicenses.Name = "lblnewlicenses" + Me.lblnewlicenses.Size = New System.Drawing.Size(113, 13) + Me.lblnewlicenses.TabIndex = 3 + Me.lblnewlicenses.Text = "Anzahl User-Lizenzen:" + ' + 'btnPW_check + ' + Me.btnPW_check.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.KeyDown_8461 + Me.btnPW_check.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnPW_check.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.btnPW_check.Location = New System.Drawing.Point(322, 1) + Me.btnPW_check.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.btnPW_check.Name = "btnPW_check" + Me.btnPW_check.Size = New System.Drawing.Size(162, 32) + Me.btnPW_check.TabIndex = 33 + Me.btnPW_check.Text = "Open License Manager" + Me.btnPW_check.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btnPW_check.UseVisualStyleBackColor = True + ' + 'frmLicense + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(490, 188) + Me.Controls.Add(Me.btnPW_check) + Me.Controls.Add(Me.txtPW) + Me.Controls.Add(Me.lblPW) + Me.Controls.Add(Me.grbBoxlicense) + Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmLicense" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent + Me.Text = "License Manager" + Me.grbBoxlicense.ResumeLayout(False) + Me.grbBoxlicense.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents btnPW_check As System.Windows.Forms.Button + Friend WithEvents txtPW As System.Windows.Forms.TextBox + Friend WithEvents lblPW As System.Windows.Forms.Label + Friend WithEvents grbBoxlicense As System.Windows.Forms.GroupBox + Friend WithEvents lblClient As System.Windows.Forms.Label + Friend WithEvents cmbClients As System.Windows.Forms.ComboBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents dtpGueltig_GI As System.Windows.Forms.DateTimePicker + Friend WithEvents btnnewLicenses As System.Windows.Forms.Button + Friend WithEvents txtNewlicences As System.Windows.Forms.TextBox + Friend WithEvents lblnewlicenses As System.Windows.Forms.Label +End Class diff --git a/DD_Clipboard_Searcher/frmLicense.resx b/app/DD_Clipboard_Searcher/frmLicense.resx similarity index 98% rename from DD_Clipboard_Searcher/frmLicense.resx rename to app/DD_Clipboard_Searcher/frmLicense.resx index 43835f4..7b7cb7a 100644 --- a/DD_Clipboard_Searcher/frmLicense.resx +++ b/app/DD_Clipboard_Searcher/frmLicense.resx @@ -1,1025 +1,1025 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - AAABAA0AMDAQAAEABABoBgAA1gAAACAgEAABAAQA6AIAAD4HAAAYGBAAAQAEAOgBAAAmCgAAEBAQAAEA - BAAoAQAADgwAADAwAAABAAgAqA4AADYNAAAgIAAAAQAIAKgIAADeGwAAGBgAAAEACADIBgAAhiQAABAQ - AAABAAgAaAUAAE4rAAAAAAAAAQAgAN1dAAC2MAAAMDAAAAEAIACoJQAAk44AACAgAAABACAAqBAAADu0 - AAAYGAAAAQAgAIgJAADjxAAAEBAAAAEAIABoBAAAa84AACgAAAAwAAAAYAAAAAEABAAAAAAAgAQAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/ - /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAABzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe4cAAAAAAAAAAAAAAAAAAAAAAA - AAAAADe5MAAAAAAAAAAAAAAAAAAAAAAAAAAAA7W3lwAAAAAAAAAAAAAAAAAAAAAAAAAAB7W5NwAAAAAA - AAAAAAAAAAAAAAAAAAAACbW4gAAAAAAAAAAAAAAAAAAAAAAAAAAAA3mLUAAAAAAAAAAAAAAAAAAAAAAA - AAAACbe3cAAAAAAAAAAAAAAAAAAAAAAAAAAAB7e5dwAAAAAAAAAAAAAAAAAAAAAAAAAAA4mLtwAAAAAA - AAAAAAAAAAAAAAAAAAAACbe3gAAAAAAAAAAAAAAAAAAAAAAAAAAAA4OJcAAAAAAAAAAAAAAAAAAAAAAA - AAAAA7e3NwAAAAAAAAAAAAAAAAAAAAAAAAAAB7W5hwAAAAAAAAAAAAAAAAAAAAAAAAAACbe3twAAAAAA - AAAAAAAAAAAAAAAAAAAAA4mJtQAAAAAAAAAAAAAAAAAAAAAAAAAAA7e3hwAAAAAAAAAAAAAAAAAAAAAA - AAAACYOJtwAAAAAAAAAAAAAAAAAAAAAAAAAAA4O3tQAAAAAAAAAAAAAAAAAAAAAAAAAAA7eDhwAAAAAA - AAAAAAAAAAAAAAAAAAAAB4m3tQAAAAAAAAAAAAAAAAAAAAAAAAAACbOJgwAAAAAAAAAAAAAAAAAAAAAA - AAAAA4ODNwAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLiBcAAAAAAAAAAAAAAAAAAAAAAAAHeLi4uDNwAAAA - AAAAAAAAAAAAAAAAAAB7j7i4v5gzcAAAAAAAAAAAAAAAAAAAAAe4i4uLj7eXNwAAAAAAAAAAAAAAAAAA - AHt5uLi4u4uLeQAAAAAAAAAAAAAAAAAAALibi3uLi3uJi3AAAAAAAAAAAAAAAAAAB4uLe4t7d7i4uBcA - AAAAAAAAAAAAAAAACIm3m3uYuLi4m3cAAAAAAAAAAAAAAAAAeLi5i3uLm4uLibcAAAAAAAAAAAAAAAAA - v3t4/////4i4t5cAAAAAAAAAAAAAAAAAf5e3d4d4eHh5t7kAAAAAAAAAAAAAAAAAv7UAAAAAAAAIuYMA - AAAAAAAAAAAAAAAAf3MAAAAAAAAHe5cAAAAAAAAAAAAAAAAAiIlwAAAAAAAHmLcAAAAAAAAAAAAAAAAA - CPNwAAAAAAAHt3cAAAAAAAAAAAAAAAAAC/g3AAAAAAB5i5AAAAAAAAAAAAAAAAAACIiXcAAAAAd7eHAA - AAAAAAAAAAAAAAAAAH/zN3AAB3N4twAAAAAAAAAAAAAAAAAAAAiPg3Fzc5i4kAAAAAAAAAAAAAAAAAAA - AAB7+Ig5iIt3AAAAAAAAAAAAAAAAAAAAAAAAeI//+4cAAAAAAAAAAAAAAAAAAAAAAAAAAId3cAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///P///wAA///4f/// - AAD///B///8AAP//4D///wAA///gP///AAD//+B///8AAP//4H///wAA///gf///AAD//+A///8AAP// - 4D///wAA///gf///AAD//+B///8AAP//4D///wAA///gP///AAD//+A///8AAP//4D///wAA///gP/// - AAD//+A///8AAP//4D///wAA///gP///AAD//+A///8AAP//4D///wAA///gP///AAD//+AP//8AAP// - gAf//wAA//8AAf//AAD//gAA//8AAP/8AAD//wAA//wAAH//AAD/+AAAP/8AAP/4AAA//wAA//AAAD// - AAD/8AAAP/8AAP/wAAA//wAA//D/+D//AAD/8P/4P/8AAP/wf/g//wAA//h/+D//AAD/+D/wf/8AAP/4 - H+B//wAA//wHgP//AAD//gAB//8AAP//AAP//wAA///AD///AAD///B///8AAP///////wAAKAAAACAA - AABAAAAAAQAEAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA - AACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAA3AAAAAAAAAAAAAAAAAAADeXAAAAAAAAAAAAAAAAAAOLNwAAAAAAAAAAAAAAAAAJt4MAAAAAAAAAAA - AAAAAAB7l3AAAAAAAAAAAAAAAAAAODtQAAAAAAAAAAAAAAAAAJt4MAAAAAAAAAAAAAAAAAB4mwAAAAAA - AAAAAAAAAAAAO3dwAAAAAAAAAAAAAAAAAJg7UAAAAAAAAAAAAAAAAAA7e3AAAAAAAAAAAAAAAAAAeJgw - AAAAAAAAAAAAAAAAAJt7UAAAAAAAAAAAAAAAAAA4ODAAAAAAAAAAAAAAAAAAODlwAAAAAAAAAAAAAAAA - AJuLdwAAAAAAAAAAAAAAAAeLi4NwAAAAAAAAAAAAAAB7i4uJNwAAAAAAAAAAAAAHuLi4u3NwAAAAAAAA - AAAAe4m4uJi5cAAAAAAAAAAAAIm4uJuLizcAAAAAAAAAAAe4v4//iLiXAAAAAAAAAAAIg3dzc4OJtwAA - AAAAAAAAB7UAAAAAB7UAAAAAAAAAAACDcAAAAHt3AAAAAAAAAAAAiBAAAAB4EAAAAAAAAAAAAHgxcAAD - i3AAAAAAAAAAAAAI+HMDWLUAAAAAAAAAAAAAAHiI+LdwAAAAAAAAAAAAAAAAi3eAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAP///////z////4f///8H////B////wf///8H////B////w////8H////B////wf///8 - H////B////wf///8H////A////gH///wA///4AH//8AB///AAP//gAD//4AA//+P+P//x/D//8fx///B - 4f//4AP///AH///8H///////KAAAABgAAAAwAAAAAQAEAAAAAAAgAQAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP// - /wAAAAAAAAMwAAAAAAAAAAAAADeTAAAAAAAAAAAAAJuHAAAAAAAAAAAAADgwAAAAAAAAAAAAADuXAAAA - AAAAAAAAAJi3AAAAAAAAAAAAADcwAAAAAAAAAAAAADe1AAAAAAAAAAAAAJuDAAAAAAAAAAAAAHexAAAA - AAAAAAAAADm3AAAAAAAAAAAAADg5AAAAAAAAAAAAALi3AAAAAAAAAAAAB7i4MAAAAAAAAAAAOLi7eQAA - AAAAAAAHu5t7i3AAAAAAAACLePiIu5AAAAAAAAB7d7e3d7cAAAAAAAB3kAAAB3cAAAAAAAB4cAAAC5AA - AAAAAAALgwAAeHAAAAAAAAAHiHNXtwAAAAAAAAAAuIiLcAAAAAAAAAAAAHt4AAAAAAD/5/8A/8P/AP/D - /wD/x/8A/8P/AP/D/wD/x/8A/8P/AP/D/wD/w/8A/8P/AP/D/wD/w/8A/4H/AP8A/wD+AH8A/AB/APwA - PwD8fj8A/H5/AP48fwD+AP8A/wH/AP/D/wAoAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A - /wD//wAA////AAAAAAAwAAAAAAAAA4MAAAAAAAADsAAAAAAAAAmDAAAAAAAAC3AAAAAAAAADgwAAAAAA - AAO3AAAAAAAAB4MAAAAAAAA7i1AAAAAAB7iYtQAAAAB7iLiLcAAAADiYc4tQAAAAe3AAe3AAAACLg3e1 - gAAAAAiYuHgAAAAAAIt7gAAA/38AAP4/AAD+fwAA/j8AAP5/AAD+PwAA/j8AAP4/AAD8HwAA+A8AAPAH - AADwBwAA8ccAAPAHAAD4DwAA/B8AACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAB - AAAAAAAAI0JnAD9PagA/U3EANlJ4AD1WeQBOUVUAUFNYAFJZXQBdXFwAYF5cAExXaABOWWoASFp1AFNj - ewBcbH0AY2NjAGlpaQBra2wAbW1tAGxvdQBibX4Ab3F1AHNzcwB3d3gAcnZ/ABFPlAAkUYIANVuEADpc - gwA+Xo8AIlmaADxfkwA/c5gAIV60ACxjoAAnbaIALWunAC5mrwArbKkAM2mlADhvogAxa60APm2sADZy - rgAiYbMAKGe1AChttgAkZrsAKmO4ADBntQAxbbUAPG+xADlttgArcLgANXOyADlyswA7dLsAQ16bAEpq - igBbbIUAUnaNAEJnkwBGbpUASmuWAENjngBKdZYAYG+JAGl3ggBpeYkAQ2WiAEBopgBAaqkAR3GtABZk - ywAVaM0AM3rCADaQvwB/gYMAbIWXAHCHmQB8hpoAS4KyAESKtgBMiLMASoG9AEaJvwBMj7gAW46zAFyP - ugBfkbQAYYmkAGyKrABtkKwAcZOsAHmTrABslLcAYZq7AGydvgB6mrUAcpu6AC+HzgA0gMkAJ4fVAC+A - 3AA0htMAOIbVADOC2QA8hdgANYncADuJ2gA4m94ANIrmADyJ4QA0jO0AM5biADuS5AA3m+cAM5TqADyc - 7AA1kvQAOpbyADOd9wA6mvcAMJf4AD2h9wA6pvgAN6z/ADyr+AA8tvoAP7n5AFeEwQBVh84AXojMAFOX - yABWmswATIfWAE6P0wBEitsASYzaAFCM0gBPkNoARJrYAEie3ABbntMAUZ7fAFqb3wBunMIAX6PUAF2n - 2wBbqN4AeqfIAGym0QBzsNoAQ5TkAEOZ5ABNnuQASZzpAFWX5ABZnuEAQqLtAFSk4QBZouMAWqjnAFeq - 7wBerOkARKX0AEii9ABBpfgARqz6AFKt9gBFsfEATbX3AEKz+gBLsvoAQrr7AEu5/gBRs/YAWrzxAFSz - /ABRvvsAaqXmAGGt4QBgr+wAdq7oAH6t6wB1u+sAYrf0AG219wBjvP4ARMP/AEzE/ABGy/8AS8n9AFHF - +wBYxv0AU8z9AFjK/ABC1f8AVNP/AFrT/ABS2f8AXdv+AGzM+QB6wvMAdMD6AH3H/wBm1fwAY93+AGrd - /gBk4P8AauT/AICJnQCEl7MAgp62AIqfuwCKorsAjqfAAJevwwCBrtAAhrbmAIu98gCrxtkAj83kAI7F - 6gCVyeoAmcjpAInQ7ACd3O0AjMP0AIPK/wCazvIAkNH+AJ/c/gCv0/UAtN/3ALDb/QCK4v8Aq+P/ALzj - /wCx7vkAqfD/AMvn/QDE6v8A1O3/ANrv/wDC+v8A3PH/ANX7/wDf//8A5/T/AOX5/wDp+f8A9f//APv/ - /wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - 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 - bJ2lOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOn0OQYAAAAAAAAAAAAAAABAcbORRQAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAJj8uR0TAAAAAAAAAAAAAEOMmrNSAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAN7h9YgDEwAAAAAAAAAAFYOLvbdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk8/KL - HQgXAAAAABQOhYjNzFsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAl/P33FU+BQINHkmEkr26 - WwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg+/XquIputeXOvbZPAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk+Lv/P//9OeZWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAADa1l1eXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///P///wAA///4f/// - AAD///B///8AAP//4D///wAA///gP///AAD//+B///8AAP//4H///wAA///gf///AAD//+A///8AAP// - 4D///wAA///gf///AAD//+B///8AAP//4D///wAA///gP///AAD//+A///8AAP//4D///wAA///gP/// - AAD//+A///8AAP//4D///wAA///gP///AAD//+A///8AAP//4D///wAA///gP///AAD//+AP//8AAP// - gAf//wAA//8AAf//AAD//gAA//8AAP/8AAD//wAA//wAAH//AAD/+AAAP/8AAP/4AAA//wAA//AAAD// - AAD/8AAAP/8AAP/wAAA//wAA//D/+D//AAD/8P/4P/8AAP/wf/g//wAA//h/+D//AAD/+D/wf/8AAP/4 - H+B//wAA//wHgP//AAD//gAB//8AAP//AAP//wAA///AD///AAD///B///8AAP///////wAAKAAAACAA - AABAAAAAAQAIAAAAAAAABAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAjK0AALDRGACs1TAApN1QAKDhQACA5 - XQAfQXQAOE5iADxQcQBTV1wAWl1hAFhZZABNX3YAVWFvAFRpfABcansAXm17AF92fwBpaWkAdXV1AHB3 - ewB2eHoAeXl5AC9bhwAsXYoANFyCADRdjwA4XYkAOVqTAD1lhAA5Y5QAOmWVAD9llAA3apwALGWkAChp - pAAzbKMANm2gADlsowA8baAAOHmvACVluQA+e7IAPni1ADV7uAA6fLkAQ2mLAERqigBIaYwASW+SAG15 - hgB+f4AAKnrNADZ8xAAwfc4AP4e7AD+EvgA+jLsAWoKdAGaFnwBEiKwASI++AGyKrABglK8AZpC6AHWT - sAB9mrMAcpe/AH6hvAA/kdcAN4niACyQ4AA5nuUAMZHtADuW7AA5pe4APafzADul+AA7q/oAOK//AECK - zQBXl8YAW5vAAF+l2gBAlOgASp7wAE+k4wBXvekAQqjwAEat8gBJrvcAQ675AEy59wBItvgATLr4AE2+ - +ABQt/MAVLH3AFG59QBRvvgAVLv8AGek5gBpq/MAZLz/AHy2+QBNwf8AVsH2AF/B9wBYxfQAUcL5AFbA - +ABWwv8AUMT8AFbM+gBWyP8AV878AF3N+gBYyv8AWM//AFvT/ABf0f8AXtT+AF3Z/wBe3v8AZcD5AGvG - /wBsxP8AaMn6AGLW/QBl1f0AYtj/AGXb/wBi3v8Aad3/AGzd/wB20f8AfNP/AGni/wCDkaEAiZ2nAI+c - pQCQnKQAjaCpAJGlvwCUs9EAk8TWAIfe/gCQ2P8AqNnvALPa4gCp3P8AhuH/AJvl/wCp7v8AtOP7ALfn - /wCy8f8Au/L/AL73/wDB+P8A2P7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKkwj - DQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACp6NkscAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - Kno2bDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqby46NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAACpjLjgOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKnYrbzIAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAqcytvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpuJT4PAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAKm8lbjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqdSdwMQAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAACqKIW4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKoYhbjEAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAqgyJwMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACp6JS0eAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKoZ2bD0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKGhoZ8 - WBoXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAk4KKg3xvNxgTAAAAAAAAAAAAAAAAAAAAAAAAAAAAUoBh - b3p6cm5cShkUAAAAAAAAAAAAAAAAAAAAAAAAADxhWllgb25uX4ZqSAgAAAAAAAAAAAAAAAAAAAAAAAAA - VFtNXmBfal+CgnNQJBQAAAAAAAAAAAAAAAAAAAAAAI5/Toidn5+enpqYck81CwAAAAAAAAAAAAAAAAAA - AAAAjH84Pz8/Pz8/Pz8/SUcKAAAAAAAAAAAAAAAAAAAAAACPiQYAAAAAAAAAAABGVQsAAAAAAAAAAAAA - AAAAAAAAAACZBxMAAAAAAAAAi1ZRFgAAAAAAAAAAAAAAAAAAAAAAAJJmAgAAAAAAAAAhaB4AAAAAAAAA - AAAAAAAAAAAAAAAAQqArAQsAAAAACWdXFgAAAAAAAAAAAAAAAAAAAAAAAAAARaGVOwUDBB1pfRAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAQ5GWnJyXlFMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJBEQUKMAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////P////h////wf///8 - H////B////wf///8H////D////wf///8H////B////wf///8H////B////wf///8D///+Af///AD///g - Af//wAH//8AA//+AAP//gAD//4/4///H8P//x/H//8Hh///gA///8Af///wf//////8oAAAAGAAAADAA - AAABAAgAAAAAAEACAAAAAAAAAAAAAAABAAAAAQAAAAAAADpffQBCRVsAQU1oAEZXdQBUWXUAYGN1AB9N - gQAmUYQALVmJADVfjQA5Y48AHlqoABxorgAlZbkAQmKAAENslQBWeJoAaHCAAHJ6iABUdaMASnm9ABZ3 - 0gBHgK8AXoGoAFiFqgBMhL0AUoK0AF+LsgBBkb8AZ4WpAGaHrQBiiqsAbIqsAGSSugB7l7MAcJO8AC2G - zAA6iMkAPZrVADaV2gA5nt4AJYfiACSM9gA2nv8APqnlAD+n6gA/qO8ALKv8ADOp9wA7qvEANa/8AD+w - 9wA4svoAP7b6ADO4/AA2uvwAOLz8AEOOzgBZn8UAQqPVAEqm0ABJptUAQqjcAHSu0wBIluEAVa7pAEKv - /wBDtPYAQLT6AEK++QBEu/8ARb/9AEq5/wByuOYAMcT/ADfM/wBLw/QARsL+AEXE/ABPxv8AQ8n+AEjN - /ABeyf8ATdL8AE/c/ABV0/oAVt78AHnR/wBU4v0AX+f9AGrx/wCKmK8AiqCzAICy1QCFyvAAiNv/AJzd - /wCk1vAAlfb/AJr//wCu5PwAre//ALnq+wCh+f8Aov3/AKb//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAADg4AAAAAAAAAAAAAAAAA - AAAAAAAAAAAMMSoHAAAAAAAAAAAAAAAAAAAAAAAAAAAMREMQAAAAAAAAAAAAAAAAAAAAAAAAAAAMLwoA - AAAAAAAAAAAAAAAAAAAAAAAAAAAMLigJAAAAAAAAAAAAAAAAAAAAAAAAAAAMLUceAAAAAAAAAAAAAAAA - AAAAAAAAAAAMKRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMJzYLAAAAAAAAAAAAAAAAAAAAAAAAAAAMPkUK - AAAAAAAAAAAAAAAAAAAAAAAAAAAMPjQKAAAAAAAAAAAAAAAAAAAAAAAAAAAMPC8KAAAAAAAAAAAAAAAA - AAAAAAAAAAAMTSUKAAAAAAAAAAAAAAAAAAAAAAAAAABQWlkLAAAAAAAAAAAAAAAAAAAAAAAAADtWV1VH - CAAAAAAAAAAAAAAAAAAAAAAAHUdPVFJRNg0AAAAAAAAAAAAAAAAAAAA6MzA4OThHV0sBAAAAAAAAAAAA - AAAAAF0/T2NqamhkW0wWAAAAAAAAAAAAAAAAABlJISEhISEhISErEgAAAAAAAAAAAAAAACBCBgAAAAAA - ABwsEwAAAAAAAAAAAAAAACNgBQAAAAAAAEEmAAAAAAAAAAAAAAAAAABAXwIAAAAAFFMRAAAAAAAAAAAA - AAAAAAAbZ2UPAwQVWBcAAAAAAAAAAAAAAAAAAAAAGl5iZmFKIgAAAAAAAAAAAAAAAAAAAAAAAAAkGR5c - AAAAAAAAAAAAAP/n/wD/w/8A/8P/AP/H/wD/w/8A/8P/AP/H/wD/w/8A/8P/AP/D/wD/w/8A/8P/AP/D - /wD/gf8A/wD/AP4AfwD8AH8A/AA/APx+PwD8fn8A/jx/AP4A/wD/Af8A/8P/ACgAAAAQAAAAIAAAAAEA - CAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAP09nAD9QaQA8UmwAMk9+AFRkegA7W4AAOl+HAE1n - hABUZ4cAVGqDAFR5nAAnfscAPoS7AE2FngBLjKoARYy7AE2SsgBsiqwANIfHADSHyABOjcEASZrNAFCQ - wQBamMEASZ3QAEKg0QBUs90AbKTJAEim6ABSuuIAVrvhAE23+QBVtPMAVbr3AFO3+QBIzfwAXsDwAFfB - +QBcxvkAU8v+AErR/ABf0voAW9f8AGnG9QBl1foAa9b7AHDU8wBx1fUAcd78AFTi/QB94/oAdOn+AIai - uACVqbsAnrnOAIKw1QCUutsAocTgAI3j/gCP7P4Ak+7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAMJAcAAAAA - AAAAAAAAAAAADBoAAAAAAAAAAAAAAAAAAAwpBwAAAAAAAAAAAAAAAAAMGgAAAAAAAAAAAAAAAAAADDIH - AAAAAAAAAAAAAAAAAAwrBgAAAAAAAAAAAAAAAAAMMQYAAAAAAAAAAAAAAAATJSgbAgAAAAAAAAAAAAAU - IiYgLh0BAAAAAAAAAAAVJiM9PCE7HgoAAAAAAAAADScSEhISEi0CAAAAAAAAABUrCAAAABceBQAAAAAA - AAA5GTMOCQssDzYAAAAAAAAAADgZLzQvETUAAAAAAAAAAAAAOhwQGDcAAAAAAP9/AAD+PwAA/n8AAP4/ - AAD+fwAA/j8AAP4/AAD+PwAA/B8AAPgPAADwBwAA8AcAAPHHAADwBwAA+A8AAPwfAACJUE5HDQoaCgAA - AA1JSERSAAABAAAAAQAIBgAAAFxyqGYAACAASURBVHic7L13nBzped/5fd6q7gmYGWCQgQUWG7B5uYkr - UqKYTiQlynJQsGTZ0uf8kXw+ncP5nGifbVk6SZYln08SZeVAWaIoUaQp0gzLsGLaXWxebsAmpEWOk6dn - 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 - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAkAAAAhGEhmvieH1f8A - AAB1AAAAMQAAAAoAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAADAJ - ECGSRsv//zes//8AAACRAAAARwAAABoAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAKyuKvPE5bbb/Qrr+/zOU6v8GFi61AAAAdAAAACwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAIV2r8ELV//8yaK//N5vn/y+A3P8WZMv/AAAAlgAAADIAAAAJAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2O2/zm0/P8wZ7X/M5bi/zib3v8VaM3/AAAAjAAAACcA - AAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2Kz/zOd9/8qY7j/beb//y+Hzv+N - xff/AAAAbgAAABYAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2Kz/zCX+P8h - XrT/bOb//zGH0v8CAACjAAAAPQAAABYAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAImGz/0bF//8hY7P/bOb//zSH0P8AAACQAAAAbwAAACYAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAI2G0/1LZ//8oZ7X/a+X//zSAyf8hXYjcAAAAkwAAADAAAAAJAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2G0/1HQ//8xbbX/a+T//zV6wv9Xtv//BgMCjgAAACcA - AAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2Gy/1DL//81crP/Zd///zR4wP+r - 4///KCYkdwAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2G0/0/L//82 - dLL/VM7//zd5wf8HBAGjAAAAVgAAACUAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAI2G0/0vI//82cq//S8X//zl3vP8zf7DpAAAAjgAAADEAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAI2K0/0fB//8wb6z/S8X//zpytv9Nvv//AAAAlgAAADMAAAAJAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2K0/0O+//8ra6j/S8X//zxvsf9Luf//AAAAlQAAADIA - AAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2K0/0bE//8ta6f/TMb//z5vrv9M - uP//AAAAlQAAADIAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2G0/1HP//80 - a6f/Ucv//z9sq/9NuP//AAAAlQAAADIAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAI2G0/1va//80aqX/X9n//0Bqqf9NuP//AAAAlQAAADIAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAImK0/17f//8yaKP/aeP//0Bopv9LuP//AAAAkwAAADIAAAAJAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJGO1/13d//8sY6D/auX//0JnpP9LuP//AAAAkwAAADIA - AAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJWW5/1XV//8iWZr/auX//0Nkof9J - uP//AAAAlAAAADUAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJWe8/1HP//8R - T5T/auT//0Njnv9BtP3/AAAAnAAAAEgAAAAgAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQA - AAAQJGa9/2Le//8nbaL/aeH//0Nem/9EZqL/BhAWsQAAAGwAAABQAAAALAAAABIAAAAGAAAAAQAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAABAAAACAAAAB0AAQZVLG2q/2Xh//9m3///Zt///2fc//9n3P//j83k/xEyW+sAAQOKAAAAXQAAAD4A - AAAhAAAACwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAEAAAAJAAYNMwEYLJZIksfqidDs/2Th//9k4P//ZN///2Xf//9t4f//ndzt/yhttv8Y - R3vxCRgvuQAAA3sAAABPAAAAKgAAAA0AAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgADho6G1J7ymK39P+54f//xOr//2Df//9j3///Y9///2Xf//9p - 3///se/7/zqI4v8zieb/K3C4/xhAcd0CBw6RAAAAUwAAACkAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQeMDMocaTUTrH5/4PK//95wvP/Vcz9/1nU/f9f - 2f7/YNv+/1/b/v9h2f//se34/1ue0/9Oj9P/PpHm/ziG1f8aSHXgAggPkQAAAE0AAAAgAAAABgAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ4XFSlsnMNHrfn/Uq32/0Wj6/9N - tff/UMX7/1nQ/P9c1v3/Xdb9/13X/f9a0v3/Vs/9/1HH//9avPH/Xafb/0+f5v9ZouP/FT5o1gABA3oA - AAA9AAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKGONflGz9v9k - vP3/QJri/0Sn9P9ItPv/T8L7/1TM/P9Z0fz/WtD8/1jO/P9Vy/z/TcT8/1LE/f9j4f//ZtX8/1uo3v9t - tff/TJ3i/w4oRLgAAABYAAAAJQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM - KT0VQI/I4pDR/v9eq+v/QKHv/0as+/9Esvr/Sr36/07F+v9Rx/r/Ucf6/1DF+v9Nwfr/S737/2nd/v9n - 4P//Yt///2zM+f9aqOf/SKL0/ydpqO0BBAmAAAAAOAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAqZIxle8Px/7Db/f84k+L/Ra38/0Kk+P86pvj/Qbf5/0K7+f9CvPn/QLr5/z+5+f88 - t/n/Z9r//2Hc/f9c1f3/WdT8/1bU//9UpOH/Opby/zKJ3/8OJj+sAAAASAAAABQAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzd6e3tN/3/4u/8P88nOz/Qab4/zWV9/9Dsvr/RLr7/z63+/89 - t/v/Q7n7/0a6+/9Rvvv/WMb9/1nI/f9ZyP3/UsT8/0jI+v9frej/N43m/zOJ5v8cTX3PAAAAVAAAABoA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5h8Dd5/T//1me4f89off/Pqj5/4ri///V - +////f/////////7////9f////7////1////3////8L6//+p8P//bNz//0DD//9FsfH/N4vd/zSM7f8n - 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 - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpfYseT3+p1I7F6v/k - +f//2u///6/T9f92ruj/QYzc/z2I3P9qpeb/jMHy/33H//9gvf//Ya3h/ypOaK8FIDMqAAAABgAAAAEA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAdpGjBnaUrX1fkrznlcbp9L/m///o+v/////////////T7///mc7y+26u2fZEfqjZHT1TXAANFxIA - AAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFdpghOWiOZDhnjIUyYYeaMWOKtC5gha0oWHyfIk9weR5HZ00Z - QVweAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///wf//8AAP//+B///wAA///gD///AAD/ - /+AP//8AAP//4A///wAA///gD///AAD//+AP//8AAP//4A///wAA///gD///AAD//+AP//8AAP//4A// - /wAA///gD///AAD//+AP//8AAP//4A///wAA///gD///AAD//+AP//8AAP//4A///wAA///gD///AAD/ - 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 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAA0AMDAQAAEABABoBgAA1gAAACAgEAABAAQA6AIAAD4HAAAYGBAAAQAEAOgBAAAmCgAAEBAQAAEA + BAAoAQAADgwAADAwAAABAAgAqA4AADYNAAAgIAAAAQAIAKgIAADeGwAAGBgAAAEACADIBgAAhiQAABAQ + AAABAAgAaAUAAE4rAAAAAAAAAQAgAN1dAAC2MAAAMDAAAAEAIACoJQAAk44AACAgAAABACAAqBAAADu0 + AAAYGAAAAQAgAIgJAADjxAAAEBAAAAEAIABoBAAAa84AACgAAAAwAAAAYAAAAAEABAAAAAAAgAQAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD/ + /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAABzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe4cAAAAAAAAAAAAAAAAAAAAAAA + AAAAADe5MAAAAAAAAAAAAAAAAAAAAAAAAAAAA7W3lwAAAAAAAAAAAAAAAAAAAAAAAAAAB7W5NwAAAAAA + AAAAAAAAAAAAAAAAAAAACbW4gAAAAAAAAAAAAAAAAAAAAAAAAAAAA3mLUAAAAAAAAAAAAAAAAAAAAAAA + AAAACbe3cAAAAAAAAAAAAAAAAAAAAAAAAAAAB7e5dwAAAAAAAAAAAAAAAAAAAAAAAAAAA4mLtwAAAAAA + AAAAAAAAAAAAAAAAAAAACbe3gAAAAAAAAAAAAAAAAAAAAAAAAAAAA4OJcAAAAAAAAAAAAAAAAAAAAAAA + AAAAA7e3NwAAAAAAAAAAAAAAAAAAAAAAAAAAB7W5hwAAAAAAAAAAAAAAAAAAAAAAAAAACbe3twAAAAAA + AAAAAAAAAAAAAAAAAAAAA4mJtQAAAAAAAAAAAAAAAAAAAAAAAAAAA7e3hwAAAAAAAAAAAAAAAAAAAAAA + AAAACYOJtwAAAAAAAAAAAAAAAAAAAAAAAAAAA4O3tQAAAAAAAAAAAAAAAAAAAAAAAAAAA7eDhwAAAAAA + AAAAAAAAAAAAAAAAAAAAB4m3tQAAAAAAAAAAAAAAAAAAAAAAAAAACbOJgwAAAAAAAAAAAAAAAAAAAAAA + AAAAA4ODNwAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLiBcAAAAAAAAAAAAAAAAAAAAAAAAHeLi4uDNwAAAA + AAAAAAAAAAAAAAAAAAB7j7i4v5gzcAAAAAAAAAAAAAAAAAAAAAe4i4uLj7eXNwAAAAAAAAAAAAAAAAAA + AHt5uLi4u4uLeQAAAAAAAAAAAAAAAAAAALibi3uLi3uJi3AAAAAAAAAAAAAAAAAAB4uLe4t7d7i4uBcA + AAAAAAAAAAAAAAAACIm3m3uYuLi4m3cAAAAAAAAAAAAAAAAAeLi5i3uLm4uLibcAAAAAAAAAAAAAAAAA + v3t4/////4i4t5cAAAAAAAAAAAAAAAAAf5e3d4d4eHh5t7kAAAAAAAAAAAAAAAAAv7UAAAAAAAAIuYMA + AAAAAAAAAAAAAAAAf3MAAAAAAAAHe5cAAAAAAAAAAAAAAAAAiIlwAAAAAAAHmLcAAAAAAAAAAAAAAAAA + CPNwAAAAAAAHt3cAAAAAAAAAAAAAAAAAC/g3AAAAAAB5i5AAAAAAAAAAAAAAAAAACIiXcAAAAAd7eHAA + AAAAAAAAAAAAAAAAAH/zN3AAB3N4twAAAAAAAAAAAAAAAAAAAAiPg3Fzc5i4kAAAAAAAAAAAAAAAAAAA + AAB7+Ig5iIt3AAAAAAAAAAAAAAAAAAAAAAAAeI//+4cAAAAAAAAAAAAAAAAAAAAAAAAAAId3cAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///P///wAA///4f/// + AAD///B///8AAP//4D///wAA///gP///AAD//+B///8AAP//4H///wAA///gf///AAD//+A///8AAP// + 4D///wAA///gf///AAD//+B///8AAP//4D///wAA///gP///AAD//+A///8AAP//4D///wAA///gP/// + AAD//+A///8AAP//4D///wAA///gP///AAD//+A///8AAP//4D///wAA///gP///AAD//+AP//8AAP// + gAf//wAA//8AAf//AAD//gAA//8AAP/8AAD//wAA//wAAH//AAD/+AAAP/8AAP/4AAA//wAA//AAAD// + AAD/8AAAP/8AAP/wAAA//wAA//D/+D//AAD/8P/4P/8AAP/wf/g//wAA//h/+D//AAD/+D/wf/8AAP/4 + H+B//wAA//wHgP//AAD//gAB//8AAP//AAP//wAA///AD///AAD///B///8AAP///////wAAKAAAACAA + AABAAAAAAQAEAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA + AACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA3AAAAAAAAAAAAAAAAAAADeXAAAAAAAAAAAAAAAAAAOLNwAAAAAAAAAAAAAAAAAJt4MAAAAAAAAAAA + AAAAAAB7l3AAAAAAAAAAAAAAAAAAODtQAAAAAAAAAAAAAAAAAJt4MAAAAAAAAAAAAAAAAAB4mwAAAAAA + AAAAAAAAAAAAO3dwAAAAAAAAAAAAAAAAAJg7UAAAAAAAAAAAAAAAAAA7e3AAAAAAAAAAAAAAAAAAeJgw + AAAAAAAAAAAAAAAAAJt7UAAAAAAAAAAAAAAAAAA4ODAAAAAAAAAAAAAAAAAAODlwAAAAAAAAAAAAAAAA + AJuLdwAAAAAAAAAAAAAAAAeLi4NwAAAAAAAAAAAAAAB7i4uJNwAAAAAAAAAAAAAHuLi4u3NwAAAAAAAA + AAAAe4m4uJi5cAAAAAAAAAAAAIm4uJuLizcAAAAAAAAAAAe4v4//iLiXAAAAAAAAAAAIg3dzc4OJtwAA + AAAAAAAAB7UAAAAAB7UAAAAAAAAAAACDcAAAAHt3AAAAAAAAAAAAiBAAAAB4EAAAAAAAAAAAAHgxcAAD + i3AAAAAAAAAAAAAI+HMDWLUAAAAAAAAAAAAAAHiI+LdwAAAAAAAAAAAAAAAAi3eAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///////z////4f///8H////B////wf///8H////B////w////8H////B////wf///8 + H////B////wf///8H////A////gH///wA///4AH//8AB///AAP//gAD//4AA//+P+P//x/D//8fx///B + 4f//4AP///AH///8H///////KAAAABgAAAAwAAAAAQAEAAAAAAAgAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP// + /wAAAAAAAAMwAAAAAAAAAAAAADeTAAAAAAAAAAAAAJuHAAAAAAAAAAAAADgwAAAAAAAAAAAAADuXAAAA + AAAAAAAAAJi3AAAAAAAAAAAAADcwAAAAAAAAAAAAADe1AAAAAAAAAAAAAJuDAAAAAAAAAAAAAHexAAAA + AAAAAAAAADm3AAAAAAAAAAAAADg5AAAAAAAAAAAAALi3AAAAAAAAAAAAB7i4MAAAAAAAAAAAOLi7eQAA + AAAAAAAHu5t7i3AAAAAAAACLePiIu5AAAAAAAAB7d7e3d7cAAAAAAAB3kAAAB3cAAAAAAAB4cAAAC5AA + AAAAAAALgwAAeHAAAAAAAAAHiHNXtwAAAAAAAAAAuIiLcAAAAAAAAAAAAHt4AAAAAAD/5/8A/8P/AP/D + /wD/x/8A/8P/AP/D/wD/x/8A/8P/AP/D/wD/w/8A/8P/AP/D/wD/w/8A/4H/AP8A/wD+AH8A/AB/APwA + PwD8fj8A/H5/AP48fwD+AP8A/wH/AP/D/wAoAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A + /wD//wAA////AAAAAAAwAAAAAAAAA4MAAAAAAAADsAAAAAAAAAmDAAAAAAAAC3AAAAAAAAADgwAAAAAA + AAO3AAAAAAAAB4MAAAAAAAA7i1AAAAAAB7iYtQAAAAB7iLiLcAAAADiYc4tQAAAAe3AAe3AAAACLg3e1 + gAAAAAiYuHgAAAAAAIt7gAAA/38AAP4/AAD+fwAA/j8AAP5/AAD+PwAA/j8AAP4/AAD8HwAA+A8AAPAH + AADwBwAA8ccAAPAHAAD4DwAA/B8AACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAB + AAAAAAAAI0JnAD9PagA/U3EANlJ4AD1WeQBOUVUAUFNYAFJZXQBdXFwAYF5cAExXaABOWWoASFp1AFNj + ewBcbH0AY2NjAGlpaQBra2wAbW1tAGxvdQBibX4Ab3F1AHNzcwB3d3gAcnZ/ABFPlAAkUYIANVuEADpc + gwA+Xo8AIlmaADxfkwA/c5gAIV60ACxjoAAnbaIALWunAC5mrwArbKkAM2mlADhvogAxa60APm2sADZy + rgAiYbMAKGe1AChttgAkZrsAKmO4ADBntQAxbbUAPG+xADlttgArcLgANXOyADlyswA7dLsAQ16bAEpq + igBbbIUAUnaNAEJnkwBGbpUASmuWAENjngBKdZYAYG+JAGl3ggBpeYkAQ2WiAEBopgBAaqkAR3GtABZk + ywAVaM0AM3rCADaQvwB/gYMAbIWXAHCHmQB8hpoAS4KyAESKtgBMiLMASoG9AEaJvwBMj7gAW46zAFyP + ugBfkbQAYYmkAGyKrABtkKwAcZOsAHmTrABslLcAYZq7AGydvgB6mrUAcpu6AC+HzgA0gMkAJ4fVAC+A + 3AA0htMAOIbVADOC2QA8hdgANYncADuJ2gA4m94ANIrmADyJ4QA0jO0AM5biADuS5AA3m+cAM5TqADyc + 7AA1kvQAOpbyADOd9wA6mvcAMJf4AD2h9wA6pvgAN6z/ADyr+AA8tvoAP7n5AFeEwQBVh84AXojMAFOX + yABWmswATIfWAE6P0wBEitsASYzaAFCM0gBPkNoARJrYAEie3ABbntMAUZ7fAFqb3wBunMIAX6PUAF2n + 2wBbqN4AeqfIAGym0QBzsNoAQ5TkAEOZ5ABNnuQASZzpAFWX5ABZnuEAQqLtAFSk4QBZouMAWqjnAFeq + 7wBerOkARKX0AEii9ABBpfgARqz6AFKt9gBFsfEATbX3AEKz+gBLsvoAQrr7AEu5/gBRs/YAWrzxAFSz + /ABRvvsAaqXmAGGt4QBgr+wAdq7oAH6t6wB1u+sAYrf0AG219wBjvP4ARMP/AEzE/ABGy/8AS8n9AFHF + +wBYxv0AU8z9AFjK/ABC1f8AVNP/AFrT/ABS2f8AXdv+AGzM+QB6wvMAdMD6AH3H/wBm1fwAY93+AGrd + /gBk4P8AauT/AICJnQCEl7MAgp62AIqfuwCKorsAjqfAAJevwwCBrtAAhrbmAIu98gCrxtkAj83kAI7F + 6gCVyeoAmcjpAInQ7ACd3O0AjMP0AIPK/wCazvIAkNH+AJ/c/gCv0/UAtN/3ALDb/QCK4v8Aq+P/ALzj + /wCx7vkAqfD/AMvn/QDE6v8A1O3/ANrv/wDC+v8A3PH/ANX7/wDf//8A5/T/AOX5/wDp+f8A9f//APv/ + /wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + bJ2lOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOn0OQYAAAAAAAAAAAAAAABAcbORRQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAJj8uR0TAAAAAAAAAAAAAEOMmrNSAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAN7h9YgDEwAAAAAAAAAAFYOLvbdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk8/KL + HQgXAAAAABQOhYjNzFsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAl/P33FU+BQINHkmEkr26 + WwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg+/XquIputeXOvbZPAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk+Lv/P//9OeZWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADa1l1eXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///P///wAA///4f/// + AAD///B///8AAP//4D///wAA///gP///AAD//+B///8AAP//4H///wAA///gf///AAD//+A///8AAP// + 4D///wAA///gf///AAD//+B///8AAP//4D///wAA///gP///AAD//+A///8AAP//4D///wAA///gP/// + AAD//+A///8AAP//4D///wAA///gP///AAD//+A///8AAP//4D///wAA///gP///AAD//+AP//8AAP// + gAf//wAA//8AAf//AAD//gAA//8AAP/8AAD//wAA//wAAH//AAD/+AAAP/8AAP/4AAA//wAA//AAAD// + AAD/8AAAP/8AAP/wAAA//wAA//D/+D//AAD/8P/4P/8AAP/wf/g//wAA//h/+D//AAD/+D/wf/8AAP/4 + H+B//wAA//wHgP//AAD//gAB//8AAP//AAP//wAA///AD///AAD///B///8AAP///////wAAKAAAACAA + AABAAAAAAQAIAAAAAAAABAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAjK0AALDRGACs1TAApN1QAKDhQACA5 + XQAfQXQAOE5iADxQcQBTV1wAWl1hAFhZZABNX3YAVWFvAFRpfABcansAXm17AF92fwBpaWkAdXV1AHB3 + ewB2eHoAeXl5AC9bhwAsXYoANFyCADRdjwA4XYkAOVqTAD1lhAA5Y5QAOmWVAD9llAA3apwALGWkAChp + pAAzbKMANm2gADlsowA8baAAOHmvACVluQA+e7IAPni1ADV7uAA6fLkAQ2mLAERqigBIaYwASW+SAG15 + hgB+f4AAKnrNADZ8xAAwfc4AP4e7AD+EvgA+jLsAWoKdAGaFnwBEiKwASI++AGyKrABglK8AZpC6AHWT + sAB9mrMAcpe/AH6hvAA/kdcAN4niACyQ4AA5nuUAMZHtADuW7AA5pe4APafzADul+AA7q/oAOK//AECK + zQBXl8YAW5vAAF+l2gBAlOgASp7wAE+k4wBXvekAQqjwAEat8gBJrvcAQ675AEy59wBItvgATLr4AE2+ + +ABQt/MAVLH3AFG59QBRvvgAVLv8AGek5gBpq/MAZLz/AHy2+QBNwf8AVsH2AF/B9wBYxfQAUcL5AFbA + +ABWwv8AUMT8AFbM+gBWyP8AV878AF3N+gBYyv8AWM//AFvT/ABf0f8AXtT+AF3Z/wBe3v8AZcD5AGvG + /wBsxP8AaMn6AGLW/QBl1f0AYtj/AGXb/wBi3v8Aad3/AGzd/wB20f8AfNP/AGni/wCDkaEAiZ2nAI+c + pQCQnKQAjaCpAJGlvwCUs9EAk8TWAIfe/gCQ2P8AqNnvALPa4gCp3P8AhuH/AJvl/wCp7v8AtOP7ALfn + /wCy8f8Au/L/AL73/wDB+P8A2P7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKkwj + DQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACp6NkscAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Kno2bDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqby46NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAACpjLjgOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKnYrbzIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAqcytvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpuJT4PAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAKm8lbjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqdSdwMQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACqKIW4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKoYhbjEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAqgyJwMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACp6JS0eAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKoZ2bD0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKGhoZ8 + WBoXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAk4KKg3xvNxgTAAAAAAAAAAAAAAAAAAAAAAAAAAAAUoBh + b3p6cm5cShkUAAAAAAAAAAAAAAAAAAAAAAAAADxhWllgb25uX4ZqSAgAAAAAAAAAAAAAAAAAAAAAAAAA + VFtNXmBfal+CgnNQJBQAAAAAAAAAAAAAAAAAAAAAAI5/Toidn5+enpqYck81CwAAAAAAAAAAAAAAAAAA + AAAAjH84Pz8/Pz8/Pz8/SUcKAAAAAAAAAAAAAAAAAAAAAACPiQYAAAAAAAAAAABGVQsAAAAAAAAAAAAA + AAAAAAAAAACZBxMAAAAAAAAAi1ZRFgAAAAAAAAAAAAAAAAAAAAAAAJJmAgAAAAAAAAAhaB4AAAAAAAAA + AAAAAAAAAAAAAAAAQqArAQsAAAAACWdXFgAAAAAAAAAAAAAAAAAAAAAAAAAARaGVOwUDBB1pfRAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQ5GWnJyXlFMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJBEQUKMAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////P////h////wf///8 + H////B////wf///8H////D////wf///8H////B////wf///8H////B////wf///8D///+Af///AD///g + Af//wAH//8AA//+AAP//gAD//4/4///H8P//x/H//8Hh///gA///8Af///wf//////8oAAAAGAAAADAA + AAABAAgAAAAAAEACAAAAAAAAAAAAAAABAAAAAQAAAAAAADpffQBCRVsAQU1oAEZXdQBUWXUAYGN1AB9N + gQAmUYQALVmJADVfjQA5Y48AHlqoABxorgAlZbkAQmKAAENslQBWeJoAaHCAAHJ6iABUdaMASnm9ABZ3 + 0gBHgK8AXoGoAFiFqgBMhL0AUoK0AF+LsgBBkb8AZ4WpAGaHrQBiiqsAbIqsAGSSugB7l7MAcJO8AC2G + zAA6iMkAPZrVADaV2gA5nt4AJYfiACSM9gA2nv8APqnlAD+n6gA/qO8ALKv8ADOp9wA7qvEANa/8AD+w + 9wA4svoAP7b6ADO4/AA2uvwAOLz8AEOOzgBZn8UAQqPVAEqm0ABJptUAQqjcAHSu0wBIluEAVa7pAEKv + /wBDtPYAQLT6AEK++QBEu/8ARb/9AEq5/wByuOYAMcT/ADfM/wBLw/QARsL+AEXE/ABPxv8AQ8n+AEjN + /ABeyf8ATdL8AE/c/ABV0/oAVt78AHnR/wBU4v0AX+f9AGrx/wCKmK8AiqCzAICy1QCFyvAAiNv/AJzd + /wCk1vAAlfb/AJr//wCu5PwAre//ALnq+wCh+f8Aov3/AKb//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAADg4AAAAAAAAAAAAAAAAA + AAAAAAAAAAAMMSoHAAAAAAAAAAAAAAAAAAAAAAAAAAAMREMQAAAAAAAAAAAAAAAAAAAAAAAAAAAMLwoA + AAAAAAAAAAAAAAAAAAAAAAAAAAAMLigJAAAAAAAAAAAAAAAAAAAAAAAAAAAMLUceAAAAAAAAAAAAAAAA + AAAAAAAAAAAMKRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMJzYLAAAAAAAAAAAAAAAAAAAAAAAAAAAMPkUK + AAAAAAAAAAAAAAAAAAAAAAAAAAAMPjQKAAAAAAAAAAAAAAAAAAAAAAAAAAAMPC8KAAAAAAAAAAAAAAAA + AAAAAAAAAAAMTSUKAAAAAAAAAAAAAAAAAAAAAAAAAABQWlkLAAAAAAAAAAAAAAAAAAAAAAAAADtWV1VH + CAAAAAAAAAAAAAAAAAAAAAAAHUdPVFJRNg0AAAAAAAAAAAAAAAAAAAA6MzA4OThHV0sBAAAAAAAAAAAA + AAAAAF0/T2NqamhkW0wWAAAAAAAAAAAAAAAAABlJISEhISEhISErEgAAAAAAAAAAAAAAACBCBgAAAAAA + ABwsEwAAAAAAAAAAAAAAACNgBQAAAAAAAEEmAAAAAAAAAAAAAAAAAABAXwIAAAAAFFMRAAAAAAAAAAAA + AAAAAAAbZ2UPAwQVWBcAAAAAAAAAAAAAAAAAAAAAGl5iZmFKIgAAAAAAAAAAAAAAAAAAAAAAAAAkGR5c + AAAAAAAAAAAAAP/n/wD/w/8A/8P/AP/H/wD/w/8A/8P/AP/H/wD/w/8A/8P/AP/D/wD/w/8A/8P/AP/D + /wD/gf8A/wD/AP4AfwD8AH8A/AA/APx+PwD8fn8A/jx/AP4A/wD/Af8A/8P/ACgAAAAQAAAAIAAAAAEA + CAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAP09nAD9QaQA8UmwAMk9+AFRkegA7W4AAOl+HAE1n + hABUZ4cAVGqDAFR5nAAnfscAPoS7AE2FngBLjKoARYy7AE2SsgBsiqwANIfHADSHyABOjcEASZrNAFCQ + wQBamMEASZ3QAEKg0QBUs90AbKTJAEim6ABSuuIAVrvhAE23+QBVtPMAVbr3AFO3+QBIzfwAXsDwAFfB + +QBcxvkAU8v+AErR/ABf0voAW9f8AGnG9QBl1foAa9b7AHDU8wBx1fUAcd78AFTi/QB94/oAdOn+AIai + uACVqbsAnrnOAIKw1QCUutsAocTgAI3j/gCP7P4Ak+7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAMJAcAAAAA + AAAAAAAAAAAADBoAAAAAAAAAAAAAAAAAAAwpBwAAAAAAAAAAAAAAAAAMGgAAAAAAAAAAAAAAAAAADDIH + AAAAAAAAAAAAAAAAAAwrBgAAAAAAAAAAAAAAAAAMMQYAAAAAAAAAAAAAAAATJSgbAgAAAAAAAAAAAAAU + IiYgLh0BAAAAAAAAAAAVJiM9PCE7HgoAAAAAAAAADScSEhISEi0CAAAAAAAAABUrCAAAABceBQAAAAAA + AAA5GTMOCQssDzYAAAAAAAAAADgZLzQvETUAAAAAAAAAAAAAOhwQGDcAAAAAAP9/AAD+PwAA/n8AAP4/ + AAD+fwAA/j8AAP4/AAD+PwAA/B8AAPgPAADwBwAA8AcAAPHHAADwBwAA+A8AAPwfAACJUE5HDQoaCgAA + AA1JSERSAAABAAAAAQAIBgAAAFxyqGYAACAASURBVHic7L13nBzped/5fd6q7gmYGWCQgQUWG7B5uYkr + UqKYTiQlynJQsGTZ0uf8kXw+ncP5nGifbVk6SZYln08SZeVAWaIoUaQp0gzLsGLaXWxebsAmpEWOk6dn + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAkAAAAhGEhmvieH1f8A + AAB1AAAAMQAAAAoAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAADAJ + ECGSRsv//zes//8AAACRAAAARwAAABoAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKyuKvPE5bbb/Qrr+/zOU6v8GFi61AAAAdAAAACwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAIV2r8ELV//8yaK//N5vn/y+A3P8WZMv/AAAAlgAAADIAAAAJAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2O2/zm0/P8wZ7X/M5bi/zib3v8VaM3/AAAAjAAAACcA + AAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2Kz/zOd9/8qY7j/beb//y+Hzv+N + xff/AAAAbgAAABYAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2Kz/zCX+P8h + XrT/bOb//zGH0v8CAACjAAAAPQAAABYAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAImGz/0bF//8hY7P/bOb//zSH0P8AAACQAAAAbwAAACYAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAI2G0/1LZ//8oZ7X/a+X//zSAyf8hXYjcAAAAkwAAADAAAAAJAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2G0/1HQ//8xbbX/a+T//zV6wv9Xtv//BgMCjgAAACcA + AAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2Gy/1DL//81crP/Zd///zR4wP+r + 4///KCYkdwAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2G0/0/L//82 + dLL/VM7//zd5wf8HBAGjAAAAVgAAACUAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAI2G0/0vI//82cq//S8X//zl3vP8zf7DpAAAAjgAAADEAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAI2K0/0fB//8wb6z/S8X//zpytv9Nvv//AAAAlgAAADMAAAAJAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2K0/0O+//8ra6j/S8X//zxvsf9Luf//AAAAlQAAADIA + AAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2K0/0bE//8ta6f/TMb//z5vrv9M + uP//AAAAlQAAADIAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI2G0/1HP//80 + a6f/Ucv//z9sq/9NuP//AAAAlQAAADIAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAI2G0/1va//80aqX/X9n//0Bqqf9NuP//AAAAlQAAADIAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAImK0/17f//8yaKP/aeP//0Bopv9LuP//AAAAkwAAADIAAAAJAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJGO1/13d//8sY6D/auX//0JnpP9LuP//AAAAkwAAADIA + AAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJWW5/1XV//8iWZr/auX//0Nkof9J + uP//AAAAlAAAADUAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJWe8/1HP//8R + T5T/auT//0Njnv9BtP3/AAAAnAAAAEgAAAAgAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQA + AAAQJGa9/2Le//8nbaL/aeH//0Nem/9EZqL/BhAWsQAAAGwAAABQAAAALAAAABIAAAAGAAAAAQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAABAAAACAAAAB0AAQZVLG2q/2Xh//9m3///Zt///2fc//9n3P//j83k/xEyW+sAAQOKAAAAXQAAAD4A + AAAhAAAACwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAEAAAAJAAYNMwEYLJZIksfqidDs/2Th//9k4P//ZN///2Xf//9t4f//ndzt/yhttv8Y + R3vxCRgvuQAAA3sAAABPAAAAKgAAAA0AAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgADho6G1J7ymK39P+54f//xOr//2Df//9j3///Y9///2Xf//9p + 3///se/7/zqI4v8zieb/K3C4/xhAcd0CBw6RAAAAUwAAACkAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQeMDMocaTUTrH5/4PK//95wvP/Vcz9/1nU/f9f + 2f7/YNv+/1/b/v9h2f//se34/1ue0/9Oj9P/PpHm/ziG1f8aSHXgAggPkQAAAE0AAAAgAAAABgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ4XFSlsnMNHrfn/Uq32/0Wj6/9N + tff/UMX7/1nQ/P9c1v3/Xdb9/13X/f9a0v3/Vs/9/1HH//9avPH/Xafb/0+f5v9ZouP/FT5o1gABA3oA + AAA9AAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKGONflGz9v9k + vP3/QJri/0Sn9P9ItPv/T8L7/1TM/P9Z0fz/WtD8/1jO/P9Vy/z/TcT8/1LE/f9j4f//ZtX8/1uo3v9t + tff/TJ3i/w4oRLgAAABYAAAAJQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM + KT0VQI/I4pDR/v9eq+v/QKHv/0as+/9Esvr/Sr36/07F+v9Rx/r/Ucf6/1DF+v9Nwfr/S737/2nd/v9n + 4P//Yt///2zM+f9aqOf/SKL0/ydpqO0BBAmAAAAAOAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAqZIxle8Px/7Db/f84k+L/Ra38/0Kk+P86pvj/Qbf5/0K7+f9CvPn/QLr5/z+5+f88 + t/n/Z9r//2Hc/f9c1f3/WdT8/1bU//9UpOH/Opby/zKJ3/8OJj+sAAAASAAAABQAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzd6e3tN/3/4u/8P88nOz/Qab4/zWV9/9Dsvr/RLr7/z63+/89 + t/v/Q7n7/0a6+/9Rvvv/WMb9/1nI/f9ZyP3/UsT8/0jI+v9frej/N43m/zOJ5v8cTX3PAAAAVAAAABoA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5h8Dd5/T//1me4f89off/Pqj5/4ri///V + +////f/////////7////9f////7////1////3////8L6//+p8P//bNz//0DD//9FsfH/N4vd/zSM7f8n + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpfYseT3+p1I7F6v/k + +f//2u///6/T9f92ruj/QYzc/z2I3P9qpeb/jMHy/33H//9gvf//Ya3h/ypOaK8FIDMqAAAABgAAAAEA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAdpGjBnaUrX1fkrznlcbp9L/m///o+v/////////////T7///mc7y+26u2fZEfqjZHT1TXAANFxIA + AAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFdpghOWiOZDhnjIUyYYeaMWOKtC5gha0oWHyfIk9weR5HZ00Z + QVweAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///wf//8AAP//+B///wAA///gD///AAD/ + /+AP//8AAP//4A///wAA///gD///AAD//+AP//8AAP//4A///wAA///gD///AAD//+AP//8AAP//4A// + /wAA///gD///AAD//+AP//8AAP//4A///wAA///gD///AAD//+AP//8AAP//4A///wAA///gD///AAD/ + /+AP//8AAP//4A///wAA///gD///AAD//+AP//8AAP//4A///wAA///AA///AAD//wAA//8AAP/+AAB/ + /wAA//wAAD//AAD//AAAH/8AAP/4AAAf/wAA//gAAA//AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/ + 8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8B/4D/8AAP/wH/AP/wAA//AP4A//AAD/8AfAD/8AAP/wAAAP + /wAA//gAAB//AAD/+AAAH/8AAP/8AAA//wAA//4AAH//AAD//wAB//8AAP//wAP//wAA////////AAAo + AAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAEQAAADEAAABNAAAARAAAAB4A + AAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZRHxwJ1+b6RtKguMA + AABrAAAAPgAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHlKVXSVluf85 + pe7/LGWk/xsyT8YAAABQAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAl + Zbn/X9X//zZ8xP87luz/KFCA6wAAAEYAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAACVluf9f0f//NnzE/1/B9/8jSnXTAAAANwAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAJWW5/1bA+P86fLr/OYm6+AQGCIMAAAA/AAAAEAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlZbn/Ubn1/zt9uf8+h7v9GSo8vAAAAEIAAAARAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVluf9Yyv//Pnuy/1S7/P8tWYLdAAAANwAAAAwA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJWW5/1bI//84ea//VsH//wcOE30A + AAA9AAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlZbn/U8H7/zZtof9I + j77/EC5ItgAAAE0AAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVluf9W + wfb/Nm2g/1bD//8tWH7kAAAAUgAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAJWW5/1/P+/88baD/VsP//y5YfeMAAABSAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAlZbn/ad///zpllf9Ww///L1h94wAAAFIAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAACVluf9o3f//OWOU/1bD//8vWH3jAAAAUgAAABkAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJWW5/2LY//83apz/VsP//y1YfOMAAABZAAAAIgAAAAQA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAglZbn/X9T//zNso/81e7j/KVV35gAAAGkA + AAA5AAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAOAAAAKCVluf9p3v//XMz6/1jF9P9D + iKz9FytDswAAAFgAAAArAAAADQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAEAEBAVIyUFzHbNz//23f//9l + 2///Xt7//1e96f8aR3LhAAAAhgAAAFYAAAAtAAAADgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkJERZqUYqo6Yfe/v9l + 1Pz/aeL//2Le//9d2f//V8L3/zB9zv8fTn7sAAAAlQAAAFYAAAAoAAAACQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBw0RTEyRw+9o + yfr/ULfz/1G++P9b0/z/XdT8/1fO/P9QxPz/Q675/zGR7f8dUoLuAAAAiwAAAEgAAAAYAAAAAgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4z + XX+/VLH3/0at8v9CqPD/Tr74/1HC+P9Rw/j/Tb74/0y5+P9q3P//TcH//yyQ4P8QK0PUAAAAYwAAACoA + AAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAHiozVl2k2vtJrvf/Pafz/0i2+P9Mu/n/T775/02++v9Muff/Zdb+/2LW/f9WzPr/OK///yFkofYA + AACIAAAAOAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAA1TFqMbMT//zul+P920f//svH//8D4//++9///u/P//7vx//+p7v//huH//1jP//87 + q/r/KnrN/w4RFa0AAAA/AAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAEVkdKFrxv//OYC89myKrP9siqz/bIqs/2yKrP9siqz/bIqs/2yKrP9s + iqz/bIqs/zed5fw3ieL/EBUctwAAAD0AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR2V0nXzT//8NKE/qAAAAegAAADsAAAAWAAAADAAAAAsA + AAALAAAACwAAAAlIXXN5OY7W9kCU6P8QFhywAAAAMwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6T1p6m+X//xk8cfgAAACXAAAAUQAAACcA + AAAOAAAABQAAAAEAAAACAAAACjlQaZ9KnvD+P4rN/Q8SFpEAAAAhAAAABAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsyOzyQw9X3Z6Tm/wAKINMA + AAB6AAAAVAAAADcAAAAiAAAAGQAAABwAAABAH0yD2mS8//8rVnnoAAAASgAAAA8AAAABAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATFRlG051msbC + +f//PHe1/AAKItwAAxOnAAIIdgAAAFYAAABSAAAAcAojTMppq/P/TqTj/RIdJJkAAAAaAAAABAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAO0JPRW6WtOLY/v//qNnv/1F7mPEDFjLZAA0o1AQVN9krT4zufLb5/2XA+f8nPE6+AAAAIQAAAAYA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAOkFPR1+Cos6Us9H/s9ri/7fn//+04/v/qdz//5DY//9Tlr3yMEFUswAAABoA + AAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARmOOGT9agGVEZ5OWTXyvyU1+r9s+Z5C1LERWhysxOz0A + AAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABgAAAAIA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8B/// + /Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wD///wAf// + 4AD//8AAf//AAH//gAA//4AAP/+AAD//gAA//4AAP/+AAD//gAA//4AAP/+AAH//wAD//+AB///wA/// + /j//KAAAABgAAAAwAAAAAQAgAAAAAABgCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPWcEdJWW5/yVluf8PM2IjAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe + Wqj/M6n3/yWH4v8fTYH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeWqj/Q7T2/0Kv//9DbJX/AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAeWqj/P6jv/zVfjf8IOXQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeWqj/P6fq/zaV2v8t + WYn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeWqj/Pqnl/0S7//8IOXScAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe + Wqj/OZ7e/0Nslf8IOXQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeWqj/PZrV/z+2+v85Y4//AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAeWqj/SabV/0C0+v81X43/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeWqj/SqbQ/z+w9/81 + X43/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeWqj/QqPV/zuq8f81X43/AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9IkAQe + Wqj/S8P0/y2GzP81X43/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4/SlxPxv//X+f9/1Ti/f85Y4//AAAAUAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAALH0lhfFaexPpV0/r/V9/8/0/c/P9Gv/3+CDl04AAAAFoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVQmR2QZG//0W//f9FxPz/TdL8/0jN/P9D + yf7/OLL6/w5fqfAAAABOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAMFy88isz1Na/8/yyr/P82uvz/OLz8/zO4/P9Cvvn/Vt79/zHE//8AMFfFAAAAHQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVOcohCqNz/RsL+/5X2//+m + ////ov3//6H5//+a////avH//zfM//8UdtL8AAENZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAC5mlctKuf//bIqs/2yKrP9siqz/bIqs/2yKrP9siqz/bIqs/2yKrP8k + jPb/AxAqmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBlkcFV + run/AAUjnwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9RjKo2nv//BhUukAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFQgJeI2//+AAgyqwAAAAYAAAAAAAAAAAAAAAAA + AAAAAAAALTWM3ucyg8f0AAQdbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAABxKhGRxrdL5hMrw/AAFIr0AAAAQAAAAAAAAAAAAAAAmFUKCul7J//8XRnS5AActMQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFLhMeXJ7Duer7/a7k/P8n + TG7fBBQ4wQYdRr05bbfpedH//ypso9wABipfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTMcH2Wty3Oq0eaf1PDwre///5zd//1jseTmPXepywAGK3IA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAgyFR1OjW0bU5SfFUiBrxZIg6cWMmGAIjZnLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAP/D/wD/w/8A/8P/AP/D/wD/w/8A/8P/AP/D/wD/w/8A/8P/AP/D/wD/w/8A/4P/AP+B/wD+ + AP8A/gB/APwAPwD8AD8A/AA/APx+PwD8PD8A/Bg/APwAfwD+AP8A/wH/ACgAAAAQAAAAIAAAAAEAIAAA + AAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGF25bTJPfv9B + SmBiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACd+x/9I + zfz/Ol+H/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn + fsf/QaDS/z1VdXkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAJ37H/0rR/P86X4f/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAACd+x/9DodH/PVV1eQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAnfsf/VOL9/ztbgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAJ37H/1vX/P87W4D/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAIWOQRid+x/9x3vz/O1uA/xFRfTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAALnKgVjSHx/9ewPD/U8v+/1Sz3f8/UGn/EVF9QQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAO4CxTTSHyP9Vuvf/V8L5/023+f9r1vv/SKbo/z9PZ/8SVIM2AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAADh+uOFXwfn/U7f5/5Pu/v+P7P7/VbTz/43j/v9SuuL/N1Fu2gAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8g7v8XMb5/2yKrP9siqz/bIqs/2yKrP9siqz/ZdX6/zpQa/wA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPIO851/S+v9NZ4T/AAAAAAAAAAAAAAAAUJDB/1a74f88 + TmjfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWIwZJJndD/feP6/02Fnv9UZ4f/VHmc/1W/9OFL + jKr/NFt9hQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMlMYYR4rBrEmazf9x1fX/dOn+/3DU8/9N + krL/OmeMnC9zoiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEyUxhhIjcOCQ4u7x0OLuvtA + iLfbQXaggjyCsiAAAAAAAAAAAAAAAAAAAAAA/j8AAP4/AAD+PwAA/j8AAP4/AAD+PwAA/j8AAPwfAAD4 + DwAA8AcAAPAHAADwBwAA8ccAAPAHAADwBwAA+A8AAA== + + \ No newline at end of file diff --git a/DD_Clipboard_Searcher/frmLicense.vb b/app/DD_Clipboard_Searcher/frmLicense.vb similarity index 97% rename from DD_Clipboard_Searcher/frmLicense.vb rename to app/DD_Clipboard_Searcher/frmLicense.vb index 3327739..3ba54a3 100644 --- a/DD_Clipboard_Searcher/frmLicense.vb +++ b/app/DD_Clipboard_Searcher/frmLicense.vb @@ -1,112 +1,112 @@ -Imports DD_LIB_Standards -Public Class frmLicense - Dim CLIENT_ID As Integer - Public _lizenzManager As clsLicenseManager - Private Sub btnPW_check_Click(sender As System.Object, e As System.EventArgs) Handles btnPW_check.Click - OpenLicenseManager() - End Sub - Sub OpenLicenseManager() - If Me.txtPW.Text <> "" Then - If Me.txtPW.Text = "35452dd!" Then - Me.grbBoxlicense.Visible = True - Refresh_Licence(False) - Me.lblPW.Visible = False - Me.txtPW.Visible = False - Me.btnPW_check.Visible = False - If DT_CLIENT_USER.Rows.Count > 1 Then - lblClient.Visible = True - cmbClients.Visible = True - Try - cmbClients.DataSource = DT_CLIENT_USER - cmbClients.DisplayMember = DT_CLIENT_USER.Columns("CLIENT_NAME").ColumnName - cmbClients.ValueMember = DT_CLIENT_USER.Columns("CLIENT_ID").ColumnName - Catch ex As Exception - MsgBox("Unexpected Error in Loading Clients: " & ex.Message, MsgBoxStyle.Critical) - End Try - ElseIf DT_CLIENT_USER.Rows.Count = 1 Then - lblClient.Visible = False - cmbClients.Visible = False - CLIENT_ID = DT_CLIENT_USER.Rows(0).Item("CLIENT_ID") - End If - - - Else - Me.grbBoxlicense.Visible = False - MsgBox("Das eingegebene Passwort stimmt nicht überein!", MsgBoxStyle.Critical, "Falsche Eingabe:") - Me.txtPW.Text = "" - Me.txtPW.Focus() - End If - End If - End Sub - - Private Sub btnnewLicenses_Click(sender As System.Object, e As System.EventArgs) Handles btnnewLicenses.Click - Try - _lizenzManager = New clsLicenseManager("#DigitalData35452!#", "") - If Me.txtNewlicences.Text <> "" Then - 'Encode the license - Dim result As String = Me._lizenzManager.EncodeLicenseKey(txtNewlicences.Text & "#" & dtpGueltig_GI.Text, "#DigitalData35452!#") - - Dim sql As String = String.Format("UPDATE TBDD_CLIENT SET LICENSE_DDCBSEARCHER = '" & result & "' WHERE GUID = {0}", CLIENT_ID) - If clsDatabase.Execute_non_Query(sql) = True Then - Refresh_Licence(True) - End If - - 'MsgBox("Die Lizenzen wurden erfolgreich aktualisiert!", MsgBoxStyle.Exclamation, "Erfolgsmeldung:") - End If - Catch ex As Exception - MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei New Licenses:") - End Try - End Sub - Sub Refresh_Licence(Neu As Boolean) - Try - clsLicense.Refresh_Licence(CLIENT_ID) - - txtNewlicences.Text = LICENSE_COUNT - dtpGueltig_GI.Value = LICENSE_DATE - - If Neu = True Then - If CInt(LICENSE_COUNT) > 0 Then - Dim msg As String = "Die Lizenz wurde aktualisiert!" & vbNewLine & Now - If USER_LANGUAGE <> "de-DE" Then - msg = "The license was renewed!" & vbNewLine & Now - End If - MsgBox(msg, MsgBoxStyle.Information, "License renewed:") - End If - End If - Catch ex As Exception - MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in licensemanager:") - End Try - End Sub - - Private Sub frmLicense_Load(sender As Object, e As System.EventArgs) Handles Me.Load - Try - grbBoxlicense.Visible = False - Me.lblPW.Visible = True - Me.txtPW.Visible = True - Me.btnPW_check.Visible = True - Me.txtPW.Text = "" - Catch ex As Exception - MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Fehler bei Formular Load:") - End Try - End Sub - - Private Sub frmLicense_KeyUp(sender As Object, e As KeyEventArgs) Handles MyBase.KeyUp - If e.KeyCode = Keys.Return Then - If Me.txtPW.Focus = True Then - OpenLicenseManager() - End If - End If - End Sub - - Private Sub cmbClients_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbClients.SelectedIndexChanged - If cmbClients.SelectedIndex <> -1 Then - Try - CLIENT_ID = cmbClients.SelectedValue - Refresh_Licence(False) - Catch ex As Exception - CLIENT_ID = 99 - End Try - - End If - End Sub +Imports DD_LIB_Standards +Public Class frmLicense + Dim CLIENT_ID As Integer + Public _lizenzManager As clsLicenseManager + Private Sub btnPW_check_Click(sender As System.Object, e As System.EventArgs) Handles btnPW_check.Click + OpenLicenseManager() + End Sub + Sub OpenLicenseManager() + If Me.txtPW.Text <> "" Then + If Me.txtPW.Text = "35452dd!" Then + Me.grbBoxlicense.Visible = True + Refresh_Licence(False) + Me.lblPW.Visible = False + Me.txtPW.Visible = False + Me.btnPW_check.Visible = False + If DT_CLIENT_USER.Rows.Count > 1 Then + lblClient.Visible = True + cmbClients.Visible = True + Try + cmbClients.DataSource = DT_CLIENT_USER + cmbClients.DisplayMember = DT_CLIENT_USER.Columns("CLIENT_NAME").ColumnName + cmbClients.ValueMember = DT_CLIENT_USER.Columns("CLIENT_ID").ColumnName + Catch ex As Exception + MsgBox("Unexpected Error in Loading Clients: " & ex.Message, MsgBoxStyle.Critical) + End Try + ElseIf DT_CLIENT_USER.Rows.Count = 1 Then + lblClient.Visible = False + cmbClients.Visible = False + CLIENT_ID = DT_CLIENT_USER.Rows(0).Item("CLIENT_ID") + End If + + + Else + Me.grbBoxlicense.Visible = False + MsgBox("Das eingegebene Passwort stimmt nicht überein!", MsgBoxStyle.Critical, "Falsche Eingabe:") + Me.txtPW.Text = "" + Me.txtPW.Focus() + End If + End If + End Sub + + Private Sub btnnewLicenses_Click(sender As System.Object, e As System.EventArgs) Handles btnnewLicenses.Click + Try + _lizenzManager = New clsLicenseManager("#DigitalData35452!#", "") + If Me.txtNewlicences.Text <> "" Then + 'Encode the license + Dim result As String = Me._lizenzManager.EncodeLicenseKey(txtNewlicences.Text & "#" & dtpGueltig_GI.Text, "#DigitalData35452!#") + + Dim sql As String = String.Format("UPDATE TBDD_CLIENT SET LICENSE_DDCBSEARCHER = '" & result & "' WHERE GUID = {0}", CLIENT_ID) + If clsDatabase.Execute_non_Query(sql) = True Then + Refresh_Licence(True) + End If + + 'MsgBox("Die Lizenzen wurden erfolgreich aktualisiert!", MsgBoxStyle.Exclamation, "Erfolgsmeldung:") + End If + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler bei New Licenses:") + End Try + End Sub + Sub Refresh_Licence(Neu As Boolean) + Try + clsLicense.Refresh_Licence(CLIENT_ID) + + txtNewlicences.Text = LICENSE_COUNT + dtpGueltig_GI.Value = LICENSE_DATE + + If Neu = True Then + If CInt(LICENSE_COUNT) > 0 Then + Dim msg As String = "Die Lizenz wurde aktualisiert!" & vbNewLine & Now + If USER_LANGUAGE <> "de-DE" Then + msg = "The license was renewed!" & vbNewLine & Now + End If + MsgBox(msg, MsgBoxStyle.Information, "License renewed:") + End If + End If + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error in licensemanager:") + End Try + End Sub + + Private Sub frmLicense_Load(sender As Object, e As System.EventArgs) Handles Me.Load + Try + grbBoxlicense.Visible = False + Me.lblPW.Visible = True + Me.txtPW.Visible = True + Me.btnPW_check.Visible = True + Me.txtPW.Text = "" + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Fehler bei Formular Load:") + End Try + End Sub + + Private Sub frmLicense_KeyUp(sender As Object, e As KeyEventArgs) Handles MyBase.KeyUp + If e.KeyCode = Keys.Return Then + If Me.txtPW.Focus = True Then + OpenLicenseManager() + End If + End If + End Sub + + Private Sub cmbClients_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbClients.SelectedIndexChanged + If cmbClients.SelectedIndex <> -1 Then + Try + CLIENT_ID = cmbClients.SelectedValue + Refresh_Licence(False) + Catch ex As Exception + CLIENT_ID = 99 + End Try + + End If + End Sub End Class \ No newline at end of file diff --git a/DD_Clipboard_Searcher/frmMain.Designer.vb b/app/DD_Clipboard_Searcher/frmMain.Designer.vb similarity index 75% rename from DD_Clipboard_Searcher/frmMain.Designer.vb rename to app/DD_Clipboard_Searcher/frmMain.Designer.vb index 07e67d5..e4a77c2 100644 --- a/DD_Clipboard_Searcher/frmMain.Designer.vb +++ b/app/DD_Clipboard_Searcher/frmMain.Designer.vb @@ -35,9 +35,13 @@ Partial Class frmMain Me.btnAdminConfig = New System.Windows.Forms.Button() Me.btnUserConfig = New System.Windows.Forms.Button() Me.Label1 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.lbHKFunction = New System.Windows.Forms.Label() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() Me.cmstrpNotifyIcon.SuspendLayout() Me.StatusStrip1.SuspendLayout() Me.ContextMenuStripForm.SuspendLayout() + Me.GroupBox1.SuspendLayout() Me.SuspendLayout() ' 'NotifyIconMain @@ -58,7 +62,7 @@ Partial Class frmMain ' 'tsmiChangeState ' - Me.tsmiChangeState.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.StatusAnnotations_Stop_16xLG + Me.tsmiChangeState.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.StatusAnnotations_Stop_16xLG Me.tsmiChangeState.Name = "tsmiChangeState" Me.tsmiChangeState.Size = New System.Drawing.Size(249, 22) Me.tsmiChangeState.Tag = "stop" @@ -67,9 +71,10 @@ Partial Class frmMain 'StatusStrip1 ' Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tslblUser}) - Me.StatusStrip1.Location = New System.Drawing.Point(0, 88) + Me.StatusStrip1.Location = New System.Drawing.Point(0, 111) Me.StatusStrip1.Name = "StatusStrip1" - Me.StatusStrip1.Size = New System.Drawing.Size(338, 22) + Me.StatusStrip1.Size = New System.Drawing.Size(328, 22) + Me.StatusStrip1.SizingGrip = False Me.StatusStrip1.TabIndex = 3 Me.StatusStrip1.Text = "StatusStrip1" ' @@ -91,7 +96,7 @@ Partial Class frmMain ' 'MinimierenToolStripMenuItem ' - Me.MinimierenToolStripMenuItem.Image = Global.DD_Clipboard_Searcher.My.Resources.Resources.ReduceSize + Me.MinimierenToolStripMenuItem.Image = Global.DD_Clipboard_Watcher.My.Resources.Resources.ReduceSize Me.MinimierenToolStripMenuItem.Name = "MinimierenToolStripMenuItem" Me.MinimierenToolStripMenuItem.Size = New System.Drawing.Size(135, 22) Me.MinimierenToolStripMenuItem.Text = "Minimieren" @@ -127,17 +132,50 @@ Partial Class frmMain Me.Label1.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(12, 44) Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(253, 26) + Me.Label1.Size = New System.Drawing.Size(281, 26) Me.Label1.TabIndex = 7 - Me.Label1.Text = "Inaktivieren des Watchers über Rechtsklick Systray" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "oder Tastaturkombination Strg" & - " + T" + Me.Label1.Text = "Inaktivieren des Watchers über Rechtsklick Systray oder " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Tastaturkombination Str" & + "g + T" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label3.Location = New System.Drawing.Point(6, 17) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(145, 13) + Me.Label3.TabIndex = 9 + Me.Label3.Text = "Zwischenablage gefolgt von:" + ' + 'lbHKFunction + ' + Me.lbHKFunction.AutoSize = True + Me.lbHKFunction.Font = New System.Drawing.Font("Tahoma", 8.25!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lbHKFunction.Location = New System.Drawing.Point(154, 17) + Me.lbHKFunction.Name = "lbHKFunction" + Me.lbHKFunction.Size = New System.Drawing.Size(30, 13) + Me.lbHKFunction.TabIndex = 10 + Me.lbHKFunction.Text = "strg" + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.Label3) + Me.GroupBox1.Controls.Add(Me.lbHKFunction) + Me.GroupBox1.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.GroupBox1.Location = New System.Drawing.Point(12, 73) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(308, 32) + Me.GroupBox1.TabIndex = 11 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Aktueller GlobalHook:" ' 'frmMain ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(338, 110) + Me.ClientSize = New System.Drawing.Size(328, 133) Me.ContextMenuStrip = Me.ContextMenuStripForm + Me.Controls.Add(Me.GroupBox1) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.btnAdminConfig) Me.Controls.Add(Me.StatusStrip1) @@ -154,6 +192,8 @@ Partial Class frmMain Me.StatusStrip1.ResumeLayout(False) Me.StatusStrip1.PerformLayout() Me.ContextMenuStripForm.ResumeLayout(False) + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() Me.ResumeLayout(False) Me.PerformLayout() @@ -169,5 +209,7 @@ Partial Class frmMain Friend WithEvents ContextMenuStripForm As System.Windows.Forms.ContextMenuStrip Friend WithEvents MinimierenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents Label1 As System.Windows.Forms.Label - + Friend WithEvents Label3 As Label + Friend WithEvents lbHKFunction As Label + Friend WithEvents GroupBox1 As GroupBox End Class diff --git a/DD_Clipboard_Searcher/frmMain.resx b/app/DD_Clipboard_Searcher/frmMain.resx similarity index 100% rename from DD_Clipboard_Searcher/frmMain.resx rename to app/DD_Clipboard_Searcher/frmMain.resx diff --git a/DD_Clipboard_Searcher/frmMain.vb b/app/DD_Clipboard_Searcher/frmMain.vb similarity index 85% rename from DD_Clipboard_Searcher/frmMain.vb rename to app/DD_Clipboard_Searcher/frmMain.vb index d8b0f13..9574863 100644 --- a/DD_Clipboard_Searcher/frmMain.vb +++ b/app/DD_Clipboard_Searcher/frmMain.vb @@ -10,11 +10,16 @@ Public Class frmMain _Watcher.Dispose() End Sub - Private Sub _Watcher_Changed(ByVal sender As Object, _ + Private Sub _Watcher_Changed(ByVal sender As Object, ByVal e As EventArgs) Handles _Watcher.Changed + If DT_USER_PROFILES Is Nothing Then + Exit Sub + End If If DT_USER_PROFILES.Rows.Count = 0 Then Exit Sub End If + CURR_MATCH_RESULT = Nothing + CURR_MATCH_WM_SEARCH = Nothing If MONITORING_ACTIVE = False Then NotifyIconMain.ShowBalloonTip(20000, "Clipboard Watcher", "Clipboard-watcher is inactive.", ToolTipIcon.Info) Exit Sub @@ -44,7 +49,8 @@ Public Class frmMain ' If match.Groups(0).Value <> CURR_MATCH_RESULT Then CURR_MATCH_RESULT = match.Groups(0).Value If Not IsNothing(CURR_MATCH_RESULT) Then - clsSearch.RUN_WD_SEARCH(row.Item("WD_SEARCH")) + CURR_MATCH_WM_SEARCH = row.Item("WD_SEARCH") + found = True End If 'Else @@ -92,9 +98,9 @@ Public Class frmMain Exit Sub End If Try - Dim sql = String.Format("UPDATE TBDD_USER SET LOGGED_IN = 0, LOGGED_WHERE = '{0}' WHERE (LOWER(USERNAME) = LOWER('{1}'))", "", USER_USERNAME) - clsDatabase.Execute_non_Query(sql, True) - sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE = 'Clipboard-Searcher'" + 'Dim sql = String.Format("UPDATE TBDD_USER SET LOGGED_IN = 0, LOGGED_WHERE = '{0}' WHERE (LOWER(USERNAME) = LOWER('{1}'))", "", USER_USERNAME) + 'clsDatabase.Execute_non_Query(sql, True) + Dim sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND UPPER(MODULE) = UPPER('Clipboard-Searcher')" clsDatabase.Execute_non_Query(sql, True) ClassWindowLocation.SaveFormLocationSize(Me, "") My.Settings.Save() @@ -107,6 +113,12 @@ Public Class frmMain Catch ex As Exception End Try + Try + Hotkey.RemoveHotKey(354523017) + Catch ex As Exception + + End Try + 'TempDateien löschen Try For Each _file In TEMP_FILES @@ -126,11 +138,29 @@ Public Class frmMain Me.NotifyIconMain.Visible = True clsHotkey.Refresh_Profile_Links() Hotkey.AddHotKey(Keys.T, clsHotkey.MODKEY.MOD_CONTROL, 354522017) + Dim keyCode As Keys + Dim kc As New KeysConverter + Dim obj As Object = kc.ConvertFromString(HotkeySearchKey.ToUpper) + keyCode = CType(obj, Keys) + If HotkeyFunctionKey = "strg" Then + Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_CONTROL, 354523017) + ElseIf HotkeyFunctionKey = "SHIFT" Then + Hotkey.AddHotKey(keyCode, clsHotkey.MODKEY.MOD_SHIFT, 354523017) + End If + End If tslblUser.Text = USER_USERNAME + lbHKFunction.Text = HotkeyFunctionKey & " + " & HotkeySearchKey.ToUpper End Sub Private Sub ReceiveHotKey(ByVal HotKeyID As String) Handles Hotkey.HotKeyPressed - Change_Monitoring_State() + If HotKeyID = 354523017 Then + If Not IsNothing(CURR_MATCH_RESULT) And Not IsNothing(CURR_MATCH_WM_SEARCH) Then + clsSearch.RUN_WD_SEARCH(CURR_MATCH_WM_SEARCH) + End If + ElseIf HotKeyID = 354522017 Then + Change_Monitoring_State() + End If + End Sub Sub Change_Monitoring_State() If MONITORING_ACTIVE = True Then @@ -227,4 +257,5 @@ Public Class frmMain Private Sub MinimierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MinimierenToolStripMenuItem.Click Me.Hide() End Sub + End Class diff --git a/DD_Clipboard_Searcher/frmSplash.Designer.vb b/app/DD_Clipboard_Searcher/frmSplash.Designer.vb similarity index 87% rename from DD_Clipboard_Searcher/frmSplash.Designer.vb rename to app/DD_Clipboard_Searcher/frmSplash.Designer.vb index ed3e226..844ab6b 100644 --- a/DD_Clipboard_Searcher/frmSplash.Designer.vb +++ b/app/DD_Clipboard_Searcher/frmSplash.Designer.vb @@ -26,7 +26,6 @@ Partial Class frmSplash Me.Copyright = New System.Windows.Forms.Label() Me.Version = New System.Windows.Forms.Label() Me.Label1 = New System.Windows.Forms.Label() - Me.ApplicationTitle = New System.Windows.Forms.Label() Me.lblStatus = New System.Windows.Forms.Label() Me.pbStatus = New System.Windows.Forms.ProgressBar() Me.PictureBox1 = New System.Windows.Forms.PictureBox() @@ -41,7 +40,7 @@ Partial Class frmSplash Me.Copyright.BackColor = System.Drawing.Color.Transparent Me.Copyright.Font = New System.Drawing.Font("Segoe UI", 9.0!) Me.Copyright.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Copyright.Location = New System.Drawing.Point(261, 77) + Me.Copyright.Location = New System.Drawing.Point(261, 33) Me.Copyright.Name = "Copyright" Me.Copyright.Size = New System.Drawing.Size(185, 21) Me.Copyright.TabIndex = 2 @@ -54,7 +53,7 @@ Partial Class frmSplash Me.Version.BackColor = System.Drawing.Color.Transparent Me.Version.Font = New System.Drawing.Font("Segoe UI", 9.0!) Me.Version.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.Version.Location = New System.Drawing.Point(261, 56) + Me.Version.Location = New System.Drawing.Point(261, 12) Me.Version.Name = "Version" Me.Version.Size = New System.Drawing.Size(185, 21) Me.Version.TabIndex = 1 @@ -72,18 +71,6 @@ Partial Class frmSplash Me.Label1.TabIndex = 12 Me.Label1.Text = "This software is in parts based on:" ' - 'ApplicationTitle - ' - Me.ApplicationTitle.BackColor = System.Drawing.Color.Transparent - Me.ApplicationTitle.Font = New System.Drawing.Font("Tahoma", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.ApplicationTitle.ImeMode = System.Windows.Forms.ImeMode.NoControl - Me.ApplicationTitle.Location = New System.Drawing.Point(260, 12) - Me.ApplicationTitle.Name = "ApplicationTitle" - Me.ApplicationTitle.Size = New System.Drawing.Size(469, 33) - Me.ApplicationTitle.TabIndex = 6 - Me.ApplicationTitle.Text = "Anwendungstitel" - Me.ApplicationTitle.TextAlign = System.Drawing.ContentAlignment.BottomLeft - ' 'lblStatus ' Me.lblStatus.AutoSize = True @@ -137,7 +124,6 @@ Partial Class frmSplash Me.Controls.Add(Me.Copyright) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.Version) - Me.Controls.Add(Me.ApplicationTitle) Me.Controls.Add(Me.PictureBox1) Me.Controls.Add(Me.lblStatus) Me.Controls.Add(Me.pbStatus) @@ -156,7 +142,6 @@ Partial Class frmSplash Friend WithEvents Copyright As System.Windows.Forms.Label Friend WithEvents Version As System.Windows.Forms.Label Friend WithEvents Label1 As System.Windows.Forms.Label - Friend WithEvents ApplicationTitle As System.Windows.Forms.Label Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox Friend WithEvents lblStatus As System.Windows.Forms.Label Friend WithEvents pbStatus As System.Windows.Forms.ProgressBar diff --git a/DD_Clipboard_Searcher/frmSplash.resx b/app/DD_Clipboard_Searcher/frmSplash.resx similarity index 100% rename from DD_Clipboard_Searcher/frmSplash.resx rename to app/DD_Clipboard_Searcher/frmSplash.resx diff --git a/DD_Clipboard_Searcher/frmSplash.vb b/app/DD_Clipboard_Searcher/frmSplash.vb similarity index 92% rename from DD_Clipboard_Searcher/frmSplash.vb rename to app/DD_Clipboard_Searcher/frmSplash.vb index 61dd7ff..840694e 100644 --- a/DD_Clipboard_Searcher/frmSplash.vb +++ b/app/DD_Clipboard_Searcher/frmSplash.vb @@ -25,12 +25,12 @@ Public NotInheritable Class frmSplash ' Projekteigenschaften (im Menü "Projekt") anpassen. 'Anwendungstitel - If My.Application.Info.Title <> "" Then - ApplicationTitle.Text = My.Application.Info.Title - Else - 'Wenn der Anwendungstitel fehlt, Anwendungsnamen ohne Erweiterung verwenden - ApplicationTitle.Text = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName) - End If + 'If My.Application.Info.Title <> "" Then + ' ApplicationTitle.Text = My.Application.Info.Title + 'Else + ' 'Wenn der Anwendungstitel fehlt, Anwendungsnamen ohne Erweiterung verwenden + ' ApplicationTitle.Text = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName) + 'End If 'Verwenden Sie zum Formatieren der Versionsinformationen den Text, der zur Entwurfszeit in der Versionskontrolle festgelegt wurde, als ' Formatierungszeichenfolge. Dies ermöglicht ggf. eine effektive Lokalisierung. @@ -84,8 +84,7 @@ Public NotInheritable Class frmSplash End If - System.Threading.Thread.Sleep(500) - + System.Threading.Thread.Sleep(800) 'bw.ReportProgress(CalcProgress(5), "Initializing Addons") 'Init.InitAddons() diff --git a/DD_Clipboard_Searcher/modCurrent.vb b/app/DD_Clipboard_Searcher/modCurrent.vb similarity index 90% rename from DD_Clipboard_Searcher/modCurrent.vb rename to app/DD_Clipboard_Searcher/modCurrent.vb index d2bb754..0e451af 100644 --- a/DD_Clipboard_Searcher/modCurrent.vb +++ b/app/DD_Clipboard_Searcher/modCurrent.vb @@ -1,6 +1,8 @@ Module modCurrent Public MyConnectionString As String = "" + Public HotkeyFunctionKey As String = "strg" + Public HotkeySearchKey As String = "f" Public LogErrorsOnly As Boolean = True Public USER_LANGUAGE As String = "de-DE" @@ -32,6 +34,7 @@ Public CLIPBOARD_TEXT As String Public CURR_MATCH_RESULT + Public CURR_MATCH_WM_SEARCH Public MONITORING_ACTIVE As Boolean = True diff --git a/DD_Clipboard_Searcher/modMySettings.vb b/app/DD_Clipboard_Searcher/modMySettings.vb similarity index 79% rename from DD_Clipboard_Searcher/modMySettings.vb rename to app/DD_Clipboard_Searcher/modMySettings.vb index 8648ad5..94258f9 100644 --- a/DD_Clipboard_Searcher/modMySettings.vb +++ b/app/DD_Clipboard_Searcher/modMySettings.vb @@ -1,115 +1,142 @@ -Imports System.IO -Imports DD_LIB_Standards -Module modMySettings - Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig.xml") - - Public Function LoadMyConfig() - Dim rowresult As String = "" - Try - Dim DT As DataTable - 'if file doesn't exist, create the file with its default xml table - If Not File.Exists(ConfigPath) Then - DT = CreateConfigTable() - DT.WriteXml(ConfigPath) - End If - DT = GetTablefromXML() - For Each Row As DataRow In DT.Rows - rowresult &= Row.Item("ConfigName") - Select Row.Item("ConfigName") - Case "MyConnectionString" - Dim connstring As String - 'Den ConnectonString mit verschlüsseltem PW laden - Dim csb As New SqlClient.SqlConnectionStringBuilder - csb.ConnectionString = Row.Item("Value") - If csb.ConnectionString.Contains("Password=") Then - 'SA-Auth - 'Jetzt das Passwort entschlüsseln - Dim PWplainText As String - Dim wrapper As New clsEncryption("!35452didalog=") - ' DecryptData throws if the wrong password is used. - Try - PWplainText = wrapper.DecryptData(csb.Password) - Catch ex As Exception - clsLogger.Add("- the Password '" & csb.Password & "' could not be decrypted", False) - PWplainText = csb.Password - End Try - connstring = Row.Item("Value").ToString.Replace(csb.Password, PWplainText) - Else - 'Win-Auth - connstring = Row.Item("Value").ToString - End If - MyConnectionString = connstring - Case "LogErrorsOnly" - LogErrorsOnly = CBool(Row.Item("Value")) - End Select - Next - Return True - Catch ex As Exception - MsgBox("Error in MySettings-LoadMyConfig" & vbNewLine & ex.Message, MsgBoxStyle.Critical) - Return False - End Try - End Function - Private Function GetTablefromXML() - Try - Dim DS As New DataSet - DS.ReadXml(ConfigPath) - Return DS.Tables(0) - Catch ex As Exception - MsgBox("Error in GetTablefromXML" & vbNewLine & ex.Message, MsgBoxStyle.Critical) - Return Nothing - End Try - - End Function - Private Function CreateConfigTable() As DataTable - Try - ' Create sample Customers table, in order - ' to demonstrate the behavior of the DataTableReader. - Dim table As New DataTable - table.TableName = "MyConfig" - - ' Create two columns, ID and Name. - Dim idColumn As DataColumn = table.Columns.Add("ID", _ - GetType(System.Int32)) - - idColumn.AutoIncrement = True - idColumn.AutoIncrementSeed = 0 - idColumn.AutoIncrementStep = 1 - table.Columns.Add("ConfigName", GetType(System.String)) - table.Columns.Add("Value", GetType(System.String)) - 'Set the ID column as the primary key column. - table.PrimaryKey = New DataColumn() {idColumn} - Dim newRow As DataRow = table.NewRow() - newRow("ConfigName") = "MyConnectionString" - newRow("Value") = "" - table.Rows.Add(newRow) - Dim newRow1 As DataRow = table.NewRow() - newRow1("ConfigName") = "LogErrorsOnly" - newRow1("Value") = "True" - table.Rows.Add(newRow1) - table.AcceptChanges() - Return table - Catch ex As Exception - MsgBox("Error in CreateConfigTable" & vbNewLine & ex.Message, MsgBoxStyle.Critical) - Return Nothing - End Try - End Function - Public Function SaveConfigValue(name As String, value As String) - Try - Dim DT As DataTable - DT = GetTablefromXML() - - For Each Row As DataRow In DT.Rows - If Row.Item("ConfigName") = name Then - Row.Item("Value") = value - End If - Next - DT.AcceptChanges() - DT.WriteXml(ConfigPath) - Catch ex As Exception - MsgBox("Error in SaveConfigValue" & vbNewLine & ex.Message, MsgBoxStyle.Critical) - Return False - End Try - Return True - - End Function -End Module +Imports System.IO +Imports DD_LIB_Standards +Module modMySettings + Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig.xml") + + Public Function LoadMyConfig() + Dim rowresult As String = "" + Try + Dim DT As DataTable + 'if file doesn't exist, create the file with its default xml table + If Not File.Exists(ConfigPath) Then + DT = CreateConfigTable() + DT.WriteXml(ConfigPath) + End If + DT = GetTablefromXML() + For Each Row As DataRow In DT.Rows + rowresult &= Row.Item("ConfigName") + Select Case Row.Item("ConfigName") + Case "MyConnectionString" + Dim connstring As String + 'Den ConnectonString mit verschlüsseltem PW laden + Dim csb As New SqlClient.SqlConnectionStringBuilder + csb.ConnectionString = Row.Item("Value") + If csb.ConnectionString.Contains("Password=") Then + 'SA-Auth + 'Jetzt das Passwort entschlüsseln + Dim PWplainText As String + Dim wrapper As New clsEncryption("!35452didalog=") + ' DecryptData throws if the wrong password is used. + Try + PWplainText = wrapper.DecryptData(csb.Password) + Catch ex As Exception + clsLogger.Add("- the Password '" & csb.Password & "' could not be decrypted", False) + PWplainText = csb.Password + End Try + connstring = Row.Item("Value").ToString.Replace(csb.Password, PWplainText) + Else + 'Win-Auth + connstring = Row.Item("Value").ToString + End If + MyConnectionString = connstring + Case "LogErrorsOnly" + LogErrorsOnly = CBool(Row.Item("Value")) + Case "HotkeyFunctionKey" + HotkeyFunctionKey = Row.Item("Value") + Case "HotkeySearchKey" + HotkeySearchKey = Row.Item("Value") + End Select + Next + If rowresult.Contains("HotkeyFunctionKey") = False Then + Dim newRow As DataRow = DT.NewRow() + newRow("ConfigName") = "HotkeyFunctionKey" + newRow("Value") = "strg" + DT.Rows.Add(newRow) + DT.WriteXml(ConfigPath) + + End If + If rowresult.Contains("HotkeySearchKey") = False Then + Dim newRow As DataRow = DT.NewRow() + newRow("ConfigName") = "HotkeySearchKey" + newRow("Value") = "f" + DT.Rows.Add(newRow) + DT.WriteXml(ConfigPath) + End If + Return True + Catch ex As Exception + MsgBox("Error in MySettings-LoadMyConfig" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Return False + End Try + End Function + Private Function GetTablefromXML() + Try + Dim DS As New DataSet + DS.ReadXml(ConfigPath) + Return DS.Tables(0) + Catch ex As Exception + MsgBox("Error in GetTablefromXML" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Return Nothing + End Try + + End Function + Private Function CreateConfigTable() As DataTable + Try + ' Create sample Customers table, in order + ' to demonstrate the behavior of the DataTableReader. + Dim table As New DataTable + table.TableName = "MyConfig" + + ' Create two columns, ID and Name. + Dim idColumn As DataColumn = table.Columns.Add("ID", _ + GetType(System.Int32)) + + idColumn.AutoIncrement = True + idColumn.AutoIncrementSeed = 0 + idColumn.AutoIncrementStep = 1 + table.Columns.Add("ConfigName", GetType(System.String)) + table.Columns.Add("Value", GetType(System.String)) + 'Set the ID column as the primary key column. + table.PrimaryKey = New DataColumn() {idColumn} + Dim newRow As DataRow = table.NewRow() + newRow("ConfigName") = "MyConnectionString" + newRow("Value") = "" + table.Rows.Add(newRow) + Dim newRow1 As DataRow = table.NewRow() + newRow1("ConfigName") = "LogErrorsOnly" + newRow1("Value") = "True" + table.Rows.Add(newRow1) + Dim newRow2 As DataRow = table.NewRow() + newRow2("ConfigName") = "HotkeyFunctionKey" + newRow2("Value") = "strg" + table.Rows.Add(newRow2) + Dim newRow3 As DataRow = table.NewRow() + newRow3("ConfigName") = "HotkeySearchKey" + newRow3("Value") = "f" + table.Rows.Add(newRow3) + table.AcceptChanges() + Return table + Catch ex As Exception + MsgBox("Error in CreateConfigTable" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Return Nothing + End Try + End Function + Public Function SaveConfigValue(name As String, value As String) + Try + Dim DT As DataTable + DT = GetTablefromXML() + + For Each Row As DataRow In DT.Rows + If Row.Item("ConfigName") = name Then + Row.Item("Value") = value + End If + Next + DT.AcceptChanges() + DT.WriteXml(ConfigPath) + Catch ex As Exception + MsgBox("Error in SaveConfigValue" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + Return False + End Try + Return True + + End Function +End Module diff --git a/DD_Clipboard_Searcher.sln b/app/DD_Clipboard_Watcher.sln similarity index 92% rename from DD_Clipboard_Searcher.sln rename to app/DD_Clipboard_Watcher.sln index 22ab22f..71b508a 100644 --- a/DD_Clipboard_Searcher.sln +++ b/app/DD_Clipboard_Watcher.sln @@ -1,44 +1,44 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.21005.1 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DD_Clipboard_Searcher", "DD_Clipboard_Searcher\DD_Clipboard_Searcher.vbproj", "{09BC9934-1A38-4752-8873-639B42779CDB}" -EndProject -Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SetupWix", "SetupWix\SetupWix.wixproj", "{15FC07B7-9FF7-4F14-9BAB-05674E20D839}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {09BC9934-1A38-4752-8873-639B42779CDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {09BC9934-1A38-4752-8873-639B42779CDB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {09BC9934-1A38-4752-8873-639B42779CDB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {09BC9934-1A38-4752-8873-639B42779CDB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {09BC9934-1A38-4752-8873-639B42779CDB}.Debug|x86.ActiveCfg = Debug|Any CPU - {09BC9934-1A38-4752-8873-639B42779CDB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {09BC9934-1A38-4752-8873-639B42779CDB}.Release|Any CPU.Build.0 = Release|Any CPU - {09BC9934-1A38-4752-8873-639B42779CDB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {09BC9934-1A38-4752-8873-639B42779CDB}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {09BC9934-1A38-4752-8873-639B42779CDB}.Release|x86.ActiveCfg = Release|Any CPU - {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Debug|Any CPU.ActiveCfg = Debug|x86 - {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Debug|x86.ActiveCfg = Debug|x86 - {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Debug|x86.Build.0 = Debug|x86 - {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Release|Any CPU.ActiveCfg = Release|x86 - {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Release|Mixed Platforms.Build.0 = Release|x86 - {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Release|x86.ActiveCfg = Release|x86 - {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26228.9 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DD_Clipboard_Watcher", "DD_Clipboard_Searcher\DD_Clipboard_Watcher.vbproj", "{09BC9934-1A38-4752-8873-639B42779CDB}" +EndProject +Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SetupWix", "SetupWix\SetupWix.wixproj", "{15FC07B7-9FF7-4F14-9BAB-05674E20D839}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {09BC9934-1A38-4752-8873-639B42779CDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {09BC9934-1A38-4752-8873-639B42779CDB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {09BC9934-1A38-4752-8873-639B42779CDB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {09BC9934-1A38-4752-8873-639B42779CDB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {09BC9934-1A38-4752-8873-639B42779CDB}.Debug|x86.ActiveCfg = Debug|Any CPU + {09BC9934-1A38-4752-8873-639B42779CDB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {09BC9934-1A38-4752-8873-639B42779CDB}.Release|Any CPU.Build.0 = Release|Any CPU + {09BC9934-1A38-4752-8873-639B42779CDB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {09BC9934-1A38-4752-8873-639B42779CDB}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {09BC9934-1A38-4752-8873-639B42779CDB}.Release|x86.ActiveCfg = Release|Any CPU + {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Debug|Any CPU.ActiveCfg = Debug|x86 + {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Debug|x86.ActiveCfg = Debug|x86 + {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Debug|x86.Build.0 = Debug|x86 + {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Release|Any CPU.ActiveCfg = Release|x86 + {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Release|Mixed Platforms.Build.0 = Release|x86 + {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Release|x86.ActiveCfg = Release|x86 + {15FC07B7-9FF7-4F14-9BAB-05674E20D839}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/app/SetupWix/.gitattributes b/app/SetupWix/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/app/SetupWix/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/app/SetupWix/.gitignore b/app/SetupWix/.gitignore new file mode 100644 index 0000000..1bc915c --- /dev/null +++ b/app/SetupWix/.gitignore @@ -0,0 +1,156 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +build/ +[Bb]in/ +[Oo]bj/ + +# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets +!packages/*/build/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +#packages/ + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + + +#LightSwitch generated files +GeneratedArtifacts/ +_Pvt_Extensions/ +ModelManifest.xml + +# ========================= +# Windows detritus +# ========================= + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac desktop service store files +.DS_Store diff --git a/app/SetupWix/Config.wxi b/app/SetupWix/Config.wxi new file mode 100644 index 0000000..55fcb92 --- /dev/null +++ b/app/SetupWix/Config.wxi @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/SetupWix/Product.wxs b/app/SetupWix/Product.wxs similarity index 100% rename from SetupWix/Product.wxs rename to app/SetupWix/Product.wxs diff --git a/SetupWix/SetupWix.wixproj b/app/SetupWix/SetupWix.wixproj similarity index 100% rename from SetupWix/SetupWix.wixproj rename to app/SetupWix/SetupWix.wixproj