Änderung der Logik der Vollmachtsverwaltung im Kunden (nun können pro VM-Typ mehrere Vollmachten hinterlegt werden). Weiters wurde die GUI der Vollmachten überarbeitet

This commit is contained in:
2022-09-19 08:29:11 +02:00
parent 780d763ba4
commit 5d324634de
399 changed files with 259205 additions and 1386 deletions

View File

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

View File

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

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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