Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1541 connectés 

  FORUM HardWare.fr
  Programmation
  Ada

  Comment lancer une application extérieure à partir d'ADA ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment lancer une application extérieure à partir d'ADA ?

n°812316
bob_lepong​e
T'as besoin d'un problème ?
Posté le 01-08-2004 à 15:38:24  profilanswer
 

:jap:  
Comment lancer une application extérieure à partir d'ADA ?

mood
Publicité
Posté le 01-08-2004 à 15:38:24  profilanswer
 

n°815121
drachenkil​ler
Posté le 04-08-2004 à 17:43:02  profilanswer
 

Salut voila qui pourra peut etre t'aider.
C'est un extrait du cours d'un prof de l'iut d'Aix Danniel feneuille.
 
with Ada.Interfaces.C ;
-- permet l’association d’éléments Ada et des éléments compatibles C
……
use Ada.Interfaces.C ;
-- pour éviter de préfixer !
procedure C_System (Chaine : in Char_Array);
-- profil Ada de C_System donc déclaration de C_System
-- cette procédure sera « l’équivalente » de l’instruction system de C
pragma Import (C, C_System, ”system”) ;
-- réalisation de C_System avec la procédure C notée system
……
begin
…..
C_System(To_C(chaîne Ada illustrant la commande)) ;
-- utilisation de C_System avec transformation de la chaîne Ada
-- en son équivalent en C grâce à la fonction de conversion To_C
……
Revoyons sur cet exemple, facilement généralisable, les trois phases (déclaration, réalisation et utilisation) de la
procédure Ada qui est écrite en C.

n°815122
drachenkil​ler
Posté le 04-08-2004 à 17:43:43  profilanswer
 

le cours est disponible a cette adresse: http://libre.act-europe.fr/french_courses/main.html

n°815132
103e
Posté le 04-08-2004 à 17:49:27  profilanswer
 

ce n'est pas ada.interfaces.c mais Interfaces.C tout cours

n°816932
bob_lepong​e
T'as besoin d'un problème ?
Posté le 06-08-2004 à 22:42:03  profilanswer
 

Salut à tous.
Merci pour vos réponses.
On m'a indiqué que je pouvais utiliser "Spawn" dans GNAT.OS_Lib  .
 
Celà donne :  
....................................
with GNAT.OS_Lib;
use GNAT.OS_Lib;
 
procedure a  
is
b:boolean;
arg : Argument_List ( 1..1 );
dir : aliased string := "http://www.free.fr";
begin
      arg(1) := dir'unchecked_access;
   Spawn ("C:\Program Files\Internet Explorer\IEXPLORE.EXE",arg,b);
end a;
........................................
 
Je cherche maintenant comment contrôler la taille de la fenêtre et aussi comment réactualiser automatiquement cette fenêtre.

n°817126
103e
Posté le 07-08-2004 à 14:18:28  profilanswer
 

ce truc est vraiment pas mal. j'avais entendu parler de Spawn mais je ne savais pas comment l'utiliser. merci !

n°820282
bob_lepong​e
T'as besoin d'un problème ?
Posté le 11-08-2004 à 13:58:08  profilanswer
 

Salut !
J'ai trouvé comment controler la taille de la fenetre:
Celà donne:
...
Spawn ("C:\Program Files\Internet  
                    Explorer\IEXPLORE.EXE -k",arg,b);  
...
 
Celà affiche la page web en mode plein écran.
Réactualisation automatique ?

n°820344
bob_lepong​e
T'as besoin d'un problème ?
Posté le 11-08-2004 à 15:08:24  profilanswer
 

En fait, j'utilise Windows98 mais sour XP, j'ai vu qu'on pouvait utiliser "taskkill" pour tuer un processus (donc la possibilité de recréer une fenetre après).
Existe-t-il un équivalent sous 98 ?

n°835844
bob_lepong​e
T'as besoin d'un problème ?
Posté le 29-08-2004 à 22:10:17  profilanswer
 

Salut à tous !
 
Milles excuses à ceux auxquels j'ai oublié de répondre auparavant.
J'ai trouvé ce que je cherchais.
Petit exemple :
 
with System;
with ada.text_io; use ada.text_io;
 
procedure z  
is  
   type tableau is array (0..800,0..600) of integer;
   t:tableau;
   pragma Linker_Options ("-luser32 -lgdi32" );
   subtype HDC is System.Address;
   subtype HWND is System.Address;
   my_hdc:HDC;
   my_hwnd:HWND;
   c:integer;
   bool:boolean;
   function GetDC (my_hwnd0 : HWND) return HDC;
   pragma Import (Stdcall, GetDC,"GetDC" );
   function GetPixel (my_hdc0:HDC;x:integer;y:integer) return integer;
   pragma Import (Stdcall, GetPixel,"GetPixel" );
   function setPixelv (my_hdc0:HDC;x:integer;y:integer;c:integer) return boolean;
   pragma Import (Stdcall, SetPixelV,"SetPixelV" );
begin
   my_hdc:=getdc (System.Null_Address);
   for i in 0..800
   loop
      for j in 0..600
      loop
         c:=getpixel (my_hdc,i,j);
         t(i,j):=c;              
      end loop;
   end loop;
   for i in 0..800
   loop
      for j in 0..600
      loop
         bool:=setpixelv (my_hdc,i,j,t(i,j)+200);          
      end loop;
   end loop;
end z;
 
A+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Ada

  Comment lancer une application extérieure à partir d'ADA ?

 

Sujets relatifs
je veux créer une zonne de texte dans une applicationcomment ouvrir une page web à partir d'un programme en ada ?
Impossible de lancer un script VB[java] afficher des graphs simples(ds applet ou application normale)
Comment paramétrer le transfert d'un fichier Excel à partir BD ACCESS[Application Center Test] Qu'est ce qu'une socket error ?
[MFC]Titre de la fenetre principale de l'applicationouvrir une fenêtre popup à partir d'une image rollover
Récupération de données à partir d'excel 
Plus de sujets relatifs à : Comment lancer une application extérieure à partir d'ADA ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR