Announcement

Collapse
No announcement yet.

Sammelfrage

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sammelfrage

    Ich haber gleich zwei Fragen
    1. Ich benutze in meinem Programm das Dialogfenster "Ordner suchen"

    [highlight=vb.net]
    Dim oShell As Object
    Dim oFolder As Object

    oShell = CreateObject("Shell.Application")
    oFolder = oShell.BrowseForFolder(0, "Blub Blub.", 1).Self.Path
    [/highlight]

    Klappt auch alles wunderbar, nur wenn ich im Fenster auf Abbrechen drücke schmeirt mein komplettes Programm ab. Ich denke mal ich hab da nen zeile vergessen, was passieren soll wenn ich auf abbrechen drücke. Aber ich krieg diese Programmzeile einfach nicht hin. Ich denke mal ihr könnt mir helfen.


    2. Ich möchte so ein art Bakup Programm schreiben.
    Ein TreeView in dem die Kompletten Laufwerk eines Computers abgebildet ist.
    Der TreeView hat vor jedem Knoten Checkboxen.
    Das der TreeView mit den Lauferksdaten gefüllt wird hab ich hinbekommen.

    [highlight=vb.net]
    Imports System.IO
    Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' abrufen der lokalen Laufwerksangaben
    Dim drives() As String = Directory.GetLogicalDrives()
    Dim node As TreeNode
    For Each drv As String In drives
    node = TreeView1.Nodes.Add(drv)
    If node.Text = "A:\" Then
    node.ImageIndex = 0
    node.SelectedImageIndex = 0
    Continue For
    End If
    ' alle untergeordneten Verzeichnisse einlesen
    AllSubDirectories(node)
    ' das Laufwerk C: aktivieren
    If (drv = "C:\") Then
    TreeView1.SelectedNode = node
    End If
    Next
    End Sub

    ' Hinzufügen der untergeordneten Verzeichnisse eines
    ' bestimmten Knotens
    Private Sub AllSubDirectories(ByVal node As TreeNode)
    Dim arrDirInfo() As DirectoryInfo
    Dim dirinfo As DirectoryInfo = _
    New DirectoryInfo(node.FullPath)
    ' auftretende Fehler ignorieren
    Try
    arrDirInfo = dirinfo.GetDirectories()
    Catch
    Return
    End Try
    For Each info As DirectoryInfo In arrDirInfo
    node.Nodes.Add(info.Name)
    Next
    End Sub
    Private Sub TreeView1_BeforeExpand(ByVal sender As Object, _
    ByVal e As TreeViewCancelEventArgs) _
    Handles TreeView1.BeforeExpand
    For Each node As TreeNode In e.Node.Nodes
    AllSubDirectories(node)
    Next
    End Sub
    Private Sub TreeView1_AfterSelect(ByVal sender As Object, _
    ByVal e As TreeViewEventArgs) _
    Handles TreeView1.AfterSelect
    If e.Node.Nodes.Count = 0 Then
    AllSubDirectories(e.Node)
    End If
    End Sub
    End Class
    [/highlight]
    Wenn es ne schönere und kürzere Art gibt, bin ich froh, wenn ihr mir die zeigen könnt.


    Nun möchte ich einen Button drücken und die ausgewählten Ordner sammt Unterordner auf ein bestimmtes Laufwerk kopieren. Ordner mit Unterordner kann ich kopieren nur ich krieg das auslesen des TreeView nicht hin.
    Ich hoffe ihr könnt mir da mit einem Code beispiel oder gleich die lösung helfen (ich kann es meistens erst richtig verstehen, wenn ich die lösung habe und die dann schritt für schritt durchgehe)

    Schon mal vielen dank im vorraus.
    Zuletzt editiert von gfoidl; 01.06.2009, 11:30. Reason: Code-Formatierung auf VB.net geändert

  • #2
    Hallo,

    für 2 Fragen sollte 2 Themen eröffnet werden.

    Ich habe 2 Themen eröffnet:
    1. 1. Frage
    2. 2. Frage


    Dieses Thema wird geschlossen.

    mfG Moderator
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment

    Working...
    X