Показать сообщение отдельно

  #5  
Старый 16.12.2009, 16:18
hacknick
Новичок
Регистрация: 15.10.2009
Сообщений: 8
С нами: 8722808

Репутация: 2
По умолчанию

Решил проблему))
Задача была имитация жесткого диска )))
Тему можно закрывать

Если кому надо:
Сделал на вб, если кому надо на с шарп - переписать дело 5 минут
Код:
Imports System.IO

Public Class Form1
    Dim tfName, TreecDir, TreecFn, TreecFnType, TreecSp, TreecDsinb, lgName, stupName As String
    Dim Treeci As Integer
    Dim Treecds As IO.DirectoryInfo


    Private Sub LoadTreeViewFromFile(ByVal file_name As String, _
    ByVal trv As TreeView)
        ' Get the file's contents.
        Dim stream_reader As New StreamReader(file_name)
        Dim file_contents As String = stream_reader.ReadToEnd()
        stream_reader.Close()

        ' Remove line feeds.
        file_contents = file_contents.Replace(vbLf, "")

        ' Break the file into lines.
        Const charCR As Char = CChar(vbCr)
        Const charTab As Char = CChar(vbTab)
        Dim lines() As String = file_contents.Split(charCR)

        ' Process the lines.
        Dim text_line As String
        Dim level As Integer
        Dim tree_nodes() As TreeNode
        Dim num_nodes As Integer = 0
        ReDim tree_nodes(num_nodes)

        trv.Nodes.Clear()
        For i As Integer = 0 To lines.GetUpperBound(0)
            text_line = lines(i)
            If text_line.Trim().Length > 0 Then
                ' See how many tabs are at the start of the
                ' line.
                level = text_line.Length - _
                    text_line.TrimStart(charTab).Length

                ' Make room for the new node.
                If level > num_nodes Then
                    num_nodes = level
                    ReDim Preserve tree_nodes(num_nodes)
                End If

                ' Add the new node.
                If level = 0 Then
                    tree_nodes(level) = trv.Nodes.Add(text_line.Trim())
                Else
                    tree_nodes(level) = tree_nodes(level - 1).Nodes.Add(text_line.Trim())
                End If
                tree_nodes(level).EnsureVisible()
            End If
        Next i

        If trv.Nodes.Count > 0 Then trv.Nodes(0).EnsureVisible()
    End Sub

    Private Sub gettin(ByVal startpath As String)
        Try
            For Each d As IO.DirectoryInfo In New IO.DirectoryInfo(startpath).GetDirectories
                Treecds = New IO.DirectoryInfo(d.FullName)
                TreecSp = Space(Treeci)
                TreecSp = TreecSp.Replace(" ", vbTab)
                TreecDsinb = TreecSp & d.Name
                TreecFn = TreecDsinb
                Using sw As New IO.StreamWriter(tfName, True)
                    sw.WriteLine(TreecFn)
                    sw.Close()
                End Using
                Try : If CBool(d.GetDirectories.Length) Then Treeci += 1 : gettin(d.FullName) : Treeci -= 1
                Catch ex As Exception
                End Try
            Next
        Catch ex As Exception
        End Try
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        tfName = "c:\tr"
        'gettin("c:\")
        LoadTreeViewFromFile(tfName, TreeView1)
        -
    End Sub
End Class

Последний раз редактировалось hacknick; 16.12.2009 в 16:23..
 
Ответить с цитированием