UTILISATION SIMPLE DE TGRAPHICCONTROL

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 21 janv. 2005 à 16:43
coopertel Messages postés 12 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 8 février 2006 - 25 janv. 2005 à 09:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28973-utilisation-simple-de-tgraphiccontrol

coopertel Messages postés 12 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 8 février 2006
25 janv. 2005 à 09:32
Bonjour,

Le source vient bien de mon dossier Mes_Merdes. J'organise mon ordinateur comme il me fait plaisire. Mes_Merdes c'est assez clair pour les autres personnes qui l'utilise (qui utilise mon ordinateur).

Le nouveau source que j'ai mis à disposition ajoute les éléments suivants :
LE bitMap n'est pas créé dans l'objet Tgraphiccontrol mais lui est donné via la propriété BitMap (que j'ai ajouté).
Le bitmap est créé dans le show de la fiche (pourquoi le show de la fiche : il fallait créer un bitmap, je l'ai créé la ou j'ai pu...).

Le but de mon source c'était de dire :
Pour dessiner en utilisant un Tgraphiccontrol il est nécessaire de faire les étapes suivantes : liste des étapes.
DelphiProg m'as très justement indiqué que l'utilisation du stylo est lourde et peu utilie, elle peux être fait différemment... donc cela modifie la liste des étapes (je n'ai pas encore intégré les indications de delphiprog, je vais le faire bientôt). Le bitmap en question n'est pas la finalité du sujet, je sujet est : comme faire pour utiliser un t machin chose.

Ensuite je voulais monter qu'on pouvais en faire un composant de la palette graphique. La remarque de Nono est juste, les click bouffe de la mémoire, mais mon objectif était de faire un fond de quelque chose le composant issue de ce petit source.

Bien entendu je suis encore loin du compte, mais apparemment je suis en bonne voie vu les différentes aides que vous m'apportez.

Donc merci de vos commentaires, je vais mettre régulièrement ce source à jour, pour arriver à faire ce que je viens d'énoncer et j'éspère avoir toujours un avis de vos yeux avertis....

David
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
22 janv. 2005 à 19:13
coopertel >
Cette source viendrait-elle de ton dossier :
"E:\Program Files\Borland\Developpements\Mes_Merdes" ?
je ne rigole pas ! c son dossier, c'est ecrit dans le .dsk ...
en tout cas, la mise a jour ne concerne en rien la modif du ~.free mal placé ...
mais que mets-elle a jour ?
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
22 janv. 2005 à 18:56
Je ne comprends plus rien. Le code présenté ici par coopertel n'a plus rien à voir avec celui qu'il m'a envoyé par mail au moment où j'écris ces lignes !!!
Je dirais même plus : que nous apprend ce code ?
Ben, à dire vrai : rien (mise à jour du [21/01/2005 17:13:11] ), même pour un débutant.

Merci à Juliodelphi qui s'est donné la peine de fournir des explications. Puisse-t-il être entendu !
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
22 janv. 2005 à 09:51
ok

et bien voici :

avec "with Mon_Bitmap do begin ... end;" me remplace l'écriture de Mon_Bitmap.~ a chaque fois.
donc au lieu de :

Mon_Bitmap := TBitmap.Create;
Mon_BitMap.height:=256;
Mon_BitMap.width:=256;
Mon_BitMap.Canvas.Pen:=Stylo;
Mon_BitMap.Canvas.Polyline(Tab_Point);

je fais :

Mon_Bitmap := TBitmap.Create;
with Mon_BitMap do begin
width:=256;
Canvas.Pen:=Stylo;
Canvas.Polyline(Tab_Point);
// etc etc
end;

le "with" est un raccourci pour mettre en référence des champs d'enregistrement(record), des propriétés, ou des méthodes d'objets. Il s'utilise aussi comme ceci :
with objet1, ..., objetn do ...;
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
22 janv. 2005 à 09:18
Coopertel, n'oublie pas de regarder le projet corrigé que je t'ai renvoyé par mail.
Tu y trouveras, à peu de choses près, les mêmes critiques que mes éminents collègues ci-dessus.

"Je vais corriger les fautes graves... Dans un prochain source." : demande d'abord conseil sur le forum, c'est fait pour ça.

Allez, tu es sur la bonne voie avec toutes nos indications.

JulioDelphi : pourrais-tu lui expliquer les raisons de ta proposition de code. Il ne suffit pas de lui écrire ce qu'il doit faire. Il faut aussi lui expliquer pourquoi, ça lui sera surement plus utile pour l'avenir et pour tous les débutants qui liront cette page. Si tu vois ce que je veux dire...
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
21 janv. 2005 à 17:16
aie aie oui je confirme, toto est très gourmand dans cette histoire (même pas drôle).
sinon un détail, pourquoi :
Mon_BitMap:=TBitmap.Create;
Mon_BitMap.height:=256;
Mon_BitMap.width:=256;

with Mon_BitMap do
begin
Canvas.Pen:=Stylo;
Canvas.Polyline(Tab_Point);
end;

au lieu de :
Mon_BitMap:=TBitmap.Create;
with Mon_BitMap do
begin
height:=256;
width:=256;
Canvas.Pen:=Stylo;
Canvas.Polyline(Tab_Point);
end;
=) voila
coopertel Messages postés 12 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 8 février 2006
21 janv. 2005 à 17:14
J'ai mis un nouveau zip avec un dpr...

Je vais corriger les fautes graves... Dans un prochain source.

A+
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
21 janv. 2005 à 17:09
Et supprimer les références aux unités perso, qui ne sont pas dans le zip et qui ne servent à rien.

A part ça, es-tu sûr qu'appeler Mon_BitMap:=TBitmap.Create dans la methode paint et de le libérer seulement dans TToto.Destroy ne cause pas de problème ! Clique un bon paquet de coups sur Dessiner et tu vas voir ! Bitmap après Bitmap on fini par tout bouffer ! "Espace insuffisant pour traiter cette commande".
Au lieu de "Dessiner" et "Effacer", il aurait été plus correct de mettre "Créer" et "Détruire" vu le code.

Bref, on va pas aller loin avec ça. Il y a quand même quelques "fautes graves" !

Ken@vo
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
21 janv. 2005 à 16:51
oui d'accord ... ou aussi > pourquoi faire simple quand on peut faire compliqué< :)
merci d'ajouter un .dpr "poubelle" pour les débutants =)
coopertel Messages postés 12 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 8 février 2006
21 janv. 2005 à 16:48
Bien évidemment ...
Je n'ai pas mis un projet en ligne mais juste une unité...

Tu ouvre un projet en t'as disposition (moi j'utilise un projet poubelle ou test que j'appel compilbiblio) et liu ajoute l'unité téléchargée...
voilà ..

A+
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
21 janv. 2005 à 16:43
me trompe-je ou il manque un .dpr ?