Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida Delphi com DOS


C.J.

Pergunta

15 respostass a esta questão

Posts Recomendados

  • 0

Certo, então faz o seguinte, crie um novo aplicativo e feche a Unit 1 e não salve ela...

Depois vai no Menu "Project > View Source"

pra testar, no View Source você terá o código do Aplicativo, apague tudo e cole isto...

{$APPTYPE CONSOLE}
program bla;

uses
  Windows;

var
  i: Integer;
  szParams: String;

procedure GetParams;
var
  i: Integer;
begin
  for i := 1 to ParamCount do
  if (i = 1) then szParams := ParamStr(i) else
  szParams := szParams + ' ' + ParamStr(i);
end;

begin
  if ParamCount < 1 then
  begin
    writeln('Não foram passados parametros!');
    Writeln('Encerrando...');
    Halt(1);
  end;

  GetParams;

  Writeln('Parametro passado: ' + szParams);

end.
salve como Bla e compile e rode via DOS.... pra voce identificar os parametros passados utilize o Pos() no szParams exemplo, voce quer saber se foi passado ble em parametros então
uses
  SysUtils;
  ...
  GetParams;
  if Pos('ble', LowerCase(szParams)) > 0 then
  Writeln('O parametro ble foi passado!) else
  Writeln('não foi passado o parametro ble!');

e por ai vai

detalhe, para que o compilador identifique que voce está fazendo um programa DOS, não se esqueça de deixar lá na primeira linha o {$APPTYPE CONSOLE}

lembrando também que é claro, esqueça forms e tudo mais rs

abrax

Editado por Churc
Link para o comentário
Compartilhar em outros sites

  • 0

os parametros são passados na janela do DOS e não no seu programa...

exemplo, clique em Iniciar, executar e digite: cmd e de Enter

no DOS navegue até a pasta em que voce compilou o exemplo que te passei e chame exemplo

bla.exe aqui qualquer coisa

o programa vai te dizer

"aqui qualquer coisa"

se fosse -g ele iria te dizer que voce passou como parametro "-g"

teste o exemplo que te passei ;)

abrxxx

Link para o comentário
Compartilhar em outros sites

  • 0

amigo sinceramente não da pra entender!!

que mensagem? Mensagem na janelinha do DOS? que mensagem?

entende que assim é difícil compreeender o que voce quer fazer

teste isso

{$APPTYPE CONSOLE}
program bla;

uses
  Windows;

var
  i: Integer;
  szParams: String;

procedure GetParams;
var
  i: Integer;
begin
  for i := 1 to ParamCount do
  if (i = 1) then szParams := ParamStr(i) else
  szParams := szParams + ' ' + ParamStr(i);
end;

begin
  if ParamCount < 1 then
  begin
    writeln('Não foram passados parametros!');
    Writeln('Encerrando...');
    Halt(1);
  end;

  GetParams;
  
  if Pos('-g', LowerCase(szParams)) > 0 then
  Writeln('Tipo essa mensagem voce diz?!');

end.

Editado por Churc
Link para o comentário
Compartilhar em outros sites

  • 0
.. se eu utilizar essa forma os comandos do delphi não funcionan? EX:

a pessoa digita no DOS:

''' -g

e quando ela fizer isso ativa o comando do Delphi.

ShowMessage

entende?

exato, não funcionam... esquece tudo que for janela, forms, messages... único contato que voce tem com o usuário é na tela do DOS em modo texto

abrxx

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...