أخر الأخبار

انشاء الة حاسبة بالدلفي





في هذ الدرس الجديد من سلسلة دروس البرمجة في الدلفي , في هذا الدرس قمنا بانشاء الة حاسبة عادية نحتاجها في عمل حسابات بالنسبة للبرامج التي تعتمد على الحسابات مثل تسيير المخزون مثلا
حيث اعتمدنا في هذا التطبيق على عدة اكواد تم من خلالها انشاء هذه الالة الحاسبة
الدرس مصور على شكل فيديو على قناتنا في اليوتيوب استعملنا فيه البرمجة على نسخة XE  اضافة الى مكونات 
DynamiqueSkinForm

وهذا هو الكود سورس الخاص بالحاسبة

unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, SkinData, DynamicSkinForm, SkinCtrls, StdCtrls, Mask, SkinBoxCtrls,
  SkinExCtrls;

type
  TForm1 = class(TForm)
    spDynamicSkinForm1: TspDynamicSkinForm;
    spSkinData1: TspSkinData;
    spCompressedStoredSkin1: TspCompressedStoredSkin;
    spSkinPanel1: TspSkinPanel;
    spSkinPanel2: TspSkinPanel;
    spSkinEdit1: TspSkinEdit;
    spSkinButton2: TspSkinButton;
    spSkinButton1: TspSkinButton;
    spSkinButton17: TspSkinButton;
    spSkinButton18: TspSkinButton;
    spSkinButton19: TspSkinButton;
    spSkinButton16: TspSkinButton;
    spSkinButton12: TspSkinButton;
    spSkinButton15: TspSkinButton;
    spSkinButton14: TspSkinButton;
    spSkinButton13: TspSkinButton;
    spSkinButton9: TspSkinButton;
    spSkinButton10: TspSkinButton;
    spSkinButton11: TspSkinButton;
    spSkinDivider1: TspSkinDivider;
    spSkinButton8: TspSkinButton;
    spSkinButton4: TspSkinButton;
    spSkinButton7: TspSkinButton;
    spSkinButton6: TspSkinButton;
    spSkinButton5: TspSkinButton;
    procedure spSkinButton17Click(Sender: TObject);
    procedure spSkinButton13Click(Sender: TObject);
    procedure spSkinButton14Click(Sender: TObject);
    procedure spSkinButton15Click(Sender: TObject);
    procedure spSkinButton9Click(Sender: TObject);
    procedure spSkinButton10Click(Sender: TObject);
    procedure spSkinButton11Click(Sender: TObject);
    procedure spSkinButton5Click(Sender: TObject);
    procedure spSkinButton6Click(Sender: TObject);
    procedure spSkinButton7Click(Sender: TObject);
    procedure spSkinButton19Click(Sender: TObject);
    procedure spSkinButton4Click(Sender: TObject);
    procedure spSkinButton8Click(Sender: TObject);
    procedure spSkinButton12Click(Sender: TObject);
    procedure spSkinButton16Click(Sender: TObject);
    procedure spSkinButton2Click(Sender: TObject);
    procedure spSkinButton18Click(Sender: TObject);
    procedure spSkinButton1Click(Sender: TObject);
  private
    { Déclarations privées }
    NB : real ;
    OP : char ;
    flag : boolean ;


  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.spSkinButton10Click(Sender: TObject);
begin
     if flag then
     begin
          spSkinEdit1.Text := '';
          flag := false;
     end;
    spSkinEdit1.Text := spSkinEdit1.Text + (sender as TspSkinButton).Caption ;
end;

procedure TForm1.spSkinButton11Click(Sender: TObject);
begin
     if flag then
     begin
          spSkinEdit1.Text := '';
          flag := false;
     end;
    spSkinEdit1.Text := spSkinEdit1.Text + (sender as TspSkinButton).Caption ;
end;

procedure TForm1.spSkinButton12Click(Sender: TObject);
begin
     NB := strtofloat (spSkinEdit1.Text) ;
     OP := (sender as TspSkinButton).Caption[1];
      spSkinEdit1.Text := '';
end;

procedure TForm1.spSkinButton13Click(Sender: TObject);
begin
     if flag then
     begin
          spSkinEdit1.Text := '';
          flag := false;
     end;
    spSkinEdit1.Text := spSkinEdit1.Text + (sender as TspSkinButton).Caption ;
end;

procedure TForm1.spSkinButton14Click(Sender: TObject);
begin
     if flag then
     begin
          spSkinEdit1.Text := '';
          flag := false;
     end;
    spSkinEdit1.Text := spSkinEdit1.Text + (sender as TspSkinButton).Caption ;
end;

procedure TForm1.spSkinButton15Click(Sender: TObject);
begin
     if flag then
     begin
          spSkinEdit1.Text := '';
          flag := false;
     end;
    spSkinEdit1.Text := spSkinEdit1.Text + (sender as TspSkinButton).Caption ;
end;

procedure TForm1.spSkinButton16Click(Sender: TObject);
begin
     NB := strtofloat (spSkinEdit1.Text) ;
      OP := (sender as TspSkinButton).Caption [1];
      spSkinEdit1.Text := '';
end;

procedure TForm1.spSkinButton17Click(Sender: TObject);
begin
     if flag then
     begin
          spSkinEdit1.Text := '';
          flag := false;
     end;
    spSkinEdit1.Text := spSkinEdit1.Text + (sender as TspSkinButton).Caption ;
end;

procedure TForm1.spSkinButton18Click(Sender: TObject);
begin
if flag then
begin
      spSkinEdit1.Text := '';
      flag := false;

end;
if (sender as TspSkinButton).Caption = '.' then
if pos ('.', spSkinEdit1.Text) > 0  then
exit ;
spSkinEdit1.Text := spSkinEdit1.Text + (sender as TspSkinButton).Caption ;
end;

procedure TForm1.spSkinButton19Click(Sender: TObject);
var nombre : string;
begin
       nombre :=  spSkinEdit1.Text;
       if pos ('-', nombre)= 1 then
       begin
         delete (nombre , 1,1);
         spSkinEdit1.Text := nombre;
                 end
       else
       spSkinEdit1.Text:= '-' + spSkinEdit1.Text;


end;

procedure TForm1.spSkinButton1Click(Sender: TObject);
begin
    spSkinEdit1.Text := '';
    NB := 0;
    end;

procedure TForm1.spSkinButton2Click(Sender: TObject);
begin
     case OP of
      '-' : spSkinEdit1.Text := floattostr(NB - strtofloat (spSkinEdit1.Text));
       '+' : spSkinEdit1.Text := floattostr(NB + strtofloat (spSkinEdit1.Text));
       '*' : spSkinEdit1.Text := floattostr(NB * strtofloat (spSkinEdit1.Text));
       '/' : if strtofloat (spSkinEdit1.Text) = 0 then

        begin
          messagebeep (0);
          spSkinEdit1.Text := '';
          exit;
                  end
                  else

         spSkinEdit1.Text := floattostr(NB / strtofloat (spSkinEdit1.Text));
      end;
      flag := true;
end;

procedure TForm1.spSkinButton4Click(Sender: TObject);
begin
     NB := strtofloat (spSkinEdit1.Text) ;
      OP := (sender as TspSkinButton).Caption [1];
      spSkinEdit1.Text := '';
end;

procedure TForm1.spSkinButton5Click(Sender: TObject);
begin
     if flag then
     begin
          spSkinEdit1.Text := '';
          flag := false;
     end;
    spSkinEdit1.Text := spSkinEdit1.Text + (sender as TspSkinButton).Caption ;
end;

procedure TForm1.spSkinButton6Click(Sender: TObject);
begin
     if flag then
     begin
          spSkinEdit1.Text := '';
          flag := false;
     end;
    spSkinEdit1.Text := spSkinEdit1.Text + (sender as TspSkinButton).Caption ;
end;

procedure TForm1.spSkinButton7Click(Sender: TObject);
begin
     if flag then
     begin
          spSkinEdit1.Text := '';
          flag := false;
     end;
    spSkinEdit1.Text := spSkinEdit1.Text + (sender as TspSkinButton).Caption ;
end;

procedure TForm1.spSkinButton8Click(Sender: TObject);
begin
     NB := strtofloat (spSkinEdit1.Text) ;
      OP := (sender as TspSkinButton).Caption [1];
      spSkinEdit1.Text := '';
end;

procedure TForm1.spSkinButton9Click(Sender: TObject);
begin
     if flag then
     begin
          spSkinEdit1.Text := '';
          flag := false;
     end;
    spSkinEdit1.Text := spSkinEdit1.Text + (sender as TspSkinButton).Caption ;
end;



و هذ هو درس الفيديو.....

--------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------

اتمنى ان يكون الدرس قد نال اعجابكم تقبلو تحياتنا 



تعليقات



حجم الخط
+
16
-
تباعد السطور
+
2
-