GARANTIR DESCONTO

Fórum Passar parâmetro de executável para executável #354040

18/02/2008

0

Como faço para passar um parâmetro para outro executável?
E como eu faço para receber o valor deste parâmetro no executável?

Desde já obrigado...


Leufmt

Leufmt

Responder

Posts

19/02/2008

Tojatumo

use a funcao ParamStr

Exemplo do Help do Delphi
procedure TForm1.FormCreate(Sender: TObject);

var
i: Integer;
for i := 1 to ParamCount do
begin
if LowerCase(ParamStr(i)) = ´beep´ then
Beep
else if LowerCase(ParamStr(i)) = ´exit´ then
Application.Terminate;
end;
end;


Responder

Gostei + 0

19/02/2008

Paullsoftware

Executavel = A
Executavel = B

Você quer que o ´B´ somente abra recebendo um determinado parametro, e que esse parametro seja enviado por A certo?
se for assim então faça:

no Executavel A aquele que vai chamar o programa Externo:
button1Click
var
PathAtualizador:String;
begin
PathAtualizador := ExtractFilePath(ParamStr(0)) + ´atualizador.exe /SisLoc´;
if MessageBox(Handle,´Deseja executar atualização do sistema agora?´,´Atualizar Sistema´,MB_ICONQUESTION+MB_YESNO)=IDYES then
 begin
  WinExec(pChar(PathAtualizador),SW_NORMAL);
  Application.Terminate;
  Halt(0);
 end;
end;

e no DPR do programa externo Executavel B você faz:
var
i:integer;
abre:Boolean;
Aberto:HWND;
begin
 abre := False;
 for i := 0 to ParamCount do
  if ParamStr(i) = ´/SisLoc´ then
   abre := True;
  if abre then
   begin
    Aberto := FindWindow(nil,pChar(´Atualizador de Aplicativos´));
    if Aberto = 0 then
     begin
      Application.Initialize;
      Application.Title := ´Atualizador de Aplicativos´;
      Application.CreateForm(TFrmAtualizador, FrmAtualizador);
      Application.Run;
     end
    else
     begin
       MessageDlg(´Por favor aguarde, o sistema já está processo de inicialização!´,mtInformation,[mbOK],0);
     end;
   end
  else
   begin
    MessageDlg(´Parametro de iniciação necessário para execução do Aplicativo!´+13+
               ´Em caso de dúvida entre em contato com o desenvolvedor do Sistema.´,
                 mtInformation,[mbOK],0);
   end;
espero ter ajudado, qualquer coisa posta ai :wink:


Responder

Gostei + 0

19/02/2008

Leufmt

Muito obrigado pela atenção. Vou testar as dicas e vocês.


Responder

Gostei + 0

20/02/2008

Edjlle

Boa paullsoftware!


Responder

Gostei + 0

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

Aceitar