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

Lazarus Pascal Discussion :

Informatique et magie (pour amuser Gilles)


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 142
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 142
    Par défaut Informatique et magie (pour amuser Gilles)
    C'est le quart d'heure détente :

    allez, le même code, y a que le pointeur vers la source d'images qui change, les sources sont des TImageList remplies d'images .png d'abord redimensionnées avec The Gimp.

    En haut, les 4 images font 36x36, c'est quoi ce trait qu'elle a dans sa couronne, la reine ? :

    Nom : promo36.png
Affichages : 232
Taille : 11,1 Ko

    Et en bas, avec les images 24x24, c'est quoi ce truc qu'il a sur le côté, le fou ? Et dans la couronne royale, le "machin" s'est amplifié...

    Nom : promo24.png
Affichages : 226
Taille : 12,5 Ko

    Regardez l'image à droite, c'est la liste d'images 24 (je n'ai pas mis les 36, elles sont parfaites aussi) en mode édition (Clic droit / éditeur de liste d'images...), on voit bien qu'il n'y a rien de plus que ce qu'il faut.

    Et je dessine ça avec un bête ImgList.Draw(aCanvas, les_params_pour_aRect), donc je ne contrôle rien, je ne maîtrise rien, sur ce coup-là (pas comme avec le rectangle bleu, qu'il faut adapter selon qu'il est à gauche, au centre ou à droite ! Oui môssieur, cet animal se déforme selon son emplacement, on peut oublier aCanvas.FrameRect et autres -- mais ça dépend de la form et de la grid où il se trouve, un vrai truc de malade : j'ai 3 forms, chacune sa grid, et chacune son code pour le carré bleu ! On croit rêver...)

    Ah, avec les pièces noires le défaut du fou persiste, mais pas celui de la reine (qui est présent à toutes les tailles d'image, en blanc) ; je viens de regarder attentivement les fichiers .png d'origine avant de poster ça : ils sont parfaits à toutes les tailles et aux deux couleurs...

    C'est pour ça qu'il y a des fois où j'ai envie de tout passer par la fenêtre, parce que face à ça, je me sens vraiment démuni et ne sais plus quoi faire...

    Valà, c'était le quart d'heure passage de la mauvaise humeur aux copains, faut partager,

  2. #2
    Rédacteur

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Billets dans le blog
    84
    Par défaut
    Citation Envoyé par Jipété Voir le message
    C'est le quart d'heure détente

    Valà, c'était le quart d'heure passage de la mauvaise humeur aux copains, faut partager,
    Voilà ce que j'ai ressenti :


    Mais finalement :



    Peux-tu tout envoyer en pièce jointe ? Je vais me défouler sur Linux...

    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  3. #3
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 142
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 142
    Par défaut
    Citation Envoyé par gvasseur58 Voir le message
    Peux-tu tout envoyer en pièce jointe ? Je vais me défouler sur Linux...

    Gilles
    Je peux le faire Chessgame.zip

    Il y a 4 unités (et 4 fiches), la principale a un nom barbare, c'est pour ça que j'explique : unitcandc, avec candc pour Commands and Control, comme pour les warez,
    Il y a aussi des composants posés mais pas opérationnels pour le moment, et il n'y a toujours aucune intelligence, donc pour tester par exemple la promotion, tu prends un pion et tu le poses directement sur la dernière ligne d'en face au mépris de toute règle, mais tu verras la form s'afficher.

    Ah, le machin est en mode debug (y a un $IFDEF quelque part).

    Bon courage,

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 244
    Par défaut
    les icônes m'ont l'air correctes quand on les dessine dans une combobox :
    j'ai créé une imagelist avec des 6 pièces blanches de taille 24 voici ce que cela donne :

    Nom : Capture du 2015-05-26 11:18:33.png
Affichages : 209
Taille : 16,6 Ko

    La comboBox est de style CsOwnerDrawVariable et le code de l'événement onDrawItem est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.CbPiecesDrawItem(Control: TWinControl; Index: Integer;
      ARect: TRect; State: TOwnerDrawState);
      var
        cnv: TCanvas;
      begin
        if not (Control is TComboBox) then Exit;
        cnv:=TComboBox(Control).Canvas;
        Imagelist1.Draw(cnv, ARect.Left+2, Arect.Top+2, index);
      End;
    avec une initialisation dans le Oncreate de la Form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.FormCreate(Sender: TObject);
    var I : integer;
    begin
      cbPieces.Items.Clear;
    For I := 0 To 5 Do
      cbPieces.Items.Add('1');
    cbPieces.ItemIndex := 0;
    end;

  5. #5
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 142
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 142
    Par défaut
    Allez, encore un petit tour de magie, et d'autant plus magique que je n'arrive pas à le reproduire...

    Le contexte : une form et en haut à droite une petite stringrid que j'affiche ou pas en cliquant sur un bouton.

    Ben quand je demande l'affichage, y a un petit trait qui se rajoute sur le côté gauche, je l'ai entouré de rouge transparent :

    Nom : petit-trait.jpg
Affichages : 199
Taille : 33,9 Ko

    Le problème a disparu quand j'ai rajouté un panneau aligné en haut et la form sans resize possible, mais est-ce que ça a un rapport ? J'ai essayé de remettre la form resizable mais le trait n'est pas réapparu...
    Ceci étant dit, je n'ai pas rêvé, sinon à quoi bon faire une copie d'écran ?

    Gilles, tu es parti avec la teutonne ?

  6. #6
    Rédacteur

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Billets dans le blog
    84
    Par défaut
    Gilles, tu es parti avec la teutonne ?
    Non, non, j'ai pensé que les lumières des intervenants étaient plus éclairantes que la mienne

    Bonsoir,

    Je vais finir par faire venir un exorciseur . La copie d'écran peut servir de preuves, mais je ne sais pas ce qui a été trafiqué, car les erreurs et les bogues sont au moins reproductibles... sauf magie noire ou envoûtement vaudou.
    Concernant l'affichage, les sources de problèmes sont multiples :
    • le programmeur qui fait une erreur minime mais aux conséquences fâcheuses (je me souviens de quelques pixels parasites et apparemment aléatoires sur un petit dessin : en fait, j'avais un support genre TPanel et ce qu'on entrevoyait parfois, c'était une portion de sa légende (caption) ) ;
    • l'OS qui délire dans certaines circonstances (comme avec le timer de l'autre discussion qui ne sait pas descendre en dessous de 10 ms) ;
    • Lazarus qui a laissé traîner quelques cochonneries...

    Autant dire que je ne me risquerais pas à un pronostic...En bref, j'ai pris l'habitude de me servir de ce qui me semble le plus stable tout en sachant que la perfection n'est pas du monde informatique (de quel monde l'attendre ?).

    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  7. #7
    Membre Expert

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Par défaut
    Salut.

    Concernant ton problème d'affichage du stringgrid, plusieurs choses m'intriguent.

    Ben quand je demande l'affichage, y a un petit trait qui se rajoute sur le côté gauche
    Cela veut-il dire que tu as le problème à chaque affichage ? Si c'est le cas, je crois qu'on ne plus parler d'OS qui déconne. J'ai parfois sous Win7 des problèmes de rafraichissement correct (même hors programme Lazarus), mais c'est occasionnel.

    Ton petit trait à gauche est exactement situé au début de la colonne 1. Comme tu as demandé l'affichage des lignes verticales, d'après ce que je vois, le problème serait plutôt le non-affichage de l'entièreté de la ligne verticale. Tu pourrais faire un test en enlevant le dessin des lignes.
    Et c'est quoi cette ligne horizontale à gauche qui n'est pas dans l'alignement des lignes du Stringgrid ? Un vestige d'un composant placé en-dessous ?

    Cordialement
    Thierry

    Edit : Au moment de rendre le stringgrid visible, as-tu essayé un BringToFront ?

  8. #8
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 142
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 142
    Par défaut
    Yop !
    Citation Envoyé par ThWilliam Voir le message
    Salut.

    Concernant ton problème d'affichage du stringgrid, plusieurs choses m'intriguent.

    Cela veut-il dire que tu as le problème à chaque affichage ? Si c'est le cas, je crois qu'on ne plus parler d'OS qui déconne. J'ai parfois sous Win7 des problèmes de rafraichissement correct (même hors programme Lazarus), mais c'est occasionnel.
    Ben nan, comme déjà dit, ce petit trait a disparu, suite à je ne sais quelle manip...

    Citation Envoyé par ThWilliam Voir le message
    Ton petit trait à gauche est exactement situé au début de la colonne 1. Comme tu as demandé l'affichage des lignes verticales, d'après ce que je vois, le problème serait plutôt le non-affichage de l'entièreté de la ligne verticale. Tu pourrais faire un test en enlevant le dessin des lignes.
    Je vois ce que tu veux dire : ce petit trait serait un bout de l'affichage du trait vertical gauche qui, pour une raison qui nous échappe, n'est pas affiché sauf ce petit bout ? Encore plus mystérieux, alors !
    Tu pourrais faire un test en enlevant le dessin des lignes. Je ne vais pas me prendre la tête (j'ai d'autres chats à fouetter, voir par ailleurs), je voulais juste signaler un comportement curieux...

    Citation Envoyé par ThWilliam Voir le message
    Et c'est quoi cette ligne horizontale à gauche qui n'est pas dans l'alignement des lignes du Stringgrid ? Un vestige d'un composant placé en-dessous ?
    Non, pas un vestige, juste la bordure de la grille principale posée sur son panel (dont on voit le bevel, avec un width à 3). Cette grille cachée n'a rien d'esthétique, elle me sert d'aide-mémoire et n'a pas vocation à être joliment affichée, il n'empêche que le petit trait vertical ne devrait pas être là.
    Et d'ailleurs il n'y est plus.

    Citation Envoyé par ThWilliam Voir le message
    Edit : Au moment de rendre le stringgrid visible, as-tu essayé un BringToFront ?
    Juste un bouton avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      with sgHidden do
        if Visible = False then Visible := True else Visible := False;
    @Gilles : totalement impossible que ça soit un bout de composant dessous qui traîne, puisque le petit trait apparaissait avec l'affichage de la grille qui, d'ordinaire, est cachée.

    N'en parlons plus.

  9. #9
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    pour ce genre de bug graphique
    je fait en sorte de colorer distinctement les différent éléments afin de voir qui s'affiche avant tel autre et si par le plus grand des hasard il ne manque pas un rafraîchissement d’écran

    mes 2 Cents

  10. #10
    Rédacteur

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Billets dans le blog
    84
    Par défaut
    Citation Envoyé par Jipété Voir le message
    totalement impossible que ça soit un bout de composant dessous qui traîne, puisque le petit trait apparaissait avec l'affichage de la grille qui, d'ordinaire, est cachée.

    N'en parlons plus.
    Mais si, parlons-en : il semblerait que ce soit un bout à côté, et non en-dessous Bravo à Thierry !
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

Discussions similaires

  1. [Professionnalisation/Alternance] Informatique et Réseau pour l'industrie
    Par Arameya dans le forum Demandes
    Réponses: 0
    Dernier message: 27/07/2010, 17h25
  2. [Professionnalisation/Alternance] Ingénieur Informatique recherche entreprise pour Master 2 Management général à l'IAE d'Aix
    Par goutbouyo dans le forum Demandes
    Réponses: 0
    Dernier message: 22/07/2010, 14h29
  3. Réponses: 3
    Dernier message: 04/04/2009, 21h29

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