This commit is contained in:
6543 2015-02-16 02:34:00 +02:00
parent 42800a7580
commit 087d7eb31d
6 changed files with 652 additions and 165 deletions

View File

@ -30,23 +30,35 @@ Partial Class Main
Me.Label3 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.TextBox2 = New System.Windows.Forms.TextBox()
Me.RichTextBox1 = New System.Windows.Forms.RichTextBox()
Me.TextBox1 = New System.Windows.Forms.TextBox()
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.cb_marks_visible = New System.Windows.Forms.CheckBox()
Me.DataGridView1 = New System.Windows.Forms.DataGridView()
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.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.Label4 = New System.Windows.Forms.Label()
Me.Label5 = New System.Windows.Forms.Label()
Me.Label6 = New System.Windows.Forms.Label()
Me.TextBox3 = New System.Windows.Forms.TextBox()
Me.TextBox4 = New System.Windows.Forms.TextBox()
Me.rtb_Place_Description = New System.Windows.Forms.RichTextBox()
Me.GroupBox4 = New System.Windows.Forms.GroupBox()
Me.cb_marks_visible = New System.Windows.Forms.CheckBox()
Me.cb_AutoSave = 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
@ -61,31 +73,31 @@ Partial Class Main
'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, 661)
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 = "Folowing"
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, 661)
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 = "Last"
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, 661)
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 = "EXIT"
Me.b_exit.Text = "Beenden"
Me.b_exit.UseVisualStyleBackColor = True
'
'GroupBox1
@ -93,15 +105,15 @@ Partial Class Main
Me.GroupBox1.Controls.Add(Me.Label3)
Me.GroupBox1.Controls.Add(Me.Label2)
Me.GroupBox1.Controls.Add(Me.Label1)
Me.GroupBox1.Controls.Add(Me.TextBox2)
Me.GroupBox1.Controls.Add(Me.RichTextBox1)
Me.GroupBox1.Controls.Add(Me.TextBox1)
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, 163)
Me.GroupBox1.Size = New System.Drawing.Size(352, 162)
Me.GroupBox1.TabIndex = 6
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "MainTaggs"
Me.GroupBox1.Text = "Bild"
'
'Label3
'
@ -117,9 +129,9 @@ Partial Class Main
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(8, 45)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(28, 13)
Me.Label2.Size = New System.Drawing.Size(59, 13)
Me.Label2.TabIndex = 4
Me.Label2.Text = "Zeit:"
Me.Label2.Text = "Zeit/-raum:"
'
'Label1
'
@ -130,88 +142,49 @@ Partial Class Main
Me.Label1.TabIndex = 3
Me.Label1.Text = "Titel:"
'
'TextBox2
'tb_Bild_Time
'
Me.TextBox2.Location = New System.Drawing.Point(83, 45)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(263, 20)
Me.TextBox2.TabIndex = 2
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
'
'RichTextBox1
'rtb_Bild_Description
'
Me.RichTextBox1.Location = New System.Drawing.Point(83, 71)
Me.RichTextBox1.Name = "RichTextBox1"
Me.RichTextBox1.Size = New System.Drawing.Size(263, 86)
Me.RichTextBox1.TabIndex = 1
Me.RichTextBox1.Text = ""
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,TextvelderReset, Info aus Textveldern Laden und z" & _
"um Speichern übergeben, Mark-Array Funktion,LoadPhotoDir abfangen einer lehren P" & _
"fadangabe, Kreat New Class TaggedIMG"
'
'TextBox1
'tb_Bild_Title
'
Me.TextBox1.Location = New System.Drawing.Point(83, 19)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(263, 20)
Me.TextBox1.TabIndex = 0
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.cb_marks_visible)
Me.GroupBox2.Controls.Add(Me.DataGridView1)
Me.GroupBox2.Location = New System.Drawing.Point(742, 185)
Me.GroupBox2.Location = New System.Drawing.Point(742, 317)
Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Size = New System.Drawing.Size(352, 445)
Me.GroupBox2.Size = New System.Drawing.Size(352, 246)
Me.GroupBox2.TabIndex = 7
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "MarkTaggs"
'
'cb_marks_visible
'
Me.cb_marks_visible.AutoSize = True
Me.cb_marks_visible.Location = New System.Drawing.Point(11, 28)
Me.cb_marks_visible.Name = "cb_marks_visible"
Me.cb_marks_visible.Size = New System.Drawing.Size(121, 17)
Me.cb_marks_visible.TabIndex = 2
Me.cb_marks_visible.Text = "Zeige Markierungen"
Me.cb_marks_visible.UseVisualStyleBackColor = True
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, 51)
Me.DataGridView1.Location = New System.Drawing.Point(11, 19)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.Size = New System.Drawing.Size(335, 388)
Me.DataGridView1.Size = New System.Drawing.Size(329, 221)
Me.DataGridView1.TabIndex = 1
'
'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, 661)
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 = "Load Folder"
Me.b_loaddir.UseVisualStyleBackColor = True
'
'b_save
'
Me.b_save.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.b_save.Location = New System.Drawing.Point(380, 661)
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 = "Save Chanches"
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, 661)
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 = "Reload Folder"
Me.b_reloaddir.UseVisualStyleBackColor = True
'
'Column1
'
Me.Column1.HeaderText = "Nr."
@ -234,11 +207,147 @@ Partial Class Main
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.TextBox3)
Me.GroupBox3.Controls.Add(Me.TextBox4)
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"
'
'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:"
'
'TextBox3
'
Me.TextBox3.Location = New System.Drawing.Point(83, 45)
Me.TextBox3.Name = "TextBox3"
Me.TextBox3.Size = New System.Drawing.Size(263, 20)
Me.TextBox3.TabIndex = 2
'
'TextBox4
'
Me.TextBox4.Location = New System.Drawing.Point(83, 19)
Me.TextBox4.Name = "TextBox4"
Me.TextBox4.Size = New System.Drawing.Size(263, 20)
Me.TextBox4.TabIndex = 0
'
'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 = ""
'
'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_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
'
'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
'
'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)
@ -254,9 +363,13 @@ Partial Class Main
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
Me.GroupBox2.ResumeLayout(False)
Me.GroupBox2.PerformLayout()
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
@ -267,18 +380,28 @@ Partial Class Main
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 TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents RichTextBox1 As System.Windows.Forms.RichTextBox
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
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 cb_marks_visible As System.Windows.Forms.CheckBox
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 TextBox3 As System.Windows.Forms.TextBox
Friend WithEvents TextBox4 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

View File

@ -129,4 +129,16 @@
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<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>

View File

@ -3,18 +3,26 @@ 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
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
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


'###################################################################################################################
@ -24,31 +32,58 @@ Public Class Main
'###################################################################################################################
'############### Form1_Sub-Tasks ###################################################################################
'###################################################################################################################
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()
SaveTagg()
If pub_bChangeTagg Then
SaveTaggByEvent()
End If
ReDim pub_aPhotos(0)
pub_aPhotos(0) = ""
pub_aPhotos = Modul_SB_PictureTagger.DirReadPhotos(pub_sPath)
pub_nPhotoIndex = 0
LoadTaggedIMG()
End Sub 'Reload

Private Sub SaveTagg()
If pub_bChangeTagg = True Then
'Call The Save Methode from Modul_SB-PictureTagger
pub_bChangeTagg = False
'Call The Save Methode from Modul_SB-PictureTagger



pub_bChangeTagg = False
End Sub 'SaveTagg

Private Sub SaveTaggByEvent()
If cb_AutoSave.Checked Then
SaveTagg()
ElseIf MessageBox.Show("Do you want to save changes?", "SB-PictureTagger", MessageBoxButtons.YesNo) = DialogResult.Yes Then
SaveTagg()
End If
End Sub
End Sub 'SaveTaggByEvent

Private Sub LoadTaggedIMG()
Dim ID As String = pub_aPhotos(pub_nPhotoIndex)
Dim TaggedIMG_Now As New TaggedIMG
If ID <> "" Then 'Später wird die ID der DB übergeben
SaveTagg()
If pub_bChangeTagg Then
SaveTaggByEvent()
End If
TaggedIMG_Now = Modul_SB_PictureTagger.LoadPicture(ID)
Label7.Text = TaggedIMG_Now.Path
'Befülle PictureBox
PictureBox1.Image = TaggedIMG_Now.Image
'Befülle TextBox

'Erstelle Marks
End If
End Sub 'LoadTaggedIMG
@ -60,13 +95,12 @@ Public Class Main

Private Sub b_exit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_exit.Click
' Programm Beenden
SaveTagg()
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
Modul_Tools.FolderBrowserDialog(pub_sPath)
pub_sPath = Modul_Tools.FolderBrowserDialog()
Reload()
End Sub

@ -75,11 +109,13 @@ Public Class Main
End Sub

Private Sub b_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_save.Click
SaveTagg()
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
If pub_nPhotoIndex <= (UBound(pub_aPhotos) - 1) Then
pub_nPhotoIndex += 1
LoadTaggedIMG()
End If
@ -97,7 +133,7 @@ Public Class Main
'############### CheckBox Events: CheckStateChanged ################################################################
'###################################################################################################################

Private Sub cb_marks_visible_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cb_marks_visible.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


View File

@ -3,17 +3,20 @@ Imports System.IO

Module Modul_SB_PictureTagger
Structure Mark
Dim Position As String
Dim ID As String
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 Adresse
Dim Description
Dim GPS
Dim Title As String
Dim Adresse As String
Dim Description As String
Dim GPS As String
End Structure
Structure TaggedIMG
Dim ID As Long
Dim ID As String
Dim Title As String
Dim Description As String
Dim Time As String
@ -21,14 +24,36 @@ Module Modul_SB_PictureTagger
Dim Image As Image
Dim Path As String
Dim Place As Place
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
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







@ -57,15 +82,27 @@ Module Modul_SB_PictureTagger
'BildLadeFunktion
'Main Work###############################################
Dim iPicture As New TaggedIMG
Dim iPicture_Verz As String

'Testen ob Vormat unterstüzt!
iPicture.Path = sPath
iPicture.Image = Image.FromFile(sPath)
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)

'Wird hier später mit Tagg Bestückt!
'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
LoadPicture = iPicture
Else
MsgBox("Unsupported Format!")
LoadPicture = ""
End If
'Main Work Ende##########################################
Else
MsgBox("Can't load Picture")
@ -73,7 +110,6 @@ Module Modul_SB_PictureTagger
End If
End Function 'LoadPicture


'###################################################################################################################
'############### 2.DirReadPhotos ###################################################################################
'###################################################################################################################
@ -142,6 +178,143 @@ Module Modul_SB_PictureTagger
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")
'Kurzbeschreibung
'##############################################################
'ReFormate Description Text from "Description"
iPicture.Description = Modul_Tools.Base64_To_Ascii(Modul_Tools.Config_INI_ReadValue(sDB, ID, "Description"))
'##############################################################

'Zeitangabe
iPicture.Time = Modul_Tools.Config_INI_ReadValue(sDB, ID, "Time")
'Ortsangabe-Title
iPicture.Place.Title = Modul_Tools.Config_INI_ReadValue(sDB, ID, "Place_Title")
'Ortsangabe-Adresse
iPicture.Place.Adresse = Modul_Tools.Config_INI_ReadValue(sDB, ID, "Place_Adresse")
'Ortsangabe-Kurzbeschreibung
'##############################################################
'ReFormate Description Text from "Place.Description"
iPicture.Place.Description = Modul_Tools.Base64_To_Ascii(Modul_Tools.Config_INI_ReadValue(sDB, ID, "Place_Description"))
'##############################################################

'Ortsangabe-GPS Koordinaten
iPicture.Place.GPS = Modul_Tools.Config_INI_ReadValue(sDB, ID, "Place_GPS")


'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", "0"))
'##############################################################

'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 ###################################################################################
'###################################################################################################################
Private 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
If iPicture.Title <> "" Then Modul_Tools.Config_INI_WriteValue(sDB, ID, "Title", iPicture.Title)

'Kurzbeschreibung
'##############################################################
'Formate Description Text from "Description"
If iPicture.Description <> "" Then Modul_Tools.Config_INI_WriteValue(sDB, ID, "Description", Modul_Tools.Ascii_To_Base64(iPicture.Description))
'##############################################################

'Zeitangabe
If iPicture.Time <> "" Then Modul_Tools.Config_INI_WriteValue(sDB, ID, "Time", iPicture.Time)
'Ortsangabe-Title
If iPicture.Place.Title <> "" Then Modul_Tools.Config_INI_WriteValue(sDB, ID, "Place_Title", iPicture.Place.Title)
'Ortsangabe-Adresse
If iPicture.Place.Adresse <> "" Then Modul_Tools.Config_INI_WriteValue(sDB, ID, "Place_Adresse", iPicture.Place.Adresse)

'Ortsangabe-Kurzbeschreibung
'##############################################################
'Formate Description Text from "iPicture.Place.Description"
If iPicture.Place.Description <> "" Then Modul_Tools.Config_INI_WriteValue(sDB, ID, "Place_Description", Modul_Tools.Ascii_To_Base64(iPicture.Place.Description))
'##############################################################

'Ortsangabe-GPS Koordinaten
If iPicture.Place.GPS <> "" Then Modul_Tools.Config_INI_WriteValue(sDB, ID, "Place_GPS", iPicture.Place.GPS)


'Save Marks
i = 0
If iPicture.Mark(0).ID <> "" Then
For i = 0 To UBound(iPicture.Mark)
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.Mark(i).PositionX))
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Mark" & i & "_PositionY", Convert.ToString(iPicture.Mark(i).PositionY))
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Mark" & i & "_Radius", Convert.ToString(iPicture.Mark(i).Radius))

'##############################################################
'Formate Description Text from "Mark Deskription"
Modul_Tools.Config_INI_WriteValue(sDB, ID, "Mark" & i & "_Description", Modul_Tools.Ascii_To_Base64(iPicture.Mark(i).Description))
'##############################################################

Next i
End If
i = 0
End If


End Sub






View File

@ -1,13 +1,37 @@
Module Modul_Tools
Option Explicit On
Imports System.IO

Module Modul_Tools

'Methonden_Index:
'1.Datei- und Ordnerdialoge (Mindesanforderung: VB.Net 2005; Framework: 2.0)
' 1.1 FolderBrowserDialog
' 1.2 OpenFileDialog
' 1.3 SaveFileDialog
'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



@ -23,33 +47,29 @@
'############### 1.1 FolderBrowserDialog ###########################################################################
'###################################################################################################################

Public Sub FolderBrowserDialog(ByRef sPath As String)
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

Using fbd As New FolderBrowserDialog
With fbd
FolderBrowserDialog = ""
Using FolderBrowserD As New FolderBrowserDialog
With FolderBrowserD
' Ordnervorschlag
.SelectedPath = "c:\"
' RootFolder verwendet man nur zum Eingrenzen auf eine _
' bestimmte Ordnerebene
' z.B.: .RootFolder = Environment.SpecialFolder.MyPictures
.SelectedPath = sStartPath

.Description = "Bitte einen Ordner auswählen."
' Button "Neuen Ordner erstellen" anzeigen
.ShowNewFolderButton = True

' Zeile ruft den Dialog auf, weitere Ausführung nur bei
' Resultat OK:
'#Button "Neuen Ordner erstellen" anzeigen
.ShowNewFolderButton = ShowNewFolderButton

'#ruft Dialog auf, weitere Ausführung nur bei Resultat "OK"
If .ShowDialog = Windows.Forms.DialogResult.OK Then
sPath = .SelectedPath
FolderBrowserDialog = .SelectedPath
Else
'Nothing
CheckError = True '#Ausführung bei Abruch
End If
End With
End With 'FolderBrowserD
End Using
End Sub 'FolderBrowserDialog
End Function 'FolderBrowserDialog

'###################################################################################################################
'############### 1.2 OpenFileDialog ################################################################################
@ -174,10 +194,122 @@
'End Function 'FilterDescription

'###################################################################################################################
'############### 1.Datei- und Ordnerdialoge ################################# ENDE #########################
'############### http://www.vb-fun.de/dotnet/tipps/tip0212.shtml ###################################################
'############### 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 ##################################################################################
'###################################################################################################################

End Module
'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
MsgBox(ex.Message)
Base64_To_Ascii = ""
End Try
End Function

End Module 'Modul_Tools

View File

@ -1,32 +1,43 @@
'Public Class TaggedIMG2
Public Class TaggedIMG2

' 'Public Class Mark
' ' Dim Position As String
' ' Dim ID As String
' ' Dim Description As String
' 'End Class 'Mark
' Public Class Place
' Dim Adresse
' Public Description
' Public GPS
' End Class
'Soll die "Struktur" einmal ersetzen und zum Formweit ereichbares Objecte erstellen dienen

' Public Class Mark(
' Public Mark_PositionX() As Long
' Public Mark_PositionY() As Long
' Public Mark_Radius() As Long
' Public Mark_Description() As String
' End Class
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
End Class

' Public ID As Long
' Public Title As String
' Public Description As String
' Public Time As String
' Public Image As Image
' Public Path As String
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 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
End Class