Page personnelle de Rémy LUCAS
Utilisez le menu (la bande jaune à gauche) pour naviguer dans le site ! Programmation - Visual Basic
Que trouve-t-on ici ?
Paroles de chansons - 60's & 70's
Infos pratiques, montages à réaliser, et logiciels de calcul 'on line'...
Cours d'initiation - Codes sources
Cours d'initiation à VB
Mes codes sources
Trouver le nom d'une couleur à partir de ses composantes
Calculer une expression stockée dans une chaîne
Dessiner des diagrammes cammemberts
Afficher des nombres  en 'cristaux liquides'
Utiliser le port parallèle !
Jouer des fichiers WAV
Logiciels gratuits à télécharger ici !

Tracer un diagramme camembert

        NB: Contrairement aux autres, cette procédure n'est pas de moi; je l'avait trouvée il y a trois ans dans un bouquin (je ne me souvient plus lequel); je pense qu'elle interessera tout ceux qui utilisent VB pour faire des bases de données.

Mode d'emploi
Le code
Explications

Mode d'emploi - Exemple

        Pour dessiner un camembert, il faut taper :

Call Camembert (Image, Table(), Texte$(), Num%, x%, y%, Ra%, ExPiece%)

        La procédure "Camembert" admet de nombreux paramétres, dont nous allons préciser le rôle.

        Image : Nom du contrôle dans lequel vous voulez dessiner le camembert. Par exemple 'image1'.
Attention ! Il faut que la propriété "autoredraw" du contrôle d'image soit réglée à "true".

        Table() : Tableau de "Num%" éléments (si Num%=3, le tableau devra avoir 3 éléments), contenant des nombres (entier, réels, ... peut importe) servant à pondérer la taille des parts du camembert.

        Texte$() : Tableau de "Num%" éléments (si Num%=3, le tableau devra avoir 3 éléments), contenant des chaînes de caractères. Ce sont ces chaînes qui seront affichés à côté des parts de camembert.

        Num% : Nombre de parts du camembert.

        x% et y% : coordonnées du centre du camembert.

        Ra% : Rayon du camembert.

        ExPiece% : Paramétre servant à détacher une part du camembert.

                Si ExPiece% = -1, la plus grosse part du camembert sera détachée.

                Si ExPiece% = 0, aucune part du camembert ne sera détachée.

                Si 0 < ExPiece% < Num%+1, la part correspondant à Table(ExPiece%) et Texte$(ExPiece%) sera détachée.

        Exemple d'utilisation :
  Const Num% = 3 'Il y a trois données
  ReDim Table(Num%) ' ATTENTION !!! Ne pas
                    ' specifier de "AS Integer"
                    ' ou "AS Long" ou ...
  ReDim Texte$(Num%)
  ' On remplit les tableau de données :
  Table(1) = 70: Texte$(1) = "Anglais"
  Table(2) = 20: Texte$(2) = "Allemand"
  Table(3) = 10: Texte$(3) = "Italien"
  ' On appelle la procédure pour dessiner le camembert :
  Call Camembert(Image1, Table(), Texte$(),
Num%, 2000, 2000, 1000, -1)
        On obtient le résultat suivant :
On obtient un diagramme camembert


Le code


Explications

        On s'en sort en utilisant la fonction "circle" qui permet de traver des secteurs angulaires (les parts), ainsi que les fonctions trigonométriques (sin, cos) pour placer les textes correctements.
        L'angle de chaque part est proportionnel au nombre contenu dans la tableau "Table()".
        A noter les méthodes "CurrentX" et "CurrentY" qui détérmine les coordonnées où seront affichées les données textes utilisées avec la méthode "Print".


Remonter en haut de la page Rémy LUCAS - (c) 2002