Public Class frmAllgemeinEintrag Property Eintrag As New cEintrag Property Berechtigung As New cBerechtigungen Property NewID As Boolean = False Private Sub frmAllgemeinEintrag_Load(sender As Object, e As EventArgs) Handles Me.Load CmdTest.Visible = Class1.DebugMode FillIn() If Eintrag.Berechtigung = "R" Then ' MsgBox("nur Leserecht") PanTop.Enabled = False : TxtInfo.Enabled = False : PanWrite.Enabled = False End If End Sub Function FillIn() TxtRubrik.Text = Eintrag.rubrik TxtTitel.Text = Eintrag.Titel TxtInfo.Text = Eintrag.Info TxtBenutzername.Text = Eintrag.Benutzer TxtKennwort.Text = Eintrag.Passwort TxtLink.Text = Eintrag.Link End Function Function ReadOut() Eintrag.rubrik = TxtRubrik.Text Eintrag.Titel = TxtTitel.Text Eintrag.Info = Class1.hochkomma(TxtInfo.Text) Eintrag.Benutzer = TxtBenutzername.Text Eintrag.Passwort = TxtKennwort.Text Eintrag.Link = TxtLink.Text End Function Private Sub ChkKennwortAnzeigen_CheckedChanged(sender As Object, e As EventArgs) Handles ChkKennwortAnzeigen.CheckedChanged If ChkKennwortAnzeigen.Checked Then TxtKennwort.PasswordChar = "" Else TxtKennwort.PasswordChar = "*" End If End Sub Private Sub CmdLink_Click(sender As Object, e As EventArgs) Handles CmdLink.Click Ext_Programme.startlink(TxtLink.Text) End Sub Private Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click MsgBox(Eintrag.ID) End Sub Private Sub CmdSave_Click(sender As Object, e As EventArgs) Handles CmdSave.Click ReadOut() Eintrag.Save() End Sub Private Sub btnBerechtigungen_Click(sender As Object, e As EventArgs) Handles btnBerechtigungen.Click CmdSave.PerformClick() Dim i As Integer = 0 Dim frm As New frmLeer frm.Text = "Berechtigungen für " & Eintrag.Titel For Each Benutzer As cBenutzer In Class1.GroupUsers Dim usrcntrl As New uscntr_Berechtigungen usrcntrl.User = Benutzer usrcntrl.Standort = Eintrag.ID usrcntrl.lblName.Text = Benutzer.Vorname & " " & Benutzer.Nachname usrcntrl.Berechtigung.StandardZugriff = "W" usrcntrl.Location = New Point(0, i * usrcntrl.Height) i = i + 1 frm.PanMain.Controls.Add(usrcntrl) Next frm.Show() End Sub Private Sub CmdAbbrechen_Click(sender As Object, e As EventArgs) Handles CmdAbbrechen.Click Me.Close() End Sub Private Sub CmdDateien_Click(sender As Object, e As EventArgs) Handles CmdDateien.Click openfilepath() End Sub Private Function openfilepath(Optional ByVal returnonlypath As Boolean = False) Dim ds As New DataSet() Dim islinked As Integer Dim LinkedWith As String = "" Dim path As String = "" Try 'dbload() 'con.Open() 'Dim sda As New SqlDataAdapter("SELECT * FROM TbL_Allgemein WHERE " & abfrage & "", con) 'sda.Fill(ds) 'con.Close() SQL.SQL2DS("SELECT * FROM TbL_Allgemein WHERE Rubrik='" & Eintrag.rubrik & "' AND Titel='" & Eintrag.Titel & "'", ds) Dim Info As String = ds.Tables(0).Rows(0).Item("Info") If IsDBNull(ds.Tables(0).Rows(0).Item("Linked")) Then islinked = "0" ElseIf Not IsDBNull(ds.Tables(0).Rows(0).Item("Linked")) Then islinked = ds.Tables(0).Rows(0).Item("Linked") End If If IsDBNull(ds.Tables(0).Rows(0).Item("LinkedWith")) Then LinkedWith = "" ElseIf Not IsDBNull(ds.Tables(0).Rows(0).Item("LinkedWith")) Then LinkedWith = ds.Tables(0).Rows(0).Item("LinkedWith") End If If islinked = "1" Then Dim dslinked As New DataSet() SQL.SQL2DS("SELECT * FROM Tbl_Allgemein WHERE LinkedWith='" & LinkedWith & "'", dslinked) path = Class1.FilePath & "\" & dslinked.Tables(0).Rows(0).Item("Rubrik") & "\" & dslinked.Tables(0).Rows(0).Item("Titel") '& "\" & dslinked.Tables(0).Rows(0).Item("Host") Else 'MsgBox("not linked") path = Class1.FilePath & "\" & Eintrag.rubrik & "\" & Eintrag.Titel '& "\" & SenderHost End If Catch ex As Exception MsgBox("openfilepath() Tbl_Allgemein: " & ex.Message) End Try ''Pfad öffnen: If returnonlypath = True Then Return path Exit Function End If Try If IO.Directory.Exists(path) Then Process.Start(path) Else IO.Directory.CreateDirectory(path) Process.Start(path) End If Catch ex As Exception End Try End Function Private Sub CmdDelete_Click(sender As Object, e As EventArgs) Handles CmdDelete.Click Dim path As String path = openfilepath(True) 'Class1.FilePath & "\" & Rubrik & "\" & Titel If MsgBox("Eintrag wirklich löschen?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then If MessageBox.Show("Dazugehörigen Ordner im Dateisystem löschen?", "Dateien löschen", MessageBoxButtons.YesNo) = DialogResult.Yes Then deleteFiles(path, Eintrag.rubrik) ElseIf DialogResult.No Then Exit Sub End If SQL.DeleteSQL("TbL_Allgemein", "ID = '" & Eintrag.ID & "'") ' Main.LstStandortLoad() Me.Close() Else Exit Sub End If End Sub Private Function deleteFiles(path As String, Rubrik As String) Dim rubrikpath As String = Class1.FilePath & "\" & Rubrik Try If IO.Directory.Exists(path) Then Dim files As String() = IO.Directory.GetFiles(path) For Each file As String In files IO.File.Delete(file) Next IO.Directory.Delete(path, True) Else 'MsgBox("Kein Ordner zum Löschen gefunden: wird übersprungen.") End If Catch ex As Exception MsgBox("Beim Löschen der Dateien: " & ex.Message) End Try ''Überprüfen, ob letzter Eintrag der Rubrik bzw. ob Odner der Rubrik leer ist: Try If IO.Directory.Exists(rubrikpath) Then Dim files As String() = IO.Directory.GetFiles(rubrikpath) Dim folder As String() = IO.Directory.GetDirectories(rubrikpath) Dim out As String = "" For Each row As String In files out &= row Next For Each row As String In folder out &= row Next If out IsNot "" Then Exit Function Else IO.Directory.Delete(rubrikpath, True) End If Else 'MsgBox("Kein Ordner zum Löschen gefunden: wird übersprungen.") End If Catch ex As Exception MsgBox("Beim Löschen der Dateien: " & ex.Message) End Try End Function Private Sub CmdReset_Click(sender As Object, e As EventArgs) Handles CmdReset.Click FillIn() End Sub End Class