BARRE UTILITAIRE

Messages postés
1708
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
5 octobre 2019
- - Dernière réponse : japee
Messages postés
1708
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
5 octobre 2019
- 9 déc. 2007 à 16:03
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/44984-barre-utilitaire

Afficher la suite 
japee
Messages postés
1708
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
5 octobre 2019
1 -
"une plaque de 200X300 mm vaut 10€ et vous voulé savoir le tarif d'un bout de cette plaque 100X150 cliquer sur calculer et le resultat et de 5€"

C'est mal barré...
japee
Messages postés
1708
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
5 octobre 2019
1 -
Après vérif, on obtient 2,5 € et non 5 € comme tu l'affirmes plus haut.
Ouf... j'étais un peu inquiet, là.

Sinon, retire les ".~machin" et ".dpu" qui encombrent le zip et ne servent à rien.
ced55957
Messages postés
110
Date d'inscription
dimanche 2 mars 2003
Statut
Membre
Dernière intervention
19 juin 2012
-
ah oui dsl je viens de voir l'erreur je regle ça et je met à jour! merci
japee
Messages postés
1708
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
5 octobre 2019
1 -
ced55957, voici quelques conseils :

Il faut donner des noms plus explicites à tes variables :
"n10,n11,n12,n13,n1,n2,n4,n5,n6,n7", ça évoque pas grand chose,
"Long1, Larg1, Aire1,Long2, Larg2, Aire2", Prix, par exemple, ça cause plus.
Nommer les composants permet de mieux s'y retrouver dans le code.
"EditPrix" ou "edPrix" est plus évocateur que "Edit7.Text".
Une fonction séparée pour le calcul du prix aurait été plus intéressante à mon avis.
Le code est un peu lourd et redondant.
Voici un petit allègement (et encore...) avec quelques commentaires :

procedure TForm1.Button3Click(Sender: TObject);
var
Long1, Larg1, Aire1,
Long2, Larg2, Aire2,
PrixGros, PrixDetail : Extended;
begin
Long1 := StrToFloat(Edit1.Text);
Larg1 := StrToFloat(Edit2.Text);
Aire1 := Long1 * Larg1; // surface de la plaque de depart
Edit5.Text := FloatToStr(Aire1);

Long2 := StrToInt(Edit3.Text);
Larg2 := StrToInt(Edit4.Text);
Aire2 := Long2 * Larg2; // surface de la plaque à obtenir
Edit6.Text := Floattostr(Aire2);

// les 2 lignes suivantes sont inutiles :
//N11:=Strtofloat(Edit6.Text);
//N13:=Strtofloat(Edit5.Text);
PrixGros := StrToFloat(Edit7.Text);
PrixDetail := (Aire2 * PrixGros) / Aire1; //calcul le tarif de la plaque a obtenir
Edit8.Text := Floattostr(PrixDetail);

// ne pas mettre plusieur instructions sur la même ligne :
if PrixGros = 0 then
ShowMessage('Le tarif de la plaque de départ n est pas valide');

if Long2 > Long1 then
Edit3.Color := clred
else edit3.Color := clwhite;
if Larg2 > Larg1 then
Edit4.Color := clred
else Edit4.Color := clwhite;

// pourquoi pas, mais il va toujours rester comme ça :
edit8.Color := cllime;

// simplification du code ici :
if (Long2 > Long1) or (Larg2 > Larg1) then
begin
Edit8.Text := 'invalide';
ShowMessage('ATTENTION!! La valeur à obtenir est plus grande que la valeur de depart');
end;

// pas vraiment utile : //if (Long1 Long2) and (Larg1 Larg2)
// then edit8.text := (edit7.text);
end;

Voilà.

A +