[Projet] Questionnaire qui génère un texte ! Facile?

Bonsoir,

je fais un questionnaire, ou je stock les réponses de l'utilisateur dans un Plist. jusque la tout va bien.

Maintenant j'aimerais pouvoir a la fin du questionnaire, générer un texte avec les réponses fournies.

comme si je remplissais un texte a trous comme ceci:



Je suis "pierre", j'ai "20" ans et j'aime les "hamburgers"



avec donc entre guillemets les réponses de l'utilisateur, aux questions "quel est votre prénom?" etc...



je voudrais que ce texte soit affiché sur l'iphone, dans un textview par exemple, mais aussi qu'il puisse être récupérer par mail, ou sur un serveur web, n'importe.



Quelle est donc la meilleure solution a mettre en place d'apres vous, si certain sont déjà  passés par la?



Merci de vos réponses

Réponses

  • J'ai pensé pour le moment a tout simplement mettre une webView, qui contient le squelette ( le texte avec les trous vides ), et ensuite passer par du php pour insérer mes variables, ou bien du svg.



    Qu'en pensez vous?
  • AliGatorAliGator Membre, Modérateur
    image/huh.gif' class='bbc_emoticon' alt='???' /> Heu ?

    Amis de la complication bonsoir...



    Je comprend pas trop ton problème en fait ? Tu construits ta NSString avec le texte complet en remplissant les trous (stringWithFormat), et tu l'affectes au texte de ton UITextField d'un côté, tu crées un MFMailComposer avec ce même texte en corps de mail de l'autre côté... bref c'est quoi le pb ?
  • je sais pas, en fait le texte qui est généré fait plusieurs plusieurs pages A4, certaines parties du texte s'affichent suivant tel ou tel réponses données précédemment.

    Aussi le texte doit être formaté, on final on récupère un fichier, avec des titres des couleurs, enfin une présentation spécifique.



    J'ai pensé qu'il valait mieux stocker les réponses dans une plist, déjà  puis ensuite récupérer les éléments, (faire les traitements dessus en ce qui concerne les conditions), puis remplir un php, ou autre du style:

    "Je suis $nom, j'ai $age ans et j'aime les $aliments"

    et donc utiliser une webview qui affiche le tout.



    Comme ça je fais a l'avance, la mise en page du .php facilement aussi.



    Etant donné qu'il y a plusieurs pages et présentation spécifique le UITextfield me semble un peu limité !?
  • Mais pourquoi du PHP ? Objective-C est pas assez puissant pour ça ? ^^



    Que tu veuilles utiliser une webview pour afficher ton texte formaté, ça encore, je peux le comprendre. Mais tu peux générer ton texte directement en Objective-C.
  • Je dis php, pour expliquer ce que je veux faire, car je vois pas trop comment faire la même chose en Objective-C.

    Vous me conseillez quoi, de faire des writeToFile dans un fichier html et ainsi de construire le fichier morceau par morceau?



    L'avantage si je produit un html, c'est que le fichier pourra ensuite facilement garder une bonne mise en page sur un format ordi, aussi ou a imprimer, etc.
  • JegnuXJegnuX Membre
    mars 2012 modifié #7
    Dans ton projet tu te met un template.html avec la structure HTMl, le CSS etc...



    Puis quelque part dans le body, là  où tu voudras ton texte, tu mets un truc genre "#content#".



    Ensuite dans ton code Obj-C, tu lis ton plist ("> NSDictionary). Et tu créés un NSMutableString.



    Cette string contiendra ton texte brut. Donc tu peux faire des



    [myString appendFormat:@Je suis %@",[dict objectForKey:@name]];



    et tu construis ton texte de la sorte.



    Et quand tu as fini, tu ouvres ton template.html avec -initWithContentsOfFile:encoding:error: et tu remplace "#content#" par le texte que tu viens de générer.



    Enfin, tu peux enregistrer le résultat avec writeToFile où l'afficher directement dans une webView.
  • Merci beaucoup JegnuX !

    Je m'y mets
  • AliGatorAliGator Membre, Modérateur
    Mais même, pourquoi passer par une WebView ?

    [NSString stringWithFormat:] et une TextView et basta !
  • je sais pas, je me dis qu'avec le html, je pourrais avoir une plus grande adaptabilité, si je veux envoyer le fichier sur un serveur, et y avoir accès par la suite par exemple via un ordinateur, ou si par exemple, je veux en générer ensuite un pdf, etc etc ?



    Puis une textView dedans je ne pourrais jamais y mettre des images, des tableaux, des logos, etc
  • 'AliGator' a écrit:


    Mais même, pourquoi passer par une WebView ?

    [NSString stringWithFormat:] et une TextView et basta !




    La webview c'est pour mettre en forme "facilement". Avec une textview faut en vouloir pour mettre un mot en plein milieu en gras ou souligné. Ou ne serait-ce que justifié.



    Soit faut passer par un composant externe, soit s'amuser avec Core Text et les attributed string, soit je suis pas au courant et je veux bien qu'on m'y mette image/biggrin.png' class='bbc_emoticon' alt=':D' />



    Donc pour le coup la webview c'est ce qu'il y a de plus simple.
  • AliGatorAliGator Membre, Modérateur
    toi tu connais pas ma classe OHAttributedLabel image/tongue.png' class='bbc_emoticon' alt=':P' />
  • 'AliGator' a écrit:


    toi tu connais pas ma classe OHAttributedLabel image/tongue.png' class='bbc_emoticon' alt=':P' />




    Toi tu lis pas bien mes messages –> "Soit faut passer par un composant externe"

    Je sais que c'est faisable plus simplement avec des classes externes, mais de base, c'est chiant. Et si t'inquiète pas, je te follow sur github image/wink.png' class='bbc_emoticon' alt=';)' /> (merci pour tes OHAlertView au passage )
Connectez-vous ou Inscrivez-vous pour répondre.