IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

TImg: Nombre de boucles (Loops) ? [Débutant]


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut TImg: Nombre de boucles (Loops) ?
    Bonjour,

    J'utilise Rad Studio XE C++Builder.

    J'aimerais savoir comment on peut connaitre le nombre de boucles (Loops)
    d'une animation Gif avec TImg TIMage.

    Extrait de la partie de mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #include <GIFImg.hpp>
     
    //......
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
       TGIFImage *GIF = new TGIFImage();
       TGIFAppExtNSLoop *LoopExt;
     
    //code.......
        //iNTERROGATION
        LoopExt = new TGIFAppExtNSLoop(GIF->Images->Frames[0]);
        // Affichage du résultat
        Label1->Caption = IntToStr(LoopExt->Loops);  
     
    // code......
    }
    Qu'importe le nombre de boucles, cela me renvoit toujours "0" ????

    Merci d'avance pour l'éventuelle aide...
    Luiso

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 081
    Par défaut
    GIF->AnimateLoop indique un etat parmis l'énumération TGIFAnimationLoop (glDisabled, glEnabled, glContinously)

    Pourquoi tu fais un new ?
    En lisant la doc, ce que tu devrais faire à mon avis !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TGIFExtension* Extension = GIF->Images->Frames[0]->Extensions->Extensions[0]
    if (Extension ->InheritsFrom(__classid(TGIFAppExtNSLoop)))
    {
      Label1->Caption = IntToStr(TGIFAppExtNSLoop(Extension)->Loops);
     
    }
    Note que Extensions est une liste, tu peux y avoir des tout ce qui de TGIFExtension donc TGIFApplicationExtension, TGIFAppExtNSLoop, TGIFGraphicControlExtension, TGIFTextExtension...
    tu peux utiliser InheritsFrom ou dynamic_cast<>(), selon tes habitudes !

    Evidemment, tous mes propos sont théoriques, je n'ai pas de TGIFImage en BSD2007, c'est des déductions à partir de la doc !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par défaut
    Hello,

    En plus des indications de ShaïLeTroll, tu peux aller voir du côté du gars qui a développé le composant à l'origine, ou de celui qui a continué à bosser dessus.

    Tu trouveras plein d'infos, ainsi que des exemples.

    Sinon, Loops==0 indique que le GIF boucle indéfiniment.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut
    Merci Totoche,

    Mais j'ai lu la rubrique en question et elle s'adresse surtout à Delphi...
    je me dépatouille un peu en CBuilder mais pas en Delphi.
    En fait j'ai essayer avec l'exemple Delphi et ca fonctionne, mais pour la transpôsition en CBuilder... rien à faire pour moi...

    Merci ShaiLeTroll,

    J'ai essayé comme tu me l'as indiqué mais voici ce que cela donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TGIFExtension* Extension = GIF->Images->Frames[0]->Extensions->Extensions[0];
    if (Extension ->InheritsFrom(__classid(TGIFAppExtNSLoop)))
     {
      EdLoop->Text = IntToStr(TGIFAppExtNSLoop(Extension)->Loops);                                                       
                                              //erreur sur cette ligne//   
    }
    Messages:
    [BCC32 Erreur] Unit1.cpp(116): E2285 Impossible de trouver une correspondance pour 'TGIFAppExtNSLoop::TGIFAppExtNSLoop(TGIFExtension *)'
    [BCC32 Erreur] Unit1.cpp(116): E2459 Les classes de style Delphi doivent être construites avec l'opérateur new

  5. #5
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     EdLoop->Text = IntToStr(((TGIFAppExtNSLoop*)Extension)->Loops);

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut
    Bravo,
    un trés grand merci Totoche...
    Ca fonctionne trés bien maintenant,
    je vais pouvoir continuer...
    @ bientôt
    luiso

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. système de boucle/loop en workflow
    Par lesanglier dans le forum SharePoint
    Réponses: 4
    Dernier message: 23/10/2009, 10h39
  2. [XL-2003] boucle loop while
    Par guitareveur dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/05/2009, 17h14
  3. probleme de sortie boucle LOOP
    Par adelsunwind dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/05/2008, 08h41
  4. pb boucle Loop
    Par am_bra dans le forum Forms
    Réponses: 1
    Dernier message: 20/04/2007, 12h14
  5. Compter le nombre de boucles while...do
    Par abdelilah dans le forum Pascal
    Réponses: 2
    Dernier message: 21/12/2006, 16h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo