Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MINI CALCULTRICE BASIC


Information sur la source

Catégorie :Maths Niveau : Débutant Date de création : 03/08/2003 Date de mise à jour : 09/08/2003 10:13:46 Vu / téléchargé: 2 616 / 188

Note :
3 / 10 - par 2 personnes
3,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

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

  • 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 [#8, '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.
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 [#8, '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  
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • Project1.~dprTélécharger ce fichier [Réservé aux membres club]188 octets
  • Project1.cfgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier434 octets
  • Project1.dofTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 966 octets
  • Project1.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier263 octets
  • Project1.resTélécharger ce fichier [Réservé aux membres club]876 octets
  • Unit1.~dfmTélécharger ce fichier [Réservé aux membres club]4 971 octets
  • Unit1.~pasTélécharger ce fichier [Réservé aux membres club]4 714 octets
  • Unit1.dcuTélécharger ce fichier [Réservé aux membres club]7 485 octets
  • Unit1.dfmTélécharger ce fichier [Réservé aux membres club]5 097 octets
  • Unit1.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 824 octets
  • Unit2.~dfmTélécharger ce fichier [Réservé aux membres club]3 209 octets
  • Unit2.~pasTélécharger ce fichier [Réservé aux membres club]624 octets
  • Unit2.dcuTélécharger ce fichier [Réservé aux membres club]4 007 octets
  • Unit2.dfmTélécharger ce fichier [Réservé aux membres club]3 209 octets
  • Unit2.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier624 octets

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Partagas le 03/08/2003 17:27:28

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.

signaler à un administrateur
Commentaire de Suriv le 03/08/2003 22:40:32

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

signaler à un administrateur
Commentaire de Delphiprog le 09/08/2003 08:21:11 administrateur CS

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.

signaler à un administrateur
Commentaire de Suriv le 09/08/2003 10:10:24

Merci pour l'astuce je ne savais pas qu'on pouvais proceder comme ca.
Je met à jour ma source :-)

signaler à un administrateur
Commentaire de Partagas le 09/08/2003 11:30:40

si tu le savais, ca t'a ete dit sur un forum... ;)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,20 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.