develomagaly
Messages postés46Date d'inscriptionmercredi 5 octobre 2005StatutMembreDernière intervention 3 mai 2006
-
20 janv. 2006 à 09:56
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 2008
-
23 janv. 2006 à 16:38
bonjour
Je vous explique en quelques mots mon problème .
J'ai une table sous MySql qui contient des informations sur les AMORTISSEMENT .
Je renseigne cette table au début car les informations qui s'y trouve sont reprises à plusieurs endroits . Donc j'ai fait une unité un_ent_amo ou je voudrais crée une classe avec mes champs a l'interieur
type_amo
mont_amo
amo_ded
amo_exe
etc ...
Seulement je peux avoir plusieurs type d'amortisemment LINEAIRE , MINIMUN, DEGRESSIF TOTAL et DEGRESSIF PARTIEL
Donc je voualis créer une collection de classe car je peux avois les élement en dessous a stocker
LINEAIRE MINIMUM DEGRESSIF T etc...
type amortissement 1 2 3
montant ammortissement 10 000 15 000 12 500
amort. non deductible 6 000 4 000 3 250
etc ...
Et plus tard j'utilise les données de cette facon :
J'ai un combobox avec une liste de numero ( 1,2,3, etc .. ) et ses numéro coorespondent au type amortissement . Quand l'utilisateur choisit l'amortissement 1 , toutes les données correspondant a type d'amortissement = 1 c'est a dire LINEAIRE sont affiché.
Je me suis dis que je pouvais utiliser une collection de classe pour gagner du temps pour ne pas à retourner dans la BDD à chaque fois mais je sais pas trop comment on utilise les COLLECTION DE CLASSE alors si quelqu'un pouvait m'aiguiller .
Ou alors si vous avez une autre proposition pour simple et plus rapide à me proposer n'esiter pas
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 23 janv. 2006 à 16:38
Ah, on dirait que l'intéressé est revenu ... oui mais il n'a lu que la première réponse !
Donc, develomagaly, ce que je disais est juste (que les temps d'acces à une table d'une BDD sont faibles) mais la réponse de Delphiprog mérite qu'on en tire des leçons. Je ne sais pas trop ce que tu essayes de faire (je ne suis pas le seul d'ailleurs) alors je ne saurais me résoudre autrement qu'a te conseiller d'essayer ce que te dis Delpphiprog et à tester par toi même.
Delphiprog : il y à un moment que je fais la différence entre "classe" et "instance de classe". Mais tout le monde ne la fait pas. Et justement, dans la question de develomagaly, je me suis dit que c'étais son cas. J'ai donc interprété "Collection de classe" comme "Collection d'objets" mais apparament, ce n'étais pas encore ça.
"une classe, une responsabilité" : je suis entierement d'accord, et, meme si je fais l'effort d'y penser, il y a des fois où ça dérape et où je mets plusieurs resposabitités à une classe. Après, il faut reprendre le code et là, c'est galère.
C'est pas spécialement évident de trouver les responsabilités que l'on veut assigner à une classe.
++
Si tu ne te plantes pas ......
tu ne pousseras jamais
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 20 janv. 2006 à 11:20
Je pense que si tu utilise une BDD, il n'est pas utile d'essayer de stocker ce qu'elle contient pour après t'en servir.
Les méthodes des BDD sont en effet, très efficaces, et de plus, tu consomeras moins de mémoire que si tu t'amuse à stoker tout cela dans un TCollection ou autres.
Par contre, je ne vois pas de quoi tu parles quand tu dfis "Collection de classe". Enfin, si, je vois quelque chose mais qui n'a rien a voir avec ce que tu essaye de faire.
Si, par contre, tu as un problème avec les requettes SQL (c'est peut être pour cela que tu voudrais y stocker toi meme dans une collection), tu peux aller voir ici: http://sgbd.developpez.com/cours/
++
Si tu ne te plantes pas ......
tu ne pousseras jamais
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 21 janv. 2006 à 11:30
Le terme n'est peut-être pas bien choisi. Je pense que tu veux parler de hiérarchie de classes et non pas de collection de classes. Mais la difficulté n'est pas là.
Que tu conserves les données des emprunts dans une base de données est tout à fait concevable. C'est un choix qui n'est pas discutable.
Si j'ai bien compris ton intention, et dis moi si je me trompe, tu souhaiterais réaliser des simulations d'emprunts simplement en faisant varier quelques paramètres comme le type d'amortissement ou d'autres non cités dans ton exposé du problème.
Je te propose la démarche suivante : pour chaque type d'emprunt, recense les caractéristiques qu'il doit posséder et les actions qu'on est censés faire dessus.
Pour ne pas perdre de temps, décrit chaque caractéristique pour indiquer ce que tu veux y trouver comme contenu avec, éventuellement, les limites de valeurs.
Exemple de caractéristique :
durée : exprimée en mois, peut varier de 1 à 120. Obligatoire.
Si tu as déjà constitué ta base de données, ce travail doit déjà, plus ou moins, avoir été fait
De même pour les actions, décrit ce qu'elles sont censées faire.
Exemple :
Calculer échéance N : calcule le montant de la nième échéance (capital + amortissement)
Toi tu sais ce que tu veux, pas nous !
N'essaie surtout pas de raisonner en termes d'objets, de classes ou quoi que ce soit qui ne pourrait que bloquer ton esprit. Nous verrons cela plus tard.
Une fois ces listes établies, dépose nous le fruit de ton travail. Je continuerai à t'aider.
A bientôt.
<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 21 janv. 2006 à 20:50
Ah d'accord, j'avais percuté autrement. Pour moi, dans ce contexte, "collection de classe" correspondait plutôt à "TCollection".
Ma réponse est donc du HS pur.
Delphiprog > On voit tout de suite où est ton domaine, je veux dire le genre d'aaplications que tu concois. Ou alors je suis encore HS
Sinon, tout ce que tu dis, c'est la BDD qui doit faire ces calculs ou Delphi ? Je veux dire, une requette SQL ou du code dans Delphi ?
Si tu ne te plantes pas ......
tu ne pousseras jamais
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 22 janv. 2006 à 10:08
Une collection ne peut contenit que des objets concrets. Or une classe, par définition, est un concept abstrait (c'est presque un pléonasme que de dire cela ). Ce sont les instances de classes qui sont des objets. Bien que, par simplification du langage, on emploie parfois l'un pour l'autre. Tout est question de contexte.
Attention de ne pas faire l'amalgame avec un composant comme TClassList qui permet de maintenir une liste de références de classes.
>>florenth : pour répondre à ta question : il me semble évident que le rôle premier d'une BDD est de stocker de l'information. Une BDD n'a pas été conçue à d'autres fins même si elle offre quelques possibilités de calcul.
Il existe un principe de base en POO qui dit "une classe, une responsabilité".
Cela s'applique aussi à une BDD. Si on commence à donner plusieurs responsabilités à un objet, on met en péril la réutilisabilité, on complexifie le code et l'on perd en efficacité. Souviens-toi de ce que je t'ai écrit au sujet de ta classe TQuickSort.
Attendons la réponse du principal intéressé...
Develomagaly, la parole est à toi.
<hr color="#008000">Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
develomagaly
Messages postés46Date d'inscriptionmercredi 5 octobre 2005StatutMembreDernière intervention 3 mai 2006 23 janv. 2006 à 10:51
Donc en fait si j'ai bien compris il faut mieux que j'aille chercher directement les données dans le BDD et ce serait une perte de temps que de les stocker dans une classe ou autres .
Donc je vais essayer de faire sa alors et je verai bien le temps de réponse et d'affichages des données.