Salut nabouill, merci pour ce nouveau tuto c'est bien pratique, par contre je trouve qu'il y a trop de répétitions et du coup le code est super long je pense que ça serait plus simple avec un seul get et un seul save (facile à dire ), quite à créer une petite classe suplémentaire et/ou un template pour gerer les types, qu'en penses-tu ?
Hors ligne
oui, je vois bien ce que tu veut dire, mais j'avoue que je vois pas du tout comment gérer les types, car c'est vai qu'au début l'idée était de faire un seul "getInfo()" et un seul "saveInfo()". Mais comment diable ! :mad
N'ayant pas la solution, j'ai donc créer un get() et un save() pour chaque type courant.
Pour me consoler je me disait que ce n'était pas très important, car si on utilise ma petite astuce que j'ai mis a la fin, on ne voit plus le code, donc qu'il soit long ou pas, ça ne change pas grand chose.
Hors ligne
j'ai pas eu le temps de bien approfondir, mais l'idée de départ c'est de faire un template
puis dans le main:
voilà, tu as juste à définir le "type" voulu lors de l'appel de la fonction.
Après il faut s'occuper de l'intèrieur de la fonction mais j'ai pas encore eu le temps...
Hors ligne
ouai j'ai cherché un peut mais je ne vois vraiment pas comment getInfo saurait quelle conversion faire. Je ne trouve pas le moyen dans une fonction template de faire un "switch" entre les types d'entrée.
Parce que sans ça, comment faire la diférence entre int et string ?
Si tu trouve ça me ferait une bonne lecon de prog
Dernière modification par TUpac (09-09-2010 22:50:21)
Hors ligne
bein il y a les "spécialisations", mais dans le cas ici présent, cela nous renverrai à notre problème de départ, c'est à dire qu'il faut réécrire chaque spécialisation et le code serait trop long, même si on en fait que 2, il y a trop peu d'éléments variable dans la fonction, je trouve que c'est dommage de répéter autant de lignes de code, à moins de placer le code répètes dans une procédure privée. mais bon ça serait pas très propre.
Je sais pas comment on détecte un type, mais c'est sûre que ça serait l'idéal comme tu dit TUpac
Le plus simple dans un premier temps je pense, c'est de passé le type dans un second paramètre de la fonction
edit, étant donnée qu'on récupère l'info sous forme de chaine, on peut déjà faire un isdigit() pour detecter les chiffres, ça sera déjà ça de gagné.
Hors ligne
Bon je crois que je vais jeter un œil sur les templates, une chose que je ne connaissait pas, j'ai trouvé ça http://www.commentcamarche.net/faq/1119 … lates-en-c
Je pense que devrais pouvoir rouler avec çà, quand penser vous ?
Je vais bosser un peut la dessus pour voir. (et si ça ne marche pas, j'aurais au moins appris quelque chose )
Hors ligne
je te conseil ce tuto http://www.siteduzero.com/tutoriel-3-85890-la-base.html
Hors ligne
houhouuu !! je pense avoir trouvé la solution au probleme de convertion
http://cpp.developpez.com/faq/cpp/?page … convert_to
Les premiers test semble pas mal du tout, je recupere ce qu'il y a d'ecrit dans le fichier texte en string, et je converti, pour l'instant avec int, long, double, float, string et char çà roule. je continu a bosser dessus, je vous redit.
merci pour ces pistes.
EDIT:
Une petite question me vient à l'esprit, selon vous, vaut-il mieux créer un objet lui indiquant le path a l'initialisation puis simplement appelé les méthode par la suite, ce qui donne un peut près:
ce qui oblige aussi a appelé la méthode drop() à la fin pour fermer le fichier
Où bien faire une simple fonction, mais ce qui oblige du coup à indiquer le path du fichier a chaque fois, ce qui donnerai:
Moi à la base je pensait plutôt a la deuxième, mais je me tate un peu. J'aurais aimé avoir d'autre avis.
Dernière modification par nabouill (11-09-2010 09:49:01)
Hors ligne
Là faut demander à Magun c'est lui l'expert
Hors ligne
bon, je part sur la 2em solution, je trouve ça quand même plus light (bien qu'on remarquera qu'elle est un poil moins rapide, car a chaque getInfo(), on ré-ouvre et referme le fichier, mais je pense utiliser ça principalement dans des menu "loading" de programme, donc je ne trouve pas ce léger inconvénient bien méchant, ce n'est pas comme si on travaillait sur une base de donnée partagé)
EDIT: ça devrait être bon dans la soiré.
Dernière modification par nabouill (11-09-2010 16:36:59)
Hors ligne
Voili voilou !
C'est vrai que c'est devenu vraiment plus light, passer de 500 lignes à 150 (malgrés tous les commentaires) pour faire un truc beaucoup plus simple d'utilisation
Je dis merci de m'avoir mis sur la piste des template.
Hors ligne
cool, d'un coup c'est beaucoup plus agréable à lire
Hors ligne
En regardent votre code j'ai eu une très très bonne idée : comme moi je crée un jeu dans l'espace et que je risque de faire beaucoup de meshs, qui devront tous avoir un niveau de vie, place dans la soute, vitesse, bouclier.......ça fait beaucoup....: c'est là que votre code arrive, j'ai eu l'idée de sauvegarder toutes ces infos dans des fichiers !
Comme ça quand je crée un mesh ça ouvre toutes les infos d'un fichier texte avec les coordonnées en 3D, la vie......etc....
Mais je voudrais savoir si en utilisant ces fichiers il était possible de dire à une variable irr::scene::IAnimatedMash que tel mesh se trouve dans tel dossier avec des fichiers textes ?
Euh.....euh...non désoler j'ai trouver tous seul....mes merci quand même pour se code !!!
Dernière modification par mmorpglefilm (29-03-2013 01:52:02)
Hors ligne
Et aux faite, il y a une licence sur ton code ? Il est gratuit ?
Merci de me répondre.
Hors ligne
Il n'y a bien sûr aucune licence pour ce code. Tu peux l'utiliser à volonté, le redistribuer, le modifier, le reredistribuer et tout et tout.
A+
Hors ligne
Pages: 1