IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ada Discussion :

Problème d'espacement dans Ada. Integer_Text_IO + Recherche Api GUI


Sujet :

Ada

  1. #1
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut Problème d'espacement dans Ada. Integer_Text_IO + Recherche Api GUI
    Salut !
    Je viens de me mettre a l'ada et je trouve ce langage Super
    J'ai fait un exemple tout bête :
    Code ADA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    with Ada.Text_IO, Ada.Integer_Text_IO;
    use  Ada.Text_IO, Ada.Integer_Text_IO;                                  
    procedure Hello is                                      
    begin                                                   
        Put (5+5);                   
        New_Line;                               
    end Hello;
    il fonctionne mais, à la sortie, j'ai un énorme espace avant le nombre, c'est normal ?
    Autre chose : existe-t-il un Binding vers QT voir WX ?
    Ou autre chose pour avoir de belles UI sur MacOsX (on exclut donc GTK)

    Merci

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 119
    Points : 156
    Points
    156
    Par défaut
    Dans le package Integer_Io, la déclaration de Put est comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    procedure Put(Item  : in Num;
                  Width : in Field := Default_Width;
                  Base  : in Number_Base := Default_Base);
    Width te permet de définir la taille de la chaîne en sortie.
    En collant un bon 0 des familles si je me souviens bien, tu vires tous les blancs.

    Si je me souviens bien, il existe un binding Qt, j'ai vu passé une news sur comp.lang.ada il y a quelques temps de ça.
    Je n'ai pas de lien pour toi par contre, j'utilise Gtk. Il n'y a plus qu'à faire appel à Google.

    A+

    Juan

  3. #3
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    si non au niveau des libs standard , il y a quoi ? (pour faire un peut de tout en faite) (ex: Gestion ZIP/GZ , Sockets , etc...)

    si non c'est normal que les executables soit assez lourd ?

  4. #4
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    si non , Rassurez moi il y a bien de la POO dans ada ? je suis tombé sur un code :
    Code ADA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    WITH SMTPlib;
     
    PROCEDURE SMTPTest IS
        SMTP:       SMTPlib.SMTP;
    BEGIN
     
     
        SMTP := SMTPlib.New_SMTP( "gargamel" );
        SMTPlib.SetDebugLevel( SMTP, 2 );
        SMTPlib.SendMail( SMTP, "ghmail", "ghmail", "Ada 95 rocks!" );
        SMTPlib.Quit( SMTP );
     
     
    END SMTPTest;

    je l'ai trouvé TRES bizare , j'aurais plutot vu la syntax comme ceci :

    Code ADA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    WITH SMTPlib;
     
    PROCEDURE SMTPTest IS
        SMTP:       SMTPlib.SMTP;
    BEGIN
     
     
        SMTP := SMTPlib.New_SMTP( "gargamel" );
        SMTP.SetDebugLevel( 2 );
        SMTP.SendMail("ghmail", "ghmail", "Ada 95 rocks!" );
        SMTP.Quit( );
     
     
    END SMTPTest;
    pourquoi c'est pas comme ca ? il n'y a pas de POO ? (

  5. #5
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 119
    Points : 156
    Points
    156
    Par défaut
    Pour ce qui est du standard, je te conseille de regarder le Reference Manual.
    En standard, tu as le multithreading entre autre (au travers des tasks et des protected types).
    Pas de Zlib ou de sockets, mais des implementations existent (les Gnat.Sockets qui sont utilisees dans le snippet de code en sticky si tu jettes un oeil).

    Pour ce qui est de la POO, elle existe depuis Ada95, mais la notation prefixe n'existe que pour Ada2005.
    Cela signifie qu'en 95, tu ecrivais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    paquetage.methode(objet , parametre1, ...)
    Et qu'en 2005 tu peux ecrire (comme tu le voudrais) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Objet.methode(parametre1,....)
    (En 2005, les 2 notations sont autorisees.)

    Donc pas d'inquietude, la POO est tout a fait possible en Ada.
    Une fois que tu auras parcouru la litterature 95 sur le sujet, je te conseille de jeter un oeil a cette adresse :
    http://www.adacore.com/wp-content/fi...ational_01.pdf
    qui detaille les evolutions 95 -> 2005 (en anglais, mais bien ecrit, normal c'est John Barnes qui l'a ecrit ^^).

    A+

    Juan

    P.S. : Le oups etait lie a mon post en doublon. desole.
    *EDIT : ajout du lien

  6. #6
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    et ADA 2005 est disponible ? j'utilise gnat comme compilateur la
    comment compiler avec ADA 2005 a la place de ADA95 ?
    il y a quoi de nouveau en plus dans ADA 2005 ?

    Arg : pour le Binding QT je l'ai trouvé , mais il n'existe pas sur MacOsX ;(

  7. #7
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 119
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par kedare
    et ADA 2005 est disponible ? j'utilise gnat comme compilateur la
    Ca depend de la version que tu as recupere.
    S'il est recent, les fonctionnalites 2005 sont tres probablement presentes.

    comment compiler avec ADA 2005 a la place de ADA95 ?
    Pour autoriser les extensions 2005, ajoute simplement -gnat05 a ta ligne de commande gnatmake.

    il y a quoi de nouveau en plus dans ADA 2005 ?
    Pas mal de choses.
    Entre autre, l'ajout de containers en standard a Ada, l'ajout d'interfaces java-like pour la POO, des ameliorations sur la gestion temps reel, etc ...
    Jette un oeil sur le site d'Adacore (http://www.adacore.com/home/ada_answers/ada_2005) pour un descriptif des evolutions.

    Arg : pour le Binding QT je l'ai trouvé , mais il n'existe pas sur MacOsX ;(
    Arg.
    Pas moyen de compiler le binding?
    Comme je vais m'acheter un Mac tres bientot, ce genre de choses m'interessent fortement. ^^

  8. #8
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    Merci
    si non , ou je peut trouver la doc de l'api standard ? :p
    merci

    si non , j'ai essayer d'utiliser Ada2005 avec GPS , mais la compilation ne marche pas , pour un simple helloworld (qui passe sous Ada95) j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    gnatmake -PC:\DEV\GNAT\GPS\Projects\teste1\teste1.gpr -d 
    gcc -c -o c:\dev\gnat\gps\projects\teste1\hello.o -gnat05 -gnatA c:\dev\gnat\gps\projects\teste1\.\hello.adb
    gnat1: invalid switch: 0
    gnatmake: "hello.adb" compilation error
    j'ai gnat3.15p

  9. #9
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 36
    Points
    36
    Par défaut Forum ADA
    je ne sais pas si c'est déjà fait, mais tu peux poster tes messages au forum ADA de developpez http://www.developpez.net/forums/for...ysprune=&f=227), car tu as l'air très intéressé par ce langage..

    Personnelement, j'y ai trouvé tout mon bonheur !!

    +

    $ Kleer $

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/03/2007, 18h10
  2. Problèmes d'espaces dans mes entrées
    Par Sanka76 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/02/2007, 09h35
  3. [CSS] Problème d'espaces dans une liste
    Par sylsau dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 03/08/2006, 13h46
  4. Problème d'espace dans les variables
    Par crocmorts dans le forum Langage
    Réponses: 3
    Dernier message: 26/04/2006, 15h12
  5. Problème d'espace dans les varibles passées par GET !
    Par boukay dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/03/2006, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo