begin process at 2010 02 09 21:20:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

Programme DOS et Delphi


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Programme DOS et Delphi

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ée 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 ralentissement d'un calcul itéré sous EDI Delphi 2009, mais pas sous DOS [ par jcornuet ] J'utilise Delphi 2009 avec lequel j'ai rédigé un programme en mode console dans lequel je répète 100 fois le même calcul. Ce calcul utilise à un momen delphi sos [ par luc7010 ] helloje possède un programme fait par mon informaticien : une sorte de gros juke box vidéo (aki.exe)le problème c'est que l'informaticien est maintena Exécuter un programme Delphi 5 sous Delphi 2007 [ par fonkou ] Bonjour ou bonsoir chers Membre du ForumNous travaillons avec Delphi 5 Entreprise depuis plus de 7 ans (en faite nous avons commencé avec Delphi 2). N Projet de deplacement des musiques [ par skygirl2007 ] Bonjour,Voila jai fais 2 semaine de delphi tout les jours dans ma formation mais cest deja fini. J'ai pu je dirai apprendre les basesmais pas assez po quel base de donné je doit choisir [ par Whatabout ] Bonjour, je veu faire un petit programme sous delphi " un logiciel " et se logiciel a une BDD , mon broblem est: quel base de donné je doit choisir 'o pour les experts de delphi [ par Arsofts ] j'ai cré un programme qui relie une base de données access avec le delphi en utilisant le ADO mais en executant le programme un message d'erreur m'app Assigner une icone au programme [ par Jeoffrey54 ] Hello !Je suis un débutant en Delphi, j'utilise Delphi 5 (obligé car très utilisé à mon lycée), et j'ai déjà conçu ma petite application certes très m


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales