Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dynho

Tratamento de String

Recommended Posts

Fala galera...

 

Seguinte, fiz uma App em Visual Basic que faz upload de arquivos para um servidor. Basicamente, eu criei um botão que abre uma OpenFileDialog. Quando eu escolho determinado arquivo, eu coloco todo o caminho dele, dentro de um campo Text.

 

Digamos que o caminho seja: c:\diretorio1\diretorio1\nomedoarquivo.pdf

 

Bom, eu consigo fazer o upload do arquivo. Mas, eu preciso também, simultâneamente, cadastrar esse arquivo no Banco de dados e daí vem o problema. Nâo consigo separar o nome do arquivo na string. Quero cadastrar no banco de dados, só "nomedoarquivo.pdf" e não o caminho dele todo.

 

Jà tentei uma combinação de Left com Right mas não consegui fazer essas funções rodarem no VB.Net e não sei como faço essa simples operação que já fiz tanto no ASP. Qual a melhor maneira de separar isso da string?

 

Agradeço desde já toda e qq ajuda.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno, valeu pela ajuda. O Split e Substring eu já tinha usado. Tentei a lastIndexOf mas não funcionou tb.Isso no ASP é tão simples não entendo como no desktop pode ser tão complicado.Quando eu uso Split, o que eu faço:Primeiro eu converto o caminho todo do arquivo em array, usando o caracter "\" como base. Depois, armazeno o tamanho da array numa variável e através desse valor, vou até o ultimo array e pego o valor dele. Teoricamente teria que funcionar, mas não funciona.Pelo Substring, eu tb armazendo o tamanho de toda a string em uma variavel, e através da função Right ou Left eu faço um for netx do ultimo caractere para trás, até achar a "\", quando acho ele para. Nesse loop eu armazendo caracter por caracter em uma veriável mas tb nunca dá certo.Tentei fazer essa separação pelo astIndexOf mas também dá errado. Mesmo usando o valor da posição da ocorrência, eu também não consigo separar a string pelo Substring.Nâo sei o que acontece e pq está tão difícil pra fazer esse negócio. Deve ser algo simples, deve ter uma maneira fácil de fazer isso. Só pra te dar um exemplo, vou te mostrar uma rotininha simples em ASP que fiz e que faz isso que eu quero. Com a diferença, que ao invés de procurar por uma "/" o script procura um caracter vazio " " e quadno o acha, encerra o loop. Com isso eu pego só o primeiro nome da pessoa. E é mais ou menos isso que eu queria, dá uma olhada pra você ver.verSocio = "Fulano de Tal" ncaracteres = Len(verSocio) For x = 1 To ncaracteres caractere = Right(Left(verSocio,x),1) if caractere <> " " then verSocioFinal = verSocioFinal & caractere else exit for end if Next Com essa rotininha, eu consigo pegar só o "Fulano" de toda a string pq no primeiro espaço ela encerra o loop. Pq é tão difícil fazer isso no VB hein?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Bruno...Consegui finalmente cara, e como eu falei, o negócio era simples mesmo. Foi só eu dar uma volta, esfriar a cabeça que apareceu a solução, segue aí:path_arquivo = "c:\diretorio\subdiretorio\arquivo.txtposicao = path_arquivo.LastIndexOf("\") + 1nome_arquivo_final = path_arquivo.Substring(posicao)MessageBox.Show(nome_arquivo_final)Com essas 4 linhas eu consegui separar só on ome do arquivo. O erro, nos ultimos casos estavam na função Substring. Eu estava passando 2 valores pra ela. Tipo: Substring(1,5) e isso não estava funcionando. Colocando só o primeiro parâmetro, funcionou beleza...Valeu e brigado pela força.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.