تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
أول مشروع لي بلغة Delphi
#1
Wink 
بسم الله الرحمن الرحيم
مثال بسيط جدا غير متقدم فقط احاول ان افهم بهذا المثال البسيط بعض الاساسيات في لغة delphi.

احتاج معرفة بالتحكم بالالوان وكذلك التعامل مع الفاصلة بالعمليات الحسابية وفق فكرة المثال 
n1,n2 o
رقمي رقمي نصي

وكذلك استخدمت متغيرين boolean لمعرفة هل تم النقر على علامة = والاخر هل تم النقر على علامة عملية حسابية.
 var cont:boolean;
var yes:boolean=false;
ساضيف الموضوع ثم احدثه برفع المرفق لاني اواجه مشكلة الحظر بسبب كتابة الاكواد بمحرر المنتدى او رفع ملفات مضغوطة

فيه قصور في المشروع وهو عدم اخذ اكثر من رقم للمتغير n1 و n2 فلو نقرت رقم 1 اكثر من مرة فلن يخزن الا رقم 1 مرة.

أحدث نسخة بعد اصلاح كافة العيوب الممكنة
#15 


الملفات المرفقة
.zip   MyCalc.zip (الحجم : 55.77 ك ب / التحميلات : 51)
}}}
تم الشكر بواسطة: wared , wared , awidan76 , viv , viv , sendbad100 , عبد العزيز البسكري , None
#2
(21-06-19, 06:51 PM)سعود كتب :
بسم الله الرحمن الرحيم
مثال بسيط جدا غير متقدم فقط احاول ان افهم بهذا المثال البسيط بعض الاساسيات في لغة delphi.
احتاج معرفة بالتحكم بالالوان وكذلك التعامل مع الفاصلة بالعمليات الحسابية وفق فكرة المثال 
n1,n2 o
رقمي رقمي نصي

وكذلك استخدمت متغيرين boolean لمعرفة هل تم النقر على علامة = والاخر هل تم النقر على علامة عملية حسابية.
 var cont:boolean;
var yes:boolean=false;
ساضيف الموضوع ثم احدثه برفع المرفق لاني اواجه مشكلة الحظر بسبب كتابة الاكواد بمحرر المنتدى او رفع ملفات مضغوطة





(لست مبرمج Delphi)

ماشاء الله.

يحتاج تعديل بسيط،
وهو بعد الانتهاء من إظهار ناتج العملية والشروع بضغط رقم جديد أن يتم مسح الشاشة.

مثلا [2] + [3] [=] >>>> 5
هنا عند الضغط على رقم جديد (بدون ضغط [C]) سيتم وضع الرقم الجديد بعد الناتج القديم.

بداية موفقة لأول استخدام لبيئة جديدة.
}}}
#3
ماشاء الله عليك
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

}}}
تم الشكر بواسطة: wared , سعود
#4
الان ... ماهو نوع الرقم الذي يقبل اي شي اقصد كسر او غيره


الجميل بهذه اللغة ان البرنامج لا ينكسر ولا يتوقف وكانك وضعت رسالة عند Catch

إقتباس :مثلا [2] + [3] [=] >>>> 5

هنا عند الضغط على رقم جديد (بدون ضغط [C]) سيتم وضع الرقم الجديد بعد الناتج القديم.
اي نعم مثل ماقلت التصحيحات تتوالى Smile
}}}
تم الشكر بواسطة: wared
#5
(21-06-19, 08:07 PM)سعود كتب : الان ... ماهو نوع الرقم الذي يقبل اي شي اقصد كسر او غيره


الجميل بهذه اللغة ان البرنامج لا ينكسر ولا يتوقف وكانك وضعت رسالة  عند Catch

إقتباس :مثلا [2] + [3] [=] >>>> 5

هنا عند الضغط على رقم جديد (بدون ضغط [C]) سيتم وضع الرقم الجديد بعد الناتج القديم.
اي نعم مثل ماقلت التصحيحات تتوالى Smile

(لست مبرمج Delphi)

يجب أن يكون نوع الرقم Single أو Double لقبول الرقم العشري

