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

Prolog Discussion :

Lier un fichier son à un objet graphique avec XPCE


Sujet :

Prolog

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Optant pour la loi du moindre effort et suivant votre propre conseil, j'ai finalement fait un petit programme en C pour "PlaySound" et l'ai fait lire par Prolog, sans .dll intermédiaire. Et ça marche.

    En fait, si je me réfère à la documentation de SWI-Prolog sur la "Foreign Language Interface" (FLI), il semble que le recours aux dll soit surtout utile dans le cas d'un appel de Prolog par C. Qu'en pensez-vous?

    Quoi qu'il en soit, ma première question - comment activer chaque rectangle coloré par l'affichage du signe et l'audition du son qui lui correspondent - a d'ores et déjà trouvé sa réponse.

    Laissant pour l'instant de côté ma troisième question (comment répéter l'action de former des mots), il me reste maintenant à résoudre le second problème, celui de l'affichage d'un mot composé à l'aide des rectangles dans une zone texte au bas de l'écran. J'ai fait quelques essais - toujours suivant vos suggestions - mais sans grand résultat jusqu'ici. Par conséquent, j'apprécierais beaucoup de recevoir d'autres précisions à ce sujet.

    Merci d'avance.

  2. #22
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Dans la même optique, je te propose celà qui n'est qu'une ébauche :
    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    :- use_module(library(pce)).
     
    % claase XPCE pour mémoriser le texte
    :- pce_begin_class(memo_text(fenetre), object).
     
    variable(fenetre, object, both, "fenetre d'affichage").
    variable(affi, string, both, "chaine d'affichage").
    variable(affi_pos, point, both, "position d'affichage").
     
    % méthode pour l'initialisation du dessin
    initialise(P, Fenetre:object) :->
            "Création de la classe memo"::
    	send(P, fenetre, Fenetre),
    	send(P, affi_pos, new(_, point(200,200))),
    	send(P, affi, new(_, string(''))).
     
    % message appelé pour modifer le texte
    % et l'afficher
    my_message(P, L) :->
    	get(P, affi, T),
    	efface_texte(P),
    	send(T, append, L),
    	send(P, affi, T),
    	affiche_texte(P).
     
    :-pce_end_class.
     
    go:-
        new(W, window('La lecture en couleurs')),
     
        % création de l' objet memo
        new(M, memo_text(W)),
     
        send(W,background,colour(black)),
        send(W,size, size(850,500)),
     
        send(W, display,
             new(B1, box(75,25)), point(35,20)),
             send(B1, fill_pattern, colour(white)),
    	 send(B1, recogniser,
            	 click_gesture(left, '', double,
    	       		message(@prolog, message_a, W, M))),
     
        send(W, display,
             new(B2, box(75,25)), point(135,20)),
             send(B2, fill_pattern, colour(blue)),
             send(B2, recogniser,
            	 click_gesture(left, '', double,
    	      		message(@prolog, message_o, W, M))),
     
     
        send(W, display,
             new(B3, box(75,25)), point(235,20)),
             send(B3, fill_pattern, colour(yellow)),
             send(B3, recogniser,
            	 click_gesture(left, '', double,
    	      		message(@prolog, message_m, W, M))),            
     
        send(W, display,
             new(B4, box(75,25)), point(335,20)),
             send(B4, fill_pattern, colour(green)),
             send(B4, recogniser,
            	 click_gesture(left, '', double,
    	      		message(@prolog, message_i, W, M))),            
     
     
    	send(W, display,
             new(B5, box(75,25)), point(145, 135)),
             send(B5, fill_pattern, colour(red)),
    	 send(B5, recogniser,
            	 click_gesture(left, '', double,
    	      		message(@prolog,message_r, W, M))),            
     
    	send(W, display,
                 new(B6, box(75,25)), point(160, 200)),
    	     send(B6, fill_pattern, colour(white)),
     
     
    	send(W, open).
     
    % W est la fenêtre d'affichage
    % M est l'objet de mémorisation
    message_a(W, M) :-
    	new(Tx1, text('a')),
    	send(W, display,Tx1, point(80,25)),
    	send(M, my_message, new(_, string('a'))).
     
    message_o(W, M) :-
    	new(Tx1, text('o')),
    	send(W, display,Tx1, point(180,25)),
    	send(M, my_message, new(_, string('o'))).
     
     
    message_m(W, M) :-
    	new(Tx1, text('m')),
    	send(W, display,Tx1, point(280,25)),
    	send(M, my_message, new(_, string('m'))).
     
     
    message_i(W, M) :-
    	new(Tx1, text('i')),
    	send(W, display,Tx1, point(380,25)),
    	send(M, my_message, new(_, string('i'))).
     
    message_r(W, M) :-
    	new(Tx1, text('r')),
    	send(W, display,Tx1, point(180,140)),
    	send(M, my_message, new(_, string('r'))).
     
     
     
    % effacement du texte en réécrivant dessus en blanc.
    efface_texte(Obj) :-
    	get(Obj, fenetre, D),
    	get(Obj, affi, A),
    	new(T, text(A)),
    	get(Obj, affi_pos, P),
            send(T, colour(white)),
    	send(D, display,T, P).
     
    % effacement du texte en réécrivant dessus en blanc.
    affiche_texte(Obj) :-
    	get(Obj, fenetre, D),
    	get(Obj, affi, A),
    	new(T, text(A)),
    	get(Obj, affi_pos, P),
            send(T, colour(black)),
    	send(D, display,T, P).
    Bon courage
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Merci pour ce code. Mais je n'ai pas bien compris comment on efface le texte en "réécrivant dessus en blanc". Une fois le texte affiché, il ne peut être effacé. Ai-je mal compris "My_message/2"?

  4. #24
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Ben avant d'écrire, il faut effacer ce qu'il y avait avant sinon il y a mélange. Ici ce ne serait pas grave puisqu'on écrit le même texte en complétant.
    Ce n'est pas comme un champ d'édition ou un label prédéfini. Il faut quand tu écris de cette manière tout gérer soi-même.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    J'aimerais revenir au problème de l'affichage des mots au bas du tableau des rectangles. Le code permettant de conserver les mots en mémoire est une aide précieuse et sera très utile par la suite. Pour l'instant, c'est bien un champ d'édition sous le tableau que j'envisage, ainsi que l'ajout de quelques fonctionnalités pour exécuter les actions suivantes:

    - faire entendre un mot, par exemple "miroir", en cliquant sur un bouton qui ferait en quelque sorte office de "professeur";

    - afficher l'icône d'un curseur au bas du tableau et faire déplacer successivement le curseur du rectangle représentant le son et le signe "m" à ceux des sons et des signes "i", "r", "o", "i" et "r"; la vitesse de déplacement du curseur devrait pouvoir être réglée;

    -afficher une zone texte (ou champ d'édition) au bas de l'écran, dans laquelle un prompt invitera l'utilisateur à écrire le mot qu'il vient d'entendre;

    - prévoir une sous-section de cette zone texte dans laquelle le mot apparaîtra, qu'il y ait eu ou non faute orthographique de la part de l'utilisateur;

    - prévoir une fonctionnalité permettant à l'utilisateur de répéter l'action s'il le souhaite.

    Voilà quelques-unes des fonctionnalités que je souhaiterais mettre en oeuvre. Toute suggestion me permettant de progresser dans cette direction sera la bienvenue.

  6. #26
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Tu disposes d'une base de données vocale ?
    A partir d'un mot tu sais lui faire correspondre le son ?
    afficher l'icône d'un curseur au bas du tableau et faire déplacer successivement le curseur du rectangle représentant le son et le signe "m" à ceux des sons et des signes "i", "r", "o", "i" et "r"; la vitesse de déplacement du curseur devrait pouvoir être réglée;
    Ceci me paraît très difficile à mettre en oeuvre.
    -afficher une zone texte (ou champ d'édition) au bas de l'écran, dans laquelle un prompt invitera l'utilisateur à écrire le mot qu'il vient d'entendre;

    - prévoir une sous-section de cette zone texte dans laquelle le mot apparaîtra, qu'il y ait eu ou non faute orthographique de la part de l'utilisateur;

    - prévoir une fonctionnalité permettant à l'utilisateur de répéter l'action s'il le souhaite.
    Ici on sort du graphisme pour rentrer dans l'utilisation de boîtes de dialogue avec composants prè-définis. Regarde du côté de XPCE et mon article sur XPCE, (je crois que tu l'as déjà vu).
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Tu disposes d'une base de données vocale ?
    Oui, je dispose d'une base minimale, que j'augmente au fur et à mesure (pour l'instant, elle ne contient que les voyelles et quelques consonnes).
    A partir d'un mot tu sais lui faire correspondre le son ?
    Non, pas encore. J'ai seulement la possibilité de pré-enregistrer les mots.
    Citation:
    afficher l'icône d'un curseur au bas du tableau et faire déplacer successivement le curseur du rectangle représentant le son et le signe "m" à ceux des sons et des signes "i", "r", "o", "i" et "r"; la vitesse de déplacement du curseur devrait pouvoir être réglée;
    Ceci me paraît très difficile à mettre en oeuvre.
    C'est effectivement le principal problème que j'ai à résoudre. Il est possible d'obtenir ce résultat avec des outils propriétaires du type Macromedia, mais alors quel intérêt? Autre voie à explorer: une interface en C ou Java, ou encore en Tcl/Tk. Des suggestions, quelqu'un?

    Enfin, au sujet du champ d'édition, je regarde effectivement du côté de XPCE et je relis votre article.

  8. #28
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    En me référant à votre tutoriel sur XPCE et à l'exemple du programme "calcule.pl" j'ai ouvert une boîte de dialogue sous le tableau des rectangles (les deux objets étant maintenant intégrés dans un frame), avec une zone texte d'entrée.

    Comme je dois traiter des données non numériques (caractères, mots et phrases) à l'aide d'un analyseur (encore à l'état d'ébauche), dont le code est joint en annexe, je dois pouvoir disposer non seulement d'une zone d'entrée pour la saisie des phrases mais aussi d'une zone de sortie pour afficher l'arbre syntaxique résultant de l'analyse des phrases.

    (pour tester l'analyseur, faites "consult(relparser2)", tapez "analyse" au prompt Prolog et saisissez une phrase (un lexique minimal est disponible), par exemple : "la lune allume la rue." Après le point final, taper "Enter" pour afficher l'arbre du parse).

    Comme vous pourrez le constater, l'analyseur n'affiche les entrées et sorties qu'à la ligne de commande. Le problème à résoudre est donc le suivant: Comment faire communiquer la zone d'entrée "Phrase à analyser '" (ou ce qu'on voudra en guise de texte de saisie), dans laquelle l'utilisateur saisira sa phrase, avec l'analyseur et afficher le résultat de l'analyse, sous forme d'arbre syntaxique, dans une zone de sortie séparée?

    L'exemple de la boîte de dialogue pour le programme "calcule.pl" de la documentation XPCE fournit uniquement la zone d'entrée, le résultat des calculs étant affiché directement sur l'écran (en caractères rouges) et non pas dans une zone de sortie.

    De plus, le parseur ci-joint doit remplacer le programme "calcule" de l'exemple de XPCE.

    Le résultat du parse pourrait être affiché soit dans la même boîte de dialogue soit dans une boîte séparée, par exemple à droite du tableau.

    Auriez-vous une proposition à faire pour résoudre ce problème?
    Fichiers attachés Fichiers attachés

  9. #29
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    A première vue, car je n'ai pas beaucoup de temps aujourd'hui, je pense que vous pouvez afficher votre texte dans un "text Editor" (complètement à droite dans la boîte de création de dialogue.
    En vous aidant du browser de class (taper editor), on doit facilement trouver la méthode pour afficher du texte dedans (il faut sans doute utiliser la méthode append).

    Bon courage.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  10. #30
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Voilà, j'ai eu un peu de temps, j'ai créé une petite boîte d'affichage avec un composant editor, voir le code modifié.
    Fichiers attachés Fichiers attachés
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  11. #31
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Un grand merci pour cette amélioration. Et toutes mes félicitations pour avoir trouvé la solution aussi vite, alors que j'en suis encore à m'escrimer avec la manière d'enregistrer l'input ("Phrase à analyser") de façon à avoir les deux (entrée et sortie) dans une seule boîte de dialogue.

    Il existe bien des exemples d'une telle interface graphique pour programmes logiques (parmi lesquels ceux, bien connus, de CHAT-80 et d'Eliza) mais ils sont faits le plus souvent en HTML ou en Tcl\Tk. La question que je me pose est donc de savoir s'il est possible de les réaliser en Prolog avec XPCE. Et j'ai encore beaucoup de choses à apprendre à cet égard.

    Encore merci de me permettre d'avancer de manière significative.

  12. #32
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Après plusieurs essais pour modifier le programme "parser.pl" de façon à lui ajouter un "text_item" d'entrée et lier celui-ci à "read_sent" (le tokenizer de l'analyseur) puis, après le parse, appeler "test_1" (votre boîte de dialogue) pour afficher l'arbre du parse, je renonce (quand je disais dans mon dernier message que j'avais encore beaucoup à apprendre sur XPCE, ce n'était pas un euphémisme...).

    Si vous avez des suggestions pour tenter de résoudre ce problème malgré tout, je vous en remercie d'avance.

  13. #33
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Bon, c'est fait. bonne lecture
    Fichiers attachés Fichiers attachés
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  14. #34
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Encore un grand merci! Les fenêtres d'entrée et de sortie séparées fonctionnent très bien. Malheureusement, le résultat du parse de s'affiche pas dans la boîte d'affichage intégrée à la boîte de dialogue 'test_1' après la saisie et le message d'erreur suivant apparaît:

    ERROR: '$raw_read'/2: Undefined procedure: analyse_phrase/2
    ERROR: However, there are definitions for:
    ERROR: analyse_phrase/1
    Je ne vois pas de prédicat 'analyse_phrase/2'. De plus, la fenêtre de 'Test 1' apparaît derrière celle de 'Saisie'. Est-il possible de la supprimer?

    Enfin, les caractères accentués (ex: 'à' dans 'Phrase à analyser') ne sont pas reconnus. Je croyais pourtant que SWI-Prolog acceptait le protocole UNICODE...

  15. #35
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    pour avoir une seule fenêtre, il suffit juste de faire ceci :
    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
    % ici c'est une boite de saisie avec affichage 
    % dans la boite de dialogue
    dialog('Saisie',
           [ object        :=
    	   Saisie,
    	 parts         :=
    	   [ Saisie    := dialog('Saisie'),
    	     Text_item := text_item(text_item),
    	     Button    := button(button),
    	     Editor    := editor(@default, 54, 27)
    	   ],
    	 modifications :=
    	   [ Text_item := [ label     := 'Phrase à analyser',
    			    length    := 58,
    			    alignment := left
    			  ],
    	     Button    := [ label := 'Etude'
    			  ]
    	   ],
    	 layout        :=
    	   [ below(Text_item, Button),
    	     area(Editor,
    		  area(18, 83, 546, 501))
    	   ],
    	 behaviour     :=
    	   [ Button := [ message := message(@prolog,
    					    analyse_phrase,
    					    Text_item?selection,
    					     Editor)
    		       ]
    	   ]
     
           ]).
     
    test :-
    	make_dialog(D, 'Saisie'),
            send(D,open).
     
    % simulation de lecture clavier
    % on extrait chaque caractere
    my_get0(Char) :-
    	retract(phrase(X)),
    	retractall(phrase(_)),
    	X = [Char | L],
    	assert(phrase(L)).
     
    % La référence à l'Editeur est passée en argument
    analyse_phrase(Phrase, Ed) :-
           name(Phrase, L),
           % je rajoute le retour chariot qui signale la fin de saisie
           append(L, [10], L1),
           % J'ai gardé le principe du get0 en utilisant 
           % un semblant de variable globale (predicat dynamic phrase)
           retractall(phrase(_)),
           assert(phrase(L1)),
           read_sent(P),
    	parse(P,Struct),
    	pp(Ed, Struct).
    Pour les lettres accentuées, je regarderai.
    Bon courage !

    [Edit] Quel est exactement le problème avec les caractères accentués ?
    Chez moi ça s'affiche correctement et 'à' a pour code 224 ?
    [/edit]
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  16. #36
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Cette fois, la boîte de dialogue unique fonctionne parfaitement. Je vous en suis très reconnaissant.

    Quant aux caractères accentués, je n'ai pas encore trouvé pourquoi ils ne s'affichent pas (le résultat est le même sous Linux). D'habitude, je n'ai pas de problèmes à ce sujet, qui n'a d'ailleurs rien d'urgent.

  17. #37
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Bizarre, sous XP2 Pro pack 2 ils s'affichent bien dans le champ de saisie.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  18. #38
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    En effet, c'est bizarre. Avec le même OS, "ALT+(pavé numérique) 133 (ou 0224)" donnent bien "à" à la saisie mais l'accent grave - il s'agit ici toujours du "à" du text_item "Phrase à analyser" - n'apparaît pas à l'écran. Ce n'est sans doute pas un problème de clavier, car d'autres programmes (en Prolog, mais aussi en Java, Tcl, etc.) affichent les lettres accentuées normalement.

  19. #39
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Le problème des caractères est résolu. La raison: je travaille avec divers codes de langue et mes caractères accentués sont sortis... en russe. Navré de vous avoir importuné avec ce détail.

  20. #40
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Mon principal problème - lier un fichier son à un objet graphique avec XPCE - est, lui aussi, maintenant résolu. Je souhaite vous exprimer toute ma reconnaissance pour votre aide, qui me permet d'avancer dans mon projet.

    Avec mes meilleures salutations.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Lier un fichier son à une image graphique
    Par dreanlin dans le forum Tcl/Tk
    Réponses: 5
    Dernier message: 05/07/2007, 16h51
  2. Réponses: 2
    Dernier message: 30/06/2007, 21h50
  3. Lier un fichier son à un objet graphique
    Par dreanlin dans le forum Multimédia
    Réponses: 15
    Dernier message: 06/11/2006, 23h04
  4. placement d'objet graphique avec un gridbaglayout
    Par illegalsene dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 09/08/2006, 13h36

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