Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PROGRESSBAR PAR CONTROLE ACTIVEX


Information sur la source

Catégorie :Control Niveau : Débutant Date de création : 21/04/2003 Date de mise à jour : 15/05/2003 18:46:21 Vu / téléchargé: 2 839 / 357

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
J'ai déposé sur ce site il y a quelques temps, un exemple de calcul du CRC16 utilisant la technologie ActiveX, c'est à dire un contrôle utilisateur qui permet de calculer le CRC16.

Je ne vais pas reparler de la technologie des ActiveX, il suffit de savoir qu'ils peuvent être proposé pour d'autres langages de programmation en le compilant sous forme de code système ( *.ocx ).

C'est donc un simple ProgressBar, il y en a déja beaucoup ici, donc ce n'est pas le premier, ni le dernier, mais bon, j'avais deux heures à perdre et pas d'idée pour le moment.

Pour l'utiliser, il faut bien entendu toujours, le sélectionner dans composants. Il est ensuite ajouté à la boite à outils de Visual Basic.

La capture d'écran vous permet de voir l'utilisation possible de cet ActiveX tout simple.

Petites Modifications du 15/05/2003 :

Comme j'avais un petit moment, j'ai fait quelques modifications au contrôle. A savoir, un bug qui se produisait lorsque le contrôle était redimensionné au minimum et que j'ai corrigé. j'ai également fait une petite modification, en permettant aux led's d'être redimensionnées en largeur en fonction de la largeur que l'on donne au contrôle. Il reste encore des petites choses à faire pour l'optimiser, mais les bases de la conceptions d'un Activex sont là. Je n'ai pas le temps, ni l'envie de l'optimiser davantage, c'est à dire réinventer la poudre puisque le contrôle existe déjà dans vb et que l'on peut en trouver partout sur le net. j'aime mieux voir autre chose.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de suoe le 21/04/2003 19:58:03

Salut !
Il es beau !
Merci pour la capture d'écran !
Dommage j'ai pas vb on me la volé zut zut zut et rezut !

signaler à un administrateur
Commentaire de Renfield le 21/04/2003 20:25:52 administrateur CS

ton code est plutot complexe pour ce que ca fait , enfin , tu te complique la vie : pourquoi stocker a,b,c et d a l'exterieur des composants ??
progressbar.value = progressbar.value + 1

d'autre part , tu pourrais faire le test ( > 15 ) a l'interieur du composants.

on ne peut pas parametrer le composant ( Min , Max , Couleur ? )

a par ca , le look est sympa !

le code est dur a lire , en tout cas , a cause du nombre de lignes sautées , et du fait que tu n'indente ( ajout de tabulations ) pas ton code..........

signaler à un administrateur
Commentaire de Renfield le 21/04/2003 20:26:14 administrateur CS

tiens , j'ai refais le code du composant :

Option Explicit

Private myValue As Integer

Private Sub UserControl_Resize()
    Dim a As Integer
    Height = 4695
    Width = 195
    For a = 0 To 14
        SetColor a
    Next
End Sub

Private Sub SetColor(Index As Integer)
    Dim Color As Long
    If Index <= 7 Then
        Color = &HC00&
    ElseIf Index > 7 And Index <= 11 Then
        Color = &H80FF&
    ElseIf Index > 11 Then
        Color = &HFF&
    End If
    Shape1(Index).BackColor = Color
End Sub

Public Property Let Value(ByVal new_Value As Integer)
    Dim a As Integer
    myValue = new_Value
    For a = 14 To myValue Step -1
        Shape1(a).Visible = False
    Next a
    For a = 0 To myValue
        Shape1(a).Visible = True
    Next a
End Property
  
Public Property Get Value() As Integer
    Value = myValue
End Property

signaler à un administrateur
Commentaire de cyrille le 21/04/2003 20:39:13

Salut,

A regarder comme ça rapidement, ta modification est probablement tres bonne mais bon, personne ne code de la même manière. Je code d'une façon la plus simple possible. J'aime mieux ajouter des lignes de code que de faire qq chose de dense et d'ilisible, c'est si facile à faire un code dense et ilisible.

Pour finir, tu dois bien être la première personne et j'en ai rencontré des développeurs, qui me dit que mon code est dur à lire.

Néamoins, ta critique est très constructive, c'est pas si souvent ici et c'est dommage.

Salutations à toi,

Cyrille.

signaler à un administrateur
Commentaire de SupraDolph le 21/04/2003 21:32:05

Même remarque que Renfield ton code n'est pas facile a lire et avec tout ces espaces on a du mal à differentier les fonctions.

Sinon les commaentaires sont bien mis quoi qu'un peut repétitif mais sa c'est pas grave.

Je trouve dommage :
- que l'on ne puisse pas règler les dimmentions de ton contrôle activx car dans un projet ton activx n'est pas exploitable.
- que l'on ne puisse pas déterminer le nombre de rectangles
- que l'on ne puisse pas changer les trois couleurs.

en bref : continue ta source car un peut de travail dessus et elle sera bien.

Bonne Prog.
                    SupraDolph

signaler à un administrateur
Commentaire de Renfield le 21/04/2003 22:26:29 administrateur CS

tant pis si ca te plait pas , il est vrai que tu as sans doute l'impression sans doute cherché a condenser au maximum, mais c'est probablement comme ca que je l'aurait encodé  !

mon algo fonctionne ainsi:
- a un moment donné ( ici , au Resize .... ) , je definit la couleur des Shapes ( tu pourrait le mettre en dur , en mode edition , vu que c'est pas parametrable....... )
- Ensuite , si je modifie la propriété Value , je masque ou affiche les shapes , en fonction de la valeur en question

ton code est très ( trop) vaste , et repetitif , les mises a jour doivent pas etre aisées.... plutôt que de repeter X fois un bout de code , place une fonction , de sorte que celle ci puisse être reutilisée. Par la suite, les modifications que tu pourra y apporter modifieront d'un coup la totalité du comportement de l'appli ( enfin , de ce qui y fait appel )

ajouter des lignes de code , c'est bien beau , mais a la longue , on en prend l'habitude , et le jour ou tu aura besoin d'un programme rapide et optimisé......( tu peux bien sur me repondre que c'est pas grave , que tu bosses sur un Athlon 2GhZ , mais bon , il vaut mieux optimiser , c'est plus pro... )

par contre , on ne peut se servir des propriétés de ton controle... regarde les modifications  que j'ai apportées..

enfin , pour reprendre le commentaires de SupraDolph , ton composant n'est absolument pas parametrable....

Quant a savoir si d'autres codent de cette facon , je t'avouerais que je n'en sais rien , mes progs fonctionnent , et je fais de mon mieux.... personne jusque la ne s'en est plein ( mes profs , au debut, mais je me suis adapté )......

mais je ne suis pas la pour te casser du sucre sur le dos , je dis cela avant tout pour t'aider, défendre mon point de vue...... et placer ici un (des) commentaires constructifs, mais continue les Ocx , perso , j'adore faire ca !

le tout n'est pas de pondre un algo qui fonctionne , la magie de la programmation , et sa richesse surtout , c'est la multitude de voies qu'il est possible pour aller d'un point A à un point B , reste a choisir le plus court , ou le moins pénible , a toi de voir....

signaler à un administrateur
Commentaire de cyrille le 22/04/2003 12:07:21

Bonjour messieurs,

Réponse à SupraDolph : Quelles fonctions ? L'ActiveX peut être amélioré ! eh bien, je t'en prie, y'a rien de compliqué, fais le!

Réponse à Renfield : Ca me plait pas, tu crois ? Mais pas du tout, j'analyse tes critiques avec attention. Pour info : j'ai pensé à des options pour cet ActiveX que tu n'as même pas évoqué. De grâce messieurs, j'ai codé ça en très peu de temps et pour passer 2 heures relax, pas pour autre chose.

Salutations,

Cyrille.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,125 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.