COMPTE_BANCAIRE.NET

Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 - 13 déc. 2009 à 19:53
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 - 5 déc. 2011 à 12:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50966-compte-bancaire-net

Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
5 déc. 2011 à 12:50
oui j'ai bien bossé avec pour mon taff, dommage elle n'est plus maintenue, et le wiki à disparu avec tous les exemples de codes...pfffiou, donc je me sert de cette source pour y placer toutes les options possibles de zedgraph, sauf une que j'ai pas eu le temps de regarder, le multipane/masterpane. Kenavo Sieur
toutphp Messages postés 107 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 5 mai 2010
5 déc. 2011 à 08:55
Super bien ton code :)
Je vois que tu maitrises mieux Zedgrpah que moi ^^
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
5 déc. 2011 à 08:05
OUPS ! Grosse bêtise de ma part ! elle provoque un jolie bug au mois de décembre LOL

' récupére une date pour comparaison de la balance du compte et des courbes pointées/non pointées (soit : maintenant + fin du mois)
Dim maintenant As Date = CDate(Date.Now.Year & "/" & Date.Now.Month + 1 & "/" & "1")

Il faut bien sur ne pas faire ça sinon cela fait 13 cela plante l'appli autant que 13 porte malheur ;) Il faut faire

Dim maintenant As Date = CDate(Date.Now.Year & "/" & Date.Now.Month & "/" & "1")
Puis dans le form load : maintenant = maintenant.addmonth(1) ce qui est vous en conviendrez plus logique ^^ VOili voilou bientôt la mise à jour avec quelque modif sur zedgraph pour le fun. @ ++
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
29 sept. 2011 à 19:40
Et voila mise à jour en ligne ! depuis le temps.... ^^ kenavo les programmeurs et encore merci pour votre aide. Adn
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
16 sept. 2011 à 18:56
bha tu es pas sur 01.net lol il faut compiler la source ^^ Sinon grosse mise à jour en approche, je me suis remis sur cette source pour mon usage perso et je vais donc vous en faire profiter ^^ see you soon (:
Actares1456 Messages postés 41 Date d'inscription samedi 13 août 2011 Statut Membre Dernière intervention 21 mai 2012
14 août 2011 à 18:11
ça à l'air style mais j'ai aucunne idée de ce que je dois mettre en ".exe". Si tu pourrais m'aider ça serait cool! Merci
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
23 juin 2010 à 12:45
Salut US_30
En effet j'ai ce reflexe "d'automaticien" d'écrire les propriétés dans le code, il faut que je la perde, mais en même temps cela me sert à réutiliser facilement l'apparence des controls d'une appli à l'autre.
Pour la LV j'ai volontairement caché les barres de défilement car elle me prenne de la place (J'ai pas pensé à ceux qui ont une souris sans molette ! pas terrible je te l'accorde).
Pour le redimensionnement, j'ai opté pour une forme fixe car pas capable de tout bien gerer (position des sous menus) si redimensionnement. Je reste encore un débutant ^^
Merci pour ta lecture. @++
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
23 juin 2010 à 12:10
Bonjour,

JE trouve que le concept de départ plaisant "de façon la plus simple possible". Et c'est justement le plus dur à faire -:);

J'ai regardé ta source en tant qu'utilisateur, j'ai bien plusieurs petites choses à dire, mais rien de bien important sur le fond, plus sur la forme. Bien que le tableau de gestion soit simple et clair, l'impossibilité de le redimensionner me gêne. De plus, la listViews utilisé est plus grande que la "Form F_principal" ce qui empêche les barres de défilement de s'afficher... Bref, voulant remettre cette petite chose en forme, et tripotant, comme à mon habitude les propriétés des objets, je suis aperçu (en regardant en diagonale) que tu t'amuses à coder leurs propriétés dans le code... Certes c'est une façon possible d'envisager les choses, mais alourdi considérablement le codage. Par exemple, dans la ListViews, pourquoi ne pas rentrer directement les noms des colonnes dans sa propriété Colunms ? Idem pour les propriétés de Windows.Form ? etc... Voilà c'est qu'une simple remarque, mais c'est plutôt ainsi que j'aurai procédé, cela permet, en autre, d'essayer plusieurs configurations pour garder que celle qui semble la plus adaptée.

Amicalement,
Us.
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
31 janv. 2010 à 18:59
voici la version "stable" lol, je recherche des testeurs pour vérifier les bugs éventuels, bien sûr toutes les remarques sur le code sont les bien venus. Merci à ceux qui m'ont aidés.
@dn
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
27 janv. 2010 à 08:07
Salut claudetom.
1-Placer un label sur la derniére ligne de la LV ? pourquoi pas.
Pour le nom des labels je dois avouer que n'étant pas comptable pour un sous (^^) je m'y retrouve trés bien, le solde pointé étant celui en actuelement en banque et le solde réél étant celui qui sera en banque une fois toutes les opérations passées (ou pointée).
Donc cela ne me choque pas d'avoir un solde de -xxx€. Je n'ai jamais creusé les notions d'écritures ou autre. Si tu trouve cela trop perturbant explique moi comment tu le verrais toi, pour mixer les deux.

2- les petites form sous les boutons en usercontrol :O Alors là souvenez vous que je débute hein ^^
3-Chez moi aussi c'est gris, enfin c'est la couleur "control" du windoze client, mais je vais tester une couleur Web.
4-Chez moi non plus la form ne peut pas être déplacé, je ne vois pas cela comme un probléme, mais si tu en parles c'est que s'en est un ^^ je corrige (enfin si je trouve ^^)
@+++

Reste à faire :
- Les try/catch/finally sur les imports/exports
- Bug sur les texte en CSV si char spéciaux (cf exemple 111.GCB)
- Bug si le GCB est glissé sur l'exe !
- Trouver un moyen automatique pour attribuer l'ext adn à ce soft sans faire d'install (USBKEY POWWA!)
- Couleur et déplacement de la form principal (+ labels totaux)
cs_claudetom Messages postés 115 Date d'inscription jeudi 11 octobre 2001 Statut Membre Dernière intervention 15 octobre 2012
26 janv. 2010 à 22:45
Ça devient très bien.
Mais je verrais bien quand même en bas de la grille, un label pour
les totaux Crédit/Débit et en dessous les mêmes qui se trouvent au-dessus de la grille.
Car au premier coup d'oeil, ont ne sait pas réellement les totaux des futurs débits/Crédits
Voir même dans ce cas revoir les libellés des labels,
Car si tu pointes que les débits par exemple ce n'est plus un solde mais plutôt Solde débiteur (une écriture).
2) les différentes options sur les boutons en Usercontrol
3) le fond des options en blanc ou autre car gris clair (chez moi) c'est bof.
4) form qui ne peut être déplacé (pas pour moi) ;)
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
26 janv. 2010 à 19:16
Bien je pense que tu peux commencer à Dl la source PCPT ;-)
Vu de ta fenétre, j'ai dû encore faire des grosses bétises, mais le code à l'air de bien tourner, je vais donc le distribuer en béta-test sur mon site. (c'est de loin la meilleur façon de tester un soft ^^)
amicalement @dn et à te lire (aie non pas tapper ^^)
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
26 janv. 2010 à 14:13
Oui je comprends, je ne suis pas cohérent, tantôt comme si, tantôt comme ça.
Bon je vais essayer d'harmoniser un peu.
PS : Sympa la sub AddItems ;)
Sinon il me reste à trouver et à faire:
- comment attribuer l'extension GCB à mon EXE
- Faire un import d'un Csv exporté
- Bug si le GCB est glissé sur l'exe !
- Petite stats sur graphique (NB de ligne, Nb de jours cumulée...)

Et je pense que le soft sera pas trop mal ficelé. kenavo. Je post la mise a jour
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 janv. 2010 à 13:14
pour le plaisir... mais c'est vraiment pas utile :

pas d'initialisation multiple d'une List? OK, alors fais-toi ta procédure...

Private Sub AddItems(ByRef lsList As List(Of String), ByVal ParamArray saData() As String)
For Each s As String In saData
lsList.Add(s)
Next
End Sub
Private Sub AddItems(ByRef lcList As List(Of Color), ByVal ParamArray caData() As System.Drawing.Color)
For Each c As Color In caData
lcList.Add(c)
Next
End Sub

ton NEW devient :
AddItems(types, "CB", "CHQ", "TPV", "PRL", "VIR")
'pareil pour budgets
AddItems(couleur, Color.Black, Color.Gray, Color.Blue, Color.DarkBlue)

toujours possible de faire qqchose ;)

mais je le répète, pour si peu ce n'est pas vraiment utile. plusieurs lignes de code ne gêneront en rien la lisibilité

"mais euh quesqu'ils ont mes noms"
un exemple parmi (tant) d'autres :
tu mets un S à lignes, il y en a plusieurs
tu mets un S à types, il y en a plusieurs
il y a aussi plusieurs couleur, pourquoi pas de S ?

aller d'autres exemples
français ou anglais, choix personnel, pas de souci! par contre il faut être concordant dans les choix de nommage
ceci tant pour les variables que pour les contrôles

si tes forms commencent par un F_ (ahah tu as corrigé "principal" j'ai vu :p, dommage tu n'as pas renommé le LOAD), pourquoi tes (ta) classe ne commence pas par C_

pareil pour la casse, pourquoi certaines procédures en minuscule (ouvrir, editer) et d'autres non (MiseAJourSolde, MiseAJour)
pareil pour les boutons (bp_ ou Bp_)

pourquoi du français avec et sans accent (editer, échéancier)

pourquoi du francais mais aussi de l'anglais (copie, ajouter, help, save)

c'est tout çà qui doit être homogène au possible. lire un code qu'on a pas "pensé nous même" n'est pas facile. on doit rapidement réussir à suivre la logique et savoir : tiens je veux voir où il sauve, je dois chercher "sauve" (ou save, Save, sauver, etc...)

++ :p
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
26 janv. 2010 à 12:28
ben si car l'user peut en ajouter ou en supprimer via le menu config du soft.
je post une mise à jour dans la journée. Avec try/cath/finalise. Les couleurs sont OK. Choix export en CSV ou en copie de sécu, etc...
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 janv. 2010 à 11:03
en même temps pour ces 2 propriétés, tu n'as pas besoin de List Of..., si?
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
26 janv. 2010 à 08:44
avec Visual Basic 10, voilà ce qu'il suffira d'écrire pour obtenir la même chose :

Dim monTableau As New List(Of Integer) From {2, 3, 4, 5}
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
26 janv. 2010 à 07:40
pour la sub new je suis d'accord avec toi , c'est moche, trés moche.
J'ai pas trouvé le moyen d'initialiser une list(of) dés la déclaration -_-'

Le finalize, oups connait pas celui là je travail dessus.

"je le ferai surement quand les noms seront mieux choisis ^^
" mais euh quesqu'ils ont mes noms :p

Bonne journée.++
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
25 janv. 2010 à 22:11
umm, j'aime pas ta sub NEW (cls_compte)
pourquoi tout à la chaine? moins de ligne n'est pas toujours synonyme de code optimisé
pas de with?
ou pourquoi pas dès la déclaration come j'avais indiqué?

pour ton open et save, y'a pas de finalize
si tu as une erreur autre qu'empêchant la création de la (dé)serialization, elle ne sera pas fermée
(enfin si mais par le garbage collector.... un jour... peut-être)

sinon je penserai mieux quand je verrai le résultat, je n'ai fait que lire là
je le ferai surement quand les noms seront mieux choisis ^^

en attendant tu t'attèles à corriger, à améliorer, et rien que çà, c'est très encourageant !
continue sur cette voie ;)
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
25 janv. 2010 à 20:39
Voila les mises à jours :
25 janvier 2010 20:36:54 :
-remplacer les &= par un stringbuilder
-remplacer les tableaux budget et type par des list of string
-Correction d'un bug si zone crédit ou débit vierge ( pas 0) dans F_operation.
-rajout de with dans le code
-vérifier le bon enregistrement du fichier sérialisé
NOK-Bug si ouverture fichier conrompu et tentative d'en creer un nouveau avec son nom
NOK-trouver un moyen automatique pour attribuer l'ext adn à ce soft !
NOK-Choix des couleurs des lignes

reste encore du taff, mais cela avance ! qu'en penses tu ?
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 janv. 2010 à 20:07
crash win...dows, çà n'appellera pas ton SAVE(x)
donc çà ne change rien, c'est pas le problème que je remontais

y'a rien à flipper, c'est juste que ici tu fournies une appli complète, tu te dois donc de penser à un "utilisateur", et non à un mi-utilisateur mi-développeur, qui LUI ne s'inquiéterait probablement pas

erreur possible => on informe puis on agit
++
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 janv. 2010 à 20:02
qu'est-ce qui te dis que le dossier de sauvegarde n'est pas verrouillé

ou que le fichier n'est pas sur une clé présente à l'ouverture mais retirée avant l'appel à save

...par exemple

(mais non on ne poste pas en même temps voyons ^^)
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
24 janv. 2010 à 19:55
"ah bon, une erreur fatale sans test, ouai il préfèrera ne pas savoir qu'il y a eu un echec de sauvegarde + voir ton appli crasher, çà fait très pro :D
(pis pour le principe du OPEN avec TRY, c'est bien parce que tu sauves sans lui dire.rappel : conception? ;)."
Tu me flip là, quesqu'y a vas pas -_-"
j'ai fait ce codage justement pour qu'a chaque nouvelle manip le compte soit sauvé, commme ça si un crasch winbouze, ben le compte (lui) reste OK, j'ai tord ?
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
24 janv. 2010 à 19:51
argggg pourquoi tu post toujours en même temps que moi MDR ^^
euh, je suis bien d'accord avec toi mais comment veux tu que la sauvegarde plante puisque générée par l'exe ? Sur ce coup, tu vas trop vite pour moi M. le prof, j'ai peur de mon code à force LOL.
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
24 janv. 2010 à 19:45
-Cls_compte
*si tu ne fais aucune vérification dans une propriété, un membre public suffit => OK
*les tableaux budget et types devrait être initialisés par la classe => ok
*save : le chemin du fichier devrait être une propriété, puisque tu ne peux pas faire de saveAs. donc défini à la création ou à l'ouverture => pas fait
*aucune vérification d'echec de chargement de serialization => pas fait
*des public inutiles => ok
*trie : pas besoin d'une classe, adressof sur un private suffit
=> ok
*ToCsv : et le stringbuilder? => en cours
*manque de with => a pas vu où -_-"
voila pour ce soir ! dodo now ;-)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 janv. 2010 à 19:42
çà lui fera une belle jambe de le savoir?
ah bon, une erreur fatale sans test, ouai il préfèrera ne pas savoir qu'il y a eu un echec de sauvegarde + voir ton appli crasher, çà fait très pro :D

(pis pour le principe du OPEN avec TRY, c'est bien parce que tu sauves sans lui dire.
rappel : conception? ;). sur le principe (ou en généralisant), on sauve quand l'utilisateur le demande, on ouvre quand l'utilisateur le demande. c'est bien pour çà que je parlais de chemin en propriété)

"Et mais il faut tout de même qu'il l'enregistre les modifs de budget et de type"
çà j'ai pas compris. tu parles toujours des tableaux? je ne crois pas. si tu penses aux propriétés des enregistrements (chaque ligne), çà ne rentre pas en compte avec ma remarque. ni le même type, ni la même classe :p

++
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
24 janv. 2010 à 17:48
Je reviens sur les déclarations de la classe, dans la mesure ou je ne test rien sur les variables, elles peuvent donc être toutes en public et sans get/set. j'ai testé avec le _mdp et cela marche ! je le fait avec les autres pour voir (sauf biensûr qu'un ancien fichier sérialisé n'est plus lisible ^^)
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
24 janv. 2010 à 17:02
Aie :!: tu me fou le doute là !
Mon save à toujours fonctionné, mais tu sais surrement comment le faire planter ^^. Seulement voila que faire dans le try/catch ? informer ? (ça lui fera une belle jambe à l'user de le savoir ^^) Il doit y avoir une façon de tester le bon enregistrement sans refaire une lecture derriére. Je me penche dessus plus tard. Je vais déja corriger les Arrays car de toute façon il m'ennuye pour les add/remoteAt.

"les tableaux budget et types devrait être initialisés par la classe"
beh oui, comme il n'y a (avait?) pas d'accès pour l'utilisateur, pas besoin de l'initialiser par la form. peut-être même pas une propriété (et donc pas de serialization)"
Et mais il faut tout de même qu'il l'enregistre les modifs de budget et de type :O


"si tu ne fais aucune vérification dans une propriété, un membre public suffit"
Là j'apprend un truc (YES !) je pensais les get/set obligatoire. JE test cela dessuite. Merci pour ton aide.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 janv. 2010 à 21:06
du prof... ^^

"si tu ne fais aucune vérification dans une propriété, un membre public suffit"
---------------
# Private _commentaire As String
# Public Property L_commentaire() As String
# Get
# Return _commentaire
# End Get
# Set(ByVal value As String)
# _commentaire = value
# End Set
# End Property
---------------

tu n'interviens pas sur la valeur. donc pas spécialement besoin de faire une propriété :
---------------
PUBLIC L_commentaire As String
---------------

"les tableaux budget et types devrait être initialisés par la classe"
beh oui, comme il n'y a (avait?) pas d'accès pour l'utilisateur, pas besoin de l'initialiser par la form. peut-être même pas une propriété (et donc pas de serialization), mais au pire :
---------------
'(chez moi, remettre le nom qui convient)
Public Types() As String = {"CB", "CHQ", "TPV", "PRL", "VIR"}
Public Budgets() As String = {"divers", "salaire", "voiture", "habitat", "alimentaire", "matériel"}
---------------

"aucune vérification d'echec de chargement de serialization"
"-> ben si il me dis si le fichier est ilisible, c'est pas bon ?"
ah bon il te le dis? lors de la serialization, dans le save donc. il est où le try catch? ^^

"les LIST à utiliser au lieu de ARRAY"
"-> les tableaux sont plus rapides il parait ?"
un tableau est presque JUSTE un espace mémoire
plus rapide qu'une list, théoriquement oui. sauf que ton usage est un redim preserve en boucle.
c'est pas le tableau ou la list qui est rapide, c'est sa consommation et son temps d'accès. et c'est ton code qui sera rapide ou non. dans cette utilisation, le tableau ne convient pas ; on peut faire un redim mais il n'est pas fait pour subir des preserve en boucle (vestige de VB6 d'ailleurs). utilise une list of double

++ ;)
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
23 janv. 2010 à 13:44
Merci, venant du prof cela me touche.
Peux tu stp develloper ces points car je ne voie pas trop ce que tu veux dire :
-si tu ne fais aucune vérification dans une propriété, un membre public suffit.
-les tableaux budget et types devrait être initialisés par la classe

aucune vérification d'echec de chargement de serialization, ben si il me dis si le fichier est ilisible, c'est pas bon ?

les LIST à utiliser au lieu de ARRAY : les tableaux sont plus rapides il parait ?

ToCsv : et le stringbuilder? moins couteux que toutes ces concaténations : je regarde cela de plus pret.

mais tout ceci va venir au fur et à mesure : avec l'aide de ce forum et des gens comme toi je n'en doute pas ^^
bon week end M.
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 janv. 2010 à 11:40
salut,

pas DL, je regarde le code sur http://files.codes-sources.com, en diagonale :

Classes.vb
*pas sûr que Imports System.Runtime.Serialization.Formatters.Binary soit utile (je ne l'avais pas utilisé...)

-Cls_compte
*si tu ne fais aucune vérification dans une propriété, un membre public suffit
*les tableaux budget et types devrait être initialisés par la classe
*save : le chemin du fichier devrait être une propriété, puisque tu ne peux pas faire de saveAs. donc défini à la création ou à l'ouverture
*aucune vérification d'echec de chargement de serialization
*trie : pas besoin d'une classe, adressof sur un private suffit

-ClS_ligne
*si tu ne fais aucune vérification dans une propriété, un membre public suffit
*ToCsv : et le stringbuilder? moins couteux que toutes ces concaténations

-ClS_trie_ligne
*pas besoin

reste
des public inutiles
manque de with
des noms de variables pas toujours au top
des noms de form... bof
les LIST à utiliser au lieu de ARRAY

mais tout ceci va venir au fur et à mesure

je n'avais pas vu le reste avant ton topic et n'ai pas DL, mais par rapport au "mini projet" (en N versions ^^), tu as su tenir compte de pas mal de conseils, chercher par toi-même, réellement remettre certaines "évidences" en questions

le projet serait encore à travailler mais (sans savoir ce que donne le résultat) tu t'es réellement investi et à la lecture, la qualité du code s'en ressent

bravo, continue ;)
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
22 janv. 2010 à 18:01
Et voila reste un bouton de dispo, pour la config du compte.
J'éspére que l'affichage du graphique et du menu de choix de filtre listview te plaira.
++

PS le fichier de l'ancienne version marche avec la nouvelle, va comprendre lol
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
22 janv. 2010 à 07:36
En effet, la sérialisation modifie le lfichier, il suffit par exemple d'écrire les même classe dans des fichiers séparés, pour que l'ouverture devienne impossible !
Le graphique sera prêt ce soir.
Pour l'XML, les données n'auraient pas été trop "en clair" ? Là au moins elles sont un peu brouillées en binaire ;)
@++
cs_claudetom Messages postés 115 Date d'inscription jeudi 11 octobre 2001 Statut Membre Dernière intervention 15 octobre 2012
21 janv. 2010 à 21:07
Effectivement c'est mieux ;)
il manque encore le graphe ;)
ce qui est dommage par contre c'est de ne plus pouvoir ouvrir d'anciens fichiers à cause surtout de la sérialisation.
passer par une feuille Xml aurait évité cela.
Des exemples sur l'utilisation de données au format XML (chargement et sauvegarde) tu en trouve plein.
Car dans ton cas tu as juste les données de ta listview à charger ou à sauver.
bonne continuation.
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
20 janv. 2010 à 20:09
Mise à jour !
@ claudedetom => I hope you enjoye ;-)
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
8 janv. 2010 à 18:12
NEWS : Grosse mise à jour en vu, grace à l'aide précieuse de PCPT.
Au programme (lol) : gestion du code via des classes, la listview devient un simple affichage.
Bon pas encore au point mais j'y bosse dés que j'ai 5 min ;)
++
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
21 déc. 2009 à 20:40
je me lance dans une meilleure écriture du code !
mais voila binssss :
http://www.vbfrance.com/forum/sujet-REDIM-TABLEAU-DIMENSION-ICI_1388689.aspx
D'avance merci pour vos aides.
@dn
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
17 déc. 2009 à 08:02
Donc en clair mon erreur (et celle du site zedgraph du coup :p)
est de recréér l'object à appel de la fonction, il ne faut changer que le mouvements.text. Voila tout s'éclaire, enfin un peu. Merci pour l'info
cs_claudetom Messages postés 115 Date d'inscription jeudi 11 octobre 2001 Statut Membre Dernière intervention 15 octobre 2012
16 déc. 2009 à 22:24
Sinon si cela te dérange de le détruire fait cela à la place

' affiche une zone de texte avec le resultat du compte sur le graphique (bug, ne rafrachi pas si changement !!!!!!)
'If Not Mouvements Is Nothing Then
' If myPane.GraphObjList.Contains(Mouvements) Then
' myPane.GraphObjList.Remove(Mouvements)
' End If
' Mouvements = Nothing
'End If
Dim strD As String "Débit " & debit.ToString("c") & vbCrLf Dim strC As String "Crédit " & credit.ToString("c") & vbCrLf Dim strT As String "Résultat " & (credit - (debit * -1)).ToString("c") & vbCrLf

If credit = 0 Then
strC = ""
End If
If debit = 0 Then
strD = ""
End If

If Mouvements Is Nothing Then
Mouvements = New TextObj(strC & strD & strT, 0.1F, 0.1F, CoordType.PaneFraction)
Mouvements.Location.AlignH = AlignH.Left
Mouvements.Location.AlignV = AlignV.Bottom
Mouvements.FontSpec.Border.IsVisible = True
Mouvements.FontSpec.StringAlignment = StringAlignment.Center
Else
Mouvements.Text = strC & strD & strT
End If

If (credit - (debit * -1)) > 0 Then
Mouvements.FontSpec.Fill = New Fill(Color.White, Color.LightGreen, 45.0F)
Else
Mouvements.FontSpec.Fill = New Fill(Color.White, Color.LightPink, 45.0F)
End If

If Not myPane.GraphObjList.Contains(Mouvements) Then myPane.GraphObjList.Add(Mouvements)
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
16 déc. 2009 à 08:18
Merci beaucoup d'avoir pris le temps de l'analyse. Je suis flaté.
Pour les images en ressources, je le fait souvent, mais là je voulais pouvoir chager les images des BP facilement (juste garder le même nom) cela fait comme un skin de form à deux balles ^^
Pour la structure du code tu as parfaitement raison, on vois bien que ce se sont des bouts rajouté à des bouts. Je pense sérieusement tout reprendre depuis le début, en virant surtout l'importance que prend la listview dans la gestion des nouvelles lignes et autres.
Pour finir sur l'affichage de la zone de text de Zedgraph, je vais dés ce soir regarder la modif que tu proposes pour essayer de comprendre ce qui merdouille, car je ne vois pas pourquoi il faut détruire l'objet à chaque mise à jours de mypane. Merci pour ta lecture. @dn
cs_claudetom Messages postés 115 Date d'inscription jeudi 11 octobre 2001 Statut Membre Dernière intervention 15 octobre 2012
15 déc. 2009 à 21:32
Bon ton code est bien mais peut-être mieux structuré
Les images en ressources.
et pour ton label sur Zgraph, si tu peux le raffraichir !

Dans ton case débit, Crédit et le else (qui aurait pus être simplié par appel d'une fonction,
Tu colle ta variables Débit et l'autre crédit.
credit += C_montant(index)
debit += D_montant(index)

Pour le raffraichissement :
Morceau du code à remplacer (text devient Mouvements et déclaré en private dans ta Class

' changer le label1 pour afficher les valeurs (qui bug sous zg1 et du coup obligé de virer la zone de texte du graphique) dommage ! Label1.Text "Crédit " & credit.ToString & " €, " & _
"Débit = " & debit.ToString & " €, " & _
"Résultat = " & (credit - (debit * -1)).ToString & " €"

' affiche une zone de texte avec le resultat du compte sur le graphique (bug, ne rafrachi pas si changement !!!!!!)
If Not Mouvements Is Nothing Then
If myPane.GraphObjList.Contains(Mouvements) Then
myPane.GraphObjList.Remove(Mouvements)
End If
Mouvements = Nothing
End If Mouvements New TextObj("Crédit " & credit.ToString & " € " & vbCrLf & _
"Débit = " & debit.ToString & " € " & vbCrLf & _
"Résultat = " & (credit - (debit * -1)).ToString & " € " & vbCrLf, _
0.1F, 0.1F, CoordType.PaneFraction)
Mouvements.Location.AlignH = AlignH.Center
Mouvements.Location.AlignV = AlignV.Bottom
Mouvements.FontSpec.Border.IsVisible = True
If (credit - (debit * -1)) > 0 Then
Mouvements.FontSpec.Fill = New Fill(Color.White, Color.LightGreen, 45.0F)
Else
Mouvements.FontSpec.Fill = New Fill(Color.White, Color.LightPink, 45.0F)
End If

Mouvements.FontSpec.StringAlignment = StringAlignment.Center
myPane.GraphObjList.Add(Mouvements)
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
13 déc. 2009 à 19:53
ouhou : Vu / téléchargé :486 / 103
et pas un commentaire....pffffffff

Questions pour les "pros"
j'ai créé une classe compte qui regroupe toutes les infos :
ligne de compte(tableau(,)), budget(tableau simple),type(tableau simple) et mot de passe(string).
Aurait-il était plus éfficasse de créer une classe ligne de compte (qui controle les infos saisi par exemple) et de créer une nouvelle instance à chaque nouvelle ligne saisie et de l'ajouter à la classe mon_compte, plutot que de tout déclarer directement dans la classe mon_compte pricipal ?
A vous lire.
PS merci à Mayzz qui m'a bien aidé pour la sérialization de cette classe ;) j'ai failli t'oublier ! rhhoooo spa bien. Merci donc Mayzz.
Rejoignez-nous