Compare commits
8 Commits
Author | SHA1 | Date |
---|---|---|
6543 | b2616664fd | |
6543 | 3468188067 | |
6543 | f46deb1008 | |
6543 | baa9b2695a | |
6543 | 7d08f05461 | |
6543 | 79382dc526 | |
6543 | 0992b91b9d | |
6543 | 0d3be9180a |
|
@ -0,0 +1,124 @@
|
|||
|
||||
Public Class Mark
|
||||
|
||||
'########################################################################################
|
||||
'############################## Private Declarations ##################################
|
||||
'########################################################################################
|
||||
|
||||
Private sID As String '-> Das Kommando muss angegeben werden
|
||||
Private sCommand As String '-> Das Kommando muss angegeben werden
|
||||
Private nLeft As Integer '\
|
||||
Private nTop As Integer ' \ Die Position muss angegeben werden. Der Datentyp Rectangle wird nur intern benutzt,
|
||||
Private nWidth As Integer ' / weshalb nach ausen die Eigenschaften einzeln angegeben werden müssen!
|
||||
Private nHeight As Integer '/
|
||||
Private sName As String '-> Der Name ist Optional
|
||||
Private sDescription As String '-> Die Beschreibung ist Optional
|
||||
|
||||
'########################################################################################
|
||||
'############################## Property ##############################################
|
||||
'########################################################################################
|
||||
|
||||
Public Property ID As String
|
||||
Get
|
||||
Return Me.sID
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.sID = value
|
||||
End Set
|
||||
End Property 'ID
|
||||
|
||||
Public Property Command As String
|
||||
Get
|
||||
Return Me.sCommand
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.sCommand = value
|
||||
End Set
|
||||
End Property 'Command
|
||||
|
||||
Public Property Left() As Integer
|
||||
Get
|
||||
Return Me.nLeft
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
If value >= 0 Then Me.nLeft = value
|
||||
End Set
|
||||
End Property 'Left
|
||||
|
||||
Public Property Top() As Integer
|
||||
Get
|
||||
Return Me.nTop
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
If value >= 0 Then Me.nTop = value
|
||||
End Set
|
||||
End Property 'Top
|
||||
|
||||
Public Property Width() As Integer
|
||||
Get
|
||||
Return Me.nWidth
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
If value >= 0 Then Me.nWidth = value
|
||||
End Set
|
||||
End Property 'Width
|
||||
|
||||
Public Property Height() As Integer
|
||||
Get
|
||||
Return Me.nHeight
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
If value >= 0 Then Me.nHeight = value
|
||||
End Set
|
||||
End Property 'Height
|
||||
|
||||
Public Property Name As String
|
||||
Get
|
||||
Return Me.sName
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.sName = value
|
||||
End Set
|
||||
End Property 'Name
|
||||
|
||||
Public Property Description As String
|
||||
Get
|
||||
Return Me.sDescription
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.sDescription = value
|
||||
End Set
|
||||
End Property 'Description
|
||||
|
||||
|
||||
'########################################################################################
|
||||
'############################## PUBLIC Subs ###########################################
|
||||
'########################################################################################
|
||||
|
||||
Public Sub Clear()
|
||||
With Me
|
||||
.sID = ""
|
||||
.sCommand = ""
|
||||
.nLeft = -1
|
||||
.nTop = -1
|
||||
.nWidth = -1
|
||||
.nHeight = -1
|
||||
.sName = ""
|
||||
.sDescription = ""
|
||||
End With
|
||||
End Sub
|
||||
|
||||
Public Sub New(Optional ByVal ID As String = "", Optional ByVal Command As String = "", Optional ByVal Left As Integer = -1, Optional ByVal Top As Integer = -1, Optional ByVal Width As Integer = -1, Optional ByVal Height As Integer = -1, Optional ByVal Name As String = "", Optional ByVal Description As String = "")
|
||||
With Me
|
||||
.sID = ID
|
||||
.sCommand = Command
|
||||
.nLeft = Left
|
||||
.nTop = Top
|
||||
.nWidth = Width
|
||||
.nHeight = Height
|
||||
.sName = Name
|
||||
.sDescription = Description
|
||||
End With
|
||||
End Sub
|
||||
|
||||
End Class 'Mark ### Export, Improt Vormat für Markierungen
|
|
@ -0,0 +1,174 @@
|
|||
|
||||
Public Class MarkButton
|
||||
'Erbe von Class Button
|
||||
Inherits Windows.Forms.Button
|
||||
|
||||
'########################################################################################
|
||||
'############################## Declarations ##########################################
|
||||
'########################################################################################
|
||||
|
||||
'Variablen
|
||||
Private nIndex As Integer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
Private bRO
|
||||
|
||||
'Objecte
|
||||
Friend WithEvents Menu As System.Windows.Forms.ContextMenuStrip
|
||||
Friend WithEvents Menu_Move As System.Windows.Forms.ToolStripMenuItem 'Verschiebe Markierung
|
||||
Friend WithEvents Menu_SiceChange As System.Windows.Forms.ToolStripMenuItem 'Ändere Größe
|
||||
Friend WithEvents Menu_Delete As System.Windows.Forms.ToolStripMenuItem 'Verschiebe Markierung
|
||||
Friend WithEvents Menu_Hide As System.Windows.Forms.ToolStripMenuItem 'Verstecke einzelne Markierung
|
||||
|
||||
'Events
|
||||
Public Event LikeMove(ByVal sender As Object)
|
||||
Public Event LikeSiceChange(ByVal sender As Object)
|
||||
Public Event LikeDelete(ByVal sender As Object)
|
||||
|
||||
|
||||
'########################################################################################
|
||||
'############################## Property ##############################################
|
||||
'########################################################################################
|
||||
|
||||
Public Property Position() As Rectangle
|
||||
Get
|
||||
Return New Rectangle(Me.Left, Me.Top, Me.Width, Me.Height)
|
||||
End Get
|
||||
Set(ByVal value As Rectangle)
|
||||
Me.Width = value.Width
|
||||
Me.Height = value.Height
|
||||
Me.Left = value.Left
|
||||
Me.Top = value.Top
|
||||
End Set
|
||||
End Property 'PositionOnTaggedIMG
|
||||
|
||||
Private bDeleted As Boolean
|
||||
Public Property Deleted As Boolean
|
||||
Get
|
||||
Return Me.bDeleted
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
If value Then Me.Clear()
|
||||
Me.bDeleted = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Index As Integer
|
||||
Get
|
||||
Return nIndex
|
||||
End Get
|
||||
End Property 'Index
|
||||
|
||||
'########################################################################################
|
||||
'############################## PUBLIC Subs ###########################################
|
||||
'########################################################################################
|
||||
|
||||
Public Sub Clear()
|
||||
With Me
|
||||
.Visible = False
|
||||
.Width = 0
|
||||
.Height = 0
|
||||
.Left = 0
|
||||
.Top = 0
|
||||
.Text = ""
|
||||
.FlatAppearance.BorderSize = 3
|
||||
End With
|
||||
End Sub 'Clear
|
||||
|
||||
Public Sub New(Optional ByVal Index As Integer = -1, Optional ByVal RO As Boolean = False)
|
||||
'
|
||||
'Main
|
||||
'
|
||||
Me.FlatStyle = Windows.Forms.FlatStyle.Flat
|
||||
Me.BackColor = Drawing.Color.Transparent
|
||||
Me.BackgroundImage = Nothing
|
||||
Me.ForeColor = Drawing.Color.Transparent
|
||||
Me.FlatAppearance.BorderColor = Drawing.Color.Black
|
||||
Me.FlatAppearance.MouseDownBackColor = Drawing.Color.Transparent
|
||||
Me.FlatAppearance.MouseOverBackColor = Drawing.Color.Transparent
|
||||
Me.TabStop = False
|
||||
|
||||
Me.Menu = New System.Windows.Forms.ContextMenuStrip
|
||||
Me.Menu_Move = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.Menu_SiceChange = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.Menu_Hide = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.Menu_Delete = New System.Windows.Forms.ToolStripMenuItem
|
||||
|
||||
Me.nIndex = Index
|
||||
Me.bRO = RO
|
||||
|
||||
'
|
||||
'Menu
|
||||
'
|
||||
Me.Menu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.Menu_Move, Me.Menu_SiceChange, Me.Menu_Hide, Me.Menu_Delete})
|
||||
Me.Menu.Name = "Menu"
|
||||
Me.Menu.Size = New System.Drawing.Size(202, 70)
|
||||
|
||||
'
|
||||
'Menu_Move
|
||||
'
|
||||
Me.Menu_Move.Name = "Menu_Move"
|
||||
Me.Menu_Move.Size = New System.Drawing.Size(201, 22)
|
||||
Me.Menu_Move.Text = "Verschiebe Markierung"
|
||||
Me.Menu_Move.Enabled = Not RO 'Schreibschutz setzen wenn übergenben
|
||||
Me.Menu_Move.Enabled = False '<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<<#<< Noch in Arbeit >>>>>>>>
|
||||
|
||||
'
|
||||
'Menu_SiceChange
|
||||
'
|
||||
Me.Menu_SiceChange.Name = "Menu_SiceChange"
|
||||
Me.Menu_SiceChange.Size = New System.Drawing.Size(201, 22)
|
||||
Me.Menu_SiceChange.Text = "Ändere Größe"
|
||||
Me.Menu_SiceChange.Enabled = Not RO 'Schreibschutz setzen wenn übergenben
|
||||
|
||||
'
|
||||
'Menu_Hide
|
||||
'
|
||||
Me.Menu_Hide.Name = "Menu_Hide"
|
||||
Me.Menu_Hide.Size = New System.Drawing.Size(201, 22)
|
||||
Me.Menu_Hide.Text = "Verstecke Markierung"
|
||||
Me.Menu_Hide.Enabled = Not RO 'Schreibschutz setzen wenn übergenben
|
||||
|
||||
'
|
||||
'Menu_Delete
|
||||
'
|
||||
Me.Menu_Delete.Name = "Menu_Delete"
|
||||
Me.Menu_Delete.Size = New System.Drawing.Size(201, 22)
|
||||
Me.Menu_Delete.Text = "Lösche Markierung"
|
||||
Me.Menu_Delete.Enabled = Not RO 'Schreibschutz setzen wenn übergenben
|
||||
|
||||
If nIndex >= 0 Then Me.ContextMenuStrip = Me.Menu 'Wenn Gültiget Index Aktiviere Menü
|
||||
|
||||
Me.Clear()
|
||||
End Sub ' New(-1, False) will execute wenn declare a new instance
|
||||
|
||||
|
||||
'########################################################################################
|
||||
'############################## Sub on Event ##########################################
|
||||
'########################################################################################
|
||||
|
||||
'Private Sub MarkButtnon_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.GotFocus
|
||||
' Me.FlatAppearance.BorderSize = 4
|
||||
'End Sub 'MarkButnon_GotFocus Event
|
||||
|
||||
'Private Sub MarkButtnon_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LostFocus
|
||||
' Me.FlatAppearance.BorderSize = 3
|
||||
'End Sub 'MarkButnon_LostFocus Event
|
||||
|
||||
Private Sub Menu_Delete_Click() Handles Menu_Delete.Click
|
||||
RaiseEvent LikeDelete(Me)
|
||||
End Sub 'Menu_Delete_Click = Me.LikeDelete
|
||||
|
||||
Private Sub Menu_Hide_Click() Handles Menu_Hide.Click
|
||||
Me.Visible = False
|
||||
End Sub 'Menu_Hide_Click = Me.Visible <- False
|
||||
|
||||
Private Sub Menu_Move_Click() Handles Menu_Move.Click
|
||||
RaiseEvent LikeMove(Me)
|
||||
End Sub 'Menu_Move_Click = Me.LikeMove
|
||||
|
||||
Private Sub Menu_SiceChange_Click() Handles Menu_SiceChange.Click
|
||||
RaiseEvent LikeSiceChange(Me)
|
||||
End Sub 'Menu_SiceChange_Click = Me.LikeSiceChange
|
||||
|
||||
|
||||
End Class 'MarkButton
|
|
@ -0,0 +1,97 @@
|
|||
|
||||
Public Class Place
|
||||
|
||||
'########################################################################################
|
||||
'############################## Declare Events ########################################
|
||||
'########################################################################################
|
||||
|
||||
Public Event PropertyTitleChanged()
|
||||
Public Event PropertyAdressChanged()
|
||||
Public Event PropertyDescriptionChanged()
|
||||
Public Event PropertyGPSChanged()
|
||||
|
||||
|
||||
'########################################################################################
|
||||
'############################## Property ##############################################
|
||||
'########################################################################################
|
||||
|
||||
Private sTitle As String
|
||||
Public Property Title() As String
|
||||
Get
|
||||
Return sTitle
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
If Not value = sTitle Then
|
||||
sTitle = value
|
||||
RaiseEvent PropertyTitleChanged()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private sAdress As String
|
||||
Public Property Adress() As String
|
||||
Get
|
||||
Return sAdress
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
If Not value = sAdress Then
|
||||
sAdress = value
|
||||
RaiseEvent PropertyAdressChanged()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private sDescription As String
|
||||
Public Property Description() As String
|
||||
Get
|
||||
Return sDescription
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
If Not value = sDescription Then
|
||||
sDescription = value
|
||||
RaiseEvent PropertyDescriptionChanged()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private sGPS As String
|
||||
Public Property GPS() As String
|
||||
Get
|
||||
Return sGPS
|
||||
End Get
|
||||
Set(ByVal value As String) 'Später eventuelle überprüfung auf format und deren Umwandlung -GPS Formate-
|
||||
If Not value = sGPS Then
|
||||
sGPS = value
|
||||
RaiseEvent PropertyGPSChanged()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
'########################################################################################
|
||||
'############################## PUBLIC Subs ###########################################
|
||||
'########################################################################################
|
||||
|
||||
Public Sub Clear()
|
||||
Me.sAdress = Nothing
|
||||
Me.sDescription = Nothing
|
||||
Me.sGPS = Nothing
|
||||
Me.sTitle = Nothing
|
||||
End Sub 'Lehren des Objects
|
||||
|
||||
|
||||
'########################################################################################
|
||||
'############################## Public Overrides ######################################
|
||||
'########################################################################################
|
||||
|
||||
Public Overrides Function GetHashCode() As Integer
|
||||
Dim sb As New System.Text.StringBuilder
|
||||
sb.Append(Me.sAdress)
|
||||
sb.Append(Me.sDescription)
|
||||
sb.Append(Me.sGPS)
|
||||
sb.Append(Me.sTitle)
|
||||
Return sb.ToString.GetHashCode()
|
||||
End Function 'GetHashCode
|
||||
|
||||
|
||||
End Class 'Class Place
|
|
@ -0,0 +1,170 @@
|
|||
|
||||
Public Class Rectangle
|
||||
'########################################################################################
|
||||
'############################## Private Declarations ##################################
|
||||
'########################################################################################
|
||||
|
||||
Private nLeft As Integer = 0
|
||||
Private nTop As Integer = 0
|
||||
Private nWidth As Integer = 0
|
||||
Private nHeight As Integer = 0
|
||||
|
||||
|
||||
'########################################################################################
|
||||
'############################## Property ##############################################
|
||||
'########################################################################################
|
||||
|
||||
Public Property Left() As Integer
|
||||
Get
|
||||
Return Me.nLeft
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
If value < 0 Then value = 0
|
||||
Me.nLeft = value
|
||||
End Set
|
||||
End Property 'Left
|
||||
|
||||
Public Property Top() As Integer
|
||||
Get
|
||||
Return Me.nTop
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
If value < 0 Then value = 0
|
||||
Me.nTop = value
|
||||
End Set
|
||||
End Property 'Top
|
||||
|
||||
Public Property Width() As Integer
|
||||
Get
|
||||
Return Me.nWidth
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
If value < 0 Then value = 0
|
||||
Me.nWidth = value
|
||||
End Set
|
||||
End Property 'Width
|
||||
|
||||
Public Property Height() As Integer
|
||||
Get
|
||||
Return Me.nHeight
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
If value < 0 Then value = 0
|
||||
Me.nHeight = value
|
||||
End Set
|
||||
End Property 'Height
|
||||
|
||||
Public ReadOnly Property PointA As Drawing.Point
|
||||
Get
|
||||
Return New Drawing.Point(nLeft, nTop)
|
||||
End Get
|
||||
End Property 'RO PointA
|
||||
|
||||
Public ReadOnly Property PointB As Drawing.Point
|
||||
Get
|
||||
Return New Drawing.Point(nLeft + nWidth, nTop + nHeight)
|
||||
End Get
|
||||
End Property 'RO PointB
|
||||
|
||||
|
||||
'########################################################################################
|
||||
'############################## PUBLIC Functions ######################################
|
||||
'########################################################################################
|
||||
|
||||
|
||||
Public Function AsString() As String
|
||||
With Me
|
||||
If .nLeft = Nothing Then nLeft = 0
|
||||
If .nTop = Nothing Then nTop = 0
|
||||
If .nWidth = Nothing Then nWidth = 0
|
||||
If .nHeight = Nothing Then nHeight = 0
|
||||
AsString = "Left: " & Convert.ToString(.nLeft) & "; Top: " & Convert.ToString(.nTop) & "; Width: " & Convert.ToString(.nWidth) & "; Height: " & Convert.ToString(.nHeight)
|
||||
End With
|
||||
End Function 'AsString
|
||||
|
||||
|
||||
'########################################################################################
|
||||
'############################## PUBLIC Subs ###########################################
|
||||
'########################################################################################
|
||||
|
||||
'New(Left, Top, Width, Height)
|
||||
Public Sub New(Optional ByVal Left As Integer = Nothing, Optional ByVal Top As Integer = Nothing, Optional ByVal Width As Integer = Nothing, Optional ByVal Height As Integer = Nothing)
|
||||
With Me
|
||||
.Left = Left
|
||||
.Top = Top
|
||||
.Width = Width
|
||||
.Height = Height
|
||||
End With
|
||||
End Sub 'New
|
||||
|
||||
Public Sub Clear()
|
||||
With Me
|
||||
.Left = 0
|
||||
.Top = 0
|
||||
.Width = 0
|
||||
.Height = 0
|
||||
End With
|
||||
End Sub
|
||||
|
||||
'########################################################################################
|
||||
'############################## PUBLIC Shared Functions ###############################
|
||||
'########################################################################################
|
||||
|
||||
Public Shared Function Points_to_Rectangle(ByVal PointA As System.Drawing.Point, ByVal PointB As System.Drawing.Point) As Rectangle
|
||||
Dim rRectangle As New Rectangle
|
||||
Dim A_x As Integer = PointA.X
|
||||
Dim A_y As Integer = PointA.Y
|
||||
Dim B_x As Integer = PointB.X
|
||||
Dim B_y As Integer = PointB.Y
|
||||
|
||||
If A_x < B_x Then
|
||||
If A_y < B_y Then
|
||||
PointA.X = A_x
|
||||
PointA.Y = A_y
|
||||
PointB.X = B_x
|
||||
PointB.Y = B_y
|
||||
ElseIf A_y > B_y Then
|
||||
PointA.X = A_x
|
||||
PointA.Y = B_y
|
||||
PointB.X = B_x
|
||||
PointB.Y = A_y
|
||||
End If
|
||||
|
||||
ElseIf A_x > B_x Then
|
||||
If A_y < B_y Then
|
||||
PointA.X = B_x
|
||||
PointA.Y = A_y
|
||||
PointB.X = A_x
|
||||
PointB.Y = B_y
|
||||
ElseIf A_y > B_y Then
|
||||
PointA.X = B_x
|
||||
PointA.Y = B_y
|
||||
PointB.X = A_x
|
||||
PointB.Y = A_y
|
||||
End If
|
||||
End If
|
||||
rRectangle.Left = PointA.X
|
||||
rRectangle.Top = PointA.Y
|
||||
rRectangle.Width = PointB.X - PointA.X
|
||||
rRectangle.Height = PointB.Y - PointA.Y
|
||||
|
||||
Points_to_Rectangle = rRectangle
|
||||
|
||||
End Function 'Points_to_Rectangle
|
||||
|
||||
|
||||
'########################################################################################
|
||||
'############################## Public Overrides ######################################
|
||||
'########################################################################################
|
||||
|
||||
Public Overrides Function GetHashCode() As Integer
|
||||
Dim sb As New System.Text.StringBuilder
|
||||
sb.Append(Convert.ToString(Me.nHeight))
|
||||
sb.Append(Convert.ToString(Me.nLeft))
|
||||
sb.Append(Convert.ToString(Me.nTop))
|
||||
sb.Append(Convert.ToString(Me.nWidth))
|
||||
Return sb.ToString.GetHashCode()
|
||||
End Function 'GetHashCode
|
||||
|
||||
|
||||
End Class 'Class Rectangle
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,478 @@
|
|||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class SB_PictureTagger
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Wird vom Windows Form-Designer benötigt.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
|
||||
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
|
||||
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Dim Place1 As Place = New Place()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(SB_PictureTagger))
|
||||
Me.Panel_Botom = New System.Windows.Forms.Panel()
|
||||
Me.Label7 = New System.Windows.Forms.Label()
|
||||
Me.b_reloaddir = New System.Windows.Forms.Button()
|
||||
Me.b_loaddir = New System.Windows.Forms.Button()
|
||||
Me.b_exit = New System.Windows.Forms.Button()
|
||||
Me.b_last = New System.Windows.Forms.Button()
|
||||
Me.b_next = New System.Windows.Forms.Button()
|
||||
Me.Panel_Right = New System.Windows.Forms.Panel()
|
||||
Me.GroupBox4 = New System.Windows.Forms.GroupBox()
|
||||
Me.Label8 = New System.Windows.Forms.Label()
|
||||
Me.NumericUpDown_OrdnerTiefe = New System.Windows.Forms.NumericUpDown()
|
||||
Me.cb_marks_visible = New System.Windows.Forms.CheckBox()
|
||||
Me.GB_Ort = New System.Windows.Forms.GroupBox()
|
||||
Me.tb_Place_Description = New System.Windows.Forms.TextBox()
|
||||
Me.Label9 = New System.Windows.Forms.Label()
|
||||
Me.tb_Place_Name = New System.Windows.Forms.TextBox()
|
||||
Me.Label4 = New System.Windows.Forms.Label()
|
||||
Me.Label5 = New System.Windows.Forms.Label()
|
||||
Me.Label6 = New System.Windows.Forms.Label()
|
||||
Me.tb_Place_GPS = New System.Windows.Forms.TextBox()
|
||||
Me.tb_Place_Addresse = New System.Windows.Forms.TextBox()
|
||||
Me.GB_Mark = New System.Windows.Forms.GroupBox()
|
||||
Me.tb_AktMark_Description = New System.Windows.Forms.TextBox()
|
||||
Me.Label11 = New System.Windows.Forms.Label()
|
||||
Me.tb_AktMark_Name = New System.Windows.Forms.TextBox()
|
||||
Me.Label10 = New System.Windows.Forms.Label()
|
||||
Me.GB_Bild = New System.Windows.Forms.GroupBox()
|
||||
Me.tb_Bild_Description = New System.Windows.Forms.TextBox()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.tb_Bild_Time = New System.Windows.Forms.TextBox()
|
||||
Me.tb_Bild_Name = New System.Windows.Forms.TextBox()
|
||||
Me.TaggedIMG1 = New TaggedIMG()
|
||||
Me.Panel_Botom.SuspendLayout()
|
||||
Me.Panel_Right.SuspendLayout()
|
||||
Me.GroupBox4.SuspendLayout()
|
||||
CType(Me.NumericUpDown_OrdnerTiefe, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.GB_Ort.SuspendLayout()
|
||||
Me.GB_Mark.SuspendLayout()
|
||||
Me.GB_Bild.SuspendLayout()
|
||||
CType(Me.TaggedIMG1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'Panel_Botom
|
||||
'
|
||||
Me.Panel_Botom.Controls.Add(Me.Label7)
|
||||
Me.Panel_Botom.Controls.Add(Me.b_reloaddir)
|
||||
Me.Panel_Botom.Controls.Add(Me.b_loaddir)
|
||||
Me.Panel_Botom.Controls.Add(Me.b_exit)
|
||||
Me.Panel_Botom.Controls.Add(Me.b_last)
|
||||
Me.Panel_Botom.Controls.Add(Me.b_next)
|
||||
Me.Panel_Botom.Location = New System.Drawing.Point(1, 636)
|
||||
Me.Panel_Botom.Name = "Panel_Botom"
|
||||
Me.Panel_Botom.Size = New System.Drawing.Size(1104, 87)
|
||||
Me.Panel_Botom.TabIndex = 12
|
||||
'
|
||||
'Label7
|
||||
'
|
||||
Me.Label7.AutoSize = True
|
||||
Me.Label7.Location = New System.Drawing.Point(11, 68)
|
||||
Me.Label7.Name = "Label7"
|
||||
Me.Label7.Size = New System.Drawing.Size(65, 13)
|
||||
Me.Label7.TabIndex = 7
|
||||
Me.Label7.Text = "Pfadangabe"
|
||||
'
|
||||
'b_reloaddir
|
||||
'
|
||||
Me.b_reloaddir.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.b_reloaddir.Location = New System.Drawing.Point(420, 14)
|
||||
Me.b_reloaddir.Name = "b_reloaddir"
|
||||
Me.b_reloaddir.Size = New System.Drawing.Size(165, 51)
|
||||
Me.b_reloaddir.TabIndex = 11
|
||||
Me.b_reloaddir.Text = "Neu Laden"
|
||||
Me.b_reloaddir.UseVisualStyleBackColor = True
|
||||
'
|
||||
'b_loaddir
|
||||
'
|
||||
Me.b_loaddir.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.b_loaddir.Location = New System.Drawing.Point(611, 14)
|
||||
Me.b_loaddir.Name = "b_loaddir"
|
||||
Me.b_loaddir.Size = New System.Drawing.Size(178, 51)
|
||||
Me.b_loaddir.TabIndex = 12
|
||||
Me.b_loaddir.Text = "Ordner Öffnen"
|
||||
Me.b_loaddir.UseVisualStyleBackColor = True
|
||||
'
|
||||
'b_exit
|
||||
'
|
||||
Me.b_exit.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.b_exit.Location = New System.Drawing.Point(915, 14)
|
||||
Me.b_exit.Name = "b_exit"
|
||||
Me.b_exit.Size = New System.Drawing.Size(178, 51)
|
||||
Me.b_exit.TabIndex = 13
|
||||
Me.b_exit.Text = "Beenden"
|
||||
Me.b_exit.UseVisualStyleBackColor = True
|
||||
'
|
||||
'b_last
|
||||
'
|
||||
Me.b_last.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.b_last.Location = New System.Drawing.Point(11, 14)
|
||||
Me.b_last.Name = "b_last"
|
||||
Me.b_last.Size = New System.Drawing.Size(178, 51)
|
||||
Me.b_last.TabIndex = 8
|
||||
Me.b_last.Text = "Vorheriges Bild"
|
||||
Me.b_last.UseVisualStyleBackColor = True
|
||||
'
|
||||
'b_next
|
||||
'
|
||||
Me.b_next.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.b_next.Location = New System.Drawing.Point(216, 14)
|
||||
Me.b_next.Name = "b_next"
|
||||
Me.b_next.Size = New System.Drawing.Size(178, 51)
|
||||
Me.b_next.TabIndex = 9
|
||||
Me.b_next.Text = "Nächstes Bild"
|
||||
Me.b_next.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Panel_Right
|
||||
'
|
||||
Me.Panel_Right.Controls.Add(Me.GroupBox4)
|
||||
Me.Panel_Right.Controls.Add(Me.GB_Ort)
|
||||
Me.Panel_Right.Controls.Add(Me.GB_Mark)
|
||||
Me.Panel_Right.Controls.Add(Me.GB_Bild)
|
||||
Me.Panel_Right.Location = New System.Drawing.Point(735, 12)
|
||||
Me.Panel_Right.Name = "Panel_Right"
|
||||
Me.Panel_Right.Size = New System.Drawing.Size(370, 618)
|
||||
Me.Panel_Right.TabIndex = 13
|
||||
'
|
||||
'GroupBox4
|
||||
'
|
||||
Me.GroupBox4.Controls.Add(Me.Label8)
|
||||
Me.GroupBox4.Controls.Add(Me.NumericUpDown_OrdnerTiefe)
|
||||
Me.GroupBox4.Controls.Add(Me.cb_marks_visible)
|
||||
Me.GroupBox4.Location = New System.Drawing.Point(9, 568)
|
||||
Me.GroupBox4.Name = "GroupBox4"
|
||||
Me.GroupBox4.Size = New System.Drawing.Size(352, 48)
|
||||
Me.GroupBox4.TabIndex = 15
|
||||
Me.GroupBox4.TabStop = False
|
||||
Me.GroupBox4.Text = "Optionen"
|
||||
'
|
||||
'Label8
|
||||
'
|
||||
Me.Label8.AutoSize = True
|
||||
Me.Label8.Location = New System.Drawing.Point(199, 19)
|
||||
Me.Label8.Name = "Label8"
|
||||
Me.Label8.Size = New System.Drawing.Size(63, 13)
|
||||
Me.Label8.TabIndex = 6
|
||||
Me.Label8.Text = "OrdnerTiefe"
|
||||
'
|
||||
'NumericUpDown_OrdnerTiefe
|
||||
'
|
||||
Me.NumericUpDown_OrdnerTiefe.Location = New System.Drawing.Point(162, 16)
|
||||
Me.NumericUpDown_OrdnerTiefe.Maximum = New Decimal(New Integer() {3, 0, 0, 0})
|
||||
Me.NumericUpDown_OrdnerTiefe.Name = "NumericUpDown_OrdnerTiefe"
|
||||
Me.NumericUpDown_OrdnerTiefe.Size = New System.Drawing.Size(31, 20)
|
||||
Me.NumericUpDown_OrdnerTiefe.TabIndex = 2
|
||||
'
|
||||
'cb_marks_visible
|
||||
'
|
||||
Me.cb_marks_visible.AutoSize = True
|
||||
Me.cb_marks_visible.Checked = True
|
||||
Me.cb_marks_visible.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.cb_marks_visible.Location = New System.Drawing.Point(11, 19)
|
||||
Me.cb_marks_visible.Name = "cb_marks_visible"
|
||||
Me.cb_marks_visible.Size = New System.Drawing.Size(121, 17)
|
||||
Me.cb_marks_visible.TabIndex = 0
|
||||
Me.cb_marks_visible.Text = "Zeige Markierungen"
|
||||
Me.cb_marks_visible.UseVisualStyleBackColor = True
|
||||
'
|
||||
'GB_Ort
|
||||
'
|
||||
Me.GB_Ort.Controls.Add(Me.tb_Place_Description)
|
||||
Me.GB_Ort.Controls.Add(Me.Label9)
|
||||
Me.GB_Ort.Controls.Add(Me.tb_Place_Name)
|
||||
Me.GB_Ort.Controls.Add(Me.Label4)
|
||||
Me.GB_Ort.Controls.Add(Me.Label5)
|
||||
Me.GB_Ort.Controls.Add(Me.Label6)
|
||||
Me.GB_Ort.Controls.Add(Me.tb_Place_GPS)
|
||||
Me.GB_Ort.Controls.Add(Me.tb_Place_Addresse)
|
||||
Me.GB_Ort.Location = New System.Drawing.Point(7, 171)
|
||||
Me.GB_Ort.Name = "GB_Ort"
|
||||
Me.GB_Ort.Size = New System.Drawing.Size(352, 199)
|
||||
Me.GB_Ort.TabIndex = 13
|
||||
Me.GB_Ort.TabStop = False
|
||||
Me.GB_Ort.Text = "Aufnahme Ort"
|
||||
'
|
||||
'tb_Place_Description
|
||||
'
|
||||
Me.tb_Place_Description.Location = New System.Drawing.Point(83, 97)
|
||||
Me.tb_Place_Description.Multiline = True
|
||||
Me.tb_Place_Description.Name = "tb_Place_Description"
|
||||
Me.tb_Place_Description.Size = New System.Drawing.Size(263, 96)
|
||||
Me.tb_Place_Description.TabIndex = 12
|
||||
'
|
||||
'Label9
|
||||
'
|
||||
Me.Label9.AutoSize = True
|
||||
Me.Label9.Location = New System.Drawing.Point(8, 19)
|
||||
Me.Label9.Name = "Label9"
|
||||
Me.Label9.Size = New System.Drawing.Size(38, 13)
|
||||
Me.Label9.TabIndex = 8
|
||||
Me.Label9.Text = "Name:"
|
||||
'
|
||||
'tb_Place_Name
|
||||
'
|
||||
Me.tb_Place_Name.Location = New System.Drawing.Point(83, 16)
|
||||
Me.tb_Place_Name.Name = "tb_Place_Name"
|
||||
Me.tb_Place_Name.Size = New System.Drawing.Size(263, 20)
|
||||
Me.tb_Place_Name.TabIndex = 0
|
||||
'
|
||||
'Label4
|
||||
'
|
||||
Me.Label4.AutoSize = True
|
||||
Me.Label4.Location = New System.Drawing.Point(8, 100)
|
||||
Me.Label4.Name = "Label4"
|
||||
Me.Label4.Size = New System.Drawing.Size(69, 13)
|
||||
Me.Label4.TabIndex = 5
|
||||
Me.Label4.Text = "Kommentare:"
|
||||
'
|
||||
'Label5
|
||||
'
|
||||
Me.Label5.AutoSize = True
|
||||
Me.Label5.Location = New System.Drawing.Point(6, 74)
|
||||
Me.Label5.Name = "Label5"
|
||||
Me.Label5.Size = New System.Drawing.Size(67, 13)
|
||||
Me.Label5.TabIndex = 4
|
||||
Me.Label5.Text = "Koordinaten:"
|
||||
'
|
||||
'Label6
|
||||
'
|
||||
Me.Label6.AutoSize = True
|
||||
Me.Label6.Location = New System.Drawing.Point(8, 45)
|
||||
Me.Label6.Name = "Label6"
|
||||
Me.Label6.Size = New System.Drawing.Size(48, 13)
|
||||
Me.Label6.TabIndex = 3
|
||||
Me.Label6.Text = "Adresse:"
|
||||
'
|
||||
'tb_Place_GPS
|
||||
'
|
||||
Me.tb_Place_GPS.Location = New System.Drawing.Point(83, 71)
|
||||
Me.tb_Place_GPS.Name = "tb_Place_GPS"
|
||||
Me.tb_Place_GPS.Size = New System.Drawing.Size(263, 20)
|
||||
Me.tb_Place_GPS.TabIndex = 2
|
||||
'
|
||||
'tb_Place_Addresse
|
||||
'
|
||||
Me.tb_Place_Addresse.Location = New System.Drawing.Point(83, 42)
|
||||
Me.tb_Place_Addresse.Name = "tb_Place_Addresse"
|
||||
Me.tb_Place_Addresse.Size = New System.Drawing.Size(263, 20)
|
||||
Me.tb_Place_Addresse.TabIndex = 1
|
||||
'
|
||||
'GB_Mark
|
||||
'
|
||||
Me.GB_Mark.Controls.Add(Me.tb_AktMark_Description)
|
||||
Me.GB_Mark.Controls.Add(Me.Label11)
|
||||
Me.GB_Mark.Controls.Add(Me.tb_AktMark_Name)
|
||||
Me.GB_Mark.Controls.Add(Me.Label10)
|
||||
Me.GB_Mark.Location = New System.Drawing.Point(9, 392)
|
||||
Me.GB_Mark.Name = "GB_Mark"
|
||||
Me.GB_Mark.Size = New System.Drawing.Size(352, 150)
|
||||
Me.GB_Mark.TabIndex = 14
|
||||
Me.GB_Mark.TabStop = False
|
||||
Me.GB_Mark.Text = "Ausgewählte Markierung"
|
||||
'
|
||||
'tb_AktMark_Description
|
||||
'
|
||||
Me.tb_AktMark_Description.Location = New System.Drawing.Point(83, 45)
|
||||
Me.tb_AktMark_Description.Multiline = True
|
||||
Me.tb_AktMark_Description.Name = "tb_AktMark_Description"
|
||||
Me.tb_AktMark_Description.Size = New System.Drawing.Size(263, 99)
|
||||
Me.tb_AktMark_Description.TabIndex = 12
|
||||
'
|
||||
'Label11
|
||||
'
|
||||
Me.Label11.AutoSize = True
|
||||
Me.Label11.Location = New System.Drawing.Point(8, 22)
|
||||
Me.Label11.Name = "Label11"
|
||||
Me.Label11.Size = New System.Drawing.Size(38, 13)
|
||||
Me.Label11.TabIndex = 10
|
||||
Me.Label11.Text = "Name:"
|
||||
'
|
||||
'tb_AktMark_Name
|
||||
'
|
||||
Me.tb_AktMark_Name.Location = New System.Drawing.Point(83, 19)
|
||||
Me.tb_AktMark_Name.Name = "tb_AktMark_Name"
|
||||
Me.tb_AktMark_Name.Size = New System.Drawing.Size(263, 20)
|
||||
Me.tb_AktMark_Name.TabIndex = 9
|
||||
'
|
||||
'Label10
|
||||
'
|
||||
Me.Label10.AutoSize = True
|
||||
Me.Label10.Location = New System.Drawing.Point(8, 48)
|
||||
Me.Label10.Name = "Label10"
|
||||
Me.Label10.Size = New System.Drawing.Size(69, 13)
|
||||
Me.Label10.TabIndex = 7
|
||||
Me.Label10.Text = "Kommentare:"
|
||||
'
|
||||
'GB_Bild
|
||||
'
|
||||
Me.GB_Bild.Controls.Add(Me.tb_Bild_Description)
|
||||
Me.GB_Bild.Controls.Add(Me.Label3)
|
||||
Me.GB_Bild.Controls.Add(Me.Label2)
|
||||
Me.GB_Bild.Controls.Add(Me.Label1)
|
||||
Me.GB_Bild.Controls.Add(Me.tb_Bild_Time)
|
||||
Me.GB_Bild.Controls.Add(Me.tb_Bild_Name)
|
||||
Me.GB_Bild.Location = New System.Drawing.Point(9, 2)
|
||||
Me.GB_Bild.Name = "GB_Bild"
|
||||
Me.GB_Bild.Size = New System.Drawing.Size(352, 151)
|
||||
Me.GB_Bild.TabIndex = 12
|
||||
Me.GB_Bild.TabStop = False
|
||||
Me.GB_Bild.Text = "Bild"
|
||||
'
|
||||
'tb_Bild_Description
|
||||
'
|
||||
Me.tb_Bild_Description.Location = New System.Drawing.Point(83, 70)
|
||||
Me.tb_Bild_Description.Multiline = True
|
||||
Me.tb_Bild_Description.Name = "tb_Bild_Description"
|
||||
Me.tb_Bild_Description.Size = New System.Drawing.Size(263, 75)
|
||||
Me.tb_Bild_Description.TabIndex = 11
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.AutoSize = True
|
||||
Me.Label3.Location = New System.Drawing.Point(8, 74)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(69, 13)
|
||||
Me.Label3.TabIndex = 5
|
||||
Me.Label3.Text = "Kommentare:"
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Location = New System.Drawing.Point(8, 48)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(59, 13)
|
||||
Me.Label2.TabIndex = 4
|
||||
Me.Label2.Text = "Zeit/-raum:"
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(6, 22)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(30, 13)
|
||||
Me.Label1.TabIndex = 3
|
||||
Me.Label1.Text = "Titel:"
|
||||
'
|
||||
'tb_Bild_Time
|
||||
'
|
||||
Me.tb_Bild_Time.Location = New System.Drawing.Point(83, 45)
|
||||
Me.tb_Bild_Time.Name = "tb_Bild_Time"
|
||||
Me.tb_Bild_Time.Size = New System.Drawing.Size(263, 20)
|
||||
Me.tb_Bild_Time.TabIndex = 1
|
||||
'
|
||||
'tb_Bild_Name
|
||||
'
|
||||
Me.tb_Bild_Name.Location = New System.Drawing.Point(83, 19)
|
||||
Me.tb_Bild_Name.Name = "tb_Bild_Name"
|
||||
Me.tb_Bild_Name.Size = New System.Drawing.Size(263, 20)
|
||||
Me.tb_Bild_Name.TabIndex = 0
|
||||
'
|
||||
'TaggedIMG1
|
||||
'
|
||||
Me.TaggedIMG1.ActivMark = False
|
||||
Me.TaggedIMG1.ActivMarkDescription = ""
|
||||
Me.TaggedIMG1.ActivMarkHeight = -1
|
||||
Me.TaggedIMG1.ActivMarkLeft = -1
|
||||
Me.TaggedIMG1.ActivMarkName = ""
|
||||
Me.TaggedIMG1.ActivMarkTop = -1
|
||||
Me.TaggedIMG1.ActivMarkWidth = -1
|
||||
Me.TaggedIMG1.Cursor = System.Windows.Forms.Cursors.Default
|
||||
Me.TaggedIMG1.Description = Nothing
|
||||
Me.TaggedIMG1.ID = Nothing
|
||||
Me.TaggedIMG1.Location = New System.Drawing.Point(12, 12)
|
||||
Me.TaggedIMG1.Marks_Visible = True
|
||||
Me.TaggedIMG1.Name = "TaggedIMG1"
|
||||
Place1.Adress = Nothing
|
||||
Place1.Description = Nothing
|
||||
Place1.GPS = Nothing
|
||||
Place1.Title = Nothing
|
||||
Me.TaggedIMG1.Place = Place1
|
||||
Me.TaggedIMG1.RO = False
|
||||
Me.TaggedIMG1.Size = New System.Drawing.Size(717, 616)
|
||||
Me.TaggedIMG1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
|
||||
Me.TaggedIMG1.TabIndex = 0
|
||||
Me.TaggedIMG1.TabStop = False
|
||||
Me.TaggedIMG1.Time = Nothing
|
||||
Me.TaggedIMG1.Title = Nothing
|
||||
'
|
||||
'SB_PictureTagger
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(1106, 723)
|
||||
Me.Controls.Add(Me.TaggedIMG1)
|
||||
Me.Controls.Add(Me.Panel_Right)
|
||||
Me.Controls.Add(Me.Panel_Botom)
|
||||
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
|
||||
Me.MinimumSize = New System.Drawing.Size(1122, 761)
|
||||
Me.Name = "SB_PictureTagger"
|
||||
Me.Text = "SB-PictureTagger"
|
||||
Me.Panel_Botom.ResumeLayout(False)
|
||||
Me.Panel_Botom.PerformLayout()
|
||||
Me.Panel_Right.ResumeLayout(False)
|
||||
Me.GroupBox4.ResumeLayout(False)
|
||||
Me.GroupBox4.PerformLayout()
|
||||
CType(Me.NumericUpDown_OrdnerTiefe, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.GB_Ort.ResumeLayout(False)
|
||||
Me.GB_Ort.PerformLayout()
|
||||
Me.GB_Mark.ResumeLayout(False)
|
||||
Me.GB_Mark.PerformLayout()
|
||||
Me.GB_Bild.ResumeLayout(False)
|
||||
Me.GB_Bild.PerformLayout()
|
||||
CType(Me.TaggedIMG1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Friend WithEvents Panel_Botom As System.Windows.Forms.Panel
|
||||
Friend WithEvents Label7 As System.Windows.Forms.Label
|
||||
Friend WithEvents b_reloaddir As System.Windows.Forms.Button
|
||||
Friend WithEvents b_loaddir As System.Windows.Forms.Button
|
||||
Friend WithEvents b_exit As System.Windows.Forms.Button
|
||||
Friend WithEvents b_last As System.Windows.Forms.Button
|
||||
Friend WithEvents b_next As System.Windows.Forms.Button
|
||||
Friend WithEvents Panel_Right As System.Windows.Forms.Panel
|
||||
Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
|
||||
Friend WithEvents Label8 As System.Windows.Forms.Label
|
||||
Friend WithEvents NumericUpDown_OrdnerTiefe As System.Windows.Forms.NumericUpDown
|
||||
Friend WithEvents cb_marks_visible As System.Windows.Forms.CheckBox
|
||||
Friend WithEvents GB_Ort As System.Windows.Forms.GroupBox
|
||||
Friend WithEvents tb_Place_Description As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label9 As System.Windows.Forms.Label
|
||||
Friend WithEvents tb_Place_Name As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label4 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label5 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label6 As System.Windows.Forms.Label
|
||||
Friend WithEvents tb_Place_GPS As System.Windows.Forms.TextBox
|
||||
Friend WithEvents tb_Place_Addresse As System.Windows.Forms.TextBox
|
||||
Friend WithEvents GB_Mark As System.Windows.Forms.GroupBox
|
||||
Friend WithEvents tb_AktMark_Description As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label11 As System.Windows.Forms.Label
|
||||
Friend WithEvents tb_AktMark_Name As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label10 As System.Windows.Forms.Label
|
||||
Friend WithEvents GB_Bild As System.Windows.Forms.GroupBox
|
||||
Friend WithEvents tb_Bild_Description As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label3 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label2 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label1 As System.Windows.Forms.Label
|
||||
Friend WithEvents tb_Bild_Time As System.Windows.Forms.TextBox
|
||||
Friend WithEvents tb_Bild_Name As System.Windows.Forms.TextBox
|
||||
Friend WithEvents TaggedIMG1 As TaggedIMG
|
||||
|
||||
End Class
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,451 @@
|
|||
Option Explicit On
|
||||
|
||||
Public Class SB_PictureTagger
|
||||
|
||||
'###################################################################################################################
|
||||
'############### Main ##############################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
'###########################
|
||||
'### Declare Variables ###
|
||||
'###########################
|
||||
|
||||
Public Pub_sPath As String 'Pfad des Aktuell Arbeits Verzeichnises
|
||||
Public Pub_aPfade(0) As String 'Array mit den Photo Pfaden
|
||||
Public Pub_nPfadeIndex As Long = 0 'IndexNR des aktuell Geladenen Photos aus pub_aPfade
|
||||
Public Pub_aConfigForm(0) As String 'Array mit FormConfiguration
|
||||
Public Pub_nOrdnerTiefe As Integer = 0 'Recursive Ordnertiefe beim Ordnereinlesen
|
||||
Public Pub_aSupportedFiles() As String = {".jpg", ".bmp", ".gif", ".png", ".jp2", ".tiff"} 'Speichert die Unterstützten Extentions
|
||||
|
||||
Private nCountMarks As Integer
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'####################### Private Subs ##############################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
Private Sub Clear()
|
||||
tb_Bild_Name.Clear()
|
||||
tb_Bild_Time.Clear()
|
||||
tb_Bild_Description.Clear()
|
||||
|
||||
tb_Place_Name.Clear()
|
||||
tb_Place_Addresse.Clear()
|
||||
tb_Place_GPS.Clear()
|
||||
tb_Place_Description.Clear()
|
||||
|
||||
tb_AktMark_Name.Clear()
|
||||
tb_AktMark_Description.Clear()
|
||||
|
||||
|
||||
'Entlehre Pfadangabe
|
||||
Label7.Text = ""
|
||||
|
||||
'Entlehre TaggedIMG1
|
||||
TaggedIMG1.Clear()
|
||||
|
||||
nCountMarks = 0
|
||||
TaggedIMG1.RO = True
|
||||
|
||||
'GroubBox
|
||||
GB_Bild.Enabled = False
|
||||
GB_Ort.Enabled = False
|
||||
GB_Mark.Enabled = False
|
||||
|
||||
'Aktiv mark TBs
|
||||
tb_AktMark_Description.Enabled = False
|
||||
tb_AktMark_Name.Enabled = False
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub SaveData()
|
||||
'Überprüfe ob Änderungen forgenommen #UND# Ob eine ID existiert #UND# Ob das Bild existiert
|
||||
If (TaggedIMG1.ID <> "" Or Nothing) And System.IO.File.Exists(Pub_aPfade(Pub_nPfadeIndex)) Then
|
||||
Data_Save()
|
||||
End If
|
||||
End Sub 'Save Taggs when Changes are hapened
|
||||
|
||||
Private Sub Resize2()
|
||||
|
||||
End Sub
|
||||
'###################################################################################################################
|
||||
'####################### EVENTS ####################################################################################
|
||||
'###################################################################################################################
|
||||
#Region "Events"
|
||||
'################################################
|
||||
'############### Form Events ####################
|
||||
'################################################
|
||||
|
||||
Private Sub SB_PictureTagger_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
|
||||
SaveData()
|
||||
End Sub 'Form1_Closing
|
||||
|
||||
Private Sub SB_PictureTagger_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
Clear()
|
||||
cb_marks_visible.Checked = True
|
||||
TaggedIMG1.Marks_Visible = cb_marks_visible.Checked
|
||||
End Sub 'SB_PictureTagger_Load
|
||||
|
||||
|
||||
'################################################
|
||||
'############### Buton Events: Click ############
|
||||
'################################################
|
||||
|
||||
Private Sub b_loaddir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_loaddir.Click
|
||||
'Laden eines zu Taggenden Bilder-Verzeichnis
|
||||
Dim sTMP As String
|
||||
sTMP = Tools.Dialoge.FolderBrowserDialog()
|
||||
If System.IO.Directory.Exists(sTMP) Then
|
||||
SaveData()
|
||||
Clear()
|
||||
Pub_sPath = sTMP
|
||||
LoadVerzeichnis()
|
||||
Data_Load()
|
||||
End If
|
||||
End Sub 'Öffne Ordner -> wenn Pfad OK -> Save Taggs -> Lade Verzeichnis -> Load Tagged IMG
|
||||
|
||||
Private Sub b_reloaddir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_reloaddir.Click
|
||||
SaveData()
|
||||
Clear()
|
||||
LoadVerzeichnis()
|
||||
Data_Load()
|
||||
End Sub 'Save Taggs -> Lade Verzeichnis -> Load Tagged IMG
|
||||
|
||||
Private Sub b_next_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_next.Click
|
||||
If Pub_nPfadeIndex < UBound(Pub_aPfade) Then
|
||||
SaveData()
|
||||
Clear()
|
||||
Pub_nPfadeIndex += 1
|
||||
Data_Load()
|
||||
End If
|
||||
End Sub 'Speichere Taggs -> Next Index -> Load Tagged IMG
|
||||
|
||||
Private Sub b_last_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_last.Click
|
||||
If Pub_nPfadeIndex > 0 Then
|
||||
SaveData()
|
||||
Clear()
|
||||
Pub_nPfadeIndex = Pub_nPfadeIndex - 1
|
||||
Data_Load()
|
||||
End If
|
||||
End Sub 'Speichere Taggs -> Last Index -> Load Tagged IMG
|
||||
|
||||
Private Sub b_exit_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_exit.Click
|
||||
Me.Close()
|
||||
End Sub 'b_exit_Click_1
|
||||
|
||||
'################################################
|
||||
'###### CheckBox Events: CheckStateChanged ######
|
||||
'################################################
|
||||
|
||||
Private Sub cb_marks_visible_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cb_marks_visible.CheckStateChanged
|
||||
TaggedIMG1.Marks_Visible = cb_marks_visible.Checked
|
||||
End Sub 'Visible/Hide Markierungen
|
||||
|
||||
'###################################################################################################################
|
||||
'############### NumericUpDown Events: ValueChanged ################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
Private Sub NumericUpDown_OrdnerTiefe_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles NumericUpDown_OrdnerTiefe.ValueChanged
|
||||
SaveData()
|
||||
Pub_nOrdnerTiefe = NumericUpDown_OrdnerTiefe.Value
|
||||
LoadVerzeichnis()
|
||||
Data_Load()
|
||||
End Sub ''Speichere Taggs -> Neue Ordner Tiefe -> Lade Verzeichnis -> Load Tagged IMG
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'############### TextBox Events: TextChanged #######################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
Private Sub tb_Bild_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Description.TextChanged
|
||||
TaggedIMG1.Description = tb_Bild_Description.Text
|
||||
End Sub
|
||||
|
||||
Private Sub tb_Bild_Name_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Name.TextChanged
|
||||
TaggedIMG1.Title = tb_Bild_Name.Text
|
||||
End Sub
|
||||
|
||||
Private Sub tb_Bild_Time_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Time.TextChanged
|
||||
TaggedIMG1.Time = tb_Bild_Time.Text
|
||||
End Sub
|
||||
|
||||
Private Sub tb_Place_Addresse_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_Addresse.TextChanged
|
||||
TaggedIMG1.Place.Adress = tb_Place_Addresse.Text
|
||||
End Sub
|
||||
|
||||
Private Sub tb_Place_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_Description.TextChanged
|
||||
TaggedIMG1.Place.Description = tb_Place_Description.Text
|
||||
End Sub
|
||||
|
||||
Private Sub tb_Place_GPS_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_GPS.TextChanged
|
||||
TaggedIMG1.Place.GPS = tb_Place_GPS.Text
|
||||
End Sub
|
||||
|
||||
Private Sub tb_Place_Name_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_Name.TextChanged
|
||||
TaggedIMG1.Place.Title = tb_Place_Name.Text
|
||||
End Sub
|
||||
|
||||
Private Sub tb_AktMark_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_AktMark_Description.TextChanged
|
||||
TaggedIMG1.ActivMarkDescription = tb_AktMark_Description.Text
|
||||
End Sub 'tb_AktMark_Description_TextChanged
|
||||
|
||||
Private Sub tb_AktMark_Name_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_AktMark_Name.TextChanged
|
||||
TaggedIMG1.ActivMarkName = tb_AktMark_Name.Text
|
||||
End Sub 'tb_AktMark_Name_TextChanged
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'############### TAggedIMG Events ##################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
Private Sub TaggedIMG1_LikeToCreatMark(ByVal Left As Integer, ByVal Top As Integer, ByVal Width As Integer, ByVal Height As Integer) Handles TaggedIMG1.LikeToCreatMark
|
||||
If TaggedIMG1.Marks_Create(nCountMarks, Left, Top, Width, Height) Then nCountMarks += 1
|
||||
End Sub 'TaggedIMG1_LikeToCreatMark
|
||||
|
||||
Private Sub TaggedIMG1_ActivMarkChanged(ByVal arg As Boolean) Handles TaggedIMG1.ActivMarkChanged
|
||||
If TaggedIMG1.ActivMarkID <> Nothing Or TaggedIMG1.ActivMarkID <> "" Then
|
||||
tb_AktMark_Name.Text = TaggedIMG1.ActivMarkName
|
||||
tb_AktMark_Name.Enabled = True
|
||||
tb_AktMark_Description.Text = TaggedIMG1.ActivMarkDescription
|
||||
tb_AktMark_Description.Enabled = True
|
||||
Else
|
||||
tb_AktMark_Name.Text = ""
|
||||
tb_AktMark_Name.Enabled = False
|
||||
tb_AktMark_Description.Text = ""
|
||||
tb_AktMark_Description.Enabled = False
|
||||
End If
|
||||
End Sub 'TaggedIMG1_ActivMarkChanged
|
||||
|
||||
|
||||
#End Region 'Events
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'############### Lade ##############################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
Public Sub LoadVerzeichnis()
|
||||
If System.IO.Directory.Exists(Pub_sPath) Then
|
||||
Pub_aPfade = Tools.Filesystem.GetFilesFromDir(Pub_sPath, Pub_aSupportedFiles, Pub_nOrdnerTiefe)
|
||||
Pub_nPfadeIndex = 0
|
||||
End If
|
||||
End Sub 'Lade Bilder in pub_aPfade Array; Setze Index auf 0
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'###################### D A T A ####################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
'Taggs auslesen (jezt noch aus INI - später aus DB)
|
||||
Private Sub Data_Load()
|
||||
' ### Settings ###
|
||||
Dim InIForEachDat As Boolean = False
|
||||
|
||||
'Textvelder Lehren
|
||||
Me.Clear()
|
||||
|
||||
'Absicherung für Undimensioniertes Array
|
||||
If Pub_aPfade.Length = 0 Then ReDim Pub_aPfade(0)
|
||||
|
||||
'Bereinige Falsche Indexangaben
|
||||
If UBound(Pub_aPfade) < Pub_nPfadeIndex Then Pub_nPfadeIndex = UBound(Pub_aPfade)
|
||||
|
||||
' ####################
|
||||
'Deklarieren
|
||||
'Dim
|
||||
Dim INI_Locate As String
|
||||
Dim INI_Name As String
|
||||
Dim PicturePath As String
|
||||
Dim sKey As String 'Um INI anzusteuern
|
||||
|
||||
PicturePath = Pub_aPfade(Pub_nPfadeIndex)
|
||||
|
||||
'Bildpfad auf existenz Prüfen
|
||||
If System.IO.File.Exists(PicturePath) Then
|
||||
' ### Bestimmen Der INI ###
|
||||
If InIForEachDat Then
|
||||
INI_Name = System.IO.Path.Combine(System.IO.Path.GetFileName(PicturePath), ".ini")
|
||||
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
|
||||
Else
|
||||
INI_Name = "Tagg.ini"
|
||||
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
|
||||
End If
|
||||
|
||||
'TaggedIMG
|
||||
TaggedIMG1.Image = Image.FromFile(PicturePath)
|
||||
TaggedIMG1.ID = System.IO.Path.GetFileName(PicturePath) 'Lade Wichtigste Eigenschaften = Immer Forhanden bei Geladenem TaggedIMG
|
||||
TaggedIMG1.RO = False
|
||||
|
||||
GB_Bild.Enabled = True
|
||||
GB_Ort.Enabled = True
|
||||
GB_Mark.Enabled = True
|
||||
|
||||
TaggedIMG1.Marks_Visible = cb_marks_visible.Checked
|
||||
|
||||
|
||||
'####################### Read from INI ######################################
|
||||
If System.IO.File.Exists(INI_Locate) Then
|
||||
sKey = TaggedIMG1.ID
|
||||
|
||||
'Lade Optionalen Rest:
|
||||
'Titel
|
||||
TaggedIMG1.Title = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Title", Nothing)
|
||||
'Kurzbeschreibung
|
||||
'##############################################################
|
||||
'ReFormate Description Text from "Description"
|
||||
TaggedIMG1.Description = Tools.Convert.Coding.Base64_To_Ascii(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Description", Nothing))
|
||||
'##############################################################
|
||||
|
||||
'Zeitangabe
|
||||
TaggedIMG1.Time = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Time", Nothing)
|
||||
'Ortsangabe-Title
|
||||
TaggedIMG1.Place.Title = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_Title", Nothing)
|
||||
'Ortsangabe-Adresse
|
||||
TaggedIMG1.Place.Adress = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_Adresse", Nothing)
|
||||
'Ortsangabe-Kurzbeschreibung
|
||||
'##############################################################
|
||||
'ReFormate Description Text from "Place.Description"
|
||||
TaggedIMG1.Place.Description = Tools.Convert.Coding.Base64_To_Ascii(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_Description", Nothing))
|
||||
'##############################################################
|
||||
|
||||
'Ortsangabe-GPS Koordinaten
|
||||
TaggedIMG1.Place.GPS = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Place_GPS", Nothing)
|
||||
|
||||
|
||||
'Führ Makrierungen einlese Schleife
|
||||
''Dim i As Long
|
||||
Dim Mark_ID As String
|
||||
Dim Mark_Left As Integer
|
||||
Dim Mark_Top As Integer
|
||||
Dim Mark_Width As Integer
|
||||
Dim Mark_Height As Integer
|
||||
Dim Mark_Description As String
|
||||
Dim Mark_Name As String
|
||||
Dim Mark_Index As Integer
|
||||
|
||||
'Load Marks
|
||||
Mark_Index = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark_MaxIndex", "-1"))
|
||||
If Mark_Index >= 0 Then
|
||||
For counter = 0 To Mark_Index
|
||||
Mark_ID = counter
|
||||
Mark_Left = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Left"))
|
||||
Mark_Top = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Top"))
|
||||
Mark_Width = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Width"))
|
||||
Mark_Height = Convert.ToInt32(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Height"))
|
||||
Mark_Name = Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Name")
|
||||
Mark_Description = Tools.Convert.Coding.Base64_To_Ascii(Tools.Data.File.INI_ReadValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Description"))
|
||||
|
||||
TaggedIMG1.Marks_Set(Mark_ID, "Create", Mark_Left, Mark_Top, Mark_Width, Mark_Height, Mark_Name, Mark_Description)
|
||||
|
||||
Mark_ID = 0
|
||||
Mark_Left = 0
|
||||
Mark_Top = 0
|
||||
Mark_Width = 0
|
||||
Mark_Height = 0
|
||||
Mark_Name = ""
|
||||
Mark_Description = ""
|
||||
|
||||
Next
|
||||
nCountMarks = Mark_Index + 1
|
||||
End If
|
||||
|
||||
End If
|
||||
'######################## End Read #########################################
|
||||
|
||||
|
||||
|
||||
'Zeigt den BildPfad an
|
||||
Label7.Text = Pub_aPfade(Pub_nPfadeIndex)
|
||||
|
||||
'Befülle die TextBox-en
|
||||
tb_Bild_Name.Text = TaggedIMG1.Title
|
||||
tb_Bild_Time.Text = TaggedIMG1.Time
|
||||
tb_Bild_Description.Text = TaggedIMG1.Description
|
||||
|
||||
tb_Place_Name.Text = TaggedIMG1.Place.Title
|
||||
tb_Place_Addresse.Text = TaggedIMG1.Place.Adress
|
||||
tb_Place_GPS.Text = TaggedIMG1.Place.GPS
|
||||
tb_Place_Description.Text = TaggedIMG1.Place.Description
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Data_Save()
|
||||
|
||||
'### INI Einstellungen ###
|
||||
Dim ForEachDat As Boolean = False
|
||||
Dim INI_Locate As String
|
||||
Dim INI_Name As String
|
||||
Dim PicturePath As String = Pub_aPfade(Pub_nPfadeIndex)
|
||||
|
||||
If ForEachDat Then
|
||||
INI_Name = System.IO.Path.Combine(System.IO.Path.GetFileName(PicturePath), ".ini")
|
||||
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
|
||||
Else
|
||||
INI_Name = "Tagg.ini"
|
||||
INI_Locate = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(PicturePath), INI_Name)
|
||||
End If
|
||||
|
||||
'### Main #################
|
||||
If System.IO.File.Exists(PicturePath) Then
|
||||
If Not System.IO.File.Exists(INI_Locate) Then System.IO.File.Create(INI_Locate)
|
||||
|
||||
'Deklarationen
|
||||
Dim sKey = TaggedIMG1.ID
|
||||
|
||||
'Titel
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Title", TaggedIMG1.Title)
|
||||
|
||||
'Kurzbeschreibung
|
||||
'##############################################################
|
||||
'Formate Description Text from "Description"
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Description", Tools.Convert.Coding.Ascii_To_Base64(TaggedIMG1.Description))
|
||||
'##############################################################
|
||||
|
||||
'Zeitangabe
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Time", TaggedIMG1.Time)
|
||||
'Ortsangabe-Title
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_Title", TaggedIMG1.Place.Title)
|
||||
'Ortsangabe-Adresse
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_Adresse", TaggedIMG1.Place.Adress)
|
||||
|
||||
'Ortsangabe-Kurzbeschreibung
|
||||
'##############################################################
|
||||
'Formate Description Text from "TMP_TaggIMG.Place.Description"
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_Description", Tools.Convert.Coding.Ascii_To_Base64(TaggedIMG1.Place.Description))
|
||||
'##############################################################
|
||||
|
||||
'Ortsangabe-GPS Koordinaten
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Place_GPS", TaggedIMG1.Place.GPS)
|
||||
|
||||
|
||||
Dim oTemp() As Mark = TaggedIMG1.Marks_GetAll
|
||||
Dim counter As Integer
|
||||
|
||||
|
||||
counter = -1
|
||||
For Each Markierung As Mark In oTemp
|
||||
If (Markierung.Command = "Nothing") Or (Markierung.Command = "Change") Or (Markierung.Command = "Create") Then
|
||||
counter += 1
|
||||
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_ID", Convert.ToString(counter))
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Left", Convert.ToString(Markierung.Left))
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Top", Convert.ToString(Markierung.Top))
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Width", Convert.ToString(Markierung.Width))
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Height", Convert.ToString(Markierung.Height))
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Name", Convert.ToString(Markierung.Name))
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark" & Convert.ToString(counter) & "_Description", Tools.Convert.Coding.Ascii_To_Base64(Markierung.Description))
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
Tools.Data.File.INI_WriteValue(INI_Locate, sKey, "Mark_MaxIndex", counter)
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
|
@ -1,406 +0,0 @@
|
|||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Main
|
||||
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.PictureBox1 = New System.Windows.Forms.PictureBox()
|
||||
Me.b_next = New System.Windows.Forms.Button()
|
||||
Me.b_last = New System.Windows.Forms.Button()
|
||||
Me.b_exit = New System.Windows.Forms.Button()
|
||||
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.tb_Bild_Time = New System.Windows.Forms.TextBox()
|
||||
Me.rtb_Bild_Description = New System.Windows.Forms.RichTextBox()
|
||||
Me.tb_Bild_Title = New System.Windows.Forms.TextBox()
|
||||
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
|
||||
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
|
||||
Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.Position = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.Radius = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.Column2 = New System.Windows.Forms.DataGridViewTextBoxColumn()
|
||||
Me.b_loaddir = New System.Windows.Forms.Button()
|
||||
Me.b_save = New System.Windows.Forms.Button()
|
||||
Me.b_reloaddir = New System.Windows.Forms.Button()
|
||||
Me.GroupBox3 = New System.Windows.Forms.GroupBox()
|
||||
Me.rtb_Place_Description = New System.Windows.Forms.RichTextBox()
|
||||
Me.Label4 = New System.Windows.Forms.Label()
|
||||
Me.Label5 = New System.Windows.Forms.Label()
|
||||
Me.Label6 = New System.Windows.Forms.Label()
|
||||
Me.tb_Place_GPS = New System.Windows.Forms.TextBox()
|
||||
Me.tb_Place_Addresse = New System.Windows.Forms.TextBox()
|
||||
Me.GroupBox4 = New System.Windows.Forms.GroupBox()
|
||||
Me.cb_AutoSave = New System.Windows.Forms.CheckBox()
|
||||
Me.cb_marks_visible = New System.Windows.Forms.CheckBox()
|
||||
Me.Label7 = New System.Windows.Forms.Label()
|
||||
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.GroupBox1.SuspendLayout()
|
||||
Me.GroupBox2.SuspendLayout()
|
||||
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.GroupBox3.SuspendLayout()
|
||||
Me.GroupBox4.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'PictureBox1
|
||||
'
|
||||
Me.PictureBox1.Location = New System.Drawing.Point(12, 12)
|
||||
Me.PictureBox1.Name = "PictureBox1"
|
||||
Me.PictureBox1.Size = New System.Drawing.Size(717, 618)
|
||||
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
|
||||
Me.PictureBox1.TabIndex = 0
|
||||
Me.PictureBox1.TabStop = False
|
||||
'
|
||||
'b_next
|
||||
'
|
||||
Me.b_next.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.b_next.Location = New System.Drawing.Point(196, 651)
|
||||
Me.b_next.Name = "b_next"
|
||||
Me.b_next.Size = New System.Drawing.Size(178, 51)
|
||||
Me.b_next.TabIndex = 2
|
||||
Me.b_next.Text = "Nächstes Bild"
|
||||
Me.b_next.UseVisualStyleBackColor = True
|
||||
'
|
||||
'b_last
|
||||
'
|
||||
Me.b_last.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.b_last.Location = New System.Drawing.Point(12, 651)
|
||||
Me.b_last.Name = "b_last"
|
||||
Me.b_last.Size = New System.Drawing.Size(178, 51)
|
||||
Me.b_last.TabIndex = 3
|
||||
Me.b_last.Text = "Leztes Bild"
|
||||
Me.b_last.UseVisualStyleBackColor = True
|
||||
'
|
||||
'b_exit
|
||||
'
|
||||
Me.b_exit.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.b_exit.Location = New System.Drawing.Point(916, 651)
|
||||
Me.b_exit.Name = "b_exit"
|
||||
Me.b_exit.Size = New System.Drawing.Size(178, 51)
|
||||
Me.b_exit.TabIndex = 4
|
||||
Me.b_exit.Text = "Beenden"
|
||||
Me.b_exit.UseVisualStyleBackColor = True
|
||||
'
|
||||
'GroupBox1
|
||||
'
|
||||
Me.GroupBox1.Controls.Add(Me.Label3)
|
||||
Me.GroupBox1.Controls.Add(Me.Label2)
|
||||
Me.GroupBox1.Controls.Add(Me.Label1)
|
||||
Me.GroupBox1.Controls.Add(Me.tb_Bild_Time)
|
||||
Me.GroupBox1.Controls.Add(Me.rtb_Bild_Description)
|
||||
Me.GroupBox1.Controls.Add(Me.tb_Bild_Title)
|
||||
Me.GroupBox1.Location = New System.Drawing.Point(742, 16)
|
||||
Me.GroupBox1.Name = "GroupBox1"
|
||||
Me.GroupBox1.Size = New System.Drawing.Size(352, 162)
|
||||
Me.GroupBox1.TabIndex = 6
|
||||
Me.GroupBox1.TabStop = False
|
||||
Me.GroupBox1.Text = "Bild"
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.AutoSize = True
|
||||
Me.Label3.Location = New System.Drawing.Point(8, 74)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(69, 13)
|
||||
Me.Label3.TabIndex = 5
|
||||
Me.Label3.Text = "Kommentare:"
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Location = New System.Drawing.Point(8, 45)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(59, 13)
|
||||
Me.Label2.TabIndex = 4
|
||||
Me.Label2.Text = "Zeit/-raum:"
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(6, 22)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(30, 13)
|
||||
Me.Label1.TabIndex = 3
|
||||
Me.Label1.Text = "Titel:"
|
||||
'
|
||||
'tb_Bild_Time
|
||||
'
|
||||
Me.tb_Bild_Time.Location = New System.Drawing.Point(83, 45)
|
||||
Me.tb_Bild_Time.Name = "tb_Bild_Time"
|
||||
Me.tb_Bild_Time.Size = New System.Drawing.Size(263, 20)
|
||||
Me.tb_Bild_Time.TabIndex = 2
|
||||
'
|
||||
'rtb_Bild_Description
|
||||
'
|
||||
Me.rtb_Bild_Description.Location = New System.Drawing.Point(83, 70)
|
||||
Me.rtb_Bild_Description.Name = "rtb_Bild_Description"
|
||||
Me.rtb_Bild_Description.Size = New System.Drawing.Size(263, 86)
|
||||
Me.rtb_Bild_Description.TabIndex = 1
|
||||
Me.rtb_Bild_Description.Text = "Tasks: Info in Textvelder laden, Mark-Array Funktion,LoadPhotoDir abfangen einer " & _
|
||||
"lehren Pfadangabe, Kreat New Class TaggedIMG"
|
||||
'
|
||||
'tb_Bild_Title
|
||||
'
|
||||
Me.tb_Bild_Title.Location = New System.Drawing.Point(83, 19)
|
||||
Me.tb_Bild_Title.Name = "tb_Bild_Title"
|
||||
Me.tb_Bild_Title.Size = New System.Drawing.Size(263, 20)
|
||||
Me.tb_Bild_Title.TabIndex = 0
|
||||
'
|
||||
'GroupBox2
|
||||
'
|
||||
Me.GroupBox2.Controls.Add(Me.DataGridView1)
|
||||
Me.GroupBox2.Location = New System.Drawing.Point(742, 317)
|
||||
Me.GroupBox2.Name = "GroupBox2"
|
||||
Me.GroupBox2.Size = New System.Drawing.Size(352, 246)
|
||||
Me.GroupBox2.TabIndex = 7
|
||||
Me.GroupBox2.TabStop = False
|
||||
Me.GroupBox2.Text = "Markierungen"
|
||||
'
|
||||
'DataGridView1
|
||||
'
|
||||
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
|
||||
Me.DataGridView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.Column1, Me.Position, Me.Radius, Me.Column2})
|
||||
Me.DataGridView1.Location = New System.Drawing.Point(11, 19)
|
||||
Me.DataGridView1.Name = "DataGridView1"
|
||||
Me.DataGridView1.Size = New System.Drawing.Size(329, 221)
|
||||
Me.DataGridView1.TabIndex = 1
|
||||
'
|
||||
'Column1
|
||||
'
|
||||
Me.Column1.HeaderText = "Nr."
|
||||
Me.Column1.Name = "Column1"
|
||||
'
|
||||
'Position
|
||||
'
|
||||
Me.Position.HeaderText = "Position"
|
||||
Me.Position.Name = "Position"
|
||||
Me.Position.Visible = False
|
||||
'
|
||||
'Radius
|
||||
'
|
||||
Me.Radius.HeaderText = "Radius"
|
||||
Me.Radius.Name = "Radius"
|
||||
Me.Radius.Visible = False
|
||||
'
|
||||
'Column2
|
||||
'
|
||||
Me.Column2.HeaderText = "Beschreibung"
|
||||
Me.Column2.Name = "Column2"
|
||||
'
|
||||
'b_loaddir
|
||||
'
|
||||
Me.b_loaddir.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.b_loaddir.Location = New System.Drawing.Point(732, 651)
|
||||
Me.b_loaddir.Name = "b_loaddir"
|
||||
Me.b_loaddir.Size = New System.Drawing.Size(178, 51)
|
||||
Me.b_loaddir.TabIndex = 8
|
||||
Me.b_loaddir.Text = "Ordner Öffnen"
|
||||
Me.b_loaddir.UseVisualStyleBackColor = True
|
||||
'
|
||||
'b_save
|
||||
'
|
||||
Me.b_save.Font = New System.Drawing.Font("Comic Sans MS", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.b_save.Location = New System.Drawing.Point(380, 651)
|
||||
Me.b_save.Name = "b_save"
|
||||
Me.b_save.Size = New System.Drawing.Size(178, 51)
|
||||
Me.b_save.TabIndex = 9
|
||||
Me.b_save.Text = "Änderungen Speichern"
|
||||
Me.b_save.UseVisualStyleBackColor = True
|
||||
'
|
||||
'b_reloaddir
|
||||
'
|
||||
Me.b_reloaddir.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.b_reloaddir.Location = New System.Drawing.Point(564, 651)
|
||||
Me.b_reloaddir.Name = "b_reloaddir"
|
||||
Me.b_reloaddir.Size = New System.Drawing.Size(165, 51)
|
||||
Me.b_reloaddir.TabIndex = 10
|
||||
Me.b_reloaddir.Text = "Neu Laden"
|
||||
Me.b_reloaddir.UseVisualStyleBackColor = True
|
||||
'
|
||||
'GroupBox3
|
||||
'
|
||||
Me.GroupBox3.Controls.Add(Me.rtb_Place_Description)
|
||||
Me.GroupBox3.Controls.Add(Me.Label4)
|
||||
Me.GroupBox3.Controls.Add(Me.Label5)
|
||||
Me.GroupBox3.Controls.Add(Me.Label6)
|
||||
Me.GroupBox3.Controls.Add(Me.tb_Place_GPS)
|
||||
Me.GroupBox3.Controls.Add(Me.tb_Place_Addresse)
|
||||
Me.GroupBox3.Location = New System.Drawing.Point(742, 184)
|
||||
Me.GroupBox3.Name = "GroupBox3"
|
||||
Me.GroupBox3.Size = New System.Drawing.Size(352, 127)
|
||||
Me.GroupBox3.TabIndex = 11
|
||||
Me.GroupBox3.TabStop = False
|
||||
Me.GroupBox3.Text = "Aufnahme Ort"
|
||||
'
|
||||
'rtb_Place_Description
|
||||
'
|
||||
Me.rtb_Place_Description.Location = New System.Drawing.Point(83, 69)
|
||||
Me.rtb_Place_Description.Name = "rtb_Place_Description"
|
||||
Me.rtb_Place_Description.Size = New System.Drawing.Size(263, 52)
|
||||
Me.rtb_Place_Description.TabIndex = 6
|
||||
Me.rtb_Place_Description.Text = ""
|
||||
'
|
||||
'Label4
|
||||
'
|
||||
Me.Label4.AutoSize = True
|
||||
Me.Label4.Location = New System.Drawing.Point(8, 74)
|
||||
Me.Label4.Name = "Label4"
|
||||
Me.Label4.Size = New System.Drawing.Size(69, 13)
|
||||
Me.Label4.TabIndex = 5
|
||||
Me.Label4.Text = "Kommentare:"
|
||||
'
|
||||
'Label5
|
||||
'
|
||||
Me.Label5.AutoSize = True
|
||||
Me.Label5.Location = New System.Drawing.Point(8, 45)
|
||||
Me.Label5.Name = "Label5"
|
||||
Me.Label5.Size = New System.Drawing.Size(67, 13)
|
||||
Me.Label5.TabIndex = 4
|
||||
Me.Label5.Text = "Koordinaten:"
|
||||
'
|
||||
'Label6
|
||||
'
|
||||
Me.Label6.AutoSize = True
|
||||
Me.Label6.Location = New System.Drawing.Point(6, 22)
|
||||
Me.Label6.Name = "Label6"
|
||||
Me.Label6.Size = New System.Drawing.Size(48, 13)
|
||||
Me.Label6.TabIndex = 3
|
||||
Me.Label6.Text = "Adresse:"
|
||||
'
|
||||
'tb_Place_GPS
|
||||
'
|
||||
Me.tb_Place_GPS.Location = New System.Drawing.Point(83, 45)
|
||||
Me.tb_Place_GPS.Name = "tb_Place_GPS"
|
||||
Me.tb_Place_GPS.Size = New System.Drawing.Size(263, 20)
|
||||
Me.tb_Place_GPS.TabIndex = 2
|
||||
'
|
||||
'tb_Place_Addresse
|
||||
'
|
||||
Me.tb_Place_Addresse.Location = New System.Drawing.Point(83, 19)
|
||||
Me.tb_Place_Addresse.Name = "tb_Place_Addresse"
|
||||
Me.tb_Place_Addresse.Size = New System.Drawing.Size(263, 20)
|
||||
Me.tb_Place_Addresse.TabIndex = 0
|
||||
'
|
||||
'GroupBox4
|
||||
'
|
||||
Me.GroupBox4.Controls.Add(Me.cb_AutoSave)
|
||||
Me.GroupBox4.Controls.Add(Me.cb_marks_visible)
|
||||
Me.GroupBox4.Location = New System.Drawing.Point(742, 569)
|
||||
Me.GroupBox4.Name = "GroupBox4"
|
||||
Me.GroupBox4.Size = New System.Drawing.Size(346, 61)
|
||||
Me.GroupBox4.TabIndex = 12
|
||||
Me.GroupBox4.TabStop = False
|
||||
Me.GroupBox4.Text = "Optionen"
|
||||
'
|
||||
'cb_AutoSave
|
||||
'
|
||||
Me.cb_AutoSave.AutoSize = True
|
||||
Me.cb_AutoSave.Location = New System.Drawing.Point(11, 38)
|
||||
Me.cb_AutoSave.Name = "cb_AutoSave"
|
||||
Me.cb_AutoSave.Size = New System.Drawing.Size(135, 17)
|
||||
Me.cb_AutoSave.TabIndex = 4
|
||||
Me.cb_AutoSave.Text = "Automatisch Speichern"
|
||||
Me.cb_AutoSave.UseVisualStyleBackColor = True
|
||||
'
|
||||
'cb_marks_visible
|
||||
'
|
||||
Me.cb_marks_visible.AutoSize = True
|
||||
Me.cb_marks_visible.Location = New System.Drawing.Point(11, 19)
|
||||
Me.cb_marks_visible.Name = "cb_marks_visible"
|
||||
Me.cb_marks_visible.Size = New System.Drawing.Size(121, 17)
|
||||
Me.cb_marks_visible.TabIndex = 3
|
||||
Me.cb_marks_visible.Text = "Zeige Markierungen"
|
||||
Me.cb_marks_visible.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Label7
|
||||
'
|
||||
Me.Label7.AutoSize = True
|
||||
Me.Label7.Location = New System.Drawing.Point(9, 633)
|
||||
Me.Label7.Name = "Label7"
|
||||
Me.Label7.Size = New System.Drawing.Size(0, 13)
|
||||
Me.Label7.TabIndex = 13
|
||||
'
|
||||
'Main
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(1106, 723)
|
||||
Me.Controls.Add(Me.Label7)
|
||||
Me.Controls.Add(Me.GroupBox4)
|
||||
Me.Controls.Add(Me.GroupBox3)
|
||||
Me.Controls.Add(Me.b_reloaddir)
|
||||
Me.Controls.Add(Me.b_save)
|
||||
Me.Controls.Add(Me.b_loaddir)
|
||||
Me.Controls.Add(Me.GroupBox2)
|
||||
Me.Controls.Add(Me.GroupBox1)
|
||||
Me.Controls.Add(Me.b_exit)
|
||||
Me.Controls.Add(Me.b_last)
|
||||
Me.Controls.Add(Me.b_next)
|
||||
Me.Controls.Add(Me.PictureBox1)
|
||||
Me.Name = "Main"
|
||||
Me.Text = "SB-PictureTagger"
|
||||
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.GroupBox1.ResumeLayout(False)
|
||||
Me.GroupBox1.PerformLayout()
|
||||
Me.GroupBox2.ResumeLayout(False)
|
||||
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.GroupBox3.ResumeLayout(False)
|
||||
Me.GroupBox3.PerformLayout()
|
||||
Me.GroupBox4.ResumeLayout(False)
|
||||
Me.GroupBox4.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
|
||||
Friend WithEvents b_next As System.Windows.Forms.Button
|
||||
Friend WithEvents b_last As System.Windows.Forms.Button
|
||||
Friend WithEvents b_exit As System.Windows.Forms.Button
|
||||
Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
|
||||
Friend WithEvents Label3 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label2 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label1 As System.Windows.Forms.Label
|
||||
Friend WithEvents tb_Bild_Time As System.Windows.Forms.TextBox
|
||||
Friend WithEvents rtb_Bild_Description As System.Windows.Forms.RichTextBox
|
||||
Friend WithEvents tb_Bild_Title As System.Windows.Forms.TextBox
|
||||
Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
|
||||
Friend WithEvents DataGridView1 As System.Windows.Forms.DataGridView
|
||||
Friend WithEvents b_loaddir As System.Windows.Forms.Button
|
||||
Friend WithEvents b_save As System.Windows.Forms.Button
|
||||
Friend WithEvents b_reloaddir As System.Windows.Forms.Button
|
||||
Friend WithEvents Column1 As System.Windows.Forms.DataGridViewTextBoxColumn
|
||||
Friend WithEvents Position As System.Windows.Forms.DataGridViewTextBoxColumn
|
||||
Friend WithEvents Radius As System.Windows.Forms.DataGridViewTextBoxColumn
|
||||
Friend WithEvents Column2 As System.Windows.Forms.DataGridViewTextBoxColumn
|
||||
Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
|
||||
Friend WithEvents Label4 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label5 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label6 As System.Windows.Forms.Label
|
||||
Friend WithEvents tb_Place_GPS As System.Windows.Forms.TextBox
|
||||
Friend WithEvents tb_Place_Addresse As System.Windows.Forms.TextBox
|
||||
Friend WithEvents rtb_Place_Description As System.Windows.Forms.RichTextBox
|
||||
Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
|
||||
Friend WithEvents cb_AutoSave As System.Windows.Forms.CheckBox
|
||||
Friend WithEvents cb_marks_visible As System.Windows.Forms.CheckBox
|
||||
Friend WithEvents Label7 As System.Windows.Forms.Label
|
||||
|
||||
End Class
|
|
@ -1,132 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Position.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Radius.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
|
@ -1,213 +0,0 @@
|
|||
Option Explicit On
|
||||
Imports System.IO
|
||||
|
||||
Public Class Main
|
||||
'Deklariere Public Variables
|
||||
Public pub_aPhotos(0) As String 'Array mit den Photo Pfaden
|
||||
Public pub_sPath As String 'String mit dem Arbeits Verzeichnis
|
||||
Public pub_nPhotoIndex As Long = 0 'IndexNR des pub_aPhotos Arrays
|
||||
Public pub_bChangeTagg As Boolean = False 'Wenn ein Tagg geänderd wird:= True bis SaveTagg()
|
||||
Public pub_aConfigForm(0) As Object 'Array mit FormConfiguration
|
||||
|
||||
'###################################################################################################################
|
||||
'############### Main ##############################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
Private Sub Main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
||||
'Initial
|
||||
LoadConfigForm()
|
||||
|
||||
End Sub 'Main_Load
|
||||
|
||||
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
|
||||
SaveTagg()
|
||||
SaveConfigForm()
|
||||
End Sub 'Form1_Closing
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'############### Form1_Function-Tasks ##############################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
'###################################################################################################################
|
||||
'############### Form1_Sub-Tasks ###################################################################################
|
||||
'###################################################################################################################
|
||||
Private Sub Clear()
|
||||
tb_Bild_Time.Clear()
|
||||
tb_Bild_Title.Clear()
|
||||
tb_Place_Addresse.Clear()
|
||||
tb_Place_GPS.Clear()
|
||||
rtb_Bild_Description.Clear()
|
||||
rtb_Place_Description.Clear()
|
||||
ReDim pub_aPhotos(0)
|
||||
pub_aPhotos(0) = Nothing
|
||||
pub_nPhotoIndex = 0
|
||||
End Sub
|
||||
|
||||
Private Sub LoadConfigForm()
|
||||
'pub_aConfigForm()
|
||||
' <--- IN Work
|
||||
'pub_sPath = INI:last_Path
|
||||
End Sub 'LoadConfigForm
|
||||
|
||||
Private Sub SaveConfigForm()
|
||||
'pub_aConfigForm()
|
||||
' <--- IN Work
|
||||
'INI:last_Path = pub_sPath
|
||||
'INI:Auto_Save =
|
||||
End Sub 'SaveConfigForm
|
||||
|
||||
Private Sub Reload()
|
||||
SaveTaggByEvent()
|
||||
pub_aPhotos = Modul_SB_PictureTagger.DirReadPhotos(pub_sPath)
|
||||
LoadTaggedIMG()
|
||||
End Sub 'Reload
|
||||
|
||||
Private Sub SaveTagg()
|
||||
|
||||
Dim ID As String = pub_aPhotos(pub_nPhotoIndex)
|
||||
Dim iTaggedIMG As New TaggedIMG
|
||||
If ID <> "" Then 'Später wird die ID der DB übergeben
|
||||
|
||||
iTaggedIMG = Modul_SB_PictureTagger.LoadPicture(ID)
|
||||
Label7.Text = iTaggedIMG.Path
|
||||
|
||||
'TextBox sichern
|
||||
If tb_Bild_Time.Text <> Nothing Then iTaggedIMG.Time = tb_Bild_Time.Text
|
||||
If tb_Place_Addresse.Text <> Nothing Then iTaggedIMG.Ort.Adresse = tb_Place_Addresse.Text
|
||||
If tb_Place_GPS.Text <> Nothing Then iTaggedIMG.Ort.GPS = tb_Place_GPS.Text
|
||||
If rtb_Bild_Description.Text <> Nothing Then iTaggedIMG.Description = rtb_Bild_Description.Text
|
||||
If rtb_Place_Description.Text <> Nothing Then iTaggedIMG.Ort.Description = rtb_Place_Description.Text
|
||||
|
||||
'Erstelle Marks
|
||||
'Lese Marks
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'Call The Save Methode from Modul_SB-PictureTagger
|
||||
'Modul_SB_PictureTagger.Save_Taggs(pub_iTaggedIMG, IO.Path.GetDirectoryName(pub_sPath))
|
||||
pub_bChangeTagg = False
|
||||
End Sub 'SaveTagg
|
||||
|
||||
Private Sub SaveTaggByEvent()
|
||||
If pub_bChangeTagg Then
|
||||
If cb_AutoSave.Checked Then
|
||||
SaveTagg()
|
||||
ElseIf MessageBox.Show("Do you want to save changes?", "SB-PictureTagger", MessageBoxButtons.YesNo) = DialogResult.Yes Then
|
||||
SaveTagg()
|
||||
Else
|
||||
pub_bChangeTagg = False
|
||||
End If
|
||||
End If
|
||||
End Sub 'SaveTaggByEvent
|
||||
|
||||
Private Sub LoadTaggedIMG()
|
||||
Dim ID As String = pub_aPhotos(pub_nPhotoIndex)
|
||||
Dim iTaggedIMG As New TaggedIMG
|
||||
If ID <> "" Then 'Später wird die ID der DB übergeben
|
||||
|
||||
SaveTaggByEvent()
|
||||
|
||||
iTaggedIMG = Modul_SB_PictureTagger.LoadPicture(ID)
|
||||
Label7.Text = iTaggedIMG.Path
|
||||
'Befülle PictureBox
|
||||
PictureBox1.Image = iTaggedIMG.Image
|
||||
|
||||
'Textvelder Lehren
|
||||
Clear()
|
||||
|
||||
'Befülle TextBox
|
||||
tb_Bild_Time.Text = iTaggedIMG.Time
|
||||
tb_Bild_Title.Text = iTaggedIMG.Title
|
||||
tb_Place_Addresse.Text = iTaggedIMG.Ort.Adresse
|
||||
tb_Place_GPS.Text = iTaggedIMG.Ort.GPS
|
||||
rtb_Bild_Description.Text = iTaggedIMG.Description
|
||||
rtb_Place_Description.Text = iTaggedIMG.Ort.Description
|
||||
|
||||
'End Sub
|
||||
|
||||
'Erstelle Marks
|
||||
|
||||
End If
|
||||
End Sub 'LoadTaggedIMG
|
||||
|
||||
'###################################################################################################################
|
||||
'############### Buton Events: Click ###############################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
|
||||
Private Sub b_exit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_exit.Click
|
||||
' Programm Beenden
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub b_loaddir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_loaddir.Click
|
||||
'Laden eines zu Taggenden Bilder-Verzeichnis
|
||||
pub_sPath = Modul_Tools.FolderBrowserDialog()
|
||||
Reload()
|
||||
End Sub
|
||||
|
||||
Private Sub b_reloaddir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_reloaddir.Click
|
||||
Reload()
|
||||
End Sub
|
||||
|
||||
Private Sub b_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_save.Click
|
||||
If pub_bChangeTagg = True Then
|
||||
SaveTagg()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub b_next_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_next.Click
|
||||
If pub_nPhotoIndex <= (UBound(pub_aPhotos) - 1) Then
|
||||
pub_nPhotoIndex += 1
|
||||
LoadTaggedIMG()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub b_last_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_last.Click
|
||||
If pub_nPhotoIndex > 0 Then
|
||||
pub_nPhotoIndex = pub_nPhotoIndex - 1
|
||||
LoadTaggedIMG()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'############### TextBox: TextCanched ##############################################################################
|
||||
'###################################################################################################################
|
||||
Private Sub rtb_Bild_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rtb_Bild_Description.TextChanged
|
||||
pub_bChangeTagg = True
|
||||
End Sub
|
||||
|
||||
Private Sub rtb_Place_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rtb_Place_Description.TextChanged
|
||||
pub_bChangeTagg = True
|
||||
End Sub
|
||||
|
||||
Private Sub tb_Bild_Time_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Time.TextChanged
|
||||
pub_bChangeTagg = True
|
||||
End Sub
|
||||
|
||||
Private Sub tb_Bild_Title_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Title.TextChanged
|
||||
pub_bChangeTagg = True
|
||||
End Sub
|
||||
|
||||
Private Sub tb_Place_Addresse_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_Addresse.TextChanged
|
||||
pub_bChangeTagg = True
|
||||
End Sub
|
||||
|
||||
Private Sub tb_Place_GPS_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_GPS.TextChanged
|
||||
pub_bChangeTagg = True
|
||||
End Sub
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'############### CheckBox Events: CheckStateChanged ################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
Private Sub cb_marks_visible_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
'Wenn cb_marks_visible=true then ZeichneMarks() ELSE VerstekeMarks()
|
||||
End Sub
|
||||
|
||||
End Class
|
|
@ -0,0 +1,360 @@
|
|||
Namespace Tools
|
||||
Namespace Filesystem
|
||||
<HideModuleName()>
|
||||
Module Filesystem
|
||||
|
||||
'######################################################################################
|
||||
'################Function GetFilesFromDir(Pfad; Extention; RecursionsTiefe)############
|
||||
Public Function GetFilesFromDir(ByVal Pfad As String, ByVal Extention() As String, Optional ByVal RecursionsTiefe As Integer = 0) As String()
|
||||
|
||||
If Extention.Length <= 0 Then ReDim Extention(0)
|
||||
If Extention(0) = Nothing Then Extention(0) = ""
|
||||
|
||||
Dim aPathList(0) As String
|
||||
Dim aPathList_Extention(0) As String
|
||||
|
||||
'Überprüfen auf Pfad Korektheit
|
||||
If System.IO.Directory.Exists(Pfad) Then
|
||||
|
||||
'Auslesen der Ordner
|
||||
_GetFilesFromDir(aPathList, Pfad, RecursionsTiefe)
|
||||
If aPathList.Length <= 0 Then ReDim aPathList(0)
|
||||
|
||||
'Extention Rausfiltern
|
||||
If Not (Array.IndexOf(Extention, "*") >= 0) Then
|
||||
For Each EachFile In aPathList
|
||||
If (Array.IndexOf(Extention, System.IO.Path.GetExtension(EachFile)) >= 0) Then
|
||||
'Undimensionierte Arrays werden Dimensioniert
|
||||
If aPathList_Extention.Length <= 0 Then ReDim aPathList_Extention(0)
|
||||
|
||||
'Wenn Letzter Wert Im Array nicht vergeben ist
|
||||
If (aPathList_Extention(UBound(aPathList_Extention)) = Nothing) Or (aPathList_Extention(UBound(aPathList_Extention)) = "") Then
|
||||
aPathList_Extention(UBound(aPathList_Extention)) = EachFile
|
||||
Else
|
||||
'Wenn Letzter Wert Im Array ist vergeben!
|
||||
ReDim Preserve aPathList_Extention(UBound(aPathList_Extention) + 1)
|
||||
aPathList_Extention(UBound(aPathList_Extention)) = EachFile
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
aPathList_Extention = aPathList
|
||||
End If
|
||||
|
||||
'Array Sortieren
|
||||
Array.Sort(aPathList_Extention)
|
||||
|
||||
Else
|
||||
aPathList_Extention(0) = Nothing
|
||||
End If
|
||||
GetFilesFromDir = aPathList_Extention
|
||||
End Function
|
||||
|
||||
Private Sub _GetFilesFromDir(ByRef aAim As String(), ByVal Pfad As String, ByVal RecursionsTiefe As Integer)
|
||||
Try 'Um das Zugrifsrecht Problem zu Beseitigen
|
||||
If RecursionsTiefe > 0 Then
|
||||
Dim aDirs As String() = System.IO.Directory.GetDirectories(Pfad)
|
||||
For Each EachDir In aDirs
|
||||
_GetFilesFromDir(aAim, EachDir, (RecursionsTiefe - 1))
|
||||
Next
|
||||
End If
|
||||
Dim aFiles As String() = System.IO.Directory.GetFiles(Pfad)
|
||||
|
||||
For Each EachFile In aFiles
|
||||
If aAim.Length <= 0 Then ReDim aAim(0)
|
||||
If (aAim(UBound(aAim)) = Nothing) Or (aAim(UBound(aAim)) = "") Then
|
||||
aAim(UBound(aAim)) = EachFile
|
||||
Else
|
||||
ReDim Preserve aAim(UBound(aAim) + 1)
|
||||
aAim(UBound(aAim)) = EachFile
|
||||
End If
|
||||
Next
|
||||
Catch err As System.UnauthorizedAccessException
|
||||
End Try
|
||||
End Sub 'Teil von Finction GetFilesFromDir
|
||||
'######################################################################################
|
||||
'######################################################################################
|
||||
|
||||
'### with .Net: Imports System.IO; Directory.Exists(Path)####
|
||||
Private Function FileExists(ByVal FileName As String) As Boolean
|
||||
On Error Resume Next
|
||||
FileExists = Not CBool(GetAttr(FileName) And (vbDirectory Or vbVolume))
|
||||
On Error GoTo 0
|
||||
End Function 'FileExists Vor VBA AND VB without .Net
|
||||
|
||||
'### with .Net: Imports System.IO; File.Exists(Path)####
|
||||
Private Function DirExists(ByVal DirectoryName As String) As Boolean
|
||||
On Error Resume Next
|
||||
DirExists = CBool(GetAttr(DirectoryName) And vbDirectory)
|
||||
On Error GoTo 0
|
||||
End Function 'DirExists Vor VBA AND VB without .Net
|
||||
'######################################################################################
|
||||
'######################################################################################
|
||||
|
||||
End Module
|
||||
End Namespace 'Filesystem
|
||||
Namespace Dialoge
|
||||
<HideModuleName()>
|
||||
Module Dialoge
|
||||
|
||||
Public Function FolderBrowserDialog(Optional ByVal sStartPath As String = "C:\", Optional ByVal ShowNewFolderButton As Boolean = True, Optional ByRef CheckError As Boolean = False) As String
|
||||
'Verändert die übergebene variable,
|
||||
'wenn der benutzer durch "OK" den neuen Pfad bestätigt
|
||||
FolderBrowserDialog = ""
|
||||
Using FolderBrowserD As New FolderBrowserDialog
|
||||
With FolderBrowserD
|
||||
' Ordnervorschlag
|
||||
.SelectedPath = sStartPath
|
||||
|
||||
.Description = "Bitte einen Ordner auswählen."
|
||||
|
||||
'#Button "Neuen Ordner erstellen" anzeigen
|
||||
.ShowNewFolderButton = ShowNewFolderButton
|
||||
|
||||
'#ruft Dialog auf, weitere Ausführung nur bei Resultat "OK"
|
||||
If .ShowDialog = Windows.Forms.DialogResult.OK Then
|
||||
FolderBrowserDialog = .SelectedPath
|
||||
Else
|
||||
CheckError = True '#Ausführung bei Abruch
|
||||
End If
|
||||
End With 'FolderBrowserD
|
||||
End Using
|
||||
End Function 'FolderBrowserDialog
|
||||
|
||||
'###################################################################################################################
|
||||
'############### OpenFileDialog ####################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
'Private Sub Button1_Click(ByVal sender As Object, ByVal e As _
|
||||
' EventArgs) Handles Button1.Click
|
||||
' ' ### OpenFileDialog ###
|
||||
' Dim txt As String = ""
|
||||
' Using ofd As New OpenFileDialog
|
||||
|
||||
' With ofd
|
||||
' ' Ordnervorschlag
|
||||
' .InitialDirectory = Pfad
|
||||
' .Title = "Wähle Datei zum öffnen"
|
||||
' ' Dateivorschlag (falls sinnvoll)
|
||||
' ' .FileName = "Datei.gif"
|
||||
|
||||
' ' Filter
|
||||
' .Filter = TextBox2.Text
|
||||
' ' boolsche Abfrage ob Mehrfachauswahl zulässig
|
||||
' .Multiselect = Not ChkEinzel.Checked
|
||||
|
||||
' ' Zeile ruft den Dialog auf, weitere Ausführung nur bei
|
||||
' ' Resultat OK:
|
||||
' If .ShowDialog = Windows.Forms.DialogResult.OK Then
|
||||
' If ChkEinzel.Checked = True Then
|
||||
' ' Bei Einzelauswahl wertet man .FileName aus
|
||||
' txt = .FileName & vbNewLine
|
||||
|
||||
' Else
|
||||
' ' Bei möglicher Multiselektion wertet man
|
||||
' ' das Array .FileNames aus
|
||||
' For Each filename As String In .FileNames
|
||||
' txt &= filename & vbNewLine
|
||||
' Next
|
||||
' End If
|
||||
' ' Welcher Filter wurde verwendet?
|
||||
' Dim idx As Integer = .FilterIndex
|
||||
' txt &= "FilterIndex: " & idx.ToString & vbNewLine
|
||||
' txt &= "Gewählter Filter: " & FilterDescription(.Filter, _
|
||||
' idx) & vbNewLine
|
||||
' txt &= "Multiselect: " & .Multiselect.ToString
|
||||
' Else
|
||||
' txt = "Abbruch durch Benutzer"
|
||||
' End If
|
||||
' End With
|
||||
' End Using
|
||||
' TextBox1.Text = txt
|
||||
'End Sub 'OpenFileDialog
|
||||
|
||||
'###################################################################################################################
|
||||
'############### SaveFileDialog ####################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
'Private Sub Button2_Click(ByVal sender As Object, ByVal e As _
|
||||
' EventArgs) Handles Button2.Click
|
||||
' ' ### SaveFileDialog ###
|
||||
' Dim txt As String
|
||||
' Using sfd As New SaveFileDialog
|
||||
|
||||
' With sfd
|
||||
' ' Ordnervorschlag
|
||||
' .InitialDirectory = Pfad
|
||||
' .Title = "Eingabe Datei zum speichern (Es wird hier nicht "_
|
||||
' "wirklich überschrieben)"
|
||||
' ' Dateivorschlag
|
||||
' .FileName = "Datei.gif"
|
||||
' ' Filter
|
||||
' .Filter = TextBox2.Text
|
||||
|
||||
' ' Zeile ruft den Dialog auf, weitere Ausführung nur bei
|
||||
' ' Resultat OK:
|
||||
' If .ShowDialog = Windows.Forms.DialogResult.OK Then
|
||||
' txt = .FileName & vbNewLine
|
||||
|
||||
' ' Welcher Filter wurde verwendet?
|
||||
' Dim idx As Integer = .FilterIndex
|
||||
' txt &= "FilterIndex: " & idx.ToString & vbNewLine
|
||||
' txt &= "Gewählter Filter: " & FilterDescription(.Filter, _
|
||||
' idx)
|
||||
' Else
|
||||
' txt = "Abbruch durch Benutzer"
|
||||
' End If
|
||||
' End With
|
||||
' End Using
|
||||
' TextBox1.Text = txt
|
||||
'End Sub 'SaveFileDialog
|
||||
|
||||
'###################################################################################################################
|
||||
'############### xxxxxxxxxxxxxxxxxxxxxxx ###########################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
'Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As _
|
||||
' Object, ByVal e As EventArgs) _
|
||||
' Handles ComboBox1.SelectedIndexChanged
|
||||
' Dim strFilter As String
|
||||
' Select Case ComboBox1.SelectedIndex
|
||||
' Case 0
|
||||
' ' Einfacher Filter
|
||||
' strFilter = "Gif Bilddateien|*.gif"
|
||||
' Case 1
|
||||
' ' Erweiterter Filter
|
||||
' strFilter = "JPEG Bilddateien|*.jpg|Gif Bilddateien|*.gif|Alle Dateien|*.*"
|
||||
' Case Else
|
||||
' ' Mehrere Dateierweiterungen in einer Auswahl
|
||||
' strFilter = "Alle Bilddateien|*.jpg; *.jpeg; *.bmp; *.gif, *.tif|Alle Dateien|*.*"
|
||||
' End Select
|
||||
|
||||
' TextBox2.Text = strFilter
|
||||
'End Sub 'ComboBox1_SelectedIndexChanged
|
||||
|
||||
'Private Function FilterDescription(ByVal Filter As String, _
|
||||
' ByVal Index As Integer) As String
|
||||
' ' erstellt aus dem Filterstring die Bezeichnung
|
||||
' Dim strArr() As String = Split(Filter, "|"), _
|
||||
' MyList As New List(Of String)
|
||||
' For i As Integer = 0 To strArr.GetUpperBound(0)
|
||||
' If (i Mod 2 = 0) Then MyList.Add(strArr(i))
|
||||
' Next
|
||||
' Return MyList(Index - 1)
|
||||
'End Function 'FilterDescription
|
||||
|
||||
End Module
|
||||
End Namespace 'Dialoge (Ordner Öffnen, Datei Öffnen, Datei Speichern, Ja/Nein, ...
|
||||
Namespace Convert
|
||||
Namespace Numeral_System
|
||||
'Gehört noch Proggramiert (Hex - Dezi - Dual - Römisch - ...)
|
||||
End Namespace 'Numeral_System (Hex - Dezi - Dual - Römisch - ...) in work
|
||||
Namespace Coding
|
||||
<HideModuleName()>
|
||||
Module Coding
|
||||
'######################################################################################
|
||||
'##################################Ascii AND Base64####################################
|
||||
'Ascii to Base64
|
||||
Public Function Ascii_To_Base64(ByVal AsciiString As String) As String
|
||||
If AsciiString = Nothing Then AsciiString = ""
|
||||
Dim raw As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(AsciiString)
|
||||
Ascii_To_Base64 = System.Convert.ToBase64String(raw)
|
||||
End Function
|
||||
'Base64 to Ascii
|
||||
Public Function Base64_To_Ascii(ByVal Base64String As String) As String
|
||||
Try
|
||||
Dim raw As Byte() = System.Convert.FromBase64String(Base64String)
|
||||
Base64_To_Ascii = System.Text.ASCIIEncoding.ASCII.GetString(raw)
|
||||
Catch ex As Exception
|
||||
Base64_To_Ascii = ""
|
||||
End Try
|
||||
End Function
|
||||
'######################################################################################
|
||||
'######################################################################################
|
||||
End Module 'Coding
|
||||
End Namespace 'Coding (Ascii, Base64, Dual<-in work, ...)
|
||||
Namespace Koordinaten
|
||||
<HideModuleName()>
|
||||
Module Koordinaten
|
||||
'Soll anhand der GPS Koordinaten GoogleMaps öfnen
|
||||
'URL ansteuerung: https://developers.google.com/maps/documentation/staticmaps/
|
||||
' String = "52.520817 13.40945"
|
||||
'
|
||||
'Umrechnung von Geo-Koordinaten: http://rechneronline.de/geo-koordinaten/
|
||||
' ___________________________________________________________________________________________________
|
||||
'| Grad, Minuten, Sekunden | Dezimalgrad | Grad, Dezimalminuten |
|
||||
'| z.B. N52° 31' 14.941" E13° 24' 34.020" | z.B. 52.520817 13.40945 | z.B. N52° 31.249 E13° 24.567 |
|
||||
' ---------------------------------------------------------------------------------------------------
|
||||
' URL= "http://maps.google.com/maps?q=" & String
|
||||
'In Projekt SB-PictureTagger: Set a LincLable ;)
|
||||
End Module 'Koordinaten
|
||||
End Namespace 'Koordinaten (GPS einheiten, MapsURLs,...)
|
||||
End Namespace 'Convert
|
||||
Namespace Prog_Org
|
||||
<HideModuleName()>
|
||||
Module Prog_Org
|
||||
'######################################################################################
|
||||
'############################## PORTABLE MODE TOOLS ###################################
|
||||
'Festlegung ob Portable oder nicht, ...
|
||||
Public Function PortableModeTrue(ByVal ConfigFileName As String) As Boolean
|
||||
If System.IO.File.Exists(".\" & ConfigFileName) Then
|
||||
PortableModeTrue = True
|
||||
Else
|
||||
PortableModeTrue = False
|
||||
End If
|
||||
|
||||
End Function 'PortableModeTrue
|
||||
'PortableMode:
|
||||
'Übergabe: ConfigFile [WorkDir] [AppName] Return: (PortableMode=True/False)
|
||||
'ConfigFile Nahme und Extendion - Wird Indirekt Geändert zu KonfigPfad
|
||||
'WorkDir Pfad des Arbeitsverzeichnises - Wird Indirekt Geändert
|
||||
'AppName Erstellt einen Neuern Ordner mit Diesen Nahme, wenn Nicht Portabler Mode
|
||||
Public Function PortableMode(ByRef ConfigFile As String, Optional ByRef WorkDir As String = "-default-", Optional ByVal AppName As String = "-default-") As Boolean
|
||||
If AppName = ("-default-" Or "") Then
|
||||
AppName = Application.ProductName
|
||||
End If
|
||||
If Not System.IO.Directory.Exists(WorkDir) Then WorkDir = "-default-"
|
||||
If WorkDir = ("-default-" Or "") Then
|
||||
WorkDir = Application.StartupPath
|
||||
End If
|
||||
|
||||
If System.IO.File.Exists(System.IO.Path.Combine(WorkDir, ConfigFile)) Then
|
||||
PortableMode = True
|
||||
ConfigFile = System.IO.Path.Combine(WorkDir, ConfigFile)
|
||||
Else
|
||||
PortableMode = False
|
||||
WorkDir = Environment.GetEnvironmentVariable("APPDATA") & "\" & AppName
|
||||
If Not System.IO.Directory.Exists(WorkDir) Then System.IO.Directory.CreateDirectory(WorkDir)
|
||||
ConfigFile = System.IO.Path.Combine(WorkDir, ConfigFile)
|
||||
If Not System.IO.File.Exists(ConfigFile) Then System.IO.File.Create(ConfigFile)
|
||||
End If
|
||||
|
||||
End Function 'PortableMode
|
||||
'######################################################################################
|
||||
'######################################################################################
|
||||
End Module
|
||||
End Namespace 'Prog_Org
|
||||
Namespace Data
|
||||
Namespace DB
|
||||
'Verschiedenen DBs mit ihren Befehlen
|
||||
End Namespace 'DBs (SQLite, SQL, MySQL, ...)
|
||||
Namespace File
|
||||
<HideModuleName()>
|
||||
Module File
|
||||
'Declaration für INI:
|
||||
Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32
|
||||
Private Declare Ansi Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Int32
|
||||
|
||||
Public Function INI_ReadValue(ByVal sFilePath As String, ByVal sSection As String, ByVal sKey As String, Optional ByVal sDefault As String = "") As String
|
||||
Dim strTemp As String = Space(1024), lLength As Integer
|
||||
lLength = GetPrivateProfileString(sSection, sKey, sDefault, strTemp, strTemp.Length, sFilePath)
|
||||
Return (strTemp.Substring(0, lLength))
|
||||
End Function 'Read a INI
|
||||
Public Function INI_WriteValue(ByVal sFilePath As String, ByVal sSection As String, ByVal sKey As String, ByVal sValue As String) As Boolean
|
||||
Return (Not (WritePrivateProfileString(sSection, sKey, sValue, sFilePath) = 0))
|
||||
End Function 'Write a INI
|
||||
|
||||
End Module
|
||||
End Namespace 'File (INI, XML, ...)
|
||||
End Namespace 'Data = Manage Infos (DBs, Files, ...)
|
||||
End Namespace 'Tools
|
|
@ -1,353 +0,0 @@
|
|||
Option Explicit On
|
||||
Imports System.IO
|
||||
|
||||
Module Modul_SB_PictureTagger
|
||||
Structure Mark
|
||||
Dim PositionX As Long
|
||||
Dim PositionY As Long
|
||||
Dim ID As Long
|
||||
Dim Radius As Long
|
||||
Dim Description As String
|
||||
End Structure 'Mark
|
||||
Structure Place
|
||||
Dim Title As String
|
||||
Dim Adresse As String
|
||||
Dim Description As String
|
||||
Dim GPS As String
|
||||
Public Sub Clear()
|
||||
Me.Adresse = Nothing
|
||||
Me.Description = Nothing
|
||||
Me.GPS = Nothing
|
||||
End Sub
|
||||
End Structure
|
||||
Structure TaggedIMG
|
||||
Dim ID As String
|
||||
Dim Title As String
|
||||
Dim Description As String
|
||||
Dim Time As String
|
||||
Dim Markierung() As Mark
|
||||
Dim Image As Image
|
||||
Dim Ort As Place
|
||||
Dim Path As String
|
||||
Public Sub Create_NewMark(ByVal ID As Long, ByVal PositionX As Long, ByVal PositionY As Long, Optional ByVal Radius As Long = 10, Optional ByVal Description As String = "")
|
||||
'Dim Index As Integer
|
||||
'If Array.IndexOf(Me.Mark, ) Then Index = 1 + UBound(Me.Mark)
|
||||
'ReDim Me.Mark(Index)
|
||||
'Me.Mark(Index).ID = ID
|
||||
'Me.Mark(Index).PositionX = PositionX
|
||||
'Me.Mark(Index).PositionY = PositionY
|
||||
'Me.Mark(Index).Radius = Radius
|
||||
'Me.Mark(Index).Description = Description
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub Clear()
|
||||
Me.ID = Nothing
|
||||
Me.Image = Nothing
|
||||
Me.Title = Nothing
|
||||
Me.Description = Nothing
|
||||
Me.Time = Nothing
|
||||
Me.Path = Nothing
|
||||
Me.Ort.Clear()
|
||||
ReDim Me.Markierung(0)
|
||||
Me.Markierung(0).Description = Nothing
|
||||
Me.Markierung(0).PositionX = Nothing
|
||||
Me.Markierung(0).PositionY = Nothing
|
||||
Me.Markierung(0).ID = Nothing
|
||||
Me.Markierung(0).Radius = Nothing
|
||||
End Sub
|
||||
|
||||
End Structure 'TaggedIMG
|
||||
|
||||
|
||||
|
||||
'Methoden Index:
|
||||
'1.LoadPicture
|
||||
' Parameter: "-SupportedFormats-" -> Array of Supported Formats;
|
||||
' Parameter: File Pfad -> Picture ##in Work!##
|
||||
'2.DirReadPhotos
|
||||
' Parameter: Ordner Pfad; Return: Array von Pfaden der Bilddateien des Ordners
|
||||
'3.Load_Taggs
|
||||
' Parameter: TaggedIMG-Objekt, DB_Locate -> Indirekte änderung des TaggedIMG-Objekts
|
||||
'4.Save_Taggs
|
||||
' Parameter: TaggedIMG-Objekt, DB_Locate
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 1.LoadPicture #####################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
Public Function LoadPicture(ByVal sPath As String) As Object
|
||||
'Deklariere
|
||||
Dim aPhotoFormats(0) As String 'Array Enthält die Unsterstützten Photoformate
|
||||
'###Statische Einstellungen###
|
||||
'Die Untestützten Formate einstellen
|
||||
ReDim Preserve aPhotoFormats(5)
|
||||
aPhotoFormats(0) = ".jpg"
|
||||
aPhotoFormats(1) = ".bmp"
|
||||
aPhotoFormats(2) = ".gif"
|
||||
aPhotoFormats(3) = ".png"
|
||||
aPhotoFormats(4) = ".jp2"
|
||||
aPhotoFormats(5) = ".tif"
|
||||
|
||||
'Entscheide ob Rückgabe des Arrays für die FormatUnterstützung
|
||||
'Oder das Laden des Bildes aus der angegebenen Quelle
|
||||
If sPath = "-SupportedFormats-" Then
|
||||
LoadPicture = aPhotoFormats
|
||||
ElseIf (File.Exists(sPath) = True) Then
|
||||
'BildLadeFunktion
|
||||
'Main Work###############################################
|
||||
Dim iPicture As New TaggedIMG
|
||||
Dim iPicture_Verz As String
|
||||
|
||||
'Testen ob Vormat unterstüzt!
|
||||
If (Array.IndexOf(aPhotoFormats, IO.Path.GetExtension(sPath))) >= 0 Then
|
||||
iPicture_Verz = IO.Path.GetDirectoryName(sPath)
|
||||
iPicture.Path = sPath
|
||||
iPicture.Image = Image.FromFile(sPath)
|
||||
iPicture.ID = IO.Path.GetFileName(sPath)
|
||||
|
||||
'Wen Forhanden Exif infos lesen und eintragen (werden von DB überschrieben, wenn dor ein Wert vorhanden ist)
|
||||
|
||||
'Wird hier mit Tagg Bestückt!
|
||||
' iPicture_Verz wird zum localisieren der INI benötigt
|
||||
Load_Taggs(iPicture, iPicture_Verz)
|
||||
|
||||
|
||||
LoadPicture = iPicture
|
||||
Else
|
||||
MsgBox("Unsupported Format!")
|
||||
LoadPicture = ""
|
||||
End If
|
||||
'Main Work Ende##########################################
|
||||
Else
|
||||
MsgBox("Can't load Picture")
|
||||
LoadPicture = ""
|
||||
End If
|
||||
End Function 'LoadPicture
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 2.DirReadPhotos ###################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
Public Function DirReadPhotos(ByVal sPath As String) As Object
|
||||
'Parameter: Ordner Pfad
|
||||
'Return: Array von Pfaden der Bilddateien des Ordners
|
||||
|
||||
|
||||
Dim aPhotos(0) As String
|
||||
Dim i As Long
|
||||
Dim sPhotoFormat As String
|
||||
Dim aPhotoFormats(0) As String 'Array Enthält die Unsterstützten Photoformate
|
||||
|
||||
'Lade Unterstüzte Formate:
|
||||
aPhotoFormats = LoadPicture("-SupportedFormats-")
|
||||
|
||||
Try
|
||||
'Deklarieren
|
||||
Dim aFiles As String() = Directory.GetFiles(sPath) ' Try verwenden!! <----
|
||||
|
||||
|
||||
|
||||
|
||||
'Überprüfen auf existenz des Ordners
|
||||
'Ja: Weiter
|
||||
'Nein: MsgBox("Error: Der Pfad existiert Nicht!")
|
||||
If Directory.Exists(sPath) = True Then
|
||||
|
||||
|
||||
'Speichere Pfad in Array aPhotos
|
||||
'Wenn das File die Dateiendungen aus Array aPhotoFormats besitzt
|
||||
|
||||
Dim nCount As Long = 0
|
||||
If aFiles(0) <> "" Then
|
||||
aPhotos(0) = ""
|
||||
For i = 0 To UBound(aFiles)
|
||||
For Each sPhotoFormat In aPhotoFormats
|
||||
If IO.Path.GetExtension(aFiles(i)) = sPhotoFormat Then
|
||||
If nCount > UBound(aPhotos) Then ReDim Preserve aPhotos(nCount)
|
||||
aPhotos(nCount) = aFiles(i)
|
||||
nCount = nCount + 1
|
||||
End If
|
||||
Next sPhotoFormat
|
||||
Next i
|
||||
Else
|
||||
aPhotos(0) = ""
|
||||
End If
|
||||
|
||||
'Array Nach Dateinahmen Sortieren
|
||||
Array.Sort(aPhotos)
|
||||
|
||||
|
||||
Else
|
||||
MsgBox("Error: Der Pfad existiert Nicht!")
|
||||
aPhotos(0) = ""
|
||||
End If
|
||||
DirReadPhotos = aPhotos
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message)
|
||||
aPhotos(0) = ""
|
||||
DirReadPhotos = aPhotos
|
||||
End Try
|
||||
End Function 'DirReadPhotos
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 3.Load_Taggs ###################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
|
||||
'Taggs auslesen (jezt noch aus INI - später aus DB)
|
||||
Private Sub Load_Taggs(ByRef iPicture As TaggedIMG, ByVal DB_Locate As String)
|
||||
'Grund Vars Deklarieren
|
||||
Dim ID As String = iPicture.ID
|
||||
Dim sDB As String = "Tagg.ini"
|
||||
Dim i As Long
|
||||
|
||||
|
||||
sDB = Path.Combine(DB_Locate, sDB)
|
||||
If File.Exists(sDB) And ID <> "" Then
|
||||
'Dekalriere
|
||||
Dim Mark_ID As String
|
||||
Dim Mark_PositionX As Long
|
||||
Dim Mark_PositionY As Long
|
||||
Dim Mark_Radius As Long
|
||||
Dim Mark_Description As String
|
||||
Dim Mark_Index As String
|
||||
|
||||
'Titel
|
||||
iPicture.Title = Modul_Tools.Config_INI_ReadValue(sDB, ID, "Title", Nothing)
|
||||
'Kurzbeschreibung
|
||||
'##############################################################
|
||||
'ReFormate Description Text from "Description"
|
||||
iPicture.Description = Modul_Tools.Base64_To_Ascii(Modul_Tools.Config_INI_ReadValue(sDB, ID, "Description", Nothing))
|
||||
'##############################################################
|
||||
|
||||
'Zeitangabe
|
||||
iPicture.Time = Modul_Tools.Config_INI_ReadValue(sDB, ID, "Time", Nothing)
|
||||
'Ortsangabe-Title
|
||||
iPicture.Ort.Title = Modul_Tools.Config_INI_ReadValue(sDB, ID, "Place_Title", Nothing)
|
||||
'Ortsangabe-Adresse
|
||||
iPicture.Ort.Adresse = Modul_Tools.Config_INI_ReadValue(sDB, ID, "Place_Adresse", Nothing)
|
||||
'Ortsangabe-Kurzbeschreibung
|
||||
'##############################################################
|
||||
'ReFormate Description Text from "Place.Description"
|
||||
iPicture.Ort.Description = Modul_Tools.Base64_To_Ascii(Modul_Tools.Config_INI_ReadValue(sDB, ID, "Place_Description", Nothing))
|
||||
'##############################################################
|
||||
|
||||
'Ortsangabe-GPS Koordinaten
|
||||
iPicture.Ort.GPS = Modul_Tools.Config_INI_ReadValue(sDB, ID, "Place_GPS", Nothing)
|
||||
|
||||
|
||||
'Load Marks
|
||||
'sMark_Index = Modul_Tools.Config_INI_ReadValue(sDB, ID, "Title")
|
||||
i = 0
|
||||
Do While i <= 200
|
||||
Mark_Index = ("Mark" & Convert.ToString(i) & "_ID")
|
||||
Mark_ID = Modul_Tools.Config_INI_ReadValue(sDB, ID, Mark_Index)
|
||||
If Mark_ID <> "" Then
|
||||
i += 1
|
||||
|
||||
Mark_PositionX = Convert.ToDouble(Modul_Tools.Config_INI_ReadValue(sDB, ID, "Mark" & Convert.ToString(i) & "_PositionX", "0"))
|
||||
Mark_PositionY = Convert.ToInt32(Modul_Tools.Config_INI_ReadValue(sDB, ID, "Mark" & Convert.ToString(i) & "_PositionY", "0"))
|
||||
Mark_Radius = Convert.ToInt32(Modul_Tools.Config_INI_ReadValue(sDB, ID, "Mark" & Convert.ToString(i) & "_Radius", "0"))
|
||||
'##############################################################
|
||||
'ReFormate Description Text from "Mark_Description"
|
||||
Mark_Description = Modul_Tools.Base64_To_Ascii(Modul_Tools.Config_INI_ReadValue(sDB, ID, "Mark" & Convert.ToString(i) & "_Description", Nothing))
|
||||
'##############################################################
|
||||
|
||||
'Erstellen eines Neuen Marks
|
||||
iPicture.Create_NewMark(Mark_ID, Mark_PositionX, Mark_PositionY, Mark_Radius, Mark_Description)
|
||||
Else
|
||||
'Verlasse Schleife
|
||||
Exit Do
|
||||
End If
|
||||
Loop
|
||||
i = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 4.Save_Taggs ###################################################################################
|
||||
'###################################################################################################################
|
||||
Public Sub Save_Taggs(ByVal iPicture As TaggedIMG, ByVal DB_Locate As String)
|
||||
'Grund Vars Deklarieren
|
||||
Dim ID As String = iPicture.ID
|
||||
Dim sDB As String = "Tagg.ini"
|
||||
Dim i As Long
|
||||
|
||||
sDB = Path.Combine(DB_Locate, sDB)
|
||||
If (ID <> "") And (Not File.Exists(sDB)) Then
|
||||
File.Create(sDB)
|
||||
|
||||
'Titel
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Title", iPicture.Title)
|
||||
|
||||
'Kurzbeschreibung
|
||||
'##############################################################
|
||||
'Formate Description Text from "Description"
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Description", Modul_Tools.Ascii_To_Base64(iPicture.Description))
|
||||
'##############################################################
|
||||
|
||||
'Zeitangabe
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Time", iPicture.Time)
|
||||
'Ortsangabe-Title
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Place_Title", iPicture.Ort.Title)
|
||||
'Ortsangabe-Adresse
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Place_Adresse", iPicture.Ort.Adresse)
|
||||
|
||||
'Ortsangabe-Kurzbeschreibung
|
||||
'##############################################################
|
||||
'Formate Description Text from "iPicture.Place.Description"
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Place_Description", Modul_Tools.Ascii_To_Base64(iPicture.Ort.Description))
|
||||
'##############################################################
|
||||
|
||||
'Ortsangabe-GPS Koordinaten
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Place_GPS", iPicture.Ort.GPS)
|
||||
|
||||
|
||||
'Save Marks
|
||||
i = 0
|
||||
If iPicture.Markierung(0).ID <> "" Then
|
||||
For i = 0 To UBound(iPicture.Markierung)
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Mark" & i & "_ID", Convert.ToString(i))
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Mark" & i & "_PositionX", Convert.ToString(iPicture.Markierung(i).PositionX))
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Mark" & i & "_PositionY", Convert.ToString(iPicture.Markierung(i).PositionY))
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Mark" & i & "_Radius", Convert.ToString(iPicture.Markierung(i).Radius))
|
||||
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Mark" & i & "_Description", Modul_Tools.Ascii_To_Base64(iPicture.Markierung(i).Description))
|
||||
Next i
|
||||
End If
|
||||
i = 0
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
'Vor VBA AND VB without .Net
|
||||
|
||||
'### with .Net: Imports System.IO; Directory.Exists(Path)####
|
||||
'Private Function FileExists(ByVal FileName As String) As Boolean
|
||||
' On Error Resume Next
|
||||
' FileExists = Not CBool(GetAttr(FileName) And (vbDirectory Or vbVolume))
|
||||
' On Error GoTo 0
|
||||
'End Function
|
||||
|
||||
'### with .Net: Imports System.IO; File.Exists(Path)####
|
||||
'Private Function DirExists(ByVal DirectoryName As String) As Boolean
|
||||
' On Error Resume Next
|
||||
' DirExists = CBool(GetAttr(DirectoryName) And vbDirectory)
|
||||
' On Error GoTo 0
|
||||
'End Function
|
||||
End Module
|
|
@ -1,313 +0,0 @@
|
|||
Option Explicit On
|
||||
Imports System.IO
|
||||
|
||||
Module Modul_Tools
|
||||
|
||||
'Methonden_Index:
|
||||
'1.Datei- und Ordnerdialoge
|
||||
' 1.1 FolderBrowserDialog <-- in Work (Main works)
|
||||
' 1.2 OpenFileDialog <-- in Work (Don't work)
|
||||
' 1.3 SaveFileDialog <-- in Work
|
||||
|
||||
'2.Config Load/Save
|
||||
' 2.1 From INI
|
||||
' 2.1.1 Config_INI_ReadValue
|
||||
' 2.1.2 Config_INI_WriteValue
|
||||
' ExampleConf = Config_INI_ReadValue(FilePath, Section, Key, [DefaultWert])
|
||||
' [Error =] Config_INI_WriteValue(FilePath, Section, Key, Wert)
|
||||
' 2.2 From My CMD seting Files
|
||||
|
||||
'3.PortableMode
|
||||
' 3.1 PortableModeTrue
|
||||
' Übergabe: ConfigFile Return: (PortableMode=True/False)
|
||||
' 3.2 PortableMode
|
||||
' Übergabe: ConfigFile [WorkDir] [AppName] Return: (PortableMode=True/False)
|
||||
' ConfigFile Nahme und Extendion - Wird Indirekt Geändert zu KonfigPfad
|
||||
' WorkDir Pfad des Arbeitsverzeichnises - Wird Indirekt Geändert
|
||||
' AppName Erstellt einen Neuern Ordner mit Diesen Nahme, wenn Nicht Portabler Mode
|
||||
|
||||
'4.GPS_Tools
|
||||
' 4.1 GPS_to_GMaps
|
||||
|
||||
'5.Ascii<->Base64
|
||||
' 5.1 Ascii_To_Base64
|
||||
' 5.2 Base64_To_Ascii
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 1.Datei- und Ordnerdialoge ########################################################################
|
||||
'############### http://www.vb-fun.de/dotnet/tipps/tip0212.shtml ###################################################
|
||||
'###################################################################################################################
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 1.1 FolderBrowserDialog ###########################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
Public Function FolderBrowserDialog(Optional ByVal sStartPath As String = "C:\", Optional ByVal ShowNewFolderButton As Boolean = True, Optional ByRef CheckError As Boolean = False) As String
|
||||
'Verändert die übergebene variable,
|
||||
'wenn der benutzer durch "OK" den neuen Pfad bestätigt
|
||||
FolderBrowserDialog = ""
|
||||
Using FolderBrowserD As New FolderBrowserDialog
|
||||
With FolderBrowserD
|
||||
' Ordnervorschlag
|
||||
.SelectedPath = sStartPath
|
||||
|
||||
.Description = "Bitte einen Ordner auswählen."
|
||||
|
||||
'#Button "Neuen Ordner erstellen" anzeigen
|
||||
.ShowNewFolderButton = ShowNewFolderButton
|
||||
|
||||
'#ruft Dialog auf, weitere Ausführung nur bei Resultat "OK"
|
||||
If .ShowDialog = Windows.Forms.DialogResult.OK Then
|
||||
FolderBrowserDialog = .SelectedPath
|
||||
Else
|
||||
CheckError = True '#Ausführung bei Abruch
|
||||
End If
|
||||
End With 'FolderBrowserD
|
||||
End Using
|
||||
End Function 'FolderBrowserDialog
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 1.2 OpenFileDialog ################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
'Private Sub Button1_Click(ByVal sender As Object, ByVal e As _
|
||||
' EventArgs) Handles Button1.Click
|
||||
' ' ### OpenFileDialog ###
|
||||
' Dim txt As String = ""
|
||||
' Using ofd As New OpenFileDialog
|
||||
|
||||
' With ofd
|
||||
' ' Ordnervorschlag
|
||||
' .InitialDirectory = Pfad
|
||||
' .Title = "Wähle Datei zum öffnen"
|
||||
' ' Dateivorschlag (falls sinnvoll)
|
||||
' ' .FileName = "Datei.gif"
|
||||
|
||||
' ' Filter
|
||||
' .Filter = TextBox2.Text
|
||||
' ' boolsche Abfrage ob Mehrfachauswahl zulässig
|
||||
' .Multiselect = Not ChkEinzel.Checked
|
||||
|
||||
' ' Zeile ruft den Dialog auf, weitere Ausführung nur bei
|
||||
' ' Resultat OK:
|
||||
' If .ShowDialog = Windows.Forms.DialogResult.OK Then
|
||||
' If ChkEinzel.Checked = True Then
|
||||
' ' Bei Einzelauswahl wertet man .FileName aus
|
||||
' txt = .FileName & vbNewLine
|
||||
|
||||
' Else
|
||||
' ' Bei möglicher Multiselektion wertet man
|
||||
' ' das Array .FileNames aus
|
||||
' For Each filename As String In .FileNames
|
||||
' txt &= filename & vbNewLine
|
||||
' Next
|
||||
' End If
|
||||
' ' Welcher Filter wurde verwendet?
|
||||
' Dim idx As Integer = .FilterIndex
|
||||
' txt &= "FilterIndex: " & idx.ToString & vbNewLine
|
||||
' txt &= "Gewählter Filter: " & FilterDescription(.Filter, _
|
||||
' idx) & vbNewLine
|
||||
' txt &= "Multiselect: " & .Multiselect.ToString
|
||||
' Else
|
||||
' txt = "Abbruch durch Benutzer"
|
||||
' End If
|
||||
' End With
|
||||
' End Using
|
||||
' TextBox1.Text = txt
|
||||
'End Sub 'OpenFileDialog
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 1.3 SaveFileDialog ################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
'Private Sub Button2_Click(ByVal sender As Object, ByVal e As _
|
||||
' EventArgs) Handles Button2.Click
|
||||
' ' ### SaveFileDialog ###
|
||||
' Dim txt As String
|
||||
' Using sfd As New SaveFileDialog
|
||||
|
||||
' With sfd
|
||||
' ' Ordnervorschlag
|
||||
' .InitialDirectory = Pfad
|
||||
' .Title = "Eingabe Datei zum speichern (Es wird hier nicht "_
|
||||
' "wirklich überschrieben)"
|
||||
' ' Dateivorschlag
|
||||
' .FileName = "Datei.gif"
|
||||
' ' Filter
|
||||
' .Filter = TextBox2.Text
|
||||
|
||||
' ' Zeile ruft den Dialog auf, weitere Ausführung nur bei
|
||||
' ' Resultat OK:
|
||||
' If .ShowDialog = Windows.Forms.DialogResult.OK Then
|
||||
' txt = .FileName & vbNewLine
|
||||
|
||||
' ' Welcher Filter wurde verwendet?
|
||||
' Dim idx As Integer = .FilterIndex
|
||||
' txt &= "FilterIndex: " & idx.ToString & vbNewLine
|
||||
' txt &= "Gewählter Filter: " & FilterDescription(.Filter, _
|
||||
' idx)
|
||||
' Else
|
||||
' txt = "Abbruch durch Benutzer"
|
||||
' End If
|
||||
' End With
|
||||
' End Using
|
||||
' TextBox1.Text = txt
|
||||
'End Sub 'SaveFileDialog
|
||||
|
||||
'###################################################################################################################
|
||||
'############### xxxxxxxxxxxxxxxxxxxxxxx ###########################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
'Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As _
|
||||
' Object, ByVal e As EventArgs) _
|
||||
' Handles ComboBox1.SelectedIndexChanged
|
||||
' Dim strFilter As String
|
||||
' Select Case ComboBox1.SelectedIndex
|
||||
' Case 0
|
||||
' ' Einfacher Filter
|
||||
' strFilter = "Gif Bilddateien|*.gif"
|
||||
' Case 1
|
||||
' ' Erweiterter Filter
|
||||
' strFilter = "JPEG Bilddateien|*.jpg|Gif Bilddateien|*.gif|Alle Dateien|*.*"
|
||||
' Case Else
|
||||
' ' Mehrere Dateierweiterungen in einer Auswahl
|
||||
' strFilter = "Alle Bilddateien|*.jpg; *.jpeg; *.bmp; *.gif, *.tif|Alle Dateien|*.*"
|
||||
' End Select
|
||||
|
||||
' TextBox2.Text = strFilter
|
||||
'End Sub 'ComboBox1_SelectedIndexChanged
|
||||
|
||||
'Private Function FilterDescription(ByVal Filter As String, _
|
||||
' ByVal Index As Integer) As String
|
||||
' ' erstellt aus dem Filterstring die Bezeichnung
|
||||
' Dim strArr() As String = Split(Filter, "|"), _
|
||||
' MyList As New List(Of String)
|
||||
' For i As Integer = 0 To strArr.GetUpperBound(0)
|
||||
' If (i Mod 2 = 0) Then MyList.Add(strArr(i))
|
||||
' Next
|
||||
' Return MyList(Index - 1)
|
||||
'End Function 'FilterDescription
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 2.Config Load/Save ################################################################################
|
||||
'############### Methonden für Laden von Variablen aus DB;INI,... ##################################################
|
||||
'###################################################################################################################
|
||||
' 2.1 From INI
|
||||
' 2.1.1 Config_INI_ReadValue
|
||||
' 2.1.2 Config_INI_WriteValue
|
||||
' 2.2 From My CMD seting Files
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 2.1 Config_From_INI ###############################################################################
|
||||
'###################################################################################################################
|
||||
'FamExample = Config_INI_ReadValue(FilePath, Section, Key, [""])
|
||||
'Config_INI_WriteValue(FilePath, Section, Key, Wert)
|
||||
|
||||
Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32
|
||||
Private Declare Ansi Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Int32
|
||||
|
||||
Public Function Config_INI_ReadValue(ByVal sFilePath As String, ByVal sSection As String, ByVal sKey As String, Optional ByVal sDefault As String = "") As String
|
||||
Dim strTemp As String = Space(1024), lLength As Integer
|
||||
lLength = GetPrivateProfileString(sSection, sKey, sDefault, strTemp, strTemp.Length, sFilePath)
|
||||
Return (strTemp.Substring(0, lLength))
|
||||
End Function
|
||||
Public Function Config_INI_WriteValue(ByVal sFilePath As String, ByVal sSection As String, ByVal sKey As String, ByVal sValue As String) As Boolean
|
||||
Return (Not (WritePrivateProfileString(sSection, sKey, sValue, sFilePath) = 0))
|
||||
End Function
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 2.2 Config_From_My-CMD-File #######################################################################
|
||||
'###################################################################################################################
|
||||
'Syntax der Datei:
|
||||
'Variable1 = Wertxy
|
||||
'Variable2 = Zahtl2
|
||||
'...
|
||||
'Alles in String (Mussa auf zahl Überprüft werden und dan DeDim as Integer ...)
|
||||
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 3.PortableMode ####################################################################################
|
||||
'############### Veststellen ob Portable und deren Eigenarten ######################################################
|
||||
'###################################################################################################################
|
||||
' 3.1 3.PortableModeTrue
|
||||
'Festlegung ob Portable oder nicht
|
||||
Public Function PortableModeTrue(ByVal ConfigFileName As String) As Boolean
|
||||
If File.Exists(".\" & ConfigFileName) Then
|
||||
PortableModeTrue = True
|
||||
Else
|
||||
PortableModeTrue = False
|
||||
End If
|
||||
|
||||
End Function 'PortableModeTrue
|
||||
|
||||
'Übergabe: ConfigFile [WorkDir] [AppName] Return: (PortableMode=True/False)
|
||||
'ConfigFile Nahme und Extendion - Wird Indirekt Geändert zu KonfigPfad
|
||||
'WorkDir Pfad des Arbeitsverzeichnises - Wird Indirekt Geändert
|
||||
'AppName Erstellt einen Neuern Ordner mit Diesen Nahme, wenn Nicht Portabler Mode
|
||||
|
||||
Public Function PortableMode(ByRef ConfigFile As String, Optional ByRef WorkDir As String = "-default-", Optional ByVal AppName As String = "-default-") As Boolean
|
||||
If AppName = ("-default-" Or "") Then
|
||||
AppName = Application.ProductName
|
||||
End If
|
||||
If Not Directory.Exists(WorkDir) Then WorkDir = "-default-"
|
||||
If WorkDir = ("-default-" Or "") Then
|
||||
WorkDir = Application.StartupPath
|
||||
End If
|
||||
|
||||
If File.Exists(Path.Combine(WorkDir, ConfigFile)) Then
|
||||
PortableMode = True
|
||||
ConfigFile = Path.Combine(WorkDir, ConfigFile)
|
||||
Else
|
||||
PortableMode = False
|
||||
WorkDir = Environment.GetEnvironmentVariable("APPDATA") & "\" & AppName
|
||||
If Not Directory.Exists(WorkDir) Then Directory.CreateDirectory(WorkDir)
|
||||
ConfigFile = Path.Combine(WorkDir, ConfigFile)
|
||||
If Not File.Exists(ConfigFile) Then File.Create(ConfigFile)
|
||||
End If
|
||||
|
||||
End Function 'PortableMode
|
||||
|
||||
'###################################################################################################################
|
||||
'############### 4.GPS_Tools #######################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
|
||||
Public Sub GPS_to_GMaps(ByVal GPS As String)
|
||||
'Soll anhand der GPS Koordinaten GoogleMaps öfnen
|
||||
'URL ansteuerung: https://developers.google.com/maps/documentation/staticmaps/
|
||||
' String = "52.520817 13.40945"
|
||||
'
|
||||
'Umrechnung von Geo-Koordinaten: http://rechneronline.de/geo-koordinaten/
|
||||
' ___________________________________________________________________________________________________
|
||||
'| Grad, Minuten, Sekunden | Dezimalgrad | Grad, Dezimalminuten |
|
||||
'| z.B. N52° 31' 14.941" E13° 24' 34.020" | z.B. 52.520817 13.40945 | z.B. N52° 31.249 E13° 24.567 |
|
||||
' ---------------------------------------------------------------------------------------------------
|
||||
' URL= "http://maps.google.com/maps?q=" & String
|
||||
'In Projekt SB-PictureTagger: Set a LincLable ;)
|
||||
End Sub
|
||||
'###################################################################################################################
|
||||
'############### 5.Ascii<->Base64 ##################################################################################
|
||||
'###################################################################################################################
|
||||
|
||||
'Ascii to Base64
|
||||
Public Function Ascii_To_Base64(ByVal AsciiString As String) As String
|
||||
Dim base64encoded As String = vbNull
|
||||
Dim raw As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(AsciiString)
|
||||
base64encoded = System.Convert.ToBase64String(raw)
|
||||
Ascii_To_Base64 = base64encoded
|
||||
End Function
|
||||
'Base64 to Ascii
|
||||
Public Function Base64_To_Ascii(ByVal Base64String As String) As String
|
||||
Try
|
||||
Dim raw As Byte() = System.Convert.FromBase64String(Base64String)
|
||||
Base64_To_Ascii = System.Text.ASCIIEncoding.ASCII.GetString(raw)
|
||||
Catch ex As Exception
|
||||
Base64_To_Ascii = ""
|
||||
End Try
|
||||
End Function
|
||||
End Module 'Modul_Tools
|
|
@ -32,7 +32,7 @@ Namespace My
|
|||
|
||||
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
|
||||
Protected Overrides Sub OnCreateMainForm()
|
||||
Me.MainForm = Global.SB_PictureTagger.Main
|
||||
Me.MainForm = Global.SB_PictureTagger.SB_PictureTagger
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-16"?>
|
||||
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<MySubMain>true</MySubMain>
|
||||
<MainForm>Main</MainForm>
|
||||
<MainForm>SB_PictureTagger</MainForm>
|
||||
<SingleInstance>false</SingleInstance>
|
||||
<ShutdownMode>0</ShutdownMode>
|
||||
<EnableVisualStyles>true</EnableVisualStyles>
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 170 KiB |
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
|
@ -15,6 +15,21 @@
|
|||
<MyType>WindowsForms</MyType>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
|
@ -28,7 +43,7 @@
|
|||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DebugType>None</DebugType>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<Optimize>true</Optimize>
|
||||
|
@ -48,7 +63,11 @@
|
|||
<PropertyGroup>
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Resorcen\Tree.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
|
@ -72,11 +91,20 @@
|
|||
<Import Include="System.Xml.Linq" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form_SB-PictureTagger.vb">
|
||||
<Compile Include="Class_Mark.vb" />
|
||||
<Compile Include="Class_MarkButton.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Class_Place.vb" />
|
||||
<Compile Include="Class_Rectangle.vb" />
|
||||
<Compile Include="Class_TaggedIMG.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="F_SB_PictureTagger.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form_SB-PictureTagger.Designer.vb">
|
||||
<DependentUpon>Form_SB-PictureTagger.vb</DependentUpon>
|
||||
<Compile Include="F_SB_PictureTagger.Designer.vb">
|
||||
<DependentUpon>F_SB_PictureTagger.vb</DependentUpon>
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||
|
@ -94,13 +122,11 @@
|
|||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<Compile Include="Modul_SB-PictureTagger.vb" />
|
||||
<Compile Include="Modul_Tools.vb" />
|
||||
<Compile Include="TaggedIMG.vb" />
|
||||
<Compile Include="M_Tools.vb" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Form_SB-PictureTagger.resx">
|
||||
<DependentUpon>Form_SB-PictureTagger.vb</DependentUpon>
|
||||
<EmbeddedResource Include="F_SB_PictureTagger.resx">
|
||||
<DependentUpon>F_SB_PictureTagger.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
|
@ -120,6 +146,31 @@
|
|||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resorcen\Tree.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4 Client Profile %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -1,63 +0,0 @@
|
|||
Public Class TaggedIMG2
|
||||
|
||||
'Soll die "Struktur" einmal ersetzen und zum Formweit ereichbares Objecte erstellen dienen
|
||||
|
||||
Public Class Mark
|
||||
Public PositionX As Long
|
||||
Public PositionY As Long
|
||||
Public ID As Long
|
||||
Public Radius As Long
|
||||
Public Description As String
|
||||
End Class 'Mark
|
||||
Public Class Place
|
||||
Dim Adresse
|
||||
Dim Description
|
||||
Dim GPS
|
||||
Public Sub Clear()
|
||||
Me.Adresse = Nothing
|
||||
Me.Description = Nothing
|
||||
Me.GPS = Nothing
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Public ID As String
|
||||
Public Title As String
|
||||
Public Description As String
|
||||
Public Time As String
|
||||
Public Markierung() As Mark
|
||||
Public Image As Image
|
||||
Public Path As String
|
||||
Public Ort As Place
|
||||
|
||||
Public Sub Clear()
|
||||
Me.ID = Nothing
|
||||
Me.Image = Nothing
|
||||
Me.Title = Nothing
|
||||
Me.Description = Nothing
|
||||
Me.Time = Nothing
|
||||
Me.Path = Nothing
|
||||
Me.Ort.Clear()
|
||||
ReDim Me.Markierung(0)
|
||||
Me.Markierung(0).Description = Nothing
|
||||
Me.Markierung(0).PositionX = Nothing
|
||||
Me.Markierung(0).PositionY = Nothing
|
||||
Me.Markierung(0).ID = Nothing
|
||||
Me.Markierung(0).Radius = Nothing
|
||||
End Sub
|
||||
|
||||
Public Sub Create_NewMark(ByVal ID As Long, ByVal PositionX As Long, ByVal PositionY As Long, Optional ByVal Radius As Long = 10, Optional ByVal Description As String = "")
|
||||
Dim Index As Integer
|
||||
'If Me.Mark(0) is not Initalisiert Then
|
||||
' Index = 0
|
||||
'Else
|
||||
Index = 1 + UBound(Me.Markierung)
|
||||
'End if
|
||||
ReDim Me.Markierung(Index)
|
||||
Me.Markierung(Index).ID = ID
|
||||
Me.Markierung(Index).PositionX = PositionX
|
||||
Me.Markierung(Index).PositionY = PositionY
|
||||
Me.Markierung(Index).Radius = Radius
|
||||
Me.Markierung(Index).Description = Description
|
||||
End Sub
|
||||
|
||||
End Class
|
|
@ -0,0 +1,36 @@
|
|||
0.1
|
||||
Ordner einlesen und Bilder in Array
|
||||
Ausgeben in Strucktur
|
||||
Lesen Von Informationen aus INI
|
||||
Für und Zurück der Bilder
|
||||
|
||||
|
||||
0.2
|
||||
Versuch von ausbau an Strucktur TaggedIMG Gescheitert
|
||||
Veralgemeinern Gescheitert
|
||||
-Funktions Unfähig-
|
||||
|
||||
0.3
|
||||
Erfolgreiches umsetzen der Strucktur TaggedIMG zu Classe
|
||||
Umstruckturieren der Funcktionen und Rotienen verteilungen in den einzelnen Bereichen
|
||||
Ausbau der Tools - Library
|
||||
Ordner Tiefen Funktio Hinzugefügt, auf Drei Unterordner Begrenzt
|
||||
|
||||
0.4
|
||||
Entbuggen von Grafierenden Fehlern
|
||||
-Speicherrotine
|
||||
-Laderotiene
|
||||
-Erkennung von Änderungen
|
||||
-Bild wird wieder in PictureBox Geladen
|
||||
-Ordner wird bei Ordner Tiefen Änderung neu Geladen
|
||||
Veralgemeinerung der Funktionen (Schnelles Umrüsten auf DB, XML, etc. als Tagg-Source möglich)
|
||||
|
||||
0.5
|
||||
Speicher rotiene feinschlif (AutoSave Checkbox funktioniert wieder)
|
||||
-Halbstadion (Auser Markierungen Funktioniert Alles)-
|
||||
|
||||
|
||||
|
||||
Geplante Funktionen:
|
||||
-Markierungen Erstellen/Bearbeiten/Löschen/Laden/Speichern
|
||||
-Merken der Einstellungen (Portable - Normal Mode)
|
Loading…
Reference in New Issue