في هذ الدرس الجديد من سلسلة دروس البرمجة في الدلفي , في هذا الدرس قمنا بانشاء الة حاسبة عادية نحتاجها في عمل حسابات بالنسبة للبرامج التي تعتمد على الحسابات مثل تسيير المخزون مثلا
حيث اعتمدنا في هذا التطبيق على عدة اكواد تم من خلالها انشاء هذه الالة الحاسبة
الدرس مصور على شكل فيديو على قناتنا في اليوتيوب استعملنا فيه البرمجة على نسخة 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;
و هذ هو درس الفيديو.....
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
اتمنى ان يكون الدرس قد نال اعجابكم تقبلو تحياتنا
قد يعجبك ايضا