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

amiga68 Messages postés 54 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 21 décembre 2009 - 12 mars 2009 à 12:53
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 - 16 déc. 2011 à 16:17
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
16 déc. 2011 à 16:17
Re-bonjour,

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

A+.
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
16 déc. 2011 à 15:56
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+.
Utilisateur anonyme
16 déc. 2011 à 15:38
@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;
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
16 déc. 2011 à 15:12
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+.
assemple Messages postés 65 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 16 décembre 2011
16 déc. 2011 à 14:45
Pseudo 3 a dit :

"Mon objectif était justement d'éviter les balises pour la lisibilité mais à chacun ses choix. Par contre je n'ai jamais réussi à surligner le texte sous Delphi 5."

TextHTMLOut remplace les balises par des changements d'attribut

TextHTMLOut( uncanvas, 'Gras Italique Souligné <S>Surligné</S>', X, Y...) ;
affiche gras en gras, italique en italique, etc.

J'ai créé une fonction qui affiche une boite de message dont le message peut contenir des balises HTML :

Function BM( Titre : String ; Message : String ; Boutons : String = 'Ok') : Word ;
Titre : texte apparaissant dans la barre de titre de la fenêtre
Message : message avec ou sans balises HTML
Boutons : nom des boutons séparés par des #13 (#13 ? peut importe). Exemple : 'Oui#13Non#13Peut-être'

2 trucs que je trouve biens.
- Le message est enrichi d'attributs de mise en forme (Police (nom, taille, couleur, style) Alignement des paragraphes (à gauche, à droite ou centré). Le message est mis en valeur.
- Une liberté totale dans les noms des boutons. On n'est plus limités au classiques : Oui, Non, Ok, Abandoner, Tous, etc.
assemple Messages postés 65 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 16 décembre 2011
16 déc. 2011 à 14:13
Canvas.Brush.Style := bsSolid a pour effet (entre autres) d'appliquer la couleur du Brush comme couleur de fond de TextOut

Canvas.Brush.Color := clBlue a pour effet de mettre le style du Brush à bsSolid (en plus de l'affectation de sa couleur)

Voir extrait du code de la VCL :

procedure TBrush.SetColor(Value: TColor);
var
BrushData: TBrushData;
begin
GetData(BrushData);
BrushData.Color := Value;
if BrushData.Style = bsClear then BrushData.Style := bsSolid;
SetData(BrushData);
end;
assemple Messages postés 65 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 16 décembre 2011
16 déc. 2011 à 14:06
Post scriptum :
--------------

Pourquoi avoir mis EXIT au début de FormPaint ?
C'est joli le SO4 qu'il affiche !

; )
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
16 déc. 2011 à 11:59
Bonjour,

"J'ai pas aimé : - le formatage du source (espaces et indentation)"
... Question de goût : moi j'aime pas les indentations du style squelette interminable avec une seule instruction par ligne. (lol)

"J'ai donc pompé la fonction" : Bonne nouvelle, au moins elle servira à quelqu'un!!!

"... et j'ai ajouté les balises <S> et </S> qui surlignent le texte qu'elles encadrent" : Mon objectif était justement d'éviter les balises pour la lisibilité mais à chacun ses choix. Par contre je n'ai jamais réussi à surligner le texte sous Delphi 5.

A+.
assemple Messages postés 65 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 16 décembre 2011
16 déc. 2011 à 10:30
J'ai aimé :
- Faire une Fonction et pas un objet

J'ai pas aimé :
- le formatage du source (espaces et indentation)

J'ai donc pompé la fonction, l'ai renommée TextChimiqueOut (comme canvas.TextOut), reformaté.

J'ai moi-même développé un fonction qui ecrit dans un canvas du code HTML : TextHTMLOut( CanvasCible : TCanvas ; HTML : String ; X, Y : Integer ...
TextHTMLOut ne gère pas toutes les Balises et j'ai ajouté les balises <S> et </S> qui surlignent le texte qu'elles encadrent.
<S> surligne en jaune fluo, et <S#RRVVBB> surligne en TColorHTML($RRVVBB) [TColor windows c'est $BBVVRR]
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
14 mars 2009 à 16:33
Re-bonjour,

Je viens de trouver un léger bug dans le code posté ce jour 14/03/2009 15:20:25 : Remplacer la procedure RedSuiteText() par celle-ci : (sinon il y a décalage des caractères mis en indice ou exposant lorsqu'on ajoute le 1er mot dans un RichEdit vide, et le décalage se propagerait à la suite)

procedure RedSuiteText( RE : TRichEdit; s : string; CharPos : TCharPos; FontName : string; SizeFont : integer;
Styl : tFontStyles; Coul : TColor);
var ss : integer;
begin ss:=length(re.text); if (ss>0) and (re.text[ss]=#10) then dec(ss);
with RE do
begin if ss=0 then lines.add(''); //<- Ajouté
SelStart:=ss;
SelText:=s;
SelStart:=ss-1;
SelLength:=length(s);
end;
RedSelectionEnIndiceExposant(RE,CharPos);
with Re.SelAttributes do
begin name:=FontName; size:=SizeFont; Style:=Styl; color:=Coul; end;
Re.SelLength:=0;
end;

Cordialement et à +
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
14 mars 2009 à 16:09
Merci pour l'info.

Cordialement et à +
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 mars 2009 à 15:44
Tu peux aussi aller dans Options Internet => Supprimer les fichiers temporaires c'est plus commode ;)

Cordialement, Bacterius !
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
14 mars 2009 à 15:34
Comme le disait Cirec mon navigateur utilisait encore l'image qu'il avait en cache.
J'ai fait un Nettoyage de mon disque pour virer les "Temporary Internet Files" et en revenant ici j'ai bien la nouvelle capture.

Cordialement et à +
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
14 mars 2009 à 15:20
Re-bonjour,

A Cirec : "stop stop stop la capture est à jour depuis hier .. si vous ne la voyez pas chez vous c'est que votre navigateur utilise encore l'image qu'il a en cache !!!!" : OK merci pour l'info ... j'arrête mes tentatives inutiles... on saura qu'il s'agit d'une ruse de notre navigateur.

A Bactérius : Merci quand-même pour tes suggestions.

A Amiga68 : Content que tu sois content. Merci pour le "superbe".

"Petit défi : trouver une manière d'afficher la formule dans un traitement de texte (par exemple, permettre un copier-coller)" : C'est faisable avec des TRichEdit : voiçi un bout de code que j'utilise pour tracer une équation polynomiale dans un RichEdit :

type TCharPos = (Indice, Exposant, Normal);

procedure redParagraph( RE : tRichEdit; Alig : char; MargeG,Retrait,MargeD : Longint);
// Ali = g c ou d selon gauche, centré, droite
begin RE.SelStart:=length(RE.text);
with RE.Paragraph do
begin case alig of
'c' : Alignment := taCenter;
'd' : Alignment := taRightJustify;
'g' : Alignment := taLeftJustify;
end;
LeftIndent := MargeG;
FirstIndent := Retrait;
RightIndent := MargeD;
Numbering:=nsNone; //<- remplaçable par un chr de WingDings ou WebDings
end;
RE.Update;
end;

procedure RedSelectionEnIndiceExposant(RE : TRichEdit; CharPos : TCharPos);
var Format: TCharFormat; // infos sur formattage de caractères RichEdit (voir SDK Win)
DeltaY : integer;
begin DeltaY := abs((55*RE.Font.Size) div 8);
FillChar(format, SizeOf(Format), 0);
with Format do
begin cbSize := SizeOf(Format);
dwMask := CFM_OFFSET; // Pour positionnement deltaY du caractère
case CharPos of
Exposant : yOffset :DeltaY; //<- en twips 1 twip 1/1440 pouce ou 1/20 point.
Normal : yOffset := 0;
Indice : yOffset := -DeltaY; //négatif en twips
end;
end;
// Transfert du formattage des caractères dans la sélection du RichEdit
SendMessage(RE.Handle, EM_SETCHARFORMAT, SCF_SELECTION, LPARAM(@Format))
end;

procedure RedSuiteText( RE : TRichEdit; s : string; CharPos : TCharPos; FontName : string; SizeFont : integer;
Styl : tFontStyles; Coul : TColor);
var ss : integer;
begin ss:=length(re.text); if (ss>0) and (re.text[ss]=#10) then dec(ss);
with RE do
begin SelStart:=ss;
SelText:=s;
SelStart:=ss-1;
SelLength:=length(s);
end;
RedSelectionEnIndiceExposant(RE,CharPos);
with Re.SelAttributes do
begin name:=FontName; size:=SizeFont; Style:=Styl; color:=Coul; end;
Re.SelLength:=0;
end;

// Exemple d'utilisation pour Fi = ai.x22 avec les i en indice et le 22 en exposant :

procedure TfrmTrace.SpeedButton4Click(Sender: TObject);
var i,TN,TIE : integer;
begin TN:=16; TIE:=round(TN*3/5);
RichEdit1.lines.add(' ');
RedSuiteText(RichEdit1,#13#10+'F',normal,'Arial',TN,[],clBlack);
RedSuiteText(RichEdit1,'i',indice,'Arial',TIE,[],clRed);
RedSuiteText(RichEdit1,' = a',normal,'Arial',TN,[],clBlack);
RedSuiteText(RichEdit1,'i',indice,'Arial',TIE,[],clRed);
RedSuiteText(RichEdit1,'.x',normal,'Arial',TN,[],clBlack);
RedSuiteText(RichEdit1,'22',exposant,'Arial',TIE,[fsBold],clBlue);
RedSuiteText(RichEdit1,#13#10+chr(252),exposant,'Webdings',20,[],clBlue);
RedSuiteText(RichEdit1,chr(84),exposant,'Webdings',20,[],clBlue);
RichEdit1.lines.add('fin du mini polynôme');

redParagraph(RichEdit1,'g', 0, 60, 0);
RichEdit1.lines.add('');
for i:=139 to 144 do
begin RedSuiteText(RichEdit1,#13#10+chr(i),normal,'WingDings',12,[],clRed);
RedSuiteText(RichEdit1,' Tagada '+intToStr(i),normal,'Arial',12,[],clBlue);
end;
end;

... Reste plus qu'à modifier le code des formules chimiques et au lieu de tracer la formule sur un canvas tu envoies le caractère courant à la suite du texte du RichEdit.
YaplusKa !!! Cela ne devrait pas prendre beaucoup de temps.

Cordialement et à +
amiga68 Messages postés 54 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 21 décembre 2009
14 mars 2009 à 12:22
Amiga68 est content : le petit Bug est corrigé !!!
Cela devient superbe !
Petit défi : trouver une manière d'afficher la formule dans un traitement de texte (par exemple, permettre un copier-coller)... Je m'y étais attelé il y a quelque temps, mais manque de temps et non communicable en l'état...
Je garde le tout sous le coude, et j'essaierai lorsque j'aurais du temps...
Utilisateur anonyme
14 mars 2009 à 10:44
ps: et toutes vos tentatives et astuces ne servent à rien
à part faire monter le trafic inutilement !!!!
Utilisateur anonyme
14 mars 2009 à 10:42
stop stop stop

la capture est à jour depuis hier .. si vous ne la voyez pas chez vous c'est que votre navigateur utilise encore l'image qu'il a en cache !!!!
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 mars 2009 à 10:42
Euh non pour supprimer la source il faut demander à l'admin.
Mais ce que tu peux faire, c'est :

T = 0 : tu modifies ton code et tu coches les 2 cases "supprimer le zip et la capture"

T = 1H : tu repostes le zip et la capture

T = 2H : tu regardes si la capture est tjrs la

Cordialement, Bacterius !
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
14 mars 2009 à 10:35
Re-bonjour,

J'ai fait :
- une tentive de remplacement de la capture avec changement du nom : échec.
- une tentative de suppression de la capture : réussi.
- une tentative d'ajout de la nouvelle capture avec changement de nom : bigre, c'est l'ancienne capture qui s'est repointée !!!

Y a-t-il une possibilité de supprimer carrément tout et de recommencer à zéro ?

A+
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
14 mars 2009 à 10:08
Bonjour,

A BluePerfect : "Nan, pour la flèche, je rigole, mais par contre ton source est chouette..." : Merci pour la chouette, mais pourquoi tu rigoles pour la flèche ? J'allais quand même pas faire une usine à gaz pour tracer une flèche. (Ergonomie bien ordonnée commence par soi même).

"A quand la représentation 3D de la formule chimique ?" : J'ai déjà trouvé un code qui fait cela, si ça t'intéresse dis le et j'essayerai de retouver sur quel site.

A Bacterius : Merci pour ton tuyau : Je vais tenter une dernière fois de remplacer la capture en changeant son nom.

Cordialement et à +
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
13 mars 2009 à 19:19
@Pseudo23 : fait mal connu sur ce site : il faut spécifier des noms de fichier différents pour la mise à jour. Par exemple, si ta capture (ou ton zip !) était "C:\Img.jpg", il faut faire un autre truc genre "C:\ImgMAJ.jpg", sinon ça ne changera pas.

En tout cas c'est ce que j'ai constaté ...
Et si ça marche toujours pas c'est qu'il faut un peu de temps pour appliquer les modif's.

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
13 mars 2009 à 16:48
>>pseudo3
Nan, pour la flèche, je rigole, mais par contre ton source est chouette...

A quand la représentation 3D de la formule chimique ?
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
13 mars 2009 à 13:42
Bonjour,

Merci Cirec : j'ai pu remplacer le Zip.
Par contre la nouvelle capture qui devait remplacer l'existante n'a pas été prise en compte. J'ai refait plusieurs tentatives de remplacement mais cela n'a pas marché. Le fichier .jpg fait seulement 53 Ko.

A+
Utilisateur anonyme
13 mars 2009 à 12:01
"Au fait, pour remplacer le zip publié par le nouveau on passe par où ?"

par ici ^^

en haut de page juste en dessous de: "Information sur la source"
il y a un lien: "Modifier ce code"
tu cliques dessus et tu suis les indications.
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
13 mars 2009 à 10:14
Bonjour,

A Bactérius : De 1) à 4) OK. (j'avais complètement oublié qu'il s'agissait de fichiers autogénérés !)

A propos de la flèche : Je partage l'avis de bactérius : je vais faire le plus simplement possible en remplaçant la flèche '=>" par celle du chr(240) de la fonte WingDings et si quelqu'un veut personnaliser il ou elle pourra toujours choisir un autre chr(). La flèche en question prendra donc automatiquement la taille de la de la police employée sans se compliquer la vie.

Au fait, pour remplacer le zip publié par le nouveau on passe par où ?

A+
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
12 mars 2009 à 20:51
Pourtant, tu sais Bactérius, le fait d'avoir à sa disposition un tracé de flèche (que tu orientes selon l'angle que tu veux, etc...) est une fore dans une librairie...

Mais il est vrai que tout se code est fastidieux au premier abord (ainsi que le code sous-jacent)...

C'est pour cela que je ne poste pas de sources. Ma librairie est importante de 30.000 lignes de code, regroupant les thèmes de la Géométrie, des Mathématiques, de l'exploration de Texte, des forces Physiques...et surtout, c'est du Pascal pur (autant dire portable !).
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
12 mars 2009 à 20:46
Beaucoup de code pour une simple flèche. Ceci peut être interessant dans un logiciel spécialisé, mais se révèle plutôt inutile ici. Plutôt faire une flèche une fois pour toutes, la charger en ressources et voilà.

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
12 mars 2009 à 20:43
"Pour la cotation une flèche est un dessin en forme de V placé selon son axe de symétrie sur une ligne de cote et dont la pointe indique une limite de la cote. La flèche n'est pas considérée comme du trait, mais comme de l'écriture et donc correspond au style et la grandeur de la police employée. Dans certaines conditions, la flèche peut être dessinée sous forme d'un point." (http://fr.wikipedia.org/wiki/Fl%C3%A8che)

Pratiquement, une flèche de A vers B est un trait de A vers B, lié à deux traits de B vers A d'une longueur définie, et décalé d'un angle de + et - alpha.

En p-code, et pour une flèche avec une pointe de 20°

MoveTo( _A.x, _A.y);
LineTo(_B.x, _B.y);

// Get Unit Vector
_vector := D2Vector(_B, _A);
_vector := DoFactor(_arrowsize / DoFar(_A, _B), _vector);

_C.x := _B.x + _arrowwidth * _vector.x;
_C.y := _B.y + _arrowwidth * _vector.y;

_over.Polygon([ Point(_B),
Point(DoRoll( _C, -20, _B)),
Point(DoRoll( _C, +20, _B))
]);
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
12 mars 2009 à 19:44
@BluePerfect : c'est une façon comme les autres de tracer une flèche :p

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
12 mars 2009 à 19:34
4) bien le bonjour pour le tracé de la flèche... lol

A quand les vecteurs avec une flèche ?
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
12 mars 2009 à 18:22
1) oui mais pas dans ton code ^^

2) oui, il s'agit de fichiers de sauvegarde ou auto-générés par Delphi

3) ouais, mais tu peux le faire quand même :}

4) Ben ouais pourquoi pas ? ^^

Cordialement, Bacterius !
cs_pseudo3 Messages postés 268 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 2 février 2021 1
12 mars 2009 à 18:14
Bonjour,

1) Pas bien pigé "H2O ==> H2" ? le O disparaît ? En principe rien ne se crée et rien ne disparaît : tout se transforme.

2) Nettoyer mon zip : ".dcu, .dsk, .cfg, .dof => a la poubelle !" : Comme c'est le premier code que j'ai placé sur ce site j'ai tout mis. Et si on enlève ces fichiers le zip reste utilisable ?

3)"variable Med inutilisée d'après le compilateur " : si le compilo le dit y'a qu'à la virer.

4) "pourquoi ne pas convertir les caractères "=>" en vraie flèche pour montrer la réaction chimique ?" : tout simplement parceque j'avais la flemme le jour où j'ai tricoté ce code. lol ... mais on pourrait utiliser simplement l'une des flèches qu'on trouve dans la fonte WebDings ou WingDings.

A+
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
12 mars 2009 à 17:04
Très bon, comme dit Amiga68 problème avec un seul atome genre H2O, sinon l'ensemble est sympa. Petit conseil, la variable Med n'est pas utilisée d'après le compilateur :)
J'ai une idée d'amélioration : pourquoi ne pas convertir les caractères "=>" en vraie flèche pour montrer la réaction chimique ?
Sinon, H+- donne H2+ ... mais enfin qui serait assez stupide pour enlever puis ajouter un électron à un atome ;)

Cordialement, Bacterius !
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
12 mars 2009 à 16:59
Bonne idée ça, mais tu peux nettoyer un peu plus ton zip : .dcu, .dsk, .cfg, .dof => a la poubelle !

Je teste avec le bacterium de potassium :)

Cordialement, Bacterius !
blueperfect Messages postés 234 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 21 novembre 2013
12 mars 2009 à 16:59
ça à l'air beau !
amiga68 Messages postés 54 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 21 décembre 2009
12 mars 2009 à 12:53
Petit bug lorsqu'un atome est présent une seule fois : H2O ==> H2
Rejoignez-nous