الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

منظومة صدلية

بدأه أمة الرحمن في 14 أغسطس 2008 · 12 رد · 1,534 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

إخواني الكرام أنا إشتغلت منظومة لصيدلية بس عندي مشكلة ما عرفتلها كيف أجعل مثلا في حدث on active لفورم إسمها بيانات الادوية بحيث كلما دخلت لهذه الفورم يعطيني رسالة تنبه بأن

قيمة الكمية لدواء معين تساوي صفر مع العلم أن :

إصدار دلفي 6 نوع الداتا بيس SQL

حقل الكمية quantity نوعه Integer

الــ data module إسمها datamodule2

الــ adotable الذي يستقبل بيانات جدول الادوية هو adotable3 لجدول إسمه mar_medicine

وبارك الله فيكم ورحم والدينا ووالديكم

أخوكم في الله قمبرجي

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

#2

أكتب الكود التالي في حدث الفورم onshow ولكن بأستخدام الـ adoquery لاني الحقيقة لا استخدم ال adotable كل عملي بالكويري ، المهم إليك الكود التالي :


Begin
Close;
SQL.Clear;
SQL.Add('Select quantity From mar_medicine ');
SQL.Add('Where أسم الدواء='+Edit1.text+' ' ');
Open;
If Fields[0].asInteger = 0 Then
Begin
ShowMessege('نفيدكم علماً بأن الدواء رقم '+Edit1.text+' قد نفذ');
Exit;
End;
End;
With DataModule.AdoQuery1 Do

هذا مقدار جهدي لمساعدتك أتمنى أن يفيدك

#3

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

الله يطرحلك البركة وين ما رحت .......

بإذن الله الكود قيد التجريب وسنفيدك علما بما سيحدث لاحقا بإذن الله

يوم على الاكثر وراجع بإذنه تعالى ..........

جزاك الله خيرا

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

#4

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

اخي العزيز بارك الله فيك وفي مجهودك الطيب هذه طريقة مشابهة لطريقة إستخدمتها سابقا في الحدث on show للفورم ولم تنجح معي بمجرد كتابه الكود التالي

procedure TForm5.FormShow(Sender: TObject);
begin
edit10.Text:=DateToStr(DATE);
With DataModule2.ADQ3 Do
Begin
       Close;
       SQL.Clear;
       SQL.Add('Select quantity From mar_medicine ');
       SQL.Add('Where medicine_nom='+Edit1.text+'  ');
       Open;
          If Fields[0].asInteger = 0 Then
          Begin
        ShowMessege('نفيدكم علماً بأن الدواء رقم '+Edit1.text+' قد نفذ');
          Exit;
          End;
          End;
End;

يمشي الحال عند عمل الـ run ولكن بمجرد أن أصل لشاشة بيانات الادوية لغرض إستعراضها يقف البرنامج ويعطيني الرسالة الآتية :

Debugger Exption notification:

Project Project1.exe reused exception class EOLe Exception with message ‘line2:Incorrect syntax near ‘=” .process stoped.

Use stop or run to continue

فهل هناك معرف معين يجب إضافته ؟؟؟ أقصد هل الكود ينقصه معرفات تضاف في الــ var مثلا ؟؟؟ كالمثال السابق

 VAR D_MED:TDATETIME;
begin
D_MED:=(DATE);
WITH datamodule2.ADQ3 DO
BEGIN
CLOSE;
SQL.Clear;
SQL.Add('SELECT * FROM mar_medicine');
SQL.Add(FORMAT('WHERE (mar_medicine.END_DATE - 20 <:ME)',[D_MED]));
Parameters.ParamByName('ME').Value:=D_MED;
OPEN;
END;

دمتم في رعاية الرحمن

تم تعديل هذه المشاركة بواسطة kombarji في 16 أغسطس 2008 في 00:46

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

#5

بطريقة أخرى

  1. procedure TForm1.FormShow(Sender: TObject);
  2. begin
  3. if Table1.FieldByName('quantity').AsString = '0'
  4. then
  5. begin
  6. showmessage ('Quantity Runaway');
  7. end;
  8. end;
  9.  

تم تعديل هذه المشاركة بواسطة Swift في 15 أغسطس 2008 في 17:11

Comming Soon

#6

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

هذه محاولة ثانية شبيه بمحاولة الاخ swift يتنفذ البرنامج على طول ولكن عند عرض الفورم المعنية لا يعطيني أي رسالة فما الحل بارك الله فيكم

with datamodule2.ADOTable3 do
  begin
  Edit;
 datamodule2.DataSource3.AutoEdit:=TRUE;
 if fieldbyname('quantity').Value='0' then
 begin
 showmessage ('Quantity Runaway');
end;

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

#7

أخي كأن الكود ناقص :resentful:

kombarji كتب:
with datamodule2.ADOTable3 do
begin
Edit;
datamodule2.DataSource3.AutoEdit:=TRUE;
if fieldbyname('quantity').Value='0' then
begin
showmessage ('Quantity Runaway');
end;

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#8
rober كتب:
أخي كأن الكود ناقص :resentful:

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

أخي كيف ناقص ؟؟؟؟؟

إيش المطلوب مني وأنا جاهز بغذن الله

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

#9
Swift كتب:
بطريقة أخرى

 

[color= #000000; font-weight: bold;]procedure TForm1[color= #000066;].[color= #006600;]FormShow[color= #000066;](Sender[color= #000066;]: [color= #000066; font-weight: bold;]TObject[color= #000066;])[color= #000066;]; 

[color= #000000; font-weight: bold;]begin 

[color= #000000; font-weight: bold;]if Table1[color= #000066;].[color= #006600;]FieldByName[color= #000066;]([color= #ff0000;]'quantity'[color= #000066;])[color= #000066;].[color= #006600;]AsString [color= #000066;]= [color= #ff0000;]'0' [color= #000000; font-weight: bold;]then 

[color= #000000; font-weight: bold;]begin 

showmessage [color= #000066;]([color= #ff0000;]'Quantity Runaway'[color= #000066;])[color= #000066;]; 

[color= #000000; font-weight: bold;]end[color= #000066;]; 

[color= #000000; font-weight: bold;]end[color= #000066;];

ياريت ترفق المشروع أو مثال على ما تقوم به

تم تعديل هذه المشاركة بواسطة rober في 16 أغسطس 2008 في 01:05

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#10

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

أخي بارك الله فيك بالنسبة لإرفاق الملفات عندي فيه مشكلة لأن الملف حجمه كبير

ولكن على كل حال ساحاول إرفاق هذا الجزء المتعلق بالموضوع لاحقا بإذن الله

بالنسبة لحلك اخي الكريم بارك الله فيك جربته مع إختلاف بسيط هو إنني أستعمل الــــ adotable الموجودة في datamodule وليس table1 عادي ولهذا لزم على أن أذكر الصيغة التي ذكرت

أعلاها في حدث onshow للفورم بارك الله فيك .... ولكن المشكلة لازالت قائمة

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

#11

لاحظ المرفق

أرجو أن يكون ما تريد

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

قم بوضع المجلد في القرص E أو قم بتغيير مسار قاعدة البيانات في المكون ADOCONNECTION

procedure TForm1.Button1Click(Sender: TObject);
begin
adotable1.Filtered := false;
adotable1.filter := 'empno = '''+edit1.Text+'''';
adotable1.Filtered := true;
if adotable1.FieldByName('salary').asstring = '0' then
begin
showmessage('you don't have this material');
adotable1.Filtered := false;
end;
end;

quantity.rar

تم تعديل هذه المشاركة بواسطة rober في 16 أغسطس 2008 في 01:25

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#12

:wacko: والله يا أخوي بارك الله فيك لكن الكلام والفكرة التي طرحتها توا لم أفهمها وكأنني ادرس صيني :D

إيش معنى Filtered لم أفهم ماذا تعمل :blush:

ثاني شيء كيف أغير الكونكشن ما فهمت إيش الوظيفة منها

ثالث شيء مسار قاعدة البيانات في حياتي ماغيرته دائما أتعامل على أساس إن الsql تنزل في القرص سي

وبياناتي كلها هناك ......

فياريت إن كان في توضيح بارك الله فيك

جزاكم الله خيرا

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

#13

أخي الكريم

Filter هي أحد الأحداث التي يمكن تنفيذها على الجدول و هي إحدى طرق البحث في الجداول في قواعد البيانات حيث :

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

1- في الصورة الأولى الجدول كامل دون أي تعديل أو أي أجراء

2 - في الصورة الثانية قام المستخدم بإدخال رقم المادة و ضغط زر البحث الذي قام بتنفيذ أمر الفلترة filter و الذي بدوره بحث في الحقل empno الذي يحتوي على أرقام المواد و وقام بإظهار السجل الذي يحتوي على ما أدخله المستخدم في مربع الأدخال و أخفى باقي السجلات ثم قام الزر بأختبار كمية المادة في الحقل salary فإذا كانت 0 يعطي رسالة بأن المادة رصيدها صفر و إلا فيظهر المادة دون أي رسالة

و بالنسبة لـ filtered فهي تأخذ إما true أو false فإن كانت true فهذا يعني بأن الحدث filter مطبق على الجدول و إذا كانت false فهذا يعني بإن الحدث filter غير مطبق على الجدول

أتركك مع الصور و المرفق لرؤية النتيجة

أرجو أن تكون الفكرة قد و صلت و إن لم تصل أحاول أن أبسطها أكثر

post-143282-1218924662_thumb.jpg

post-143282-1218924671_thumb.jpg

quantity.rar

تم تعديل هذه المشاركة بواسطة rober في 17 أغسطس 2008 في 01:21

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

مواضيع مشابهة