قم يتعريف متغير للناتج r مع تغيير نوع البيانات للمتغيران n1 وn2 مثل
كود :
var n1:Single;
var n2:Single;
var r:Single;

ثم استخدم القيمة بالعلامة / مثل
كود :
else if o='/' then
begin
 r := n1 / n2 ;
 label1.caption:= label1.caption + FloatToStr(r) ;
end;

تم تحويل الناتج العشري الى نص بـ FloatToStr
}}}
تم الشكر بواسطة: سعود
#6
Double
}}}
تم الشكر بواسطة: wared , سعود , عبد العزيز البسكري
#7
انا استخدمت نوع نص للارقام بحيث يمكن عملية الضم لبعض في الشاشة الخاصة بالعرض ولا مشكلة الا بالعدد العشري.
ايضا اتمنى ان اجد كود للتحقق من هل label تحتوي نص معين او رمز مثل
if label1.text.contains("=") then....

مشكلة رسالة الخطا زالت بعد دوال التحويل.
بقي كود التحقق من ان الشاشة تحتوي على علامة = ام لا.
}}}
تم الشكر بواسطة: wared
#8
(21-06-19, 09:14 PM)سعود كتب : انا استخدمت نوع نص للارقام بحيث يمكن عملية الضم لبعض في الشاشة الخاصة بالعرض ولا مشكلة الا بالعدد العشري.
ايضا اتمنى ان اجد كود للتحقق من هل label تحتوي نص معين او رمز مثل
if label1.text.contains("=") then....

مشكلة رسالة الخطا زالت بعد دوال التحويل.
بقي كود التحقق من ان الشاشة تحتوي على علامة = ام لا.


كود :
uses
  StrUtils;
..
    if ContainsText(Label1.Caption, '=') then
}}}
تم الشكر بواسطة: سعود , wared
#9
(21-06-19, 09:40 PM)أبوبكر سويدان كتب :
(21-06-19, 09:14 PM)سعود كتب : انا استخدمت نوع نص للارقام بحيث يمكن عملية الضم لبعض في الشاشة الخاصة بالعرض ولا مشكلة الا بالعدد العشري.
ايضا اتمنى ان اجد كود للتحقق من هل label تحتوي نص معين او رمز مثل
if label1.text.contains("=") then....

مشكلة رسالة الخطا زالت بعد دوال التحويل.
بقي كود التحقق من ان الشاشة تحتوي على علامة = ام لا.


كود :
uses
  StrUtils;
..
    if ContainsText(Label1.Caption, '=') then


(لسن مبرمج Delphi)

نعم أستاذي أبوبكر سويدان طريقة جيدة ومختصرة.
}}}
تم الشكر بواسطة:
#10
(21-06-19, 09:40 PM)أبوبكر سويدان كتب :
(21-06-19, 09:14 PM)سعود كتب : انا استخدمت نوع نص للارقام بحيث يمكن عملية الضم لبعض في الشاشة الخاصة بالعرض ولا مشكلة الا بالعدد العشري.
ايضا اتمنى ان اجد كود للتحقق من هل label تحتوي نص معين او رمز مثل
if label1.text.contains("=") then....

مشكلة رسالة الخطا زالت بعد دوال التحويل.
بقي كود التحقق من ان الشاشة تحتوي على علامة = ام لا.


كود :
uses
 StrUtils;
..
   if ContainsText(Label1.Caption, '=') then


اذا الصورة واضحة فيه خط متعرج احمر ماهي المشكلة؟



إقتباس :[dcc32 Error] MyCalc.pas(8): E2029 Declaration expected but identifier 'StrUtils' found
}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  برنامج صانع الاكواد نسخة جديدة Delphi sabre 1 507 31-10-23, 03:09 AM
آخر رد: abosilem
  برنامج صانع الاكواد Delphi sabre 2 2,029 12-08-23, 02:59 PM
آخر رد: sabre
  مشروع لعبة الافعى viv 0 1,280 07-08-19, 06:51 PM
آخر رد: viv
  Delphi Windows Calculator viv 4 2,205 07-07-19, 12:38 AM
آخر رد: viv

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم