COMMENT DESSINER SUR UN TCANVAS LE TEXTE D'UNE FORMULE CHIMIQUE AVEC INDICES ET

Signaler
Messages postés
54
Date d'inscription
dimanche 23 février 2003
Statut
Membre
Dernière intervention
21 décembre 2009
-
Messages postés
268
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
2 février 2021
-
Messages postés
268
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
2 février 2021

Re-bonjour,

OK, vu il s'agissait d'un EXIT que j'ai oublié d'enlever !!! Je vais donc faire une mise à jour.

A+.
Messages postés
268
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
2 février 2021

Bonjour Cirec,

"tu vois ... avec une indentation plus "standard" tu aurais vu l'instruction "Exit;" du premier coup d'oeil."

Voici un copier-coller de ma FormPaint : Je n'y vois aucun EXIT !!!???.

procedure TForm1.FormPaint(Sender: TObject);
var i,x,y : integer;
R,G,B,dr,dg,db : byte; //<- pour tracé avec ombre (pendant qu'on y est)
begin Canvas.Brush.Style:=bsClear;
Canvas.Font.Size:=48;
x:=20; y:=5;
R:=GetRValue(ColorToRGB(Color)); G:=GetGValue(ColorToRGB(Color));
B:=GetBValue(ColorToRGB(Color));
dr:=round(R/6); dg:=round(G/6); db:=round(B/6);
for i:=5 DownTo 0 do
begin dec(R,dr); dec(G,dg); dec(B,db);
Form1.Canvas.Font.Color:=RGB(R,G,B);
if i=0 then Form1.Canvas.Font.Color:=clYellow;
FormuleChimVersCanvas(Form1.canvas, 'SO4--', x+i, y+i);
end;
end;

S'agirait-il d'un EXIT que j'ai oublié d'enlever ??? Je vais donc télécharger le ZIP d'ici et faire une mise à jour si nécessaire.

J'en profite, comme tu m'as dit sur un autre topic "Certains experts comme Formatter, Gexperts, FastCube etc indentent automatiquement le code de cette manière, ce qui au final est plus pratique car du coup on ne pose plus de questions" :
... J'ai essayé de télécharger Gexperts puis FastCube mais ils ne fonctionnent pas sous Delphi 5 et Formatter je ne l'ai pas trouvé sur le net.
Sinon ça me permettrait de conserver mon indentation "crade" que j'aime puis de passer le code à la moulinette avent de publier un code.

A+.
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
44
@Pseudo3:

"
1) "Pourquoi avoir mis EXIT au début de FormPaint ? "
... Bigre, je n'ai pas trouvé d'EXIT dans FormPaint ???
"

tu vois ... avec une indentation plus "standard" tu aurais vu l'instruction "Exit;" du premier coup d'oeil.

procedure TForm1.FormPaint(Sender: TObject);
var i,x,y : integer;
R,G,B,dr,dg,db : byte; //<- pour tracé avec ombre (pendant qu'on y est)
begin EXIT;
...
end;
Messages postés
268
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
2 février 2021

Re-bonjour,

1) "Pourquoi avoir mis EXIT au début de FormPaint ? "
... Bigre, je n'ai pas trouvé d'EXIT dans FormPaint ???

2) "Canvas.Brush.Style := bsSolid a pour effet (entre autres) d'appliquer la couleur du Brush comme couleur de fond de TextOut"
... oui mais ça marche seulement avec des éléments qui possèdent un Canvas accessible. Mais avec un RichEdit c'est la galère.

3) "TextHTMLOut()" : OK, ça doit être super ... mais ça n'existe pas sous Delphi 5.

A+.
Afficher les 36 commentaires