begin process at 2012 02 16 23:01:27
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Control

 > CLASS POUR GENERER DYNAMIQUEMENT DES CONTROLES DANS UN CONTENEUR, POUR CREER DES FORMULAIRES DYNAMIQUES

CLASS POUR GENERER DYNAMIQUEMENT DES CONTROLES DANS UN CONTENEUR, POUR CREER DES FORMULAIRES DYNAMIQUES


 Information sur la source

Note :
9,2 / 10 - par 5 personnes
9,20 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Control Niveau :Débutant Date de création :10/04/2005 Date de mise à jour :10/04/2005 02:19:03 Vu / téléchargé :8 005 / 1 059

Auteur : celiphane

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Quelques sources juste avant celle-ci, se trouve une source nommée GENERATEUR DE FORMULAIRE.
Ce qu'elle contient n'étant pas du tout ce qu'elle annonce, je me permets (sans aucune dénigrance de l'auteur de la source que j'ai citée, bien entendu) de poser cette class que j'ai développé il y a longtemps, et que j'ai utilisé dans diverses applications professionnelles.

La ClassDerouleurControles sert réellement à générer des formulaires dynamiques, elle est clé en main.

Vous pouvez regarder la capture ci-jointe pour avoir une illustration de son fonctionnement.

La Class possède ces méthodes :

- AjouterLigne
>pour ajouter une ligne de plus, selon le schéma donné initialement

- EffacerLigne (index)
>pour enlever l'une des lignes présentes, notament la numéro Index

- NombreLignes
> renvoie le nombre de ligne en cours

- ToutEffacer
> efface toutes les lignes ajoutées

- DernierControleAjoute (IndexCollection)
> retourne le dernier controle ajouté (donc de la dernière ligne), et plus particulierement le controle Numero IndexCollection. Par exemple, si vous avez initialisé la class avec TextBox, Button, CheckBox, alors pour avoir le dernier TextBox, IndexCollection sera 0, 1 pour le Button et 2 pour la CheckBox. (regardez l'exemple dans le ZIP)

- Init(ByVal LaisserMarge As Boolean, ByVal LimiteContainer As Long, ByVal EspacementLigne As Long, ByVal AscenseurVertical As VScrollBar, ParamArray ControlesIndexes() As Variant)
> obligatoire pour initialiser le conteneur de champ dynamique, donc la Class.
> LaisserMarge permet lors d'un ajout, lorsque le nombre de champ nécessite un ascenseur, de laisser ou non une petite marge d'espace libre en dessous de la dernière ligne
> LimiteContainer est la hauteur du conteneur. Si la dernière ligne ajoutée dépasse cette limite, la class renseignera l'ascenseur pour le défilement.
> EspacementLigne est la distance à placer entre chaque ligne.
> AscenseurVertical est le Vscrollbar associé au conteneur, pour permettre le défilement.
> Ensuite, vous pouvez inscrire le nom des collections de contrôles créé, un par un.

Regardez les 2 exemples à disposition dans le ZIP pour comprendre le fonctionnement.

Ce qu'il vous faut pour créer un formulaire dynamique (vous le verrez dans les exemples de toute facon), c'est :
- la Class
- un conteneur quelconque (la form par exemple)
- poser dans ce conteneur les controles qui formeront une ligne du formulaire, et mettre l'index de chacun d'eux à 0. Ils seront la ligne "modèle".
- Mettre un ascenseur vertical, au cas où le nombre ligne ajouté dépasse le conteneur.
- initialiser la Class


 Conclusion

Illustration, exemple réel.

Cette Class m'a servi notament dans un projet de dédoublonnage de contacts dans une immense base de donnée texte :
le programme chargeait les entrées, opérait le dédoublonnage en regroupant les contacts qui lui semblait similaire (l'algorithme utilisé est vraiment très bluffant... il renvoie un pourcentage de correspondance entre les 2 chaines) puis affichait ces entrées quasi identique justement grâce à cette Class. Compte tenu du fait que le nombre de doublons pour un nom pouvait être de 2 à l'infini, elle était très efficace, et contenait des champs texte pour affiché les données des doublons par ligne, une case à cocher pour que l'utilisateur coche les lignes qu'il voulait conserver (les autres était effacée lorsqu'il passait aux groupes de doublons suivant).

Par exemple, on avait à l'écran grâce à cette Class :

Dupont Martin     [X]
Dupond Martin    [ ]
Dupon Martin      [ ]

Là l'utilisateur fait suivant, ca supprime Dupond et Dupon car non coché, puis on passait à l'autre groupe de doublon :

Poulet Yves    [X]
Poules Yves    [ ]
Poulle Yves     [X]
Poulel Yves     [ ]
Poulai Yves     [ ]


Merci de laisser vos commentaires après l'avoir essayée, et compris son fonctionnement (quoi de plus normal)   ;)

@+
Celiphane

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

10 avril 2005 02:19:03 :

 Sources du même auteur

Source .NET (Dotnet) [.NETV2] CLASSCOM - CLASSE DE COMMUNICATION EN RÉSEAU SIMPLI...
Source avec Zip Source avec une capture COMPARAISON ENTRE 2 CHAINES, RETOURNE UN POURCENTAGE DE RESS...
Source avec Zip CLASS POUR TRANSFERER DES FICHIERS VIA WINSOCK AVEC CONTROLE...
Source avec Zip MOTEUR DE SERVEUR FTP OBJET ET FONCTIONNEL TESTE SOUS FILEZI...
ZONE DE SAISIE DE DATE FORMAT JJ/MM/AAAA, N'UTILISEZ PLUS LE...

 Sources de la même categorie

Source avec Zip COMMUNICATION MODBUS MASTER par sergelapointe
Source avec Zip Source avec une capture DÉPLACEMENT AVEC FLÈCHES DANS UN PAVÉ DE TEXTBOX 9X9 DYNAMIQ... par EhJoe
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLSTARS EN RÉPONSE À JAKNIGHT007 par bigboss9
Source avec Zip Source avec une capture Source .NET (Dotnet) CALENDRIER ANNUEL NORME ISO par Prog1001
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLE STARS par jaknight007

Commentaires et avis

Commentaire de max12 le 10/04/2005 03:28:17 administrateur CS

"Quelques sources juste avant celle-ci, se trouve une source nommée GENERATEUR DE FORMULAIRE. Ce qu'elle contient n'étant pas du tout ce qu'elle annonce"

Tu pourrais me cîter l'adresse que je regardes ça ?
PS : Si vous en connaissez d'autres mauvaises, dîtes-le moi en PV SVP.

A+

Commentaire de celiphane le 10/04/2005 17:14:05

salut max12,

je n'ai pas la prétention de faire de la délation, comme quoi la source que j'ai cité est une hérésie, d'ailleurs, je peux changer mon introduction si tu le souhaites.

La source en question est ici : http://www.vbfrance.com/code.aspx?id=30625

En fait, elle est nommée GENERATEUR DE FORMULAIRES, alors qu'elle aurait plutôt dûe s'appeler OUVRIR PLUSIEURS FOIS LA MEME FEUILLE, car elle montre comment instancier et charger une form.

En l'ouvrant, je m'attendais à voir un générateur de formulaire avec des champs à remplir etc... mais comme ce n'était pas le cas, ça m'a fait penser à poser une source qui justement le fait, c'est à dire celle-ci ;)

@+
Celiphane

Commentaire de max12 le 10/04/2005 19:00:27 administrateur CS

celiphane> C'est correct, je voulais seulement voir car je trouves que malheureusement ça se laisse de plus en plus aller dans les présentations des sources (Mauvais titre, aucune description, etc ...). Et j'avoue que je l'ai déjà fait aussi avant (Je corrige parfois, j'en ai plusieurs). C'est aussi important que la source elle-même car si on veut la trouver dans le moteur de recherche il est évident qu'il faut une bonne présentation. Et ça ralenti considérablement la recherche quand l'on ouvre le ZIP pour savoir ce qu'il y a vraiment dans une source. C'est pour cette raison que je demandes ça, c'est important que le site soit propre pour qu'il garde sa pertinence, pas dans le but d'énerver les membres où de se permettre de faire du tri de ce qu'on aime ou ce qu'on aime pas.

Je donnes ces précisions pour d'éventuelle lecture de la part de plusieurs membres :)

Lorsque vous trouvez une sources comme j'ai décris plus haut, ne vous gênez pas, je ne la supprimerai pas nécéssairement, je demanderai à l'auteur de spécifier un peu plus tous simplement.

A+

PS : Merci pour ta contribution Celiphane ;)

Commentaire de FoxTrot le 11/04/2005 09:17:51

Très efficace (comme dans beaucoup de tes sources) ! 10/10

Cependant, j'ai vu que tu parlais dans ton explication finale d'un code de comparaison de 2 chaines, qui donnait un pourcentage...
Ca serait une bonne source à poster sur VBFRance...

Merci Celiphane.

Commentaire de celiphane le 11/04/2005 22:32:34

FoxTrot>
Je vais d'ici peu poser une source la dessus alors...
Je te tiens au courant ici même.

@+
Celiphane

Commentaire de celiphane le 12/04/2005 00:25:57

Voilà, rendez-vous ici pour la fonction de similitude entre 2 chaines :

http://www.vbfrance.com/code.aspx?ID=30685

De rien !

@+
Celiphane

Commentaire de FoxTrot le 12/04/2005 11:45:48

Merci Céliphane. Cette nouvelle source va simplifier la vie de nombreux programmeurs. :-)

Commentaire de ericsim le 20/04/2005 14:54:49

Simplement super...bravo

Commentaire de gilardh le 28/06/2005 18:16:28

Bravo, j'ai mis 9/10.
J'aurais mis 10/10 si la gestion de la touche TAB était poussé à son maximum.
Je m'explique :
Arrivé en bas de la fenetre, en cliquant sur la touche TAB le focus s'en va au lieu de passer à la ligne suivante cachée si existante (Il faut donc jouer avec le scroll).
Gilardh

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales