Tenha uma nova experiência ao navegar no Fórum pelo computador de forma integrada ao portal principal. Acesse o seguinte link: https://www.autolisp.com.br/board/. Entretanto para dispositivos móveis recomendamos acessar este outro link: https://www.autolisp.com.br/forum/

Comparar caracter com aspa (") em VB.net

Dúvidas sobre VB para AutoCAD...

Moderador: Moderadores

Responder
Avatar do usuário
cracksther
Diamante
Diamante
Mensagens: 1063
Registrado em: Seg 13 Dez 2004 11:00:00 pm

Comparar caracter com aspa (") em VB.net

Mensagem por cracksther » Qua 18 Fev 2009 1:27:45 pm

Sou iniciante em VB.net, não pretendo obter profundos conhecimentos nesta linguagem, apenas o básico para ajudar na leitura de códigos.

Como 1° exercício estou convertendo um programa que escrevi em C + Win32API que manipula o registro do Windows.

O programa deve manipular uma string, eliminando algumas partes e dividindo em duas. A string pode variar entre dois formatos como mostro a seguir:

"C:\programas\vbRegistry.exe" Nome-do-produto
ou
C:\programas\vbRegistry.exe Nome-do-produto

A primeira forma ocorre se o usuário executar o programa diretamente na linha de comando (barra de endereço) do Windows Explorer.
A segunda forma ocorre se o usuário executar através do MS-DOS.

Preciso separar as partes para que fiquem da seguinte forma:
1° parte = C:\programas
2° parte = Nome-do-produto

Minha dificuldade é simplesmente comparar se o 1° caracter da string é ou não uma aspa ("), o restante já implementei.

Pesquisei e encontrei algo usando %xx, mas não consegui resolver para ".

Alternativamente aceito sugestões de como obter o endereço completo de onde o programa está no disco, isso também resolveria meu problema.

Obrigado.

Até mais!
Marcelo Silva - Cascavel - PR
[email protected]

Avatar do usuário
unVolt
Bronze 1/3
Bronze 1/3
Mensagens: 185
Registrado em: Dom 17 Dez 2006 11:00:00 pm
Localização: Jundiaí - SP

Mensagem por unVolt » Qua 18 Fev 2009 10:07:27 pm

Código: Selecionar todos

    Dim s As String
    s = TextBox1.Text
    If Left(s, 1) = Chr(34) Then
        MsgBox "É aspa!"
    End If
A função Left retorna o primeiro caracter da esquerda, e a função Chr retorna o caracter ascii 34, que é a aspa dupla. Se não resolver é só avisar.
And I guess I just don't know
André William

Avatar do usuário
cracksther
Diamante
Diamante
Mensagens: 1063
Registrado em: Seg 13 Dez 2004 11:00:00 pm

Mensagem por cracksther » Qui 19 Fev 2009 9:59:22 am

unVolt... Já testei e funcionou perfeitamente.

Código: Selecionar todos

Dim str As String = """teste"
'Notei que em uma string um par de aspas duplas é convertido para uma única aspa
'ou seja:
If Left(str, 1) = """" Then
    Console.WriteLine("é aspa")
End If´
'embora esquesito, é equivalente á:
If Left(str, 1) = Chr(34) Then
    Console.WriteLine("é aspa")
End If
Muito obrigado.

Até mais!
Marcelo Silva - Cascavel - PR
[email protected]

Responder