Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment aller de fonction en main, et inversement ?

    11 avril 2006 à 20:57:25

    Bonjour à tous, voila je me suis toujours poser la question, comment par exemple faire une fonction qui afficherait les options dans une autre par que main.c, étant donné que ecran ne sera pas créer ?

    Je voudrais par exemple effacer l'ecran à l'aide d'une fonction se situant dans un fichier fonctions.c, comment faire ? Redéclarer la surface écran ?

    Merci d'avance, car pour l'instant la totalité de mon code est dans mon main, et 800 lignes, c'est dûr à gérer (ça peut paraitre peu mais c'est déjà ça :p ).
    • Partager sur Facebook
    • Partager sur Twitter
      11 avril 2006 à 21:50:15

      Citation : W@Rn3R$HoO†

      Bonjour à tous, voila je me suis toujours poser la question, comment par exemple faire une fonction qui afficherait les options


      C'est quoi 'les options' ?

      Citation : W@Rn3R$HoO†


      dans une autre par que main.c, étant donné que ecran ne sera pas créer ?


      Ouch ! Mal à la tête ! ecran ? Quel ecran ?

      Citation : W@Rn3R$HoO†


      Je voudrais par exemple effacer l'ecran à l'aide d'une fonction se situant dans un fichier fonctions.c, comment faire ? Redéclarer la surface écran ?


      Je crois que je commence à comprendre. Comme tu le l'as pas expliqué, il s'agit d'une application SDL, c'est ça ? Ahh, ben fallait le dire...

      L'écran. Ok. Il est crée dans le main(), par exemple. Si on veut qu'une fonction appelée par main() puisse bricoler dedans, y'a pas de mystère, il faut passer la valeur à la fonction via un paramètre pointeur du même type. Tout simplement. Ca, c'est théorique.

      Evidemment, si il y a cinquante objet (même deux ou trois) on ne va pas passer cinquante paramètres, mais un seul appelé 'contexte' qui contient les pointeurs sur tous les objets crées. Une belle structure quoi... (en fait un paramètre de type pointeur sur cette structure).

      La liste des objets peut être établie à l'avance (structure fixe), ou complètement dynamique (c'est plus drôle et plus conforme à la réalité). Mais il manque quelques élements de programmation pour ça (listes, arbres...).

      • Partager sur Facebook
      • Partager sur Twitter
      Music only !
        12 avril 2006 à 10:41:45

        Je suis pas sûr d'avoir compris, peut-tu donner un exemple ?
        • Partager sur Facebook
        • Partager sur Twitter
          12 avril 2006 à 10:46:49

          Par exemple, tu mets l'adresse de ton screen et de tes trois boutons dans un struct "contexte", qui décrit toutes les fenêtrres qui existent dans tes applications, et tu passes l'adresse de ce struct "contexte" en argument à toutes tes fonctions. Comme ça une fonction hors de main.c, elle a juste à prendre contexte->screen par exemple et ça lui donne un pointeur vers le screen de main.
          • Partager sur Facebook
          • Partager sur Twitter
            12 avril 2006 à 12:56:09

            Je vais essayer ça je vous dis si je coince ;)
            • Partager sur Facebook
            • Partager sur Twitter

            Comment aller de fonction en main, et inversement ?

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown