Fórum [ShellExecute]Linha de comando errada #347394

16/10/2007

0

Pessoal, eu estou gravando no banco de dados a linha de comando de um aplicativo que preciso abrir dentro do meu sistema.

Quando eu vou gravar, eu estou utilizando uma função para substituir as barras ´\´ por ´\\´, pois dessa maneira eu consigo gravar a linha de comando corretamente no banco.

Acontece que quando eu preciso recuperar esta linha para executar no comando [b:6951d69ffa]ShellExecute (0, Nil, PChar(path), Nil, Nil, SW_ShowMaximized)[/b:6951d69ffa] a linha não retorna como está gravado e sim com caracteres estranhos.

Alguém pode me ajudar a recuperar esta linha de comando que está gravada no meu BD.

PS.: estou utilizando Delphi 7 e BD PostgreSQL.

Flw


Marcos.gandin

Marcos.gandin

Responder

Posts

16/10/2007

Mayron Cachina

Olá marcos.gandin,

O postgres realmente quando vc vai gravar um path tem q usar o \\ mais quando vc pega do banco ele ja vem só com uma barra...
pelo menos aqui funcionou...

vc faz assim:
path := (RESGATANDO STRING DO BANCO DE DADOS)
ShellExecute (0, Nil, PChar(path), Nil, Nil, SW_ShowMaximized)


tenta assim... e posta o resultado, blz?!


Responder

Gostei + 0

16/10/2007

Marcos.gandin

Mayron

Não deu certo, pois como te falei, na hora em que vou gravar o path no banco, eu pego a string que esta num campo e mando ela pra uma função para que seja colocada as ´\\´. Aí ele grava normal...é perfeito até aí.

Mas se eu for editar esses dados e buscar esse path no banco e mando mostrar num campo da tela ele mostra caracteres estranhos e portanto não consigo executar o ShellExecute.

Por exemplo:
- O que vou gravar é:
´C:\\Program Files\\Canon\\ZoomBrowser EX\\Program\\ZoomBrowser.exe´

- O que grava no banco é:
C:\Program Files\Canon\ZoomBrowser EX\Program\ZoomBrowser.exe

- O que me retorna quando busco esse path no banco:
C:?gram FilesþonÿmBrowser EX?gramÿmBrowser.exe

Com isso eu não consigo executar o meu programa.


Responder

Gostei + 0

16/10/2007

Mayron Cachina

Como está sua codificação no banco???
n me lembro qual o Delphi usa.. mais ou é ISO-5899-1 ou LATIN_1
vc pode usar o UTF-8 tb se quizer testar...

para que esses caracteres estranhos estejam aparecendo, acho q pode ser isso...


Responder

Gostei + 0

16/10/2007

Marcos.gandin

Está como SQL_ASCII


Responder

Gostei + 0

16/10/2007

Marcos.gandin

Resolvi o problema substituindo o caracter de gravação no banco, ou seja, quando vou gravar eu substituo a ´\´ por ´-´ e quando vou recuperar este valor pra mostrar na tela eu inverto, ou seja, substituo o ´-´ por ´\´.

Flw


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar