Chargement de listes de questions ?

ArtostizerArtostizer Membre
14:44 modifié dans Vos applications #1
Bonjour, je suis newbies ( :o ) comme vous avez pu le voir dans ma présentation, et je suis entrain de créer un projet ou j'ai besoin de faire appel à  une vingtaine de questions aléatoirement à  partir d'une base d'environ 100 questions. Dans un premier temps pour comprendre comment je devrais faire, j'ai d'abord fait le tuto (quizz pour iphone) de ceetix dispo sur weecast et je commence à  comprendre un peu (je suis long à  la détente) !!!

Mon problème est principalement basé sur le fait que si je fait mes questions avec des "if" et des "if else" ca va etre assez vite le bordel et que mon code va légèrement prendre de l'embonpoint donc je souhaiterait les importer via un fichier .plist. Pensez-vous que cela serait la meilleure technique, sinon comment feriez-vous ?

Mon second problème est qu'en fait, mes questions pourront aléatoirement avoir de trois à  sept réponses symbolisé chacune par un bouton nommer "a, b, c, d, e, f, g" jusqu'à  la pas de problème mais moi je souhaiterait faire juste appel seulement aux boutons dont j'ai besoin pour chaque questions : c'est à  dire j'ai une questions qui nécessite 4 réponses, donc je fait apparaitre les boutons a, b, c et d !!!

L'inconvénient dans tous ca, c'est que mes boutons sont représenté par des custom boutons representer chacun d'eux par une image se nommant a.png, b.png, c.png, d.png, e.png, f.png, g.png !!!

Voila zai tout dit et zespère que vous zavez tout compris !!!

Réponses

  • CeetixCeetix Membre
    14:44 modifié #2
    Eu j'ai jamais fait de tuto quizz ...
    Moi je l'aurai fait via un petit JSON ou XML que j'aurai parsé ensuite.
    Dedans tu mets les informations que tu as genre nombres de réponses disponibles etc ... Comme ça après tu sauras directement combien de boutons afficher.
  • ArtostizerArtostizer Membre
    14:44 modifié #3
    Oui désolé, autant pour moi , c'était pas toi l'auteur du tuto ( http://fr.tuto.com/xcode/faire-un-quiz-pour-iphone-en-objective-c-xcode,5995.html ) !!!

    Pourquoi ce choix ? avantage , désavantage ?
  • CeetixCeetix Membre
    14:44 modifié #4
    Bah avantage/désavantage je sais pas c'est une préférence. Ensuite tu peux garder ton fichier sur le web et comme ça si une question change ou si tu veux en ajouter/supprimer tu as juste à  changer ton fichier. Alors qu'avec un plist tu dois faire une maj de l'app.
  • ArtostizerArtostizer Membre
    14:44 modifié #5
    Oui ok donc +1 pour l'avantage des futur mise à  jours mais -1 pour l'accès serveur si l'appli est beaucoup télécharger et utilisée, faut avoir un bon hebergeur avec un bon quotat , non?
  • CeetixCeetix Membre
    14:44 modifié #6
    eu pour un fichier JSON ou XML qui fait max 100 ko je pense que ça peut aller ^^
  • AliGatorAliGator Membre, Modérateur
    14:44 modifié #7
    Moi je ferais en effet un PLIST avec dedans toutes tes questions. Le Plist serait par exemple un NSArray de questions, chaque question étantun NSDictionary avec une clé "question" pour l'énoncé, une clé "réponse" de type Number qui indique la bonne réponse (s'il y en a une, genre si c'est un quizz et pas genre un sondage) 0 = réponse a, 1 = réponse b, ... et une dernière clé "réponses" de type NSArray avec les réponses.

    Ensuite pour tirer au sort 20 questions parmi ton tableau de question (chargé par [tt]questions = [NSArray arrayWithContentsOfFile:NSBundle mainBundle] pathForResource:@"questions" ofType:@"plist";[/tt]), il suffit de tirer un chiffre au hasard entre 0 et [tt][questions count][/tt], de mémoriser ce chiffre dans un tableau questionsAPoser, et de réitérer l'opération jusqu'à  ce qu'on ait 20 questions. Ou plutôt dans un NSMutableIndexSet, qui est une classe justement faite pour contenir des index d'éléments et permet d'éviter d'avoir des doublons (et de risquer de poser 2x la même question donc).

    Enfin, pour les boutons de réponses, il n'y a rien de compliqué. Un IBOutlet par bouton qui va te permettre d'accéder à  chacun de tes boutons a,b,c,d,e,f,g et t'as juste à  modifier leur propriété "hidden" selon le nombre de réponses pour chaque.

    // questions serait une @property(retain) de type NSArray<br />self.questions = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@&quot;questions&quot; ofType:@&quot;plist&quot;]];<br />// questionsAPoser également une property de type NSMutableIndexSet cette fois<br />self.questionsAPoser = [NSMutableIndexSet indexSet];<br />while( [self.questionsAPoser count] &lt; 20 ) {<br />&nbsp; // moyen simple de tirer un nombre au hasard entre 0 et count-1 sans se prendre la tête côté code :<br />&nbsp; int n = arc4random() % [self.questions count];<br />&nbsp; [self.questionsAPoser addIndex:n];<br />}


    A ce stade self.questionsAPoser contient 20 index de questions.
    Ensuite quand tu vas parcourir ce NSIndexSet pour récupérer l'index à  chaque itération et faire [tt][self.questions objectAtIndex: idx][/tt] pour récupérer la question, tu pourras pour chaque question configurer la visibilité de tes boutons :
    NSDictionary* questionDef = [self.questions objectAtIndex:idx];<br />NSString* enonce = [questionDef objectForKey:@&quot;question&quot;];<br />NSArray* reponses = [[questionDef objectForKey:@&quot;reponses&quot;];<br />int nb = [reponses count];<br /><br />btnReponseA.hidden = (nb&lt;1); // si moins d&#39;1 réponse, cacher le bouton A<br />btnReponseB.hidden = (nb&lt;2); // si moins de 2 réponses, cacher le bouton B<br />btnReponseC.hidden = (nb&lt;3); // si moins de 3 réponses, cacher le bouton C<br />btnReponseD.hidden = (nb&lt;4); // si moins de 4 réponses, cacher le bouton D<br />btnReponseE.hidden = (nb&lt;5); // si moins de 5 réponses, cacher le bouton E<br />btnReponseF.hidden = (nb&lt;6); // si moins de 6 réponses, cacher le bouton F<br />btnReponseG.hidden = (nb&lt;7); // si moins de 7 réponses, cacher le bouton G
    Voilà  pour le principe ;)

    Dans tous les cas de toute façon tout mettre dans un fichier externe est la bonne solution.

    Après Ceetix je comprend pas du tout ton argumentaire : que ce soit un JSON ou un XML ou un PLIST ça change rien ça n'a rien à  voir avec le fait d'avoir un fichier déporté ou non : on peut tout à  fait mettre un PLIST sur un serveur, qui dit fichier déporté sur le serveur ne dit pas forcément XML ou JSON... Après si tu fais ça en WebService c'est effectivement bien plus courant et logique de faire XML ou JSON plutôt que PLIST si tu as un service que tu requêtes pour chaque question par exemple... mais là  ce n'est plus du tout le même fonctionnement puisqu'il faut alors déployer le WebService et donc coder la partie Web... Par contre si tu héberges le fichiers sur un serveur juste pour que l'appli puisse télécharger le fichier complet (pour pouvoir le mettre à  jour régulièrement) genre charger "http://monserveur.com/questions.plist", bah que ce soit un PLIST ou un XML ou un JSON ça change rien, et c'est même plus simple en PLIST car en XML faut utiliser le parseur SAX de l'iPhone, et en JSON faut utiliser une librairie tierce... D'autant que le PLIST, il peut être au format binaire et non au format XML ou ASCII, ce qui le rend encore plus compact...

    Bref, pour moi le choix s'orienterait vers le PLIST, et après mettre le PLIST dans le bundle et donc qu'il soit encapsulé dans l'application, ou le mettre sur un serveur pour permettre les mises à  jour, ou même les deux (un PLIST fourni de base, et une vérification de mises à  jour avec téléchargement du PLIST mis à  jour le cas échéant, qu'on utiliserait alors à  la place de celui du bundle) ça ça dépend de ce qu'Artostizer souhaite faire... mais bon dans un premier temps encapsuler le PLIST dans le projet donc le bundle me semble déjà  plus simple surtout s'il débute, ne compliquons pas les choses. Rien ne l'empêchera de mettre le PLIST sur un serveur plus tard s'il veut permettre les Mà J.
  • CeetixCeetix Membre
    14:44 modifié #8
    Oh d'accord je savais pas qu'on pouvait mettre un PLIST sur un serveur, autant pour moi :)
    Donc oui pour le PLIST ;)
  • ArtostizerArtostizer Membre
    14:44 modifié #9
    Waouhhhh, alors la , ca c'est de la réponse !!!! GRAND merci !!! maintenant je sait ou je vais et ce que je vais faire !!! mille merci
  • ArtostizerArtostizer Membre
    septembre 2010 modifié #10
    Donc après relecture et avant d'attaquer mon code, j'ai quelques petites questions encore pour toi AliGator vu que je vais suivre ton raisonnement et la logique que tu m'as gentillement proposé !!!

    1 - Pour les réponse je les charge donc à  partir d'une .plist (ca j'ai piger) avec un NSArray, mais le mieux est que je charge tout ca dans une UITableView ou dans plusieurs UILabel ? parce que tu parle de tirer un chiffre au hasard e de le mémoriser dans un tableau mais je suis un dans le flou là  car je ne maitrise pas encore tout à  fond.

    2 -  Ca concerne mon fichier .plist, en fait moi j'avais penser à  deux fichiers .plist, un qui renferme les questions avec les réponses (en texte pour les charger soit dans la UITableView, soit dans les UILabel's) et un autre fichier .plist qui elle renferme les solutions aux réponses, mais en voyant ton raisonnement je pense que ta solutions est plus approprier et m'évite d'avoir aussi par la même occasion trop de fichier dans mon projet ;-) !!!

    Donc en suivant ton raisonnement, la structure du .plist serait :


    (NS)Array (masterQuestions)
                |
                |
                |____ (NS)Dictionnary
                |                        |________________ (NS)Array (flatQuestion1)
                |                        |________________ (NS)Number (answerB)
                |                        |________________ (NS)Array (flatAnswer)
                |
                |
                |____ (NS)Dictionnary
                |                        |________________ (NS)Array (flatQuestion2)
                |                        |________________ (NS)Number (answerC)
                |                        |________________ (NS)Array (flatAnswer)
                |
                |____ (NS)Dictionnary
                |                        |________________ (NS)Array (flatQuestion3)
                |                        |________________ (NS)Number (answerF)
                |                        |________________ (NS)Array (flatAnswer)
                |
                |
                |____ (NS)Dictionnary
                |                        |________________ (NS)Array (flatQuestion4)
                |                        |________________ (NS)Number (answerB)
                |                        |________________ (NS)Array (flatAnswer)
                |
                |...etc


    Grand merci à  toi pour ton aide et pour ce chaleureux accueil !!!

  • ArtostizerArtostizer Membre
    14:44 modifié #11
    Je up sur mon post précédent je ne parvient toujours pas à  comprendre la structure de mon fichier .plist .
  • AliGatorAliGator Membre, Modérateur
    14:44 modifié #12
    dans 1284142949:

    Oh d'accord je savais pas qu'on pouvait mettre un PLIST sur un serveur, autant pour moi :)
    Donc oui pour le PLIST ;)
    Bah pourquoi on pourrait pas ? C'est rien qu'un fichier comme un autre lol
  • AliGatorAliGator Membre, Modérateur
    septembre 2010 modifié #13
    dans 1284258988:

    Je up sur mon post précédent je ne parvient toujours pas à  comprendre la structure de mon fichier .plist .
    Je t'ai fait vite fait un petit exemple en pièce-jointe (que tu peux ouvrir avec l'application "Property List Editor" qui est livrée avec les Developer Tools et se trouve dans /Developer/Applications/Utilities d'ailleurs si tu double-cliques sur le plist ça va l'ouvrir tout seul avec ça)

    a) Mon PLIST est donc un tableau.
    b) Chaque élément de ce tableau est un NSDictionary qui décrit une question dans son ensemble.
    c) Ce NSDictionary contient 3 clés / éléments :
      1) l'intitulé de la question (NSString) identifié par la clé "question" de ce dictionary,
      2) la liste des réponses (NSArray contenant un nombre arbitraire de NSStrings) identifié par la clé "answers" de ce dictionary
      3) le numéro correspondant à  la bonne réponse (un NSNumber), identifié par la clé "answer" de ce dictionary

    Après il te suffit de charger ce PLIST avec [tt]NSArray* tab = [NSArray arrayWithContentsOfFile:...][/tt], et quand tu veux piocher une question bas tu tires un nombre N au hasard entre 0 et [tt][tab count][/tt] pour savoir quelle question choisir de poser.
    Tu vas donc pouvoir récupérer le NSDictionary décrivant la question dans son ensemble (b) avec [tt]NSDictionary* q = [tab objectAtIndex:N][/tt]
    Et ensuite une fois que tu as ce NSDictionary tu peux en extraire la question (1), le tableau/la liste des réponses (2) et le numéro de la bonne réponse (3), avec [tt][q valueForKey:...][/tt] en fournissant la clé qui va bien pour chacun.
  • ArtostizerArtostizer Membre
    14:44 modifié #14
    Ok, grand merci à  toi de me donner un peu de ton temps !!!

    Je suis entrain d'essayer de coder tous ça mais je pense que je vais souvent revenir sur ce post pour poser d'autres questions sur mon code !!! ;-)
  • ArtostizerArtostizer Membre
    septembre 2010 modifié #15
    Désolé de revenir si vote, mais je ne comprend pas très bien le concept de chargement de .plist !!!

    J'ai fait ça (en récuperant ton exemple biensur):

    <br />//<br />// Ca c&#39;est mon header<br />//<br />@interface QuizzTestViewController : UIViewController {	<br />	NSArray* questions;<br />	NSDictionary* question;<br />	NSMutableIndexSet* questionsAPoser;<br />	NSInteger time;<br />	NSTimer *timer;<br />	<br />	IBOutlet UILabel *flatQuestion;<br />	IBOutlet UILabel *theScore;<br />	IBOutlet UILabel *theTime;<br />	<br />	IBOutlet UIButton *btnAnswerA;<br />	IBOutlet UILabel *answerA;<br />	IBOutlet UIButton *btnAnswerB;<br />	IBOutlet UILabel *answerB;<br />	IBOutlet UIButton *btnAnswerC;<br />	IBOutlet UILabel *answerC;<br />	IBOutlet UIButton *btnAnswerD;<br />	IBOutlet UILabel *answerD;<br />	IBOutlet UIButton *btnAnswerE;<br />	IBOutlet UILabel *answerE;<br />	IBOutlet UIButton *btnAnswerF;<br />	IBOutlet UILabel *answerF;<br />	IBOutlet UIButton *btnAnswerG;<br />	IBOutlet UILabel *answerG;<br />	<br />	IBOutlet UIButton *nextQuestion;<br />	<br />}<br /><br />@property (retain, nonatomic) NSArray* questions;<br />@property (retain, nonatomic) NSDictionary* question;<br />@property (retain, nonatomic) NSMutableIndexSet* questionsAPoser;<br />@property (retain, nonatomic) NSTimer *timer;<br /><br />@property (retain, nonatomic) UILabel *flatQuestion;<br />@property (retain, nonatomic) UILabel *theScore;<br />@property (retain, nonatomic) UILabel *theTime;<br /><br />@property (retain, nonatomic) UIButton *btnAnswerA;<br />@property (retain, nonatomic) UILabel *answerA;<br />@property (retain, nonatomic) UIButton *btnAnswerB;<br />@property (retain, nonatomic) UILabel *answerB;<br />@property (retain, nonatomic) UIButton *btnAnswerC;<br />@property (retain, nonatomic) UILabel *answerC;<br />@property (retain, nonatomic) UIButton *btnAnswerD;<br />@property (retain, nonatomic) UILabel *answerD;<br />@property (retain, nonatomic) UIButton *btnAnswerE;<br />@property (retain, nonatomic) UILabel *answerE;<br />@property (retain, nonatomic) UIButton *btnAnswerF;<br />@property (retain, nonatomic) UILabel *answerF;<br />@property (retain, nonatomic) UIButton *btnAnswerG;<br />@property (retain, nonatomic) UILabel *answerG;<br /><br />@property (retain, nonatomic) UIButton *nextQuestion;<br /><br />-(IBAction)btnAnswerA:(id)sender;<br />-(IBAction)btnAnswerB:(id)sender;<br />-(IBAction)btnAnswerC:(id)sender;<br />-(IBAction)btnAnswerD:(id)sender;<br />-(IBAction)btnAnswerE:(id)sender;<br />-(IBAction)btnAnswerF:(id)sender;<br />-(IBAction)btnAnswerG:(id)sender;<br /><br />-(IBAction)nextQuestion:(id)sender;<br /><br />-(IBAction)backToMenu;<br /><br /><br />-(void)askQuestion;<br />-(void)checkAnswer:(int)theAnswerValue;<br />-(void)updateScore;<br />-(void)countDown;<br />-(void)loadQuiz;<br /><br /><br />// Ca c&#39;est ma fonction de chargement comme tu me l&#39;as expliquée, ou plutot comme je l&#39;ai comprise<br />//<br />//<br />-(void)loadQuiz {<br />	self.questions = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@&quot;galop1&quot; ofType:@&quot;plist&quot;]];<br />	self.questionsAPoser = [NSMutableIndexSet indexSet];<br />	while( [self.questionsAPoser count] &lt; 20 ) {<br />		// moyen simple de tirer un nombre au hasard entre 0 et count-1 sans se prendre la tête côté code :<br />		int n = arc4random() % [self.questions count];<br />		[self.questionsAPoser addIndex:n];<br />	}<br />	NSDictionary* questionDef = [self.questions objectAtIndex:idx];<br />	NSString* enonce = [questionDef objectForKey:@&quot;question&quot;];<br />	NSArray* reponses = [[questionDef objectForKey:@&quot;reponses&quot;];<br />						 int nb = [reponses count];<br />						 btnAnswerA.hidden = (nb&lt;1); // si moins d&#39;1 réponse, cacher le bouton A<br />						 btnAnswerB.hidden = (nb&lt;2); // si moins de 2 réponses, cacher le bouton B<br />						 btnAnswerC.hidden = (nb&lt;3); // si moins de 3 réponses, cacher le bouton C<br />						 btnAnswerD.hidden = (nb&lt;4); // si moins de 4 réponses, cacher le bouton D<br />						 btnAnswerE.hidden = (nb&lt;5); // si moins de 5 réponses, cacher le bouton E<br />						 btnAnswerF.hidden = (nb&lt;6); // si moins de 6 réponses, cacher le bouton F<br />						 btnAnswerG.hidden = (nb&lt;7); // si moins de 7 réponses, cacher le bouton G<br />						 <br />	//self.questionsList = questions;<br />	[questions release];<br />}<br />



    Je croyais que ca serait plus simple à  mettre en oe“uvre vu que j'avais un exemple de code que je comprenais plus ou moins mais la ... c'est pas gagner !!!
  • ArtostizerArtostizer Membre
    14:44 modifié #16
    petit re-up du mercredi !!! ;-)
  • CéroceCéroce Membre, Modérateur
    14:44 modifié #17
    Euh, quelle est ta question ?

    Fais du pas-à -pas avec le débogueur, tu vas bien trouver où ça coince.
  • ArtostizerArtostizer Membre
    14:44 modifié #18
    Oui désolé, ;)
    Ben la question c'est qu'ai-je mal fait sur ma fonction "loadQuiz" !!!

    J'ai des erreur mais je ne comprend ce que j'ai mal fait et surtout mal compris !!!
  • CeetixCeetix Membre
    14:44 modifié #19
    Regarde dans la console ce que tu as comme message d'erreur. Pour moi c'est ton release à  la fin qui va pas.
  • ArtostizerArtostizer Membre
    septembre 2010 modifié #20
    Non en fait j'ai l'instance "idx" qui n'est pas déclarer car je ne comprend pas à  quoi elle coà¯ncide !!!

    En fait c'est avec mes connexions outlet que je m'embrouille un epu !!!
  • ArtostizerArtostizer Membre
    14:44 modifié #21
    Bon ca fait deux semaine et  demi que je bataille, j'ai tenter plusieurs choses, j'ai refait trois fois le projet,  je suis à  bout de nerf... je sais que AliGator m'as déjà  beaucoup aider en me donnant même des exemple concret de code mais je ne parvient à  rien !!!

    Si quelqu'un pouvait me filer un petit exemple de header et de m qui implémenterais la technique d'Aligator ca me permettrais de comprendre en visu le fonctionnement et de l'adapter à  mon projet en rajoutant mes divers elements (comme le compteur de temps, compteur de bonne réponses...etc)

    Merci à  vous par avance ;-)
  • laudemalaudema Membre
    14:44 modifié #22
    Si je regarde ton code je vois ça
    <br />NSArray* reponses = [[questionDef objectForKey:@&quot;reponses&quot;];<br />						 int nb = [reponses count];<br />						 btnAnswerA.hidden = (nb&lt;1); // si moins d&#39;1 réponse, cacher le bouton A<br />						 btnAnswerB.hidden = (nb&lt;2); // si moins de 2 réponses, cacher le bouton B<br />						 btnAnswerC.hidden = (nb&lt;3); // si moins de 3 réponses, cacher le bouton C<br />						 btnAnswerD.hidden = (nb&lt;4); // si moins de 4 réponses, cacher le bouton D<br />						 btnAnswerE.hidden = (nb&lt;5); // si moins de 5 réponses, cacher le bouton E<br />						 btnAnswerF.hidden = (nb&lt;6); // si moins de 6 réponses, cacher le bouton F<br />						 btnAnswerG.hidden = (nb&lt;7); // si moins de 7 réponses, cacher le bouton G<br />


    En général quand on a un gros décalage comme ça sur la droite c'est qu'on a oublié de refermer quelque chose la ligne d'au dessus.
    Effectivement il semble manquer un crochet fermant après "reponses" ou plutôt y avoir un crochet ouvrant en trop.

    Quand à  idx en général c'est un raccourci pour "index" quand on veut lui donner un nom plus rapide à  écrire, et effectivement il n'est pas déclaré dans ton code, peut être repris d'un exemple ou il était déclaré auparavant.. Ici tu pourrais utiliser n, s'il n'était dans la portée de ton while{} et donc invisible une fois sorti.

    Aussi dans un NSSet on ne peut mettre que des objets or n est un int, tu devrais avoir un "Warning" (un triangle jaune).
    Si tu as des Warnings ou des Errors tu ne pourras compiler tant que tu ne les auras pas supprimés (les erreurs, les warnings c'est souvent Boum en exécution à  ce stade). Pour ça il faut les lire et les comprendre (ou les recopier dans une recherche Google et corriger une fois compris).
  • ArtostizerArtostizer Membre
    14:44 modifié #23
    Merci de ta réponse !!! donc en gros a part mes deux erreurs sur la syntaxe et sur l'implémentation de l'index ca veut dire que le reste de mon code est plutôt bon ? le header et tout, et tout... donc je suis sur ca bonne bonne voie !!!

    Je vais refaire en tentant de bien implémenter les choses manquantes et en corrigeant ma syntaxe mais je pense que vous aurez de mes nouvelles car étant débutant y a des choses qui rentre vite et d'autre moins !!! ;-)
  • laudemalaudema Membre
    14:44 modifié #24
    Euh, sans vouloir te vexer ou doucher tes espoirs je n'ai regardé que ce bout de méthode et j'y ai trouvé ces erreurs, ça ne présage en rien du reste du code. Si tu veux voir tourner ton appli tu dois supprimer toutes les erreurs et, généralement, supprimer les warnings. A ton stade, qui est encore un peu le mien, un warning = une appli qui explose en utilisation.
    Donc après ton "Build" tu regardes dans la gouttière si tu vois des ronds rouges (erreur) ou des triangles jaunes (warnings) ils sont sur la ligne où le compilateur a rencontré le souci. Tu cliques dessus et une bande à  droite contiendra le texte expliquant l'erreur que tu peux retrouver aussi dans le menu "Build->Build Results".
    Si tu ne les comprends pas cherche via Google, tu ne seras probablement pas le premier à  qui elles arrivent.
    Quand ton code compilera, si tu n'arrives pas à  ce que tu veux tu peux aussi mettre des points d'arrêt en mode Debugging et suivre à  la trace la valeur de tes variables dans ton code en exécution.
  • ArtostizerArtostizer Membre
    14:44 modifié #25
    dans 1285733277:

    warning = une appli qui explose en utilisation.


    Merci de ton aide, je te rassure je suis pas newbies au point de pas savoir qu'un warning ou qu'une erreur doit être régler avant de builder l'application !!!

    Merci quand même je re-up donc au cas ou quelqu'un d'un peu plus aviser passe par là  et décide de m'aider un peu .

    merci à  toi quand même
  • laudemalaudema Membre
    14:44 modifié #26

    Tu dis que tu n'es pas newbie à  ce point, je ne demande qu'à  le croire, mais à  lire ton code je ne le vois pas, toutes les erreurs que je t'ai pointé sont de celles qu'on ne voit pas dans un code sans warnings ni erreurs.
    Fais comme tu l'entends mais si tu ne fais pas tourner ton programme pour nous dire sur quelles erreurs tu butes on aura beaucoup de difficultés à  t'aider, c'est probablement pour ça que tu n'as pas plus de réponses.
    Tu t'inquiètes déjà  de savoir si la méthode d'Ali ne va pas être trop longue mais tu ne l'as pas encore essayée !
  • ArtostizerArtostizer Membre
    14:44 modifié #27
    dans 1285752904:


    Tu dis que tu n'es pas newbie à  ce point, je ne demande qu'à  le croire, mais à  lire ton code je ne le vois pas, toutes les erreurs que je t'ai pointé sont de celles qu'on ne voit pas dans un code sans warnings ni erreurs.


    Oui effectivement mais je crois avoir dit que je savait qu'une erreur ou un warning doivent être régler avant de builder, et non pas que je n'en faisait pas ou que je savait comment les régler !!!
Connectez-vous ou Inscrivez-vous pour répondre.