Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Programme DOS et Delphi [ Archives / J'AI BESOIN D'AIDE !!!! :O ] (manu00)

jeudi 5 février 2004 à 22:00:06 | Programme DOS et Delphi

manu00

Bonjour,
J'ai une super colle pour vous... :-)

j'aurais besoin d'un petit coup de main pour faire 2 choses:

-D'abord pour pouvoir recuperer le resultat d'un programme DOS dans un programme Delphi...
exemple:

==================================
C:\> bonjour.exe
"Bonjour, vous venez de lancer le programme"
==================================
Et je voudrais récuperer dans mon soft delphi la chaine => "Bonjour, vous venez de lancer le programme"

Savez vous comment faire ?

-Ensuite comme c'est pas tres propre un programme comme ca... j'aimerai trouver une solution pour que ce programme DOS soit fondu dans mon soft delphi... C'est a dire, que l'utilisateur ne puisse pas se douter de sa présence... Bon je ne sais pas si c'est faisable, mais y'a peut etre un moyen de le mettre quand meme dans mon soft delphi et de l'extracter dans un repertoire temporaire en vue de l'utiliser...
Enfin, la c'est encore flou...

Merci pour votre aide précieuse !!!

Manu


jeudi 5 février 2004 à 22:57:05 | Re : Programme DOS et Delphi

manu00


Bon, pour la premiere etape, c'est OK, j'ai trouvé ce code la:
======================
procedure TForm1.Button1Click(Sender: TObject);
procedure RunDosInMemo(DosApp:String;Aedit:TEdit) ;
const
ReadBuffer = 2400;
var
Security : TSecurityAttributes;
ReadPipe,WritePipe : THandle;
start : TStartUpInfo;
ProcessInfo : TProcessInformation;
Buffer : Pchar;
BytesRead : DWord;
Apprunning : DWord;
begin
With Security do begin
nlength := SizeOf(TSecurityAttributes) ;
binherithandle := true;
lpsecuritydescriptor := nil;
end;
if Createpipe (ReadPipe, WritePipe,
@Security, 0) then begin
Buffer := AllocMem(ReadBuffer + 1) ;
FillChar(Start,Sizeof(Start),#0) ;
start.cb := SizeOf(start) ;
start.hStdOutput := WritePipe;
start.hStdInput := ReadPipe;
start.dwFlags := STARTF_USESTDHANDLES +
STARTF_USESHOWWINDOW;
start.wShowWindow := SW_HIDE;

if CreateProcess(nil,
PChar(DosApp),
@Security,
@Security,
true,
NORMAL_PRIORITY_CLASS,
nil,
nil,
start,
ProcessInfo)
then
begin
repeat
Apprunning := WaitForSingleObject
(ProcessInfo.hProcess,100) ;
Application.ProcessMessages;
until (Apprunning <> WAIT_TIMEOUT) ;
Repeat
BytesRead := 0;
ReadFile(ReadPipe,Buffer[0],
ReadBuffer,BytesRead,nil) ;
Buffer[BytesRead]:= #0;
OemToAnsi(Buffer,Buffer) ;
AEdit.Text := AEdit.text + String(Buffer) ;
until (BytesRead < ReadBuffer) ;
end;
FreeMem(Buffer) ;
CloseHandle(ProcessInfo.hProcess) ;
CloseHandle(ProcessInfo.hThread) ;
CloseHandle(ReadPipe) ;
CloseHandle(WritePipe) ;
end;
end;

begin {button 1 code}
edit1.Clear;
RunDosInMemo('prog.exe',Edit1) ;
end;
================

Je le met , ca pourra servir pour ceux qui chercheront ca comme moi...

Alors par contre, je reste sur ma deuxieme question..Comment dissimuler ce programme DOS dans mon soft (ou GUI, appelez ca comme vous voulez)

Any solution ?

Merci

M.

vendredi 6 février 2004 à 19:48:21 | Re : Programme DOS et Delphi

Delphiprog

Administrateur CodeS-SourceS
Pour le source donné ci-dessus, la page de l'excellent site web était surement :
http://delphi.about.com/bltip0201.htm
Je me trompe ?

En tous cas, il ne fait apparaitre aucune fenêtre DOS. Ce qui répondrait à la deuxième question.
May Delphi be with you

vendredi 6 février 2004 à 20:24:04 | Re : Programme DOS et Delphi

manu00

Oui, c'est bien la que je l'ai trouvé...
Mais ca ne repond pas a ma question...
En fait, comme j'utilise un programme dos en + de mon soft delphi, ca me fait 2 programme (un peu pas propre)

Et donc, moi ce que je veux faire, c'est fondre ce programme dos a l'interieur de mon soft en delphi pour qu'il s'execute de la meme façon mais si possible sans se mettre sur le disque dur...mais si je fais de la science fiction la, je pense aussi a trouver un soft pour merger les 2 softs et qu'ils se decompresse dans un rep temporaire

Merci

M.

jeudi 5 août 2004 à 16:02:02 | Re : Programme DOS et Delphi

Artegon

j' ai peu etre une solution pour toi...
Le decompressement temporaire ( dossier temp de windows ) est la solution la plus simple a mon avis...

JE NE SUIS PAS SURE DE L4 ORTHOGRAPHE DES VARIABLE, ...

if (IOresult>0) then
do
...
else
AssignFile(F,tempdir+'xxx.bat');
Rewrite(F);
Writeln(F,'...');
end;

Voila, IOresult indique si le programe existe ou pas...
Si il existe, tu l' appele ( Shekkexecute, ou autyre )
Si il n' existe pas, tu le cree, et ensuite tu l' appele...

Apres, reste a trouver un cmd qui efface le dossier temp si tu ne veux pas laisser de trace de ton fichier bat

J' espere que ce que j' ai dit est correcte :) et que cela t' a aider ou mis sur la voie ...

Artegon



Cette discussion est classé dans : programme, lancer, delphi, soft, dos


Répondre à ce message

Sujets en rapport avec ce message

Lancer un exe depuis un autre programme [ par esigvb ] Bonjour,Voilà mon probleme, j'ai un programme en Delphi qui doit lancer un autre programme en Delphi.Les deux logiciels fonctionnent très bien séparém lancer un programme delphi a partir du CMD? [ par abdousoft ] Salut j'ai realiser un programme avecdelphi .EX:'gestion.exe'!comment lancer a partir du "Invite de commandes" -->"CMD"Par Ex:lorsq'on cherche a lan Linux & Delphi [ par TouTSpeed ] bonsoir,je connais le programme kylix qui est  l'équivalent delphi sous linux mais il n'est pas le seulet mon problème et que je ne retrouve plus le n exeution [ par slimanibiskra ] De SLIMANI Younes de Alger <p class="MsoNormal" style="MARGI Ouvrir un fichier avec son programme delphi [ par tux22 ] Salut a tous,J'ai coder un lecteur audio qui marche parfaitement seulement j'aimerais que l'orque je fais Clique droit  (sur un mp3 par exemple) et qu écriture lecture ram ???? [ par TouTSpeed ] bonsoir à tous.Je suis en train de retranscrire un programme écrit en language c et en delphi !! ( en fait je lance un programme que j'ai écrit en C a AJOUTER JAVA DANS DELPHI [ par LA RINIER ] stl voila ma situation j'ai un programme java et je veut faire une interface pour ce programme java avec delphi 7     *  comment je peut faire ca ?    Lancer du vb de delphi dans word [ par dederfred ] Est-il possible de lancer une commande visualBasic dynamique pour Word dans Delphi. (Avec des argument venant de delphi.Je dois lancer cela :Applicati leadtools sous delphi [ par poter ] Salut,je suis nouveau dans ce forum et j´ai une question.j´aimerai ecrire un programme avec lequel, je pourrai scanner, ce programme doit reconnaitre les pointeurs & comment les introduire dans un programme delphi [ par lounnaci ] salut a tous je suis debutant dans la programmation delphi je vous implore veuillez m'aider en me indiquants des définitions de que ce que c'est les p


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.