ABRIR PROGRAMA

WILLVIDAL 19/08/2009 22:38:59
#320357
Assim.. eu tenho um sistema de vendas e um sistema de controle de cheques separado, mas que utiliza o mesmo banco de dados, nos dois sistemas o usuario precisa digitar nome e senha, mas eu queria que se ele ja estivesse logado no sistema de vendas, quando clicasse em abrir controle de cheques (dentro do sistema de vendas usando o shell) não precisasse digitar a senha de novo, ja abria no nome do usuario que esta logado no sistema de vendas. Uma vez eu vi um artigo de como chamar um programa passando parametros, tipo no ms-dos quando vc executa copy /y, o /y ja sereve pra nem perguntar se quer copiar por cima.... esse é um exemplo.

Abrç
TECLA 19/08/2009 22:43:49
#320358
Resposta escolhida
Tente o seguinte;

No controle de cheques
Private Sub Form_Load()
If Command$ = [Ô]-u[Ô] Then
frmPrincipal.Show
Else
frmLogin.Show
End If
End Sub


Em vendas
Shell [Ô]vendas.exe -u[Ô]


Deve resolver.
WILLVIDAL 19/08/2009 22:46:16
#320359
Tecla o controle de cheques inicia numa Sub Main(), e não com um form já..
Então como ficaria? a mesma coisa só q no main ?
vou testar aqui...valew
WILLVIDAL 19/08/2009 22:48:00
#320360
outra coisa, pelo controle de venda eu tbm tenho que passar o código do usuário, para identifica-lo depois no sistema de cheques.
TECLA 19/08/2009 23:00:24
#320361
Passa os valores por PIPE e depois faz um SPLIT.

Sub Main()
If Left(Command$, 2) = [Ô]-u[Ô] Then
frmPrincipal.Show
Else
frmLogin.Show
End If
End Sub


Shell [Ô]programa.exe -u|usu=TECLA|perfil=ADMIN[Ô]


Fiz algumas alterações pois estava incorreto.
WILLVIDAL 19/08/2009 23:40:55
#320367
é isso mesmo Tecla valew....

Só pra constar eu fiz assim na Sub main...

If Command$ <> [Ô][Ô] Then
dim oUSUARIO as String
Dim comaN As Variant
comaN = Split(Command$, [Ô]|[Ô])

If comaN(0) = [Ô]-u[Ô] Then
oUSUARIO = comaN(1)
End If

Else

If LOGINPRINCIPAL = False Then End
End If

e do outro lado

shell([Ô]cheque.exe -u|willian[Ô])
Tópico encerrado , respostas não são mais permitidas