Delphi Write na tela do DOS (prompt de comando)
Ola tenho um programinha que recebe um parametro na prompt de comando:
por exemplo:
.
C:\>Aplicacao.EXE Parametro1
.
Gostaria de poder retornar um resultado no proprio prompt de comando:
por exemplo:
.
C:\>Aplicacao.EXE Parametro1
Parametro recebido com sucesso...
C:\>
Acredito que exista como fazer isso, mas não encontrei nada, alguém saberia me dizer?
por exemplo:
.
C:\>Aplicacao.EXE Parametro1
.
Gostaria de poder retornar um resultado no proprio prompt de comando:
por exemplo:
.
C:\>Aplicacao.EXE Parametro1
Parametro recebido com sucesso...
C:\>
Acredito que exista como fazer isso, mas não encontrei nada, alguém saberia me dizer?
Alberto
Curtidas 0
Respostas
Emerson Nascimento
23/04/2020
como você não apresentou o source-code do programa, veja o tópico abaixo te ajuda:
https://www.devmedia.com.br/voce-sabia/994
https://www.devmedia.com.br/voce-sabia/994
GOSTEI 0
Alberto
23/04/2020
Obrigado por responder.
Testei com a diretiva {$APPTYPE CONSOLE} e funciona a função Writeln diretamente no console (prompt de comando).
Porém ao incluir a diretiva (como é uma diretiva de compilação), a janela (prompt de comando) abre automaticamente ao executar a aplicação.
.
A minha aplicação é visual e já esta pronta, porém eu gostaria de implementar nela uma procedure que só será
executada, quando a aplicação detectar que foi passado um parametro.
(nesse caso eu já estaria executando a aplicação de uma janela DOS (prompt de comando) e é ai que gostaria de usar o writeln)
.
-Executar aplicacao no windows (sem parametros)
Clico no icone, executa, abre a aplicacao no modo GUI
.
-Executar a aplicação no PROMPT de COMANDO (com parametros)
C:\\>Aplicação.EXE Parametro1 (executa a procedure especifica)
C:\\>Parametro recebido com sucesso (retorno da aplicação: enviado pela Writeln)
-Sai da aplicação.
Resumindo, eu precisaria controlar em Runtime o uso do CONSOLE
Testei com a diretiva {$APPTYPE CONSOLE} e funciona a função Writeln diretamente no console (prompt de comando).
Porém ao incluir a diretiva (como é uma diretiva de compilação), a janela (prompt de comando) abre automaticamente ao executar a aplicação.
.
A minha aplicação é visual e já esta pronta, porém eu gostaria de implementar nela uma procedure que só será
executada, quando a aplicação detectar que foi passado um parametro.
(nesse caso eu já estaria executando a aplicação de uma janela DOS (prompt de comando) e é ai que gostaria de usar o writeln)
.
-Executar aplicacao no windows (sem parametros)
Clico no icone, executa, abre a aplicacao no modo GUI
.
-Executar a aplicação no PROMPT de COMANDO (com parametros)
C:\\>Aplicação.EXE Parametro1 (executa a procedure especifica)
C:\\>Parametro recebido com sucesso (retorno da aplicação: enviado pela Writeln)
-Sai da aplicação.
Resumindo, eu precisaria controlar em Runtime o uso do CONSOLE
GOSTEI 0
Psychlo
23/04/2020
em qualquer parte do codigo...
var
x: String;
begin
AllocConsole;
Writeln('test..');
Readln(x);
ShowMessage(x);
FreeConsole;
end;
var
x: String;
begin
AllocConsole;
Writeln('test..');
Readln(x);
ShowMessage(x);
FreeConsole;
end;
GOSTEI 0
Alberto
23/04/2020
Obrigado por responder.
O AllocConsole até funciona, porém não da maneira que eu preciso.
.
Pois quando executo a aplicação com parametro
eu já estou em uma tela do PROMPT de COMANDO
.
O AllocConsole abre uma segunda tela, o que não é interessante
.
O que eu precisaria é algo como capturar o Handle
da Janela do PROMPT de Comando que executou a aplicação.
e então enviar o WriteLn nessa janela.
O AllocConsole até funciona, porém não da maneira que eu preciso.
.
Pois quando executo a aplicação com parametro
eu já estou em uma tela do PROMPT de COMANDO
.
O AllocConsole abre uma segunda tela, o que não é interessante
.
O que eu precisaria é algo como capturar o Handle
da Janela do PROMPT de Comando que executou a aplicação.
e então enviar o WriteLn nessa janela.
GOSTEI 0