Array
(
)

winexec

Mysys
   - 08 abr 2006

e ai gurizada...

assim ó to querendo deletar uma pasta com tudo que tiver dentro..

executa := PChar(´command.com /c rd C:\teste /s /q´);
ExecAndWait(Executa,´´,sw_hide);

pelo DOS nao importa em que diretorio c eu digitar

rd C:\teste /s /q´

ele dele a pasta...

agora pelo delphi já tentei de tudo quanto é geito..


preciso deletar a pasta e NAO mandar pra lixeira...


Paullsoftware
   - 10 abr 2006

vc pode criar um arquivo de Lote (*.bat) e executar ele com WinExec... já tentou dessa forma?


Mysys
   - 10 abr 2006

sim como arquivo .bat eu ja fiz e funciona blz...

mais infelizmente tenho que protejer alguns comando ... entao tem que ser direto no delphi...


eu fiz o mysql rodar direto do CD so que tenho que copiar a base pra uma pasta temporaria .... ai tenho que esconder essa pasta c eu colocar uma bat dentro do cd alguem mais esperto um pouco vai ver essa bet e pegar a base...


Edilcimar
   - 10 abr 2006

Então crie o bat em tempo de execução, faça-o funcionar com o winexec, e na mesma hora apague o bat


Adriano Santos
   - 10 abr 2006


Citação:
Então crie o bat em tempo de execução, faça-o funcionar com o winexec, e na mesma hora apague o bat


Boa. Você pode também incorporar o .bat dentro do executável e extrair na hora do uso, é mais complexo, porém é ainda mais seguro.

[]s


Paulocesar1301
   - 10 abr 2006

Ótimas idéias...
1-crie seu ´.bat´;
2-incorpore em um ´.res´:
» no ´.res´:
#Código


1 RCDATA "C:\MeuCaminhoBase\MeuBat.bat"

3-extraia o ´.bat´:
#Código

Var ResStream: TResourceStream;
Try
Try
ResStream := TResourceStream.CreateFromID (HInstance, 1, RT_RCDATA);
ResStream.SaveToFile(SeuCaminho + ´SeuBat.bat´);
Finally
ResStream.Free;
End;
Except
ResStream.Free;
End;

4-execute seu ´.bat´;
5-exclua seu ´.bat´

Abs e Bons Códigos :wink:


Adriano Santos
   - 10 abr 2006


Citação:
Ótimas idéias...
1-crie seu ´.bat´;
2-incorpore em um ´.res´:
» no ´.res´:
#Código


1 RCDATA "C:\MeuCaminhoBase\MeuBat.bat"

3-extraia o ´.bat´:
#Código

Var ResStream: TResourceStream;
Try
Try
ResStream := TResourceStream.CreateFromID (HInstance, 1, RT_RCDATA);
ResStream.SaveToFile(SeuCaminho + ´SeuBat.bat´);
Finally
ResStream.Free;
End;
Except
ResStream.Free;
End;

4-execute seu ´.bat´;
5-exclua seu ´.bat´

Abs e Bons Códigos :wink:

É isso Paulo, na minha opnião essa é a melhor forma.


Mysys
   - 10 abr 2006

blz....

criando a bat em tempo de execucao eu ja fiz.. e deletando logo em seguida.. fico show de bola...

agora vou dar uma testada ....


um abraco a todos...


Edilcimar
   - 10 abr 2006

Ok, mas cuidado ao dar a testada para não se machucar!


Mysys
   - 10 abr 2006

mais a ideia era essa mesmo

vo dando testada ate sai alguma coisa pelo nariz ou orelha ...

um abraço


Siam
   - 13 abr 2006


Citação:
executa := PChar(´command.com /c rd C:\teste /s /q´);
Pelo que me lembro, não é /c e sim /k