Page 2 sur 2

Publié : mer. 09/sept./2009 12:55
par Ar-S
:lol: :lol: :lol: Dobro, élevé aux piments :lol: :lol: :lol:

Re: Input et Consoles

Publié : sam. 12/sept./2009 16:49
par charlyB
J'ai réussi à comprendre l'essentiel de ton code (mais sûrement pas tous les détails ... c'est trop frais, mon entrée en PB), ainsi que grossièrement le principe de fonctionnement.

Le petit bout de code que j'avais joint à mon 2e message était très insuffisant ! J'aurais dû parallèlement préciser le "Cahier des Charges" du programme très ambitieux que j'envisageais ... et que j'avais d'ailleurs déjà partiellement réalise en GWBasic, puis abandonné faute de puissance mémoire par exemple, même en chaînant des sous-programmes ...
Par exemple, j'avais environ 80 lignes DATA de 24 terminaisons chacune simplement pour les 4 temps simples, correspondant aux différents types de verbes parmi les quelque 18 000 qui existent, autant de lignes de RESTORE, selon le type de terminaison de verbes infinitifs ...
Il faut 2 listes de pronoms au moins à cause du J' utilisé pour les verbes commençant par une voyelle, ou certains par h , plus si on veut utiliser on , elle , ou elles; il faut également tenir compte des verbes pronominaux avec Je me, Tu te, etc... Sans parler des verbes particuliers comme ALLER ou Etre, qui utilisent Je ou J' selon les temps (Je vais - J'allais ... Je suis - J'étais...)
Dans les verbes courants, je veux pouvoir séparer radical et terminaison pour diverses raisons, en particulier pour les restituer au moment de la frappe-utilisateur, en affichant [Pronom + Radical], de façon à ce que la frappe se limite à la terminaison.
S'ajoutent les problèmes des temps composés, où la présence d'un auxiliaire conjugué complique encore un peu les choses ! And so on ... :roll: :!:
Pardonne-moi ce petit intermède technique. qui ne doit pas te paraître passionnant ! Mais il éclaire ce qui suit :
-Ta boucle d'évènements, qui est évidemment une très bonne chose avec 2 verbes et un seul temps, ne risque-t-elle pas de devenir extrèmement longue et complexe si on prend en compte les paramètres ci-dessus ?
- Les 2 Boutons [Etre] et [Aller] devraient faire place à un TextGadget "Choix du Verbe" et un SringGadget permettant la frappe du verbe choisi, sa validation, et son transfert dans la variable verbe$.
- Dans la conjugaison, un clic sur le 1er StringGadget fait apparaître le curseur pour la frappe ... mais aussi "Faux" dans le GetGadgetText correspondant, ce qui est normal puisque la réponse est vide ... mais gênant.
- Si la frappe est exacte, "Bon" apparaît immédiatement : ici, l'absence d'une exigence de validation fausse le résultat :
Ex: Aller ---> Il va ---> Bon ... mais si l'utilisateur avait l'intention de taper vaT ... la faute n'apparaîtra pas, "Bon" aura terminé la ligne dès qu'il aura tapé le a de va.

Surtout, ne vois là aucune critique, tu m'as déjà beaucoup appris, et tu ne pouvais pas prendre en compte ce que je n'avais pas encore précisé, sur un projet qui doit être bien loin des centres d'intérêt habituel du Forum ! 8)
Si mon but se révèle trop complexe, je me contenterai de la console ... qui me fournit quand même couleurs de fond et de texte à défaut de toutes les possibilités de présentation.
Et merci encore :)

Re: Input et Consoles

Publié : sam. 12/sept./2009 18:28
par Backup
ma réponse n'avait d'autre but que te montrer le principe des interfaces utilisateur
sous Windows .. :)

ce programme te montre une voie utilisant les gadget !

maintenant pour ce que tu veux faire , tu peux aussi utiliser le Gadget editor (voir doc)

et programmer un analyseur syntaxique !

je sais le faire,ma librairie 'Nono' en est un parfait exemple,
mais cela dépasse le cadre de ce forum .... ;)

et je n'aurai de toute façon ni le temps ni le courage de m'attaquer a une explication du principe :)

Merci a toi

Re: Input et Consoles

Publié : lun. 14/sept./2009 8:27
par MLD
Bonjour CharlyB
Je ne te comprend pas trés bien.
Pourquoi te mettre en mode console et pas en mode fenêtre ??
Au lieu des data a répétition pourquoi pas un stockage par des fichiers ??
Les gadgets permettent a peu prés tous les cas de figures dans une fenêtre.
De plus PB permet une utilisation des API Windows, ce qui rend la vie encore plus facile.
Petit conseil: Réfléchis en premier a l'interface de ton programme (la fenêtre) éventuellement dessine la sur un papier.Ensuite réfléchi comment tu vas stocker tes données, et enfin attaque toi au programme.
Comme tu peus le voir je ne suis pas un spécialiste de l'orthographe, mais je pourrai un peu t'aider pour ton programme.
Michel

Re: Input et Consoles

Publié : lun. 14/sept./2009 9:23
par TazNormand
Tout ne passe pas toujours par une GUI.

A mon taf, des collègues ont développés (en VB .Net) des applis consoles spécifiques utilisées dans des scripts sur nos serveurs.

Le mode console te permet de développer l'essentiel, de prendre tes paramètres par ligne de commandes, pas besoin de base de registre, de fichier ini, ni à saisir quoique ce soit dans une interface graphique.

Peut-être que c'est ce qu'il a besoin ???

Re: Input et Consoles

Publié : lun. 14/sept./2009 9:55
par MLD
TazNormand a écrit :Tout ne passe pas toujours par une GUI.

A mon taf, des collègues ont développés (en VB .Net) des applis consoles spécifiques utilisées dans des scripts sur nos serveurs.

Le mode console te permet de développer l'essentiel, de prendre tes paramètres par ligne de commandes, pas besoin de base de registre, de fichier ini, ni à saisir quoique ce soit dans une interface graphique.

Peut-être que c'est ce qu'il a besoin ???
Bonjour TazNormand
En mode fenêtre non plus pas besoins de base de registre ni de fichier ini.
Pour ma part, tous mes programmes sont autonomes. Avantage pas besoin d'une installation complexe. Fonctionnent directement a partir d'une clef USB. Il est vrais que les fichiers de données utilisés sont des fichiers "propriétaire". C'est le revers de la médaille.
Salutations d'un Breton du (35) qui n'en veut pas trop a un Normand pour nous avoir "Emprunter" le mont St Michel.
Michel

Re: Input et Consoles

Publié : lun. 14/sept./2009 10:22
par MLD
charlyB Regarde une simple fenêtre.

Code : Tout sélectionner

;MLD le 14-9-2009
;
; Compilation PureBasic V4.31 
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

Enumeration
 #Window_0
 #Container_0
 #BtStop_1
 
EndEnumeration
 
; ********* La fenêtre ********************
OpenWindow (#Window_0, 388, 23, 620, 265, "Recherche l'origine des noms", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered) 
SetWindowColor(#Window_0, $EAB1D1)
ContainerGadget(#Container_0, 5, 5, 610, 255, #PB_Container_Double)
SetGadgetColor(#Container_0,#PB_Gadget_BackColor,$E3DFE0)  

;********** Les Gadgets ******************
ButtonGadget(#BtStop_1, 540, 210, 40, 36,"Stop" );bouton stop
GadgetToolTip(#BtStop_1, "Arrêt du programme")


;¤¤¤¤¤¤¤¤¤¤¤¤¤ Boucle générale ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Repeat 
Event = WaitWindowEvent()
 If Event = #PB_Event_Gadget
   Select EventGadget()
    Case #BtStop_1
      AnimateWindow_(WindowID(#Window_0), 400, #AW_CENTER | #AW_HIDE) ; pour un effêt a la fermeture de la fenêtre
      End
    EndSelect    
 EndIf
Until Event = #PB_Event_CloseWindow     
AnimateWindow_(WindowID(#Window_0), 400, #AW_CENTER | #AW_HIDE) ; pour un effêt a la fermeture de la fenêtre
End 

Re: Input et Consoles

Publié : mar. 22/sept./2009 15:29
par charlyB
Merci à vous tous qui vous êtes intéressés à mes petits problèmes ...! Je ne pensais pas que le forum serait aussi riche en réponses et en discussions.
Je croyais que mon dernier message à Dobro et sa réponse allaient clore le chapitre, et je ne suis revenu sur le forum :oops: que pour revoir un point de détail. Il apparaît que mon projet est déjà tellement complexe en console que je vais m'en tenir à elle pour le moment ... sans renoncer à l' "habiller" plus tard, s'il aboutit complètement.

Re: Input et Consoles

Publié : mar. 22/sept./2009 16:02
par djes
A propos de la programmation console, je n'arrive plus à mettre la main sur la traduction de "The art of Unix programming", mais les principes de bases sont là : http://fr.wikipedia.org/wiki/Philosophi ... ation_Unix