NAO LISTAR DIRETORIO

MATHEUSSOANN 20/03/2014 19:27:25
#436317
vocês poderiam me ajudar nisso aqui?

olha a foto

https://www.dropbox.com/s/m1qzb7ma8uy4g97/programa%201.png


eu quero que exiba somente o diretório + os arquivos
mas esta colocando somente o diretório
eu quero que seja assim
[txt-color=#e80000][Ô]C:\Dofus\clips\alignments\0.swf[Ô][/txt-color]
mas esta fazendo assim
[txt-color=#e80000]C:\Dofus\clips\alignments
C:\Dofus\clips\alignments\0.swf[/txt-color]



olha outro exemplo:

[txt-color=#e80000]C:\Dofus\audio
C:\Dofus\audio\effects.swf
C:\Dofus\audio\musics.swf
C:\Dofus\clips
C:\Dofus\clips\alignments
C:\Dofus\clips\alignments\0.swf
C:\Dofus\clips\alignments\1.swf
C:\Dofus\clips\alignments\2.swf
C:\Dofus\clips\alignments\3.swf[/txt-color]

eu queria que ficasse assim:

[txt-color=#e80000]C:\Dofus\audio
C:\Dofus\audio\effects.swf
C:\Dofus\audio\musics.swf
C:\Dofus\clips\alignments\0.swf
C:\Dofus\clips\alignments\1.swf
C:\Dofus\clips\alignments\2.swf
C:\Dofus\clips\alignments\3.swf[/txt-color]

estou usando este código:

Dim returnFiles As ArrayList = GetFiles(TextBox1.Text)
ListBox1.DataSource = returnFiles
TUNUSAT 21/03/2014 08:11:42
#436333
Resposta escolhida
MATHEUSSOANN,

Não é bem isto que você quer, mas se você puder colocar o tracho de código fonte seu.
Dá um bico aqui ...

http://www.devmedia.com.br/dicas-net-listar-arquivos-de-um-diretorio/1228


Imports System.IO

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
[ô]### Necessário para utilizar algumas classes envolvidas

Dim DirDiretorio As DirectoryInfo = New DirectoryInfo([Ô]C:\[Ô])
[ô]Dim DirDiretorio As DirectoryInfo = New DirectoryInfo([Ô]C:\Windows\winsxs\amd64_microsoft-windows-usertiles_31bf3856ad364e35_6.1.7600.16385_none_f385bacaa98d1e8b\[Ô])
Dim oFileInfoCollection() As FileInfo
Dim oFileInfo As FileInfo
Dim i As Integer

[ô]### Preenche o FileCollection com um Array de objetos FileInfo
oFileInfoCollection = DirDiretorio.GetFiles([Ô]*.*[Ô])

[ô]### Podemos utilizar os objetos da coleção oFileCollection para preencher um ListBox por exemplo

For i = 0 To oFileInfoCollection.Length() - 1
oFileInfo = oFileInfoCollection.GetValue(i)
ListBox1.Items.Add(oFileInfo.Name)
Next

[ô]Leia mais em: Dicas .NET - Listar Arquivos de um Diretório http://www.devmedia.com.br/dicas-net-listar-arquivos-de-um-diretorio/1228#ixzz2wauDmScn
End Sub

End Class
TUNUSAT 21/03/2014 09:08:35
#436341
MATHEUSSOANN,

Acho que o que você quer fazer está no código abaixo.
Detalhe: Usa recursividade.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ListBox1.Items.Clear()
Dim txtArr As ArrayList = New ArrayList

[ô]Não coloque um diretório que tenha muitos diretórios internos e arquivos, senão demorará uma vida para fazer!
txtArr = GetFiles([Ô]C:\Temp\Teste[Ô])

For i As Long = 0 To txtArr.Count - 1
Me.ListBox1.Items.Add(txtArr(i))
Next

End Sub

Private Function GetFiles(ByVal pathFolder As String) As ArrayList
Dim returnFiles As ArrayList = New ArrayList

Dim dirInfo As DirectoryInfo = New DirectoryInfo(pathFolder)
If dirInfo.Exists Then
Dim filesInfo As FileSystemInfo() = dirInfo.GetFileSystemInfos
Dim DirInfor As FileSystemInfo() = dirInfo.GetDirectories

For Each dire As FileSystemInfo In DirInfor
[ô]For Each fil As FileSystemInfo In filesInfo
returnFiles.Add(dire.FullName)
[ô]If dire.Attributes = FileAttributes.Directory Then
returnFiles.AddRange(GetFiles(dire.FullName))
[ô]End If
[ô]Next
Next

End If
Return returnFiles
End Function


Depure também para ver se não tem passos extras desnecessários.
Mas se não for isto que você quer avisa!

[][ô]s,
Tunusat.
MATHEUSSOANN 21/03/2014 12:29:01
#436357
Obrigado! mas esse código que tu me enviou esta mostrando apenas os diretórios sem os arquivos

[th][/th]
Cabecalho
C:\Dofus\clips\alignments\feats
C:\Dofus\clips\alignments\mini
C:\Dofus\clips\alignments\orders



estou utilizando esse código

[th][/th]
Cabecalho
Private Function GetFiles(ByVal pathFolder As String) As ArrayList
Dim returnFiles As ArrayList = New ArrayList
Dim dirInfo As DirectoryInfo = New DirectoryInfo(pathFolder)
If dirInfo.Exists Then
Dim filesInfo As FileSystemInfo() = dirInfo.GetFileSystemInfos
For Each fil As FileSystemInfo In filesInfo
returnFiles.Add(fil.FullName)
If fil.Attributes = FileAttributes.Directory Then
returnFiles.AddRange(GetFiles(fil.FullName))
End If
Next
End If
Return returnFiles
End Function


TUNUSAT 21/03/2014 13:00:35
#436364
MATHEUSSOANN,

Está invertido mesmo... sorry.

Acabei mudando de estratégia e peguei este código no Macoratti:
http://www.macoratti.net/vbn5_ad5.htm

Modifiquei, comentando a linha que trata específicamente de diretórios:

[ô]ListBox1.Items.Add(New String([Ô]-[Ô]c, nivel * 2) & dir)


Abaixo a função completa:


Private Sub exibeArvoreDiretorio(ByVal dir As String, ByVal exibeArquivos As Boolean, Optional ByVal nivel As Integer = 0)
[ô] Exibe o nome da pasta com a identação correta
[ô]ListBox1.Items.Add(New String([Ô]-[Ô]c, nivel * 2) & dir)
Try
[ô] Exibe todos os arquivos na pasta com a identanção correta
If exibeArquivos Then
For Each nome As String In Directory.GetFiles(dir)
ListBox1.Items.Add(New String([Ô] [Ô]c, nivel * 2 + 2) & nome)
Next
End If
[ô] Uma chamada recursiva para exibir todos os subdiretorios da pasta
For Each subdir As String In Directory.GetDirectories(dir)
exibeArvoreDiretorio(subdir, exibeArquivos, nivel + 1)
Next
Catch
Throw New Exception([Ô]ocorreu um erro[Ô])
End Try
End Sub


Veja que ele [Ô]identa[Ô] e ele também pergunta na passagem de paâmetros se deve ser exibido o nome do arquivo. é preciso ajustar isto para ficam mais do jeito que você quer. Como eu estava trabalhando com muitos diretórios e muito arquivos acabei me atrapalhando... reduzi e coloquei algumas pastas vazias também. As pastas vazias não apareceram.

Acho que agora sua dúvida não escapa! Mas se não ficou legal, me fala.


[][ô]s,
Tunusat.
MATHEUSSOANN 21/03/2014 14:17:41
#436374
Muito Obrigado TUNUSAT.

agora sim esse código funcionou muito obrigado mesmo :D

agora esta exibindo os arquivos tudo certinho e posso prosseguir para melhorar o meu programa gerador de config[ô]s
TUNUSAT 21/03/2014 14:29:11
#436378
MATHEUSSOANN,

Valew! Foi legal ajudar.
Não esqueça de fechar o tópico, pois o pessoal aqui do VBMania preza muito isto.
E se puder me avaliar positivamente...
... fico agradecido!

KKKKK!
[][ô]s,
Tunusat.
Tópico encerrado , respostas não são mais permitidas