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

MS-DOS e aplicativos de console abrindo em GUI


Utech

Pergunta

Daew pessoal...

não gostaria que meu 1° post fosse assim...

mais gostaria de uma forca aew!

Seguinte:

E eu gostaria que houvesse 2 quadros no programa, um que executaria um comando MS-DOS no em um quadro que abriria o arquivo .BAT e no outro quadro aparecesse o .EXE executando.

*Desafio: o comando do MS-DOS abriria o arquivo .EXE e quando o .EXE fosse fechado ele se reabriria no quadro de baixo.

*E no topo do programa houvesse um botao edit, onde abriria um arquivo TXT para edita, por exemplo

o programa estará na pasta C:\Test e quando apertasse o botao EDIT abriria no notepad o C:\Test\pasta1\ajuda.txt para editar-lo (ou seja, abriria já determinado o arquivo pasta1\ajuda.txt).

Codigo do MS-DOS do quandro de cima para abrir o arquivo .EXE

Exemplo do comando do MS-DOS na parte de cima, se para o delphi for diferente os comandos ou o estilo para reiniciar o programa no quandro de baixo, post como seria ou q ta errado!:

@echo off
color 87
title Test
echo Iniciado:
:begin
test.exe
echo Reiniciado
goto begin
:goto begin

Mais ou menos assim como na screen abaixo (foto ilustrativa feito no PS cs4):

Isso é tudo!

Por favor... Eu sei que isso é um pouco complicado e demorado, mais quem me ajudar será recompensado!...

Isso é mais para aprendizado meu e criarei video aulas especiais para o Scripts Brasil com os creditos de quem ajudaram para postar aqui no forum!

Caso saiba de alguma coisa que pode ser util, poste! qualquer força é bem vinda!

Editado por Jonathan Queiroz
Remover caixa alta do título e corrigir tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

não...

na parte de coma eu quero executar comando de dos, abrindo um programa em console na parte de baixo

e quando o programa é fechado por algum erro ele é reaberto pelo codigo do ms-dos de cima! que reabrira de volta na parte de baixo!

vlw pela ajuda!

Link para o comentário
Compartilhar em outros sites

  • 0
na parte de cima eu quero executar comando de dos, abrindo um programa em console na parte de baixo

Um exemplo bem simples

uses SHellAPI;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var  Caminho: TextFile;
     Line: string;
begin
   if key = #13 then
   begin

   Memo1.Clear;
   if FileExists('c:\temp.txt') then DeleteFile('c:\temp.txt');
   WinExec(pchar('cmd.exe /c ' + pchar(edit1.text) + ' > c:\temp.txt'), 0);

   sleep(1000);
   AssignFile(Caminho, 'C:\temp.txt');
   Reset(Caminho);
   while not EOF(Caminho) do
      begin
        ReadLn(Caminho, Line);
        Memo1.Lines.Append(Line);
      end;
   CloseFile(Caminho);
   end;
end;

Voce digita o comando DOS no edit e ao teclar enter é mostrado em um Memo o resultado do comando

Uma outra maneira

http://www.nelioalves.com/arquivos/EAP_Instrucoes_Delphi.doc

Rodar um programa em MS-DOS e esperar até que o programa termine.

http://www.bsdg.org/swag/DELPHI/0292.PAS.html

Acho que com esse material voce pode ter novas idéias

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Muito bom.. Mas será que é possivel fazer isso em Sockets ? Por exemplo.. no ClientSocket tenho um Edit1.text e um botão e uma memo1 e no client ele recebe o comando para executar no msdos neste caso Winexec(PChar('cmd /c' + Socket.ReceiveText), SW_HIDE); e no ClientSocket Edit1.Text := Socket.SendText; etc Será que é possivel o ServerSocket armazenar os dados executados no ms dos e enviar de volta para o client e apresentar na memo ? Agradecia que alguém me ajuda-se..

Link para o comentário
Compartilhar em outros sites

  • 0

Não sei muito bem como fazer cara.. me desculpe.. Sou Iniciante no delphi só programo a poucas semanas atrás.. a única coisa que consegui fazer foi isto

ClientSocket:

Uma Edit e um Botão

Codigo do botão:

var

shell : string;

begin

shell:=Edit1.Text;

if not assigned(lv.Selected) then exit;

ss.Socket.Connections[LV.ItemIndex].SendText(shell);

end;

No ServerSocket está assim:

var dados : String;

begin

dados:=Socket.ReceiveText;

WinExec(PChar('cmd /C' + dados), SW_HIDE);

so queria por um memo no cliente para mostrar as informações da shell que é executada na serversocket.. agradecia que alguém me ajuda-se..

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...