Ir para o conteúdo
SLIFE

[Resolvido] Retirar um valor de uma listbox para uma variavel

Mensagens Recomendadas

SLIFE    0
SLIFE

Boas a todos

Estou de volta de um programa que estou a fazer mas de repente deu-me uma grande branca!!! :wallbash:

O problema e o seguinte:

Estou a ler de uma pasta, e a verificar os vários ficheiros que existem.

E adiciono os nomes a listbox! Mas está a colocar todo o caminho em vez de ser só os nomes dos ficheiros.

Tipo:

c:\teste\ficheiro1.exe

Precisava que colocasse apenas o nome do ficheiro na listbox.

Tipo:

Ficheiro1.exe

Outro problema é ao clicar num nome do ficheiro, queria que esse nome fosse para uma variável.

alguém me pode dar uma ajuda?

Cumprimentos

SLIFE

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
SLIFE    0
SLIFE

Tens aqui um exemplo.

A segunda dúvida não percebi, explica melhor :)

Boas

A segunda parte já consegui resolver

Mas a primeira nao consegui entender o que querias que visse!

Era o Split???

Nao existe outra maneira?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
SLIFE    0
SLIFE

Não, era isto:

My.Computer.FileSystem.GetFileInfo("c:\teste\ficheiro1.exe").Name

Eu Actualmente tenho algo deste genero:

For Each arquivo As String In IO.Directory.GetFiles(caminho, "*.*")

Isto vai buscar todos os ficheiros existentes dentro de uma pasta!

Com o teu exemplo como poderei ir buscar todos os ficheiros de uma determinada pasta??

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
anolsi    16
anolsi

Tens que ir buscar os ficheiros da mesma maneira. Simplesmente o meteres na listbox tens que meter o resultado disto:

My.Computer.FileSystem.GetFileInfo("c:\teste\ficheiro1.exe").Name

Onde substituis "c:\teste\ficheiro1.exe" pelo caminho que metias na listbox. Percebeste?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
SLIFE    0
SLIFE

Tens que ir buscar os ficheiros da mesma maneira. Simplesmente o meteres na listbox tens que meter o resultado disto:

My.Computer.FileSystem.GetFileInfo("c:\teste\ficheiro1.exe").Name

Onde substituis "c:\teste\ficheiro1.exe" pelo caminho que metias na listbox. Percebeste?

Nao estou a conseguir.

O codigo que tenho e este:


For Each arquivo As String In IO.Directory.GetFiles(caminhopasta, "*.*")

            ' Verifica qual a localização e nome do ficheiro
            Dim fi As New IO.FileInfo(arquivo)

            ' Verifica se o nome tem um tamanho superior a 3
            If (fi.Name.Length - fi.Extension.ToString.Length) > 3 Then
               

             
                LTBFilmes.Items.Add(arquivo)

            End If
        Next

Como adapto o que dizes neste codigo?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
anolsi    16
anolsi

Como tens o código, até existe uma maneira melhor:

        For Each arquivo As String In IO.Directory.GetFiles(caminhopasta, "*.*")

            ' Verifica qual a localização e nome do ficheiro
            Dim fi As New IO.FileInfo(arquivo)

            ' Verifica se o nome tem um tamanho superior a 3
            If (fi.Name.Length - fi.Extension.ToString.Length) > 3 Then



                LTBFilmes.Items.Add(fi.Name)

            End If
        Next

EDIT: Já resolveste, mas fica aqui outra alternativa. :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
SLIFE    0
SLIFE

Como tens o código, até existe uma maneira melhor:

        For Each arquivo As String In IO.Directory.GetFiles(caminhopasta, "*.*")

            ' Verifica qual a localização e nome do ficheiro
            Dim fi As New IO.FileInfo(arquivo)

            ' Verifica se o nome tem um tamanho superior a 3
            If (fi.Name.Length - fi.Extension.ToString.Length) > 3 Then



                LTBFilmes.Items.Add(fi.Name)

            End If
        Next

EDIT: Já resolveste, mas fica aqui outra alternativa. :)

Sim e mais uma alternativa que nem tinha dado por ela!

Cabeça mesmo no ar!

Ja agora so mais uma coisa, existe alguma maneira de ficar so mesmo o nome?

Sem a extensao do ficheiro? Tipo: Ficheiro 1.exe ficar escrito na listbox apenas Ficheiro 1

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
SLIFE    0
SLIFE

Admitindo que fazes dentro do ciclo For

semext = fi.Name.Substring(0, fi.Name.Length - fi.Extension.Length)

Funciona

Obrigado!

Estava mesmo perdido agora nesta situação!

Fica bem

E mais uma vez um meu OBRIGADO!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade