Ir para o conteúdo
a3deluxe

Shell erro

Mensagens Recomendadas

a3deluxe

Boas,

Queria desmontar uma drive utilizando um programa chamado Gizmo.

Testei no cmd do dos, a instrução: c:\Program Files\Gizmo\gizmo.exe /Unmount:"J"

e funcionou.

Agora queria coloca-la em vb.

tentei assim:

//Shell("c:\Program Files\Gizmo\gizmo.exe /Unmount:"J") 

e dá me este erro, na letra J:

(Error 1 Comma, ')', or a valid expression continuation expected. C:\project\Form1.vb 74 65 project1.

J, que corresponde a letra da drive a desmontar.

aqui fica o link onde encontrei os command line

:http://arainia.com/support/forums/viewtopic.php?t=211&sid=dc23cffb49164be88c348a03c07c29dd

obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

O erro é por causa das aspas na string

Tenta assim:

Shell("c:\Program Files\Gizmo\gizmo.exe /Unmount:" & Chr(34) & "J" & Chr(34) )

Editado por nelsonr

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
a3deluxe

Obrigado, nelsonr

já esta resolvido.

era isso mesmo.

Agora queria tambem adicionar este código ao fechar a janela do form no X

porque estou a utilizar num botão.

como posso fazer?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
a3deluxe

mais uma vez Obrigado,

Resolvi assim:

// Private Sub FormClosing(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing

	If MessageBox.Show("Are you sure to exit?", "Exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
		e.Cancel = False
	Else
		e.Cancel = True
	End If

End Sub  

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Tenta assim:

Shell("c:\Program Files\Gizmo\gizmo.exe /Unmount:" & Chr(34) & "J" & Chr(34) )

Não usem "Chr(34)", o VB.NET tem uma forma de assumir uma aspa:

Shell("c:\Program Files\Gizmo\gizmo.exe /Unmount:""J""")

Ou seja, duas aspas seguidas serão consideradas uma aspa na String. Se fôssemos a usar Chr(34) para isto estávamos perdidos... :D


Knowledge is free!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

As aspas são caracteres delimitadores de strings.

Quando pretendes usar aspas literalmente dentro de uma string, dá erro porque o vb.net não sabe se é para terminar uma string ou se fazem parte da string.

o que o thoga31 quer dizer, é que em vez de somares à string o caracter das aspas usando o chr(34), usares aspas duplas dentro da string.

A meu ver tanto faz de uma maneira ou de outra (até porque programo em C# e uso \").

No entanto acho que o uso do " & chr(34) &" facilita visualmente em relação às aspas duplas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Facilita visualmente num aspecto, sim, mas a meu ver polui imenso a visualização da String que estamos a criar, principalmente quando temos de concatenar mais coisas.

Além disso, estou bastante habituado a usar este método de aspa dupla pois em Pascal é utilizado o mesmo método da plica dupla - mas aí o editor de texto que uso é mais inteligente que o Visual Studio - coloca as plicas duplas a uma cor diferente.


Knowledge is free!

Partilhar esta mensagem


Ligação 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. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.