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

 Delphi Discussion :

Aide pour lire une ressource


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 43
    Points : 26
    Points
    26
    Par défaut Aide pour lire une ressource
    salut a tous le monde,
    je veux faire un album de photo mais je veux que les photo soit integrées dans l'application ça veut dire dans un fichier .RES.

    Jusque la tous se passe bien j'ai créé le fichier .RES pour inclure les photos mais j'ai eu un probleme lorsque j'ai voulu lire les composants de fichier.
    Je connais cette commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1.Picture.Bitmap.LoadFromResourceName(HInstance,'image')
    mais elle ne lit qu'une seule image alors que moi je veux que lorsque j'appuie sur le bouton l'image passe à la suivante
    C'est quoi la condition que je dois mettre entre FOR i:=0 to ???? DO

    merci a tout le monde

  2. #2
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 289
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2002
    Messages : 1 289
    Points : 1 940
    Points
    1 940
    Par défaut
    image est le nom de ta ressource.

    Donc chaque photo doit avoir un nom différent dans ton res et tu rechargeras l'image correspondant au nom de la photo dans ton fichier de ressources.
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2022

  3. #3
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    1 - tes images doivent avoir un ID incrémenté (image0, image1, image2...)

    2 - tu doit connaitre le nombre d'images présente c'est ce nombre qui determine la borne max pour la boucle.

    3 - avec les bitmap, ton EXE risque de peser trés trés lourd... 1Mo par image 1024x768 pixels.
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    merci
    pour mes image je peux les incrementer et je peux utiliser gpeg non bmp c'est pas un probleme
    le probleme est de comment lire image par image en utilisant une boucle??

  5. #5
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 168
    Points : 120
    Points
    120
    Par défaut
    c'est très simple yazidou27,
    Il te suffi de crée ton fichier RES avec toute tes images dedans et de les nommer de cette façons la :
    IMAGE1,IMAGE2,IMAGE3,IMAGE4...IMAGE1000.

    Jusque la sa va ...
    Maintenant tu peut faire ta boucle de cette façons la !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var i : integer;
    begin
    For i := 1 to 1000 do begin
    sleep(2000);
    Image1.Picture.Bitmap.LoadFromResourceName(HInstance,'IMAGE'+IntToStr(i))
    end;
    end;
    et voila , il y aura une attente de 2 seconde entre chaque changement d'images!

  6. #6
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    pourquoi mettre un sleep(2000) ?!

    le mieux c'est de charge 3 images, ou plus pour avoir les previews.

    donc un ti tableau et hop. on chargera aprés au fur et a mesure
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  7. #7
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    la fonction (sleep) na pas fonctionner
    moi se que je vouler ?
    c de fair apparetre une image a chaque clic de bouton c'est sa le preincipe
    merci davoire m'aider

  8. #8
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 168
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par Dr.Who Voir le message
    pourquoi mettre un sleep(2000) ?!

    le mieux c'est de charge 3 images, ou plus pour avoir les previews.

    donc un ti tableau et hop. on chargera aprés au fur et a mesure
    WOOW stresse pas , le Sleep c'ete pour mettre une instance entre chaque changement d'image , tu peut aussi bien avec un Timer/Sleep etc c'ete seulement un exemple alors du calme!

    Donc pour changer d'image a chaque clic c'est simple il te faut une variable globale qui te servira de conteur et a chaque clic tu incrémente ce conteur.

    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
    19
    20
    21
    22
    23
     
    var i : cardinal;
     
    Procedure TFrmMain.OnCreate(Sender:TObject);
    Begin
    i := 0;
    End;
     
    {Change d'image en avant}
    Procedure TFRmMain.Button1Click(Sender:TObject);
    Begin
    Inc(i);
    Image1.Picture := nil;
    Image1.Picture.Bitmap.LoadFromResourceName(HInstance,'IMAGE'+IntToStr(i))
    End;
     
    {Change d'image en arriere}
    Procedure TFRmMain.Button1Click(Sender:TObject);
    Begin
    Dec(i);
    Image1.Picture := nil;
    Image1.Picture.Bitmap.LoadFromResourceName(HInstance,'IMAGE'+IntToStr(i))
    End;

  9. #9
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    t'inquiete j'ai pas stress, c'est juste que j'avais pas lus ton message a fond.


    honte a moi
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  10. #10
    Nouveau membre du Club
    Inscrit en
    Novembre 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    merci a vous je vai essai et je vous rependra

  11. #11
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    Citation Envoyé par yazidou27 Voir le message
    et je vous rependra
    et quand le vents souflera nous repartiraaaa tatatam
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  12. #12
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 711
    Points : 5 333
    Points
    5 333
    Par défaut
    Citation Envoyé par Dr.Who Voir le message
    et quand le vents souflera nous repartiraaaa tatatam
    MDR

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/03/2010, 05h26
  2. Demande d'aide pour lire le contenu d'une editbox.
    Par Pierre.g dans le forum Windows
    Réponses: 3
    Dernier message: 20/10/2006, 21h56
  3. [XSL] aide pour lire un id de noeud enfant.
    Par stebar dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 01/07/2004, 13h38
  4. aide pour exporter une base de donnée
    Par matt55 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 06/04/2004, 14h28
  5. Réponses: 5
    Dernier message: 08/01/2004, 16h48

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