COMPOSANTS NDSOFT

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 1 déc. 2009 à 03:28
diglas Messages postés 63 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 3 mai 2010 - 4 déc. 2009 à 19:01
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/50919-composants-ndsoft

diglas Messages postés 63 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 3 mai 2010
4 déc. 2009 à 19:01
Et ca, je le dois a vous!
Merci!
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
4 déc. 2009 à 13:32
Ah ben ça donne tout de suite plus envie de télécharger les compos ! ;)
Bien joué pour la procédure ChangeColor, c'est quand même plus propre et performant :)

Cordialement, Bacterius !
diglas Messages postés 63 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 3 mai 2010
3 déc. 2009 à 22:50
c'est fait pour la capture!
Enfin en ligne.
diglas Messages postés 63 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 3 mai 2010
3 déc. 2009 à 15:40
-je sais pour l'existance de TDateTimePicker, mais j'ai voulu le faire avec un Edit classique acompagné d'un BouttonImage comme un vrai champ date.

-Pour la procedure WndProc, je crois que je ne l'ai pas remplacé carrément puisqu'il exécuté pour tout "msg<>WM_LBUTTONDOWN".Et encore il prend en charge aussi l'événement OnClick de TImage s'il y en a (Je l'ai testé).

-Pour la procédure TLed.ChangeColor, je l'ai simplifié en renommant mes ressources en <xyz.bmp> avec x, y et z les indices respectives de TColorLed, TStatutLed et TFormat.
la procédure ce réduit en:

Picture.Bitmap.Handle:=LoadBitmap(HInstance, PChar(strtoint(Format('%d%d%d',[ord(ValColor),ord(FFormatLed), ord(Statut)]))));
// Réafficher toute la fiche }
Invalidate;
diglas Messages postés 63 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 3 mai 2010
3 déc. 2009 à 15:32
voila aumoins quelqu'un qui m'a compris!
Mais comme la plus part des développeurs n'ont pas la version Entreprise, je la rend standard.

Je suis entrains de les mettres a jour en ce moment même sur le site.
Merci aussi a Bacterius qui m'a permis a optimiser le code de mes composant.
Oniria Messages postés 292 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 18 décembre 2014 3
1 déc. 2009 à 18:43
Les QDialog et QControl, etc sont des librairie clx (compatible avec Kylix). Il suffit d'enlever le Q devant et on obtient les unités standart de delphi. Voila pour l'info ...

Sinon, c'est une bonne idée
diglas Messages postés 63 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 3 mai 2010
1 déc. 2009 à 14:21
j'utilise delphi 7 version entreprise.
je ne sais pas s'il ya un moyen d'utiliser mes paquet sans ceux cités en haut, mais je m'y met au travail. sinon je vais les inclures dans la mise a jour.

Merci des remaques! j'essayerai de mon mieux pour les optimiser.

Dès que finie, je mettrais la mise a jour en ligne.

Je vérifierai la compatibilité avec delphi 5 version professionnel.
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
1 déc. 2009 à 03:28
Euh ouais seulement il faut quelle version professionnelle de Delphi, là ?
Il me manque, dans l'ordre :
- vclclx
- vcldb
- QForms
- QControls
- QDialogs

Ils sont vraiment nécessaires au bon fonctionnement de tes composants ? :]
Je pourrais, bien sûr, épurer le code, et le rendre compatible avec la VCL "basique", que nous autres amateurs possédons, mais je crois que finalement, je vais te laisser le soin de le faire.
> Mais j'ai tout de même réussi à compiler.

Remarques rapides :
- dans le OnCreate de ta Led, tu peux réduire la taille pour la mettre à la taille correcte, sinon quand tu poses le composant il apparaît par défaut "grand" et ça fait pixellisé.

- tu sais qu'il existe déjà le TDateTimePicker pour l'édit calendrier ? Et il est géré automatiquement par les styles Windows ? Il ne faut pas oublier qu'un système d'exploitation se doit de présenter un look constant et homogène, sinon ça fait pas super ..

- dans le CalEdit, tu remplaces carrément la WndProc du composant TImage. A ne pas faire ! Tu peux la surcharger (ça aurait été plus simple), ou alors faire avec ta méthode, c'est-à-dire "brancher" ta méthode entre les deux ... et par convention on laisse le nom "WndProc".

- je vois un code un peu redondant dans TLed.ChangeColor. Tu pourrais simplifier ça en prenant comme nom de ressources des numéros, et en utilisant ensuite (ord(ValColor) + 1) shl 1 or (ord(Statut) + 1), avec comme format de numéros dans les noms de ressources "XY", X étant égal à 1 pour cRed, 2 pour cBlue, etc ... et Y étant égal à 1 pour lEtteint (c'est un seul T au fait) et 2 pour lAllume.

- tu peux regarder mon composant TLed (trouvable sur le site aussi) si ça t'intéresse de voir les solutions optées par des gens différents.

- J'aurai peut-être d'autres remarques plus tard ...

Bonne présentation du zip, en tout cas, ça fait plaisir (une création dynamique, pour la route ? :p)

Cordialement, Bacterius !

PS : tu peux mettre une capture ? Ca fait direct bonne impression, et on sait à quoi on s'attend ...
Rejoignez-nous