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

Langage Delphi Discussion :

Afficher<->Effacer


Sujet :

Langage Delphi

  1. #1
    Membre averti Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Points : 386
    Points
    386
    Par défaut Afficher<->Effacer
    Bonsoir,
    Bon j'ai toujours un problème avec delphi, je vais vous expliquer ce que je veux obtenir;
    Je fait un jeu de carte et donc j'affiche les carte comme suit:
    j'affiche un tirage de carte, ensuite il y'a un certain calcul qui s'éffectus, et puis je procède au prochain tirage, et pour cela je dois effacer le 1er tirrage, j'affiche les carte l'une sur l'autre décalé unpeu à droite pour que le joueur puisse voir le type des cartes enfin vous voyez ce que je veux dire.
    J'ai un problème, je n'ai absolument pas trouver de moyen pour effacer l'ancien tirage, j'utilise un PaintBox, mais bon ca ne va pas.
    PS: pour l'affichage des cartes j'exploite la dll windows CARDS.DLL .
    One idea?
    Merçi d'avance
    si je me suis mal exprimé je peu réexpliquer avec un screen shot lol

  2. #2
    Membre averti Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Points : 386
    Points
    386
    Par défaut
    bon voilà un screen lol

  3. #3
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    Et avec un Repaint ou un Invalidate sur ton PaintBox?

  4. #4
    Membre averti Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Points : 386
    Points
    386
    Par défaut
    j'ai déja essayer ca ne fait rien :s
    peut être c'est parceque les cartes son imbriqué l'une sur l'autre nan?
    sinon s'il y'a un autre moyen ou un autre composant qui gère mieu ca je suis prenneur

  5. #5
    Membre averti Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Points : 386
    Points
    386
    Par défaut
    voilà la fonction pour dessiner une carte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cdtDraw(DC:HDC;X,Y,Card,Typ:Integer;Color:TColor):Integer;

  6. #6
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Et tu peux nous donner la partie de code où tu l'appelles?

  7. #7
    Membre averti Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Points : 386
    Points
    386
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TBlackJack.PBPaint(Sender: TObject);
    begin
    cdtdraw(PB.Canvas.handle,pos,0,gDeck[arrptr],0,clWhite);
    end;
    voilà, pour la position le arrptr je les auguemente en haut pour afficher la prochaine cartes et ainsi donner une position décalé.
    Voilà aussi
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    procedure TBlackJack.btnOKClick(Sender: TObject);
    begin
    btnOk.Enabled:=false;
    Mise:=strtoint(edtMise.Text);
    if mise<100 then
     begin
       showmessage('We are not on sunday ! it must be 100€ or higher');
       edtMise.Text:='';
       edtmise.SetFocus;
     end
      else
    if mise>solde then
    begin
       showmessage('be aware, the security men are here');
       edtMise.Text:='';
       edtmise.SetFocus;
     end
      else
    if (mise=0)then
        showmessage('Leave the game if you don''t have money')
        else
       begin;
    solde:=solde-mise;
    edtSolde.Text:=inttostr(solde);
    edtAsvalue.Enabled:=true;
    edtcounter.Enabled:=true;
    btnHint.Enabled:=true;
    btnstand.Enabled:=true;
    btndouble.Enabled:=true;
    PB.visible:=true;
     
    play();
      end;

  8. #8
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Donne plutot le code de ton OnPaint...

  9. #9
    Membre averti Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Points : 386
    Points
    386
    Par défaut
    lol, c'est celui au dessus, PBPain
    et voici le code de play():
    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
    procedure TBlackJack.Play();
    begin
    arrptr:=arrptr-1;
    Player:=gDeck[arrptr];
    GetCardValue(Player);
    pos:=0;
    edtcounter.text:=inttostr(Player);
    PB.refresh;
    arrptr:=arrptr-1;
    Valeur:=Player;
    Player:=gDeck[arrptr];
    GetCardValue(Player);
    pos:=pos+5;
    edtCounter.Text:=inttostr(Player+Valeur);
    PB.refresh;
    end;

  10. #10
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Désolé, j'avais pas vu... mais maintenant, je comprends pourquoi tes cartes s'affichent tout le temps: si tu ne mets pas de condition dans ton PBPaint, les cartes s'afficheront tout le temps

  11. #11
    Membre averti Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Points : 386
    Points
    386
    Par défaut
    mouais ca ce n'est pas un trés problème, avec un p'tit .hide ca ira, mais pour éffacer c'est mon horrible cauchemar :s

  12. #12
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    772
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 772
    Points : 500
    Points
    500
    Par défaut
    je comprends pas tout dans ton explication, mais si le but de ta manip est d'effacer un tirage , donc de revenir en arriere , dans l'etat qui etait avant de faire le dernier tirage , pourkoi ne pas sauvegarder a ce moment là ton paintbox ( avant le tirage ) dans un bitmap et ensuite le recopier dans ton paintbox quand tu veux enlever ton tirage !
    bye.

  13. #13
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par Goundy
    mouais ca ce n'est pas un trés problème, avec un p'tit .hide ca ira, mais pour éffacer c'est mon horrible cauchemar :s
    Non ce que je veux te dire c'est que dans ton OnPaint tu n'a que le dessin des cartes sans conditions, donc quoi que tu fasses, les cartes s'afficheront

  14. #14
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    solution rapide, avant le dessin du prochain tirage dessin un grand réctangle,, sa te va
    he Pierre Castelain ne te fache pas, ok?
    Une petit note, pouroi pas crée un objet pour vos cartes de genre:
    par example:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
       ttt=class
            imag;
            position:TPoint
            ...
        end;
       var gk:array[1..nbr_carte] of ttt;

  15. #15
    Membre averti Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Points : 386
    Points
    386
    Par défaut
    je suis un débutant en delphi

Discussions similaires

  1. Afficher les cookies, effacer les cookies?
    Par icekev dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/03/2010, 11h05
  2. [XL-97] Afficher/Effacer différentes images en VBA
    Par leunam dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/07/2009, 13h29
  3. Réponses: 5
    Dernier message: 21/03/2006, 12h43
  4. afficher/effacer des <tr> sous Firefox
    Par Macintoc dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2005, 11h10

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