Bonjour

Au clic de ce code, la fenêtre dos s'ouvre, mais reste ouverte et ne s'exécute pas.
1° /
à la fermeture de la fenêtre dos, le code s'exécute, comment automatiser cette exécution et la fermeture de la fenêtre ?

2° /
le texte dans le mémo, n'est pas lu avec le bon charset (notez que j'ai le même problème avec Delphi, et que malgré des explications calées, je n'ai rien compris et donc pas résolu ce problème) Comment faire ?

Cordialement

André
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
 
procedure TForm1.Button1Click(Sender: TObject);
 var
   AProcess: TProcess;
 
 // Le programme commence ici.
 begin
   // On créé l'objet TProcess,
   // et on l'assigne à la variable AProcess
   AProcess := TProcess.Create(nil);
 
   // On dit au nouveau AProcess quelle est la commande à exécuter
   // Utilisons le compilateur de FreePascal
   AProcess.CommandLine := 'ipconfig';
 
   // Définissons une option pour indiquer que le programme est lancé.
   // Cela assurera que notre programme n'attend pas que le programme lancé soit terminé.
   // Nous allons aussi lui dire que nous voulons lire la sortie du fichier.
   AProcess.Options := AProcess.Options + [poWaitOnExit, poUsePipes];
 
   // Maintenent que AProcess sait quelle ligne de commande il doit lancer, go!
   AProcess.Execute;
 
   // Le programme ne va pas plus loin tant que ppc386 n'a pas fini.
 
   // Maintenant on lit dans le memo la sortie du programme.
 
   Memo1.Lines.LoadFromStream(AProcess.Output);
 
   // Maintenant on peut vider le TProcess.
 
   AProcess.Free;
 
end;