TANGENT PACK [COMPOSANTS]

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 5 avril 2009 à 14:57
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 17 mai 2009 à 10:14
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/49731-tangent-pack-composants

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
17 mai 2009 à 10:14
Merci :)

Cordialement, Bacterius !
cs_Nadia16 Messages postés 6 Date d'inscription mercredi 6 mai 2009 Statut Membre Dernière intervention 16 mai 2009
14 mai 2009 à 08:30
Bon jour,
J’apprécie beaucoup vos exemples
Mercie
A++
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
28 avril 2009 à 18:31
Oui ça m'etonnait aussi, un codeur de composants chevronné comme toi :p

Cordialement, Bacterius !

PS : Moi je vais me mettre au C ^^
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
28 avril 2009 à 18:29
Haaa, oui... je me rappelle :)

je suis en train d' apprendre le php et ça m' a fait perdre la mémoire lol.

Merci!
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
28 avril 2009 à 18:24
Un index est un paramètre supplémentaire pour les getters/setters. Il permet de gérer différentes propriétés avec 1 seul getter/setter. Par exemple, imaginons 2 propriétés Number1 et Number2.

Si je fais :

property Number1: Integer read GetNumber1;
property Number2: Integer read GetNumber2; (seulement en read pour simplifier)

J'aurai besoin de deux fonctions individuelles : GetNumber1 et GetNumber2.

Maintenant, si je fais :

property Number1: Integer index 1 read GetNumbers;
property Number2: Integer index 2 read GetNumbers;

J'aurai 1 seule fonction, GetNumbers, qui gérera les deux propriétés en lecture. Cependant, cette fonction comportera un paramètre en plus : Index (je crois que tu peux changer le nom du paramètre mais il doit être placé en premier dans la liste). Comme ceci :

function GetNumbers(Index: Integer): Integer;

Quand je voudrai modifier la propriété Number1, Index prendra la valeur 1 (comme spécifié dans la déclaration de propriété), et quand je voudrai modifier la propriété Number2, Index prendra la valeur 2. Tu peux adapter dans la fonction comme ceci, alors :

function TMonCompo.GetNumbers(Index: Integer): Integer;
begin
case Index of
1: Result := FNumber1; { On demande la valeur de Number1 - Index 1 }
2: Result := FNumber2; { On demande la valeur de Number2 - Index 2 }
end;
end;

Ca permet, en gros, de simplifier le code de ton composant. C'est assez utile quand tu as pas mal de propriétés qui n'ont pas de traitement spécifique à part une vérification triviale (par exemple, vérifier que une propriété Active ou Enabled est définie à True), car tu n'as pas à réécrire "if FEnabled then ...". En gros c'est ça les "index".

Cordialement, Bacterius !
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
28 avril 2009 à 18:10
Salut Bacterius,

dans l' unité TangentButton.pas, tu utilises la commande index :
"property IdleColor: TColor index 1 read FIdleColor write SetColor;"

J' ai cherché mais je ne trouve pas à quoi ça sert...
Tu peux m' expliquer STP?
Merci,

A+
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
25 avril 2009 à 14:06
[Code MAJ : 4]



Un bug a été réparé sur le TangentButton : si vous mettiez une caption vide en conception, le caption par défaut était remis à l'execution. Ceci est arrangé à présent (ne remet le caption par défaut que en conception et jamais en execution).

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 avril 2009 à 16:43
Ben je n'ai pas mis les exe de tous les exemples (heureusement, sinon trop lourd), j'ai juste mis l'exe pour lire les fichiers d'aide. M'enfin ce sont des fichiers ini renommés, donc si l'on a un peu de patience et une bonne concentration on peut lire directement depuis les fichiers ^^

Cordialement, Bacterius !
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
14 avril 2009 à 16:34
Salut,
la fusion était une des solution, l' autre étant la distinction (les distinguer par leurs fonctionalités).

Dommage il est vrai, que le site ne nous permette pas de mettre l' exe dans le zip (je fais comme toi, je change l' extension) pour pouvoir tester.
A+
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 avril 2009 à 15:21
[Code MAJ : 3]



Bon, nouvelle MAJ, alors la remarque de Mauricio "pourquoi diable 2 gauges" a fait son chemin dans ma tête, malgré ma réponse courte et concise, c'est pourquoi j'ai décidé de fusionner les deux gauges ensemble, et voilà le résultat (elle a conservé le nom de TangentGauge et a toutes les propriétés de l'une associées à toutes les propriétés de l'autre). Et, quelques petites optimisations je ne sais trop où ... Ah oui surtout optimisation au niveau de TangentAutorun (qui ne fonctionnait pas du tout, car il se mettait toujours à autorun False à sa création en runtime ... c'est arrangé !).

Si vous voulez je mettrai mon memory cleaner en exemple n°7 (même si je ne suis pas sûr que la méthode soit géniale ... pomper un max de mémoire pour le processus, puis tout libérer brutalement, obligeant Windows à redistribuer la mémoire de façon optimale (ça arrange aussi la mémoire mal libérée)) ...

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
7 avril 2009 à 19:56
Oui j'ai pas pensé à renommer le .exe, il est supprimé par CS ...
Donc voilà, tout va bien. J'ai ajouté les fichiers d'aide en version française.
Renomme l'executable (*.ex_) en *.exe, et lance-le. Puis choisis un composant (à la fin [FR] pour les versions françaises). Tu as la description globale qui apparaît. Clique sur les propriétés (à gauche), les méthodes (au milieu), et les événements (à droite) pour avoir de l'aide dessus.
Pas encore de fichier d'aide avec F1 ^^
Sinon j'en profite pour poster dans la foulée une petite optimisation :) mais j'ai surtout fait la traduction.

Cordialement, Bacterius !
cs_Michel34 Messages postés 79 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 27 juin 2011
7 avril 2009 à 19:47
@bacterius ,

Tu vois meme le francais c'est du chinois pour moi , j'ai regarde dans le dossier TangentHelp et il n'y a qu'un dossier HelpFiles avec des fichiers ".THG" je pense que c'est ceux la que tu vas francise , par contre le'application a renommer en " .EXE" je ne le vois pas ? , ou alors je n'ais pas tout compris ,
sinon tu parle sous delphi de la touche F1 et rechercher tes compos.

Je suis compliqué , Houps non je suis un vieux a qui il faut tout expliquer.

A+ Michel34.
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
7 avril 2009 à 19:24
En fait je ne vais que faire une version française de chaque fichier d'aide, comme ça tu pourras lancer l'application d'aide dans TangentHelp (à renommer en .ex) puis tu sélectionneras les composants avec le tag "[FR]" au bout. Je suis en pleine traduction et optimisation :)

Cordialement, Bacterius !
cs_Michel34 Messages postés 79 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 27 juin 2011
7 avril 2009 à 19:18
@Bacterius ,

Je deplace ton pack dans le BetaTest , Ok j'attends ce fichier d'aide avec impatience.

A+ Michel34
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
7 avril 2009 à 18:44
Merci Michel34 mais ne les mets pas encore dans tes favoris ils ne sont pas encore stables ...
Sinon pour les exemples vraiment désolé, je vais mettre la version française des fichiers d'aide ce soir :)

Cordialement, Bacterius !
cs_Michel34 Messages postés 79 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 27 juin 2011
7 avril 2009 à 18:41
Salut a tous,
J'ai teste le package et pour les compos visuels rien a redire ,tres propres
ca va rentrer dans mes favoris.
par contre pour les non visuels , je ne peux pas me prononcer ,meme les exemples
n'on pas reussi a me faire comprendre les finallites des programmes .
je ne comprend pas du tout l'anglais et comme tout est dans cette langues meme les explications
des exemples , donc pour moi ca ma fichu un mal de crane a essayer d'eclaircir ma lanterne.

Mais comme je dois etre un faible pourcentage de non liuguiste , je pense qu'il me
faut des ma mise a la retraite d'apprendre l'Anglais.

Sinon ca boom , A+ Michel34
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
7 avril 2009 à 18:37
Ce ne sont pas 2 gauges : c'est une barre de progression et une gauge, ce n'est pas du tout la même chose ! ^^
"tu accumules les maladresses" comment ça ?

Cordialement, Bacterius !
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
7 avril 2009 à 18:31
En réponse à ton dernier post sur mon pack de compos:
----------------------------------------------------

Je voulais pas entré dans le sujet ^^

le point positif c' est qu' en peu de temps tu as beaucoup progressé. Malheureusement, tu accumules les maladresses et ton dernier post montre bien qu' il est encore trop top pour utiliser tes compos.
D' ailleurs, pourquoi diable 2 gauges?

A+
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
7 avril 2009 à 17:19
Et voilà, j'ai réussi, ça va plus vite maintenant !

MAJ :
- ajout de la propriété Enabled au bouton.
- ajout de ScanLine dans la GradEngine.

Je poste ...

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
7 avril 2009 à 17:06
Pour le scanline j'ai un problème, je mets bien toutes les lignes du bitmap en scanline mais je reçois une violation d'accès ... Je vais rééssayer. Au fait, j'ai oublié une propriété essentielle du bouton : Enabled. C'est rien, 1 ligne de code et c'est fini, mais j'essaye d'optimiser la barre et je poste la MAJ ...

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
7 avril 2009 à 11:46
En fait, dans GetGradientBar, tu pourrais utiliser un bitmap prédéfini, et surtout le scanline...
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
6 avril 2009 à 16:07
lol ^^

Néanmoins j'ai un problème avec la rapidité de dessin de la TangentBar, je vais probablement passer au scanline pour le bitmap tampon parce que pour la gauge, encore, utiliser une dizaine de fois Pixels ca va encore, mais bon ...

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
5 avril 2009 à 23:18
Tape-à-l'oeil :)

lol

DH
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
5 avril 2009 à 20:05
Et voilà Cirec, j'ai mis le tout à jour, et j'ai mis une compression de 80 au JPG ...

J'aime beaucoup les dégradés de ce type je trouve ça superbe :)

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
5 avril 2009 à 19:59
Ok je fais ça en mettant à jour :)
Utilisateur anonyme
5 avril 2009 à 18:57
Refais une capture et mets le niveau de compression à 80 - 90 et les couleurs devraient rester
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
5 avril 2009 à 14:57
Arf un caractère est mal passé : dès que la source est activée, je modifie la description :)

Cordialement, Bacterius !

PS : désolé pour la capture, le jpg n'aime pas les dégradés ^^