APARECER NO DIRLISTBOX SOMENTE O NOME DAS PASTAS L

RAMON 09/04/2004 01:27:44
#19573
Estou usando uma DirListBox e nela aparece todas as pastas do diretorio

Gostaria de saber se tem algum jeito de eu definir o DirListBox como uma lista de pastas local
Ou seja que somente apareça as pastas locais definidas por mim?

E tambem se existe alguma propiedade que exclua as icones das pastas, aparecendo somente o nome das pastas?

Pois o que eu quero realmente é que apareça somente pastas locais e não um diretorio.

Se não da no sirlistbox então me diga como fazer de outro jeito

USUARIO.EXCLUIDOS 09/04/2004 14:55:36
#19644
Resposta escolhida
Não estou respondendo, na verdade, quero é matar uma curiosidade, ok?

Por partes:

Todas as pastas que aparecem no DirListBox são diretórios. Todos eles podem também conter subpastas. Ok?
Seu desejo é o de que apenas as pastas locais (todas as pastas na máquina local, sem contar as da rede, é isso? Ou apenas a pasta interna á instalação da aplicação?). E ainda, complementado, remover os ícones, deixando apenas texto.

Ao invés de se utilizar do DirListBox, tudo o que parece vir de encontro á sua vontade é mesmo um ListBox comum. Só que você terá de populá-lo com as pastas que deseja que sejam visíveis. E o Flávio passou uma função bastante interessante para essa finalidade.

Mas ficou a minha curiosidade sobre o tópico: Você quer que apareçam todas as pastas da máquina local, sem aparecerem as da rede, ou quer que apareçam apenas as pastas abaixo da instalação de sua aplicação?
USUARIO.EXCLUIDOS 10/04/2004 05:25:16
#19748
Então, Flávio, a minha pergunta está respondida: Ele quer que apareçam apenas certas e específicas pastas, não as pastas locais ou todas as pastas ou ainda as pastas internas á aplicação.
E dessa forma, continuo com a opinião de que o ListBox, sugerido por você, é a melhor das opções.
Grato por esclarecer.
USUARIO.EXCLUIDOS 16/04/2004 08:39:28
#20895
Ramon,
Agora sim, consegui entender. Era como eu imaginava, o conjunto de pastas internas á sua aplicação.
Tem como fazer, sim, não tem dívidas. E para essa finalidade, você pode se utilizar de um DirListBox e de um FileListBox, que tem mesmo essa função.
Veja:

Private Sub Form_Load()
Dir1.Path = App.Path 'Atribui o caminho a aplicação como origem
File1.Path = Dir1.Path '
File1.Pattern = "*.txt" 'Mostrar apenas arquivos texto
End Sub

Private Sub Dir1_Change()
'O truque para o usuário não ir (até vê, mas não vai) para outras pastas, mas apenas as internas á aplicação é esse: Avaliar o tamanho do caminho atual.
If Len(Dir1.Path) Len(App.Path) Then
Dir1.Path = App.Path
End If
File1.Path = Dir1.Path
End Sub
USUARIO.EXCLUIDOS 17/04/2004 08:02:57
#21066
Faça assim:
1 - Referencie a biblioteca Microsoft Scripting Runtime.
2 - Em um Form, insira um ListBox (List1), um FileListBox (File1) e um TextBox (Text1).
3 - Cole o código:

Option Explicit

Private Sub Form_Load()
Dim oFS As FileSystemObject
Dim oFD0 As Folder
Dim oFDS As Folder
Set oFS = New FileSystemObject
Set oFD0 = oFS.GetFolder(App.Path)
For Each oFDS In oFD0.SubFolders
List1.AddItem oFDS.Name
Next
Set oFDS = Nothing
Set oFD0 = Nothing
Set oFS = Nothing
End Sub

Private Sub List1_Click()
File1.Pattern = "*.*"
If List1.Selected(List1.ListIndex) = True Then
File1.Path = App.Path & "\" & List1.Text
End If
End Sub

Private Sub File1_Click()
Text1.Text = Empty
Text1.Text = File1.Path & "\" & File1.FileName

4 - Execute

Obs.:
Para selecionar apenas um determinado tipo de arquivo, substitua o valor da propriedade Pattern do FileListBox, no código.
Para alterar a pasta de referência, altere a string passada á função GetFolder (oFS.GetFolder(App.Path)) para o caminho desejado.

Valew?
Tópico encerrado , respostas não são mais permitidas