DIAGRAMME ETAT TRANSITION

yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017 - 15 juil. 2009 à 11:25
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 29 juil. 2009 à 21:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50303-diagramme-etat-transition

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
29 juil. 2009 à 21:30
Que des conneries ? (oh tu peux le dire c'est pas interdit ^^) Eh ben si c'est ton point de vue comme tu veux ;) Moi je m'en fiche hein c'est pas moi qui ait fait le programme, maintenant si tu refuses les critiques ...
1. Ah parce que tu mets des pièges pour forcer les gens à regarder le code avant d'exécuter ? Alors là tu sais quoi ? Moi j'ai viré le ";" (Delphi m'a aimablement indiqué sa localisation) et j'ai recompilé sans même regarder le code. Eh oui, moi je teste, puis je regarde le code après :/
2. Oui mais quel intérêt de rajouter une propriété Caption à part créer un nouveau composant et alourdir le programme ? Quel sens ça a ?
3. Le fait que ton programme ne soit pas destiné à la majorité qui n'ait pas Delphi, je peux le concevoir (nous sommes sur DelphiFR, tudieu !), mais perds cette habitude quand même, par exemple si tu veux faire une application professionnelle que tu mettras en téléchargement sur internet par exemple.

Si tu refuses les critiques, on va plus t'en faire. C'est ce qu'on appelle être têtu et borné :)
Et essaye d'améliorer l'orthographe c'est pas possible de te lire sérieux ... un peu de respect quand même ... enfin je m'arrête là sinon je vais m'énerver.

Cordialement,Bacterius !
ttlnotz Messages postés 2 Date d'inscription mardi 25 décembre 2007 Statut Membre Dernière intervention 29 juillet 2009
29 juil. 2009 à 21:23
lol ben pour les trois commentaires je te dit merci mais pour le premier c de n'importe quoi que(des co****) et je te pardon parsque je pense que c'été ta 1ere vue du programme
1: la ; c'est 1 test + est une obligation pour les gens du forum a voir un peu le code avant de passe a l'execution mais j ai admis ta phrase *quand meme....:D*
2: je pense que ta raison il faut mettre des demonstrations
oooooolalà le 2 iem tu sais que les composant sont herite de la classe tshape de + caption c pas 1 label :S la procedure paint dans la classe Tetat pardon pour le 3 iem mon programme n ai pas destiner à la majorite que n'ont pas delphi
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
28 juil. 2009 à 19:49
Ah oui non dernière chose importante : tu modifies une unité Delphi pour créer ton diagramme, puis tu recompiles. Ca peut sembler original au premier abord, mais c'est NON ! Déjà, le programme ne sert plus à rien sur les machines qui n'ont pas Delphi d'installé (c'est-à-dire une grande majorité des personnes - et ne me dis pas que le fait que l'on soit sur un forum Delphi change quelque chose, c'est une mauvaise idée, surtout pour ceux qui ont l'intention de faire des projets qu'ils voudraient passer à leurs potes ou un truc du genre ... si ils prennent exemple sur ta compilation au run-time) !
NON NON NON ! Et je crois que la plupart des gens seront d'accord avec moi [faites pas les c*ns les gars] ... Bref voilà, je te propose plutôt un fichier "diagramme.dgm", qui serait sous la forme d'un script, et que ton programme interprêterait. Là, ça serait la classe !

De plus, je crois que je sais pourquoi le programme plante lamentablement : quand tu vas compiler ton projet, l'exécutable est toujours ouvert ! Donc, impossible de remplacer l'ancien exécutable par le nouveau : plantage. Tu as testé, dis-moi ? Sérieusement j'ai des doutes ...

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
28 juil. 2009 à 19:38
2eme fournée :
Qu'apporte le composant TEtat à part un TShape agrémenté d'un libellé en son milieu ? Dans ce cas, tu mettais un TLabel par-dessus, ça évitait un composant/une classe de plus ...
Que de redondances dans le code ! Il n'y a qu'à voir les 3 dernières méthodes de l'unité "Unit1.pas" ... c'est limite la même chose : mets une méthode partagée, et utilise un "tag" pour distinguer les différents composants qui utilisent la méthode partagée, et faire des eventuels changements ...
Un petit effort sur le design n'aurait pas été de refus, mais ce n'est pas le plus important pour l'instant.
Ne pas faire de ton code une "usine à gaz" ... je viens d'aperçevoir la TDirectoryListBox cachée à l'exécution ... renseignes-toi sur les fonctions FindFirst, FindNext et FindClose.
Le zip n'est pas bon !! Il ne faut garder, dans ton cas, que les fichiers ".pas", ".dfm", ".dpr" (et "compil.bat" puisqu'il est utilisé par le programme ... mais bon ... voilà).

Je pense que c'est tout pour l'instant ... si c'est ton premier code c'est pas mal quand même :) pensent que les critiques ne peuvent te faire que du mal à très court terme, mais que du bien à long terme ;)

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
28 juil. 2009 à 19:26
Bonjour,
1. tu aurais pu transformer les "composants" etat, transi, transition et voiture par des "classes", ça aurait évité de devoir les installer ...
2. tu aurais pu tester ton code avant le release ! Après avoir installé les composants, je tombe sur une erreur "';' non autorisé avant 'ELSE'" ... quand même ...
3. des coquilles (avertos et conseils du compilo) à n'en plus finir ... faut l'écouter des fois notre bon vieux compilo ...
4. je vois pas trop ce qu'il faut faire dans ton programme, j'ai défini 2 états avec 1 transition entre la 1 et la 2, et comme je savais pas quoi mettre dans les trois derniers champs ("event", "action" et "condition"), j'ai mis "0" partout, et le programme a freezé (une boucle infinie probablement).

Solutions :
1. transformer les composants en classes.
2. enlever le ';' qui n'a pas sa place dans le code.
3. faire taire le compilateur, qui ne cherche qu'à optimiser ton code (dans la plupart des cas ...)
4. mettre une démonstration.

Bonne chance !

Cordialement, Bacterius !
ttlnotz Messages postés 2 Date d'inscription mardi 25 décembre 2007 Statut Membre Dernière intervention 29 juillet 2009
16 juil. 2009 à 23:20
merci j ai oublie de l`énonce avant de la compilation installe les composant etat ,transi,transition et voiture.
yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017
15 juil. 2009 à 11:25
Bonjour,
Revoir la compilation.
ne trouve pas le composant tetat.
Il est impossible d'installer ce composant.

Merci
Salutations
Rejoignez-nous