abmed1963
Messages postés2Date d'inscriptionmercredi 28 décembre 2011StatutMembreDernière intervention30 décembre 2011 30 déc. 2011 à 18:46
Salut Mauricio,
Merci pour la réponse. Désolé car apparament j'ai examiné un vieux code. En fait j'ai juste fait une recherche en se basant sur le nom communiqué dans le premier commentaire.
Dans tout les cas je vois qu'on ne vend rien tout les deux, en tout cas pas les sources qui restent proposées gracieusement. Le fait qu'il y ait deux façons de faire de proposées ne ferait qu'enrichir ce site et ne peut être que bénéfique à nos amis qui le fréquentent ainsi que nous même. Je pense que c'est l'essentiel et le but recherché.
Ce que je voulais dire c'est qu'un composant ne doit pas dépendre d'un autre composant (au moins au niveau de la construction), l'héritage c'est plutôt entre classes (paradigme objet). Je me suis certainement mal exprimé.
Bonne année à toi et tout ceux qui me lisent.
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 30 déc. 2011 à 18:23
Salut Abmed1963,
je ne remets pas en cause l' utilité didactique de ton compo, bien au contraire, j' ai trouvé le code interessant...
mais quelques explications s' imposent: cyResizer.pas n' est qu' une unité faisant parti d' un pack composé de plus de 40 composants.
L' unité que tu dis absente fait bien entendu parti de ce pack.
Ce pack fait lui-même parti d' une suite (appelée Cindy, licence MOZILLA GPL) de plusieurs packs de compos gratuits avec fichiers sources + démos de chaque compo téléchargeables ici:
http://sourceforge.net/projects/tcycomponents/
Il existe aussi une version Lazarus (les compos fonctionnent sous telephones portable) que je regarde de très loin et donc, je ne peux pas te donner plus de précision.
"L'implémentation est radicalement différente"
Le compo TcyResizer n' a besoin que de 2 lignes de code pour être utilisé: aucune ligne de code n' est à mettre sur les controls manipulés (à l' inverse de la 1ère version du compo TcyResizer). Il fonctionne comme si on était sur l' IDE de Delphi.
"le code de cette classe dépend du code d'une autre classe (absente de la source d'ailleur): cydgradPaintbox. Or le principe même d'un composant est qu'il soit indépendant"
Par contre là, ce n' est pas vrai car cela remettrait en cause toute la logique d' héritage!
A+ et bonne année 2012!
PS: "What else" fait référence à la pub "Nespresso", mais ça, tu avais compris ...
abmed1963
Messages postés2Date d'inscriptionmercredi 28 décembre 2011StatutMembreDernière intervention30 décembre 2011 30 déc. 2011 à 17:51
Bonjour,
Merci pour l'attention que vous avez manifesté pour ce modeste travail.
J'ai regardé le TcyResizer. Il est vraiqu'il a pour objectif de répondre à un même besoin, fréquemment rencontré en développement d'applications: celui du positionnement et du redimensionnement des contrôles GUI.
Mais je pense que la comparaison s'arrête là.
L'implémentation est radicalement différente. Il y a aussi une dimension différente, celle de l'approche didactique. Ce code a aussi, à côté de l'objectif purement fonctionnel (répondre à une problématique informatique plutôt technique), un objectif de présentation explicative de l'approche composant de la construction de logiciels.
A titre d'exemple, après un examen très rapide du code du TcyResizer, le code de cette classe dépend du code d'une autre classe (absente de la source d'ailleur): cydgradPaintbox. Or le principe même d'un composant est qu'il soit indépendant (dans le sens qu'il peut être construit et même utilisé) d'autres parties ou composants (lien mou à la place de lien rigide).
Je vous invite à lire la partie sur l'approche composant du développement logiciel du lien et vous trouverez certainement plus de précisions sur votre question : what else ?
Encore merci.
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 30 déc. 2011 à 15:23
Salut,
mon compo TcyReziser evidemment! What else?
A+
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 28 déc. 2011 à 19:58
Salut,
Petit snippet qui permet à l'utilisateur de déplacer un contrôle (ici un TPanel) en exécution et de l'amener au premier plan :
30 déc. 2011 à 18:46
Merci pour la réponse. Désolé car apparament j'ai examiné un vieux code. En fait j'ai juste fait une recherche en se basant sur le nom communiqué dans le premier commentaire.
Dans tout les cas je vois qu'on ne vend rien tout les deux, en tout cas pas les sources qui restent proposées gracieusement. Le fait qu'il y ait deux façons de faire de proposées ne ferait qu'enrichir ce site et ne peut être que bénéfique à nos amis qui le fréquentent ainsi que nous même. Je pense que c'est l'essentiel et le but recherché.
Ce que je voulais dire c'est qu'un composant ne doit pas dépendre d'un autre composant (au moins au niveau de la construction), l'héritage c'est plutôt entre classes (paradigme objet). Je me suis certainement mal exprimé.
Bonne année à toi et tout ceux qui me lisent.
30 déc. 2011 à 18:23
je ne remets pas en cause l' utilité didactique de ton compo, bien au contraire, j' ai trouvé le code interessant...
mais quelques explications s' imposent: cyResizer.pas n' est qu' une unité faisant parti d' un pack composé de plus de 40 composants.
L' unité que tu dis absente fait bien entendu parti de ce pack.
Ce pack fait lui-même parti d' une suite (appelée Cindy, licence MOZILLA GPL) de plusieurs packs de compos gratuits avec fichiers sources + démos de chaque compo téléchargeables ici:
http://sourceforge.net/projects/tcycomponents/
Il existe aussi une version Lazarus (les compos fonctionnent sous telephones portable) que je regarde de très loin et donc, je ne peux pas te donner plus de précision.
"L'implémentation est radicalement différente"
Le compo TcyResizer n' a besoin que de 2 lignes de code pour être utilisé: aucune ligne de code n' est à mettre sur les controls manipulés (à l' inverse de la 1ère version du compo TcyResizer). Il fonctionne comme si on était sur l' IDE de Delphi.
"le code de cette classe dépend du code d'une autre classe (absente de la source d'ailleur): cydgradPaintbox. Or le principe même d'un composant est qu'il soit indépendant"
Par contre là, ce n' est pas vrai car cela remettrait en cause toute la logique d' héritage!
A+ et bonne année 2012!
PS: "What else" fait référence à la pub "Nespresso", mais ça, tu avais compris ...
30 déc. 2011 à 17:51
Merci pour l'attention que vous avez manifesté pour ce modeste travail.
J'ai regardé le TcyResizer. Il est vraiqu'il a pour objectif de répondre à un même besoin, fréquemment rencontré en développement d'applications: celui du positionnement et du redimensionnement des contrôles GUI.
Mais je pense que la comparaison s'arrête là.
L'implémentation est radicalement différente. Il y a aussi une dimension différente, celle de l'approche didactique. Ce code a aussi, à côté de l'objectif purement fonctionnel (répondre à une problématique informatique plutôt technique), un objectif de présentation explicative de l'approche composant de la construction de logiciels.
A titre d'exemple, après un examen très rapide du code du TcyResizer, le code de cette classe dépend du code d'une autre classe (absente de la source d'ailleur): cydgradPaintbox. Or le principe même d'un composant est qu'il soit indépendant (dans le sens qu'il peut être construit et même utilisé) d'autres parties ou composants (lien mou à la place de lien rigide).
Je vous invite à lire la partie sur l'approche composant du développement logiciel du lien et vous trouverez certainement plus de précisions sur votre question : what else ?
Encore merci.
30 déc. 2011 à 15:23
mon compo TcyReziser evidemment! What else?
A+
28 déc. 2011 à 19:58
Petit snippet qui permet à l'utilisateur de déplacer un contrôle (ici un TPanel) en exécution et de l'amener au premier plan :
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
ReleaseCapture;
Panel1.Perform(WM_SysCommand,$F012,0);
end;