bonjour
j'ai installé ce compo, qui m'a été conseillé par un membre du forum
j'avous qu'il est sympa et qu'il répond plus ou moins à ce que je voulais faire
mais il y a un prob que je ne comprends pas du tout ...
déjà voilà l'adresse pour le dl :
http://delphi.developpez.com/sources...rectionConsole
(il y a un pti exemple dedans)
j'ai donc créé une nouvelle appli delphi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DosCommand; type TForm1 = class(TForm) DosCommand1: TDosCommand; Memo1: TMemo; Edit1: TEdit; procedure FormCreate(Sender: TObject); procedure Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin DosCommand1.CommandLine := 'cmd.exe'; DosCommand1.OutputLines := Memo1.Lines; DosCommand1.Execute; end; procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin If Key = VK_Return then begin If LowerCase(Edit1.Text) = 'exit' then begin Doscommand1.SendLine('exit',true); sleep(10); Application.Terminate; end; DosCommand1.SendLine(Edit1.Text,True); Edit1.Clear; end; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Doscommand1.SendLine('exit',true); sleep(10); end; end.
je n'ai aucun problème, le prog fonctionne parfaitement ...
SAUF que maintenant j'ai rajouté autre chose et c'est là que je ne comprends pas :
après avoir envoyé chaque commande dos je reçois les résultats dans un mémo mais j'aimerais exécuter d'autre commande comme par ex savetofile ou n'importe quoi d'autre ...
donc je met le "savetofile" (ou autre code) après ce code :
et là ... rien ne se passe ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DosCommand1.SendLine(Edit1.Text,True); Edit1.Clear;
tout ce que je mettrai après ce code ne sera pas exécuté
j'ai trouvé un moyen de faire le code se trouvant à la suite s'exécuter : il faut ajouter un showmessage (et donc après avoir clické sur ok le code sera exécuté)
c'est la syntaxe qui fonctionne
inutile de vous dire que ça soule un mac de devoir valider la messagebox tout le temps ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 DosCommand1.SendLine(Edit1.Text,True); Edit1.Clear; showmessage('bla bla bla bla'); memo1.savetofile...... / ou autre code
donc j'aimerais savoir quoi faire pour pouvoir exécuter du code à la suite OU ENCORE s'il y a moyen de "tricher" en ajoutant autre chose à la place du showmessage qui ne soulera ...
Partager