منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
Delphi Windows Calculator - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة Delphi (http://vb4arb.com/vb/forumdisplay.php?fid=213)
+--- قسم : قسم أمثلة ومشاريع Delphi (http://vb4arb.com/vb/forumdisplay.php?fid=216)
+--- الموضوع : Delphi Windows Calculator (/showthread.php?tid=30176)



Delphi Windows Calculator - viv - 06-07-19



كود :
unit Unit1;

interface

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   Label1: TLabel;
   Label2: TLabel;
   Label3: TLabel;
   Label4: TLabel;
   Edit1: TEdit;
   Edit2: TEdit;
   Edit3: TEdit;
   Edit4: TEdit;
   Button3: TButton;
   Button4: TButton;
   Button5: TButton;
   Button6: TButton;
   Button7: TButton;
   Button8: TButton;
   Button9: TButton;
   Button10: TButton;
   Button11: TButton;
   Button12: TButton;
   Button13: TButton;
   Button14: TButton;
   Button15: TButton;
   Button16: TButton;
   procedure Button15Click(Sender: TObject);
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
   procedure Button3Click(Sender: TObject);
   procedure Button4Click(Sender: TObject);
   procedure Button5Click(Sender: TObject);
   procedure Button6Click(Sender: TObject);
   procedure Button7Click(Sender: TObject);
   procedure Button8Click(Sender: TObject);
   procedure Button9Click(Sender: TObject);
   procedure Button10Click(Sender: TObject);
   procedure Button11Click(Sender: TObject);
   procedure Button12Click(Sender: TObject);
   procedure Button13Click(Sender: TObject);
   procedure Button14Click(Sender: TObject);
   procedure Button16Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 a:Double;
 b:Double;
 c:Double;

implementation

{$R *.dfm}

procedure TForm1.Button10Click(Sender: TObject);
begin
 if Edit3.Text = '' then
   Edit1.Text:=Edit1.Text + '0'
   else
   begin
     Edit2.Text:=Edit2.Text + '0'
   end;
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
 Edit3.Text:='+';
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
 Edit3.Text:='-';
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
 Edit3.Text:='x';
end;

procedure TForm1.Button14Click(Sender: TObject);
begin
 Edit3.Text:='/';
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';

end;

procedure TForm1.Button16Click(Sender: TObject);
begin
 if Edit3.Text ='+' then
   a:=StrToInt(Edit1.Text);
   b:=StrToInt(Edit2.Text);
   c:=a+b;
   Edit4.Text:=FloatToStr(c);

 if Edit3.Text ='-' then
   a:=StrToInt(Edit1.Text);
   b:=StrToInt(Edit2.Text);
   c:=a-b;
   Edit4.Text:=FloatToStr(c);

  if Edit3.Text ='*' then
   a:=StrToInt(Edit1.Text);
   b:=StrToInt(Edit2.Text);
   c:=a*b;
   Edit4.Text:=FloatToStr(c);

 if Edit3.Text ='/' then
   a:=StrToFloat(Edit1.Text);
   b:=StrToFloat(Edit2.Text);
   c:=(a)/(b);
   Edit4.Text:=FloatToStr(c)


end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if Edit3.Text = '' then
   Edit1.Text:=Edit1.Text + '1'
   else
   begin
     Edit2.Text:=Edit2.Text + '1'
   end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 if Edit3.Text = '' then
   Edit1.Text:=Edit1.Text + '2'
   else
   begin
     Edit2.Text:=Edit2.Text + '2'
   end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 if Edit3.Text = '' then
   Edit1.Text:=Edit1.Text + '3'
   else
   begin
     Edit2.Text:=Edit2.Text + '3'
   end;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
 if Edit3.Text = '' then
   Edit1.Text:=Edit1.Text + '4'
   else
   begin
     Edit2.Text:=Edit2.Text + '4'
   end;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
 if Edit3.Text = '' then
   Edit1.Text:=Edit1.Text + '5'
   else
   begin
     Edit2.Text:=Edit2.Text + '5'
   end;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
 if Edit3.Text = '' then
   Edit1.Text:=Edit1.Text + '6'
   else
   begin
     Edit2.Text:=Edit2.Text + '6'
   end;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
 if Edit3.Text = '' then
   Edit1.Text:=Edit1.Text + '7'
   else
   begin
     Edit2.Text:=Edit2.Text + '7'
   end;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
 if Edit3.Text = '' then
   Edit1.Text:=Edit1.Text + '8'
   else
   begin
     Edit2.Text:=Edit2.Text + '8'
   end;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
 if Edit3.Text = '' then
   Edit1.Text:=Edit1.Text + '9'
   else
   begin
     Edit2.Text:=Edit2.Text + '9'
   end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Form1.Text:='DELPHI CALCULATOR By: Teody';
 Form1.Position:=poMainFormCenter;
end;

end.



RE: Delphi Windows Calculator - ابراهيم ايبو - 06-07-19

السلام عليكم اخي المحترم ابو همام
شكرا على المثال الة حاسبة جزاك الله كل خير
لدي استفسار وهو ان نفس المثال بلغة VB.net  برمجته بـ 58 سطر
والمثال عندك حوالي 200 سطر احذف منهم الاقواس تقريبا 50 يبقى 150 سطر برمجي
والفرق كبير بالنسبة لعدد السطور البرمجية
السؤال : هل يمكن اختصار الاكواد وكتابتها بطريقة اخرى ام هذا هو الحد البرمجي؟ ام ان المثال بالبرمجة المبسطة الطويلة؟
لان من خلال فترتي البسيطة من تعاملي مع الدلفي وجدت قوة واحتصار في الكثير من الادوات مثل كومبوبوكس الالوان
فهو في الدلفي جاهز بينما في الفيجوال نحتاج الى انشائه  برمجبا بعدد لابأس به من السطور وهناك الكثير
وددت معلومات اكثر من تجربتك الثرة
دمت بخير



RE: Delphi Windows Calculator - viv - 06-07-19

وعليكم السلام ورحمة الله

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


RE: Delphi Windows Calculator - sendbad100 - 07-07-19

اخي / ابو همام

اذا ممكن تعطينا اهم  وافضل المواقع الذي نجد فيها  امثلة كثيرة  للدلفي اقصد  مشاريع مفتوحة المصدر.
اذا سمح وقتك بذلك
اعرف باني ازيد الحمل عليك وانا اعلم انك مضغوط بالوقت  
(سامحني)
لاني مضغوط بالوقت مثلك وعارف ومقدر وضعك لذلك تجد تقدمي بطيء جدا



RE: Delphi Windows Calculator - viv - 07-07-19

المواقع كثيرة ولا اذكرها اما هذا المثال فمن هذا الموقع

لاحظ انه للغات برمجة كثيرة ومنها الدوت نت وغيرها

تفضل اخي هنا رابط امثلة الدلفي


كود :
https://www.sourcecodester.com/delphi