Tangent pack [composants]

Soyez le premier à donner votre avis sur cette source.

Vue 5 969 fois - Téléchargée 1 061 fois

Description

Bonjour,
j'avais dit que je posterais ce pack plus tard, mais finalement je le poste directement puisqu'il est assez complet. Naturellement, une nouvelle version viendra plus tard ...

Voici donc un pack de composants nommé Tangent, composé de 4 composants visuels et de 8 composants non-visuels. Vous reconnaitrez peut-être la led (dans le BaktPack) ou la barre de progression (dans le BaktPack, mais elle a subi un gros lifting ^^), mais les autres sont entièrement nouveaux (c'est-à-dire qu'ils n'étaient pas dans le BaktPack) !
Voilà une liste des composants que vous trouverez dans ce pack :

-- Visuels --
- TangentGauge : Jauge dégradée (NEW : fusion entre TangentBar et TangentGauge).
- TangentLed : l'ancienne SwitchLed, qui n'a pas subi beaucoup de modifications.
- TangentButton : une pure merveille, le clou de ma collection (je l'utiliserai sûrement très souvent celui-là), un bouton avec une capacité de dégradé, plusieurs modes de dégradés, très personnalisable :)

-- Non visuels --
- TangentThread : eh oui ce composant a déjà fait l'objet d'une source sur le site, rien de bien nouveau, peut-être une ou deux modifications mineures ...
- TangentTrayIcon : ce composant aussi a déjà fait l'objet d'une source, peu de modifications ...
- TangentBroadcaster : composant qui permet d'envoyer un message à tout le système. Il n'envoie qu'un seul message mais peut broadcaster sur des canaux différents (qui sont interprêtés par le composant qui va suivre).
- TangentReceiver : composant qui intercepte les messages du TangentBroadcaster. Il récupère les deux paramètres Word et Longword ainsi que le canal du message.
- TangentPageFile : représente un fichier paginé en mémoire. Possibilité de modifier la taille du fichier, son nom, d'écrire ou de lire dans le fichier. Sections critiques gérées à l'aide d'un mutex.
- TangentFileSearch : composant qui recherche des fichiers dans un dossier en cherchant accessoirement les sous-répertoires.
- TangentAutorun : composant qui permet de lancer votre application au démarrage de Windows. (c'est le seul qui n'a pas d'application d'exemple associée)
- TangentUserManager : fournit rapidement l'implémentation d'une liste d'utilisateurs contenant chacun un nom, un nom d'affichage et un mot de passe. Plusieurs méthodes pour gérer cette liste.

- 6 applications d'exemple sont incluses dans le paquet, mais il faudra avoir installé le paquet pour les essayer (pas de création dynamique).

- une application qui lit des fichiers d'aide (sous forme de fichier ini), il suffit de lancer l'application qui se situe dans TangentHelp, et elle va lire les fichiers d'aide dans le dossier HelpFiles ... doc en anglais ...

- le dossier TangentBase contient les composants ou unités utilisées par plusieurs composants du pack : par exemple, TangentBase.pas contient le composant TWndComponent qui gère un handle de fenêtre, et TangentGradEngine est le moteur de dégradés pour les composants visuels (sauf la led) - notez que TangentGradEngine fait une utilisation du ScanLine :)

- vous pouvez vous référer à la doc Readme.txt, ou une version plus abrégée en français (Lisez-moi.txt) ...

- dernière petite chose, le batch Cleaner.bat nettoiera intégralement le dossier Tangent. Vous pouvez le réutiliser dans vos applications, mais NE L'UTILISEZ SURTOUT PAS dans un endroit où il pourrait affecter le dossier de Delphi : il supprime tous les fichiers inutiles de Delphi (.dcu, .dof, ...) récursivement depuis le dossier dans lequel il est executé. Mais certains .dcu de Delphi sont très importants, ne les supprimez donc pas. Je décline toute responsabilité en cas de dommages à l'aide de ce batch.

Et voilà, j'espère que vous apprécierez mes composants ! J'inclus une capture d'écran des composants visuels (pour les composants non-visuels, téléchargez :p).

Source / Exemple :


// In the zip

Conclusion :


Sous Delphi 6 Personal Edition, tous commentaires, remarques, critiques, conseils, etc ...

Cordialement, Bacterius !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Merci :)

Cordialement, Bacterius !
Messages postés
6
Date d'inscription
mercredi 6 mai 2009
Statut
Membre
Dernière intervention
16 mai 2009

Bon jour,
J’apprécie beaucoup vos exemples
Mercie
A++
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Oui ça m'etonnait aussi, un codeur de composants chevronné comme toi :p

Cordialement, Bacterius !

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

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

Merci!
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
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 !
Afficher les 27 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.