Mini calcultrice basic

Soyez le premier à donner votre avis sur cette source.

Vue 5 669 fois - Téléchargée 346 fois

Description

Voila c'est ma toute 1er source, donc jespere que vous serez indulgen avec moi :-)
C'est une petite calculatrice qui peux faire des additions, soustractions, divisions, et multiplications. (Avec des nombres décimals)

J'ai aussi utilisé deux composants :
-MainMenu
-XPManifest
Pour apprendre à les utiliser.

Source / Exemple :


var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
Var ADDN1, ADDN2, ADDResultat : Real;
begin
 Try
  ADDN1 := StrToFloat(Edit1.Text);
  ADDN2 := StrToFloat(Edit2.Text);
  ADDResultat := ADDN1 + ADDN2;
  Edit3.Text := FloatToStr(ADDResultat);
 Except
  Edit3.Text := 'Erreur';
end;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if (Key='.') or (Key=',') Then
  Key := DecimalSeparator;
  If not (Key in '0'..'9', DecimalSeparator)then
  Key:=#0;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
  Application.Terminate;
end;

procedure TForm1.Apropos1Click(Sender: TObject);
begin
  Form2.Show;
end;

procedure TForm1.Button2Click(Sender: TObject);
Var SOUN1, SOUN2, SOUResultat : Real;
begin
 Try
  SOUN1 := StrToFloat(Edit4.Text);
  SOUN2 := StrToFloat(Edit5.Text);
  SOUResultat := SOUN1 - SOUN2;
  Edit6.Text := FloatToStr(SOUResultat);
 Except
  Edit6.Text := 'Erreur'; 
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
Var MULN1, MULN2, MULResultat : Real;
begin
 Try
  MULN1 := StrToFloat(Edit7.Text);
  MULN2 := StrToFloat(Edit8.Text);
  MULResultat := MULN1 * MULN2;
  Edit9.Text := FloatToStr(MULResultat);
 Except
  Edit9.Text := 'Erreur';
end;
end;

procedure TForm1.Button4Click(Sender: TObject);
Var DIVN1, DIVN2, DIVResultat : Real;
begin
 Try
  DIVN1 := StrToFloat(Edit10.Text);
  DIVN2 := StrToFloat(Edit11.Text);
  DIVResultat := DIVN1 / DIVN2;
  Edit12.Text := FloatToStr(DIVResultat);
 Except
  Edit12.Text := 'Erreur';
end;
end;

end.

Conclusion :


J'aimerais que vous me fassiez des commentaires constructifs afin que je puisse améliorer mon code et mes connaissances.
Merci

Edit : J'ai modifié mon code pour de nouvelle fonctions, les bugs on tous été corrigés.
Je met à jour le code + Le zip avec la source

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
30
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
1 juin 2004

si tu le savais, ca t'a ete dit sur un forum... ;)
Messages postés
2
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
9 août 2003

Merci pour l'astuce je ne savais pas qu'on pouvais proceder comme ca.
Je met à jour ma source :-)
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Heureusement qu'il n'y a pas cinquante touches à gérer !
Tu devrais utiliser les gestionnaires d'évènements partagés :
tu écris ton code pour une action sur un composant, Edit1 par exemple.
Ensuite, pour les autres touches, tu peux relier leur gestionnaire OnKeyPress à celui de Edit1KeyPress directement dans l'inspecteur d'objets, onglets Evènements en sélectionnant dans la liste déroulante.
Résultat : tu n'écris le code qu'une seule fois (facilité de maintenance) et ton code source s'en trouvera considérablement allégé ainsi que le code généré par le compilateur.
Messages postés
2
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
9 août 2003

Merci; ca fait plaiesir :-)
La j'ai fait plusieurs modification :
-J'ai enlevé la procédure ShowMessage pour la remplacer directement par une fiche (Form.Show, Form.Hide)
-J'ai aussi corrigé les fautes d'orth et mis des des petites icones pour rendre le soft plus sympas
-J'ai aussi remplacé tout les 'StrToInt' et 'IntToStr' par 'StrToFloat' et 'FloatToStr' afin de pouvoir calculer des nombres réels
Messages postés
30
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
1 juin 2004

bven, a part l'orthographe, pour un debut, c'est correct. ;)
mais de la meme facon que tu utilises 'floattostr', tu pourrais utiliser 'strtofloat' pour permettre l'utilisation de nombre reels dans les autres fonctions.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.