begin process at 2012 02 13 20:33:59
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > POO ET UTILISATION DE QUELQUES BOITES DE DIALOGUE (SAVE ET OPEN) ET DES USERCONTROLS

POO ET UTILISATION DE QUELQUES BOITES DE DIALOGUE (SAVE ET OPEN) ET DES USERCONTROLS


 Information sur la source

Note :
Aucune note
Catégorie :Divers Source .NET ( DotNet ) Classé sous :usercontrols, orienté objet, classe, gestion, boites dialogues Niveau :Débutant Date de création :28/05/2009 Date de mise à jour :28/05/2009 15:22:43 Vu / téléchargé :4 466 / 830

Auteur : kilvanox

Ecrire un message privé
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
le "logiciel" n'est pas utile en lui méme mais il permet de comprendre plusieurs notions sur :
*la programmation orienté objet comme :
--l'encapsulation des attributs de la classe
--la création de constructeurs
--l'instanciation d'un objet
--l'utilisation des property de classe

*Utilisation de quelques controls utilisateurs (usercontrols) comme:
--les listbox
--les combobox
et les classiques boutton et textbox

*Utilisation des boites de dialogues comme:
--savefiledialog
--openfiledialog

et illustre la creation de nouveau fichiers (ici c'est des fichiers texte) ainsi que l'ecriture ou la modification dans c'est fichiers ou la lecture on utilisant respéctivement les fameux StreamWriter et StreamReader ainsi que la création des Fénetres MDI

et la gestion des erreurs est faites avec le Try ... Catch
....


 Conclusion

desole pour les commentaires je les ajouterai aperes la fin des examens

Remarque Importante : cette source ne sert pas a creer une application de gestion de quoique se soit mais pour les creer il faut utilisé les bases de données et il y a plusieurs source traitant du sujet

c'est juste un exemple

merci Mayzz pour la remarque

 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

28 mai 2009 12:02:21 :
mise en ligne du zip oops
28 mai 2009 15:18:15 :
ajout de capture
28 mai 2009 15:22:43 :
ajout de capture d'ecran

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) CREATEUR DE GRAPHIQUES EN SECTEURS

 Sources de la même categorie

Source avec Zip TEXTBOX EN NUMÉRIQUE par 320C
Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200
SOUS-TITRES : INCRÉMENTATION DE TOUTES LES CHAÎNES DE CARACT... par ALMIRA
Source avec Zip Source avec une capture EVALUER UN NOMBRE D'OBJETS AVEC UNE BALANCE ET DEUX ÉCHANTIL... par lexsty
Source avec Zip Source avec une capture PETIT LOGICIEL DE DEVIS SANS BD par lololilizozo

 Sources en rapport avec celle ci

Source avec Zip VBA EXEL GESTION DE PERSONEL NOUVEAU CONTRAT DE TRAVAI par oudlarbi
Source avec Zip GESTION DES COURS par okosa
Source .NET (Dotnet) STACKI - PILE par iLgend
Source avec Zip Source .NET (Dotnet) CLASSE DE GESTION DE LA VERSION D'UNE APPLICATION par jsiAngers
Source avec Zip Source avec une capture GESTION D'ERREURS EN FICHIER EXTERNE [MODULE DE CLASSE] par PCPT

Commentaires et avis

Commentaire de PCPT le 28/05/2009 09:28:03 administrateur CS

salut,
"go to zip" pourquoi pas, encore faut-il le joindre :)

Commentaire de kilvanox le 28/05/2009 12:02:48

desole voila le zip merci

Commentaire de Mayzz le 28/05/2009 13:19:36

Bonjour,

Ton code n'est pas mal, c'est un bon tuto pour débutant, cependant je trouve que tu as mal choisi l'exemple de programme.

Pour ce type de programme on utilise en générale une base de données et on évite ainsi de saisir au moins 50% du code qui compose ton application, si ce n'est plus...

Le petit reproche que j'aurais à faire à ta source est que si un nouveau se lançant dans le développement lit ta source, pour créer une application de données il suivra ton exemple qui n'est pas en effet le plus approprié.

Pour le reste, ton code est propre, un peu trop légèrement commenté, mais comme il est assez simple à comprendre cela compense.

Ce que je trouve simpa en revanche, c'est qu'il démontre l'utilisation des contrôles de base et de leurs propriétés, et la création d'une classe "métier".

Commentaire de kilvanox le 28/05/2009 14:08:58

merci pour ton commentaire Mayzz
le programme ne sert pas à stocker ou quelque chose comme ça
mais juste un exemple de creation d'un objet ni + ni -
je vais le precisé dans la description

merci encore

Commentaire de Mayzz le 28/05/2009 14:58:32

Oui, oui biensur, je l'ai compris, d'ailleur ta source est très bien, c'est juste l'exemple qui n'est pas très approprié, il vaut mieux préciser au newbies que cette source est à but démonstartif, et que les applications de données ne se gère pas de cette manière (quoi que, pour une petite application c'est faisable, la preuve !), mais si ils ont l'idée de se lancer dans la création d'un projet de gestion d'une entreprise (comme c'est le cas pour la pluspart des nouveaux qui débute en vb ou qui font leurs études), avec cette méthode c'est perdu d'avance !

Par contre quand je répond au forum, il y a souvant des questions sur les contrôles de base de vb, je pourrais alors les redirigés vers ta source ;)

Commentaire de kilvanox le 28/05/2009 15:23:24

voila c'est fait je l'ai préciser et merci encore

Commentaire de nhervagault le 28/05/2009 20:03:28 administrateur CS

Bonjour,

Je ne vois pas trop l'interet de la source.

1 --> Les boutons ont leur nom par défaut
2 --> En POO on n'utilise pas les modules (mais des classes)
3 --> Utilise les List<T> a la place de l'arraylist
4 --> utilise option strict et option explicit (pour ne pas avoir des conversions implicite cas de l'arraylist)
5 --> factorise le remplissage des champs car dans ce code tu as 5 fois la meme chose
6 --> evite d'utiliser des fonctions specifique vb (val --> int32.parse)

Voici quelques points pour améliorer ton programme.

Commentaire de kilvanox le 28/05/2009 22:19:54

bonsoir
1 --> je vois pas le probleme entre laisser les noms par defaut aux "controls" ou les changer
2 -->je sais qu'il faut utilisé des classes en POO et je les fait (la classe : produit.vb)
3 -->je ne vois pas le probleme entre lutilisation d'un arraylist ou de List<t>, sa marche sans probleme
4 -->je vais voir ce que je peux faire pour sa
5 -->peut tu etre plus explicite
6 -->puisque je programme en VB alors pour quio ne pas utilisé ce que VB propose?

merci pour le commentaire ;)

Commentaire de kilvanox le 28/05/2009 22:35:16

oups j'ai oublié de précisé que l'interet de la source et purement educatif (sorte de tutoriel explicatif et démonstratif)
et je pense que les débutants ne seront pas d'accord avec toi ;)

cordialement,

Commentaire de nhervagault le 28/05/2009 23:33:39 administrateur CS

Mes remarques sont justes pour te faire progresser et avoir une programmation plus propre.


Pour le point 1 btnPrecendent est plus parlant que button1 et le programme devient plus maintenable.

De plus, par exemple le point 3. permet une performance plus intéressante (pas de casting implicite qui fait appele a la
reflexion)
Je sais que pour une petite application,c'est pas trop grave mais si tu veux montrer une maniere de programmer mieux vaut qu'elle soit la plus correcte possible ;-)

Pour le point 5.
#  TextBox1.Text = prod.aRefProd
# TextBox2.Text = prod.aNomProd
# ComboBox1.Text = prod.aCategorie
# TextBox3.Text = prod.aPrixU
# TextBox4.Text = prod.aNomFournisseur

Est present plusieurs fois
--> une fonction
sub fill(prod as Produit)
  TextBox1.Text = prod.aRefProd
TextBox2.Text = prod.aNomProd
ComboBox1.Text = prod.aCategorie
TextBox3.Text = prod.aPrixU
TextBox4.Text = prod.aNomFournisseur
end sub

Et Voila 15 lignes de code de gagnées
et si tu ajoutes un champ exemple TVA tu as que cette fonction à modifier.
à la place de 4 fonctions.

Point6 si un jour tu passes par exemple au c# tu auras moins de probleme en appliquant ces regles.



Commentaire de kilvanox le 28/05/2009 23:44:12

pour le point 5 j'y avait pensé c'est juste que j'avais oublié de l'appliquer je le ferait tres prochainement

merci ;)

Commentaire de Mayzz le 31/05/2009 15:45:21

Je passais par la, et je voulais juste dire que je ne suis pas spécialement d'accord sur les noms de contrôles, nous, nous somment habitués à "cmdNext", chk_send", txtPath", mais pour un débutant cela ne parle pas trop justement eux son habitués à développer avec des TextBox1, ComboBox2, etc...

Oui, ce n'est pas un exemple c'est sur, autant leur montrer que rennommer ses contrôles c'est organiser son travail, mais si l'exemple leurs parrait illisible, alors il ne sert plus à rien, d'ailleurs, dans les exemples MSDN les controles ne sont pas toujours renommés.

Commentaire de PCPT le 31/05/2009 16:55:15 administrateur CS

conseiller un débutant de ne pas nommer ses contrôles parce qu'il s'y retrouve mieux, c'est aussi l'empêcher de comprendre les sources "normalement" codées

qu'on hésite à renommer un bouton en "btnAction, Btn_Action, Cmd_Action", ok. mais plus généralement avoir 50 boutons et les laisser nommés par défaut ne peut que nuire à tout le monde (lecteur averti qui cherche lequel est où, lecteur débutant qui passe encore plus de temps à chercher tout en prenant aussi de mauvaises habitudes, et aussi l'auteur qui reste dans le 2e cas)


le framework et plus généralement dotnet (vb, c#, etc..) donc l'IDE par lui-même ont été fait de manière à accélérer le temps de RéALISATION de code
(reste à prendre le temps de comprendre les subtilités de quoi utiliser au lieu de quoi, même s'il y a toujours plusieurs manières de faire la même chose)

le temps gagné ne doit pas être re-perdu parce qu'on a pas ouvert son projet pendant 2 mois.
on lit par exemple "
sub cmdReadFile_Click(...)
dim reader as io.textreader = io.file.opentext(txtFile.text)"
, on sait tout de suite qu'on va récupérer le contenu d'un 'fichier' dont le 'chemin' est dans une 'zone de texte', ce par l'action 'click' d'un 'bouton'. on n'a pas besoin d'aller vérifier sur le formulaire où est le bouton command45 (nommer suffit ici à ne pas avoir besoin de connaître son emplacement), ni que c'est un chemin ou une chaine (on sait), ni que c'est une zone de texte, ni ou elle est, etc...

on doit pouvoir comprendre à la simple lecture sans même (pour les petits projets) avoir besoin de regarder l'interface


on peut comprendre éventuellement qu'un label NON utilisé par code (ex : label13.text = "machin") ne soit pas nommé, ce n'est qu'une étiquette graphique utilisée qu'en mode design, pour tout contrôle lié à du code il est nécessaire de se forcer à s'organiser (surtout comme le souligne nhervagault quand on est sujet à toucher à plusieurs langages)

on comprend bien sûr que çà ne se fasse pas en un claquement de doigts, mais refuser cet effort ne peut mener qu'à des confusions et, quand on souhaite partager ses sources, qu'à - au final - des échanges inutiles par nature
(cette intervention en haut de la liste évidemment :))

Commentaire de PWM63 le 02/06/2009 11:19:06


1 --> je vois pas le probleme entre laisser les noms par defaut aux "controls" ou les changer

Si tu n'as qu'un seul type de contrôle par formulaire, ça passe à la rigueur.

Le jour où tu te retrouves avec 50 textbox ou 30 combobox ou 10 boutons ou etc..., et que tu devras revenir sur ton code pour corriger 1 bug ou pour optimiser une fonctionnalité, tu remarqueras peut-être le temps que tu vas perdre à savoir qui est qui.

De plus, si tu adresses ta source aux débutants, comment-veux tu qu'ils assimilent le code s'ils ne savent pas de quoi il s'agit ?

Qu'est ce qui est le plus clair ?

Ceci ?
TextBox1
TextBox2
TextBox3
TextBox4
TextBox5
ComboBox1
ComboBox2
ComboBox3
Button1
Button2
Button3

ou celà ?

TextBox_Nom
TextBox_Prénom
TextBox_Adresse
TextBox_CP
TextBox_Ville
ComboBox_Niveau
ComboBox_ListeVerte
ComboBox_ListeRouge
Button_OK
Button_Appliquer
Button_Annuler

Nommer explicitement ses contrôles est une évidence.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Gestion des erreurs en java [ par szoubir91 ] Bonjour, Je développe une application J2EE. J'ai un problème au niveau de ma gestion d'erreurs. J'ai deux classes. Dans la premiere (classe A) j'ai gestion agence imobliére [ par kimolatino ] salut tous le monde j'ai besoin d'un petit pg de gestion d'une agence immobilier , on trouve la classe client et classe apartement . les appartements les listes déroulantes(vb6,access) [ par validier ] slt tt le monde; je travailles dans une application dans (vb6,bdd access). j'ai un problème dans cette application,lequel. j'ai trois tables est chaqu vb2008 gestion de congés [ par corentin44 ] bonjour je suis étudiant et je souhaite créer un programme de gestion de congés.Cependant je débute en vb et je ne sais pas du tout comment commencer VB Gestion des stocks besoin d'aide [ par mpeyrottes ] Bonjour, Je poste ici à tout hasard, je suis totalement bloquée par rapport à un dossier excel sur la gestion des stocks en VBA. La gestion des sto gestion de stock [ par gossedecousins ] Bonjour à tous Voilà,je doit créer un logiciel de stock pour une entreprise d'électricité.Concrétement, dans ce logiciel, je dois faire apparaitre l données EXIF [ par gh29 ] bonjour, ma demande va peut être paraitre simple mais voila mon problème. je cherche à extraire des données exif d'une photo et les mettre dans un cla Gestion des emplois du temps [ par sanfoura99 ] Bonsoir, Je cherche à élaborer un programme capable de générer les emplois du temps d'un établissement scolaire. Serais-ce une programmation par cont gestion des boutons de commande [ par glasgow1705 ] bonjour a tous, j'ai une variable X qui a la valeur 0 et un bouton de commande. Je voudrais que cette variable prenne la valeur 1, tant que je laisse


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 1,061 sec (4)

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