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

محتاج 2 كود لإنهاء البرنامج

مغلق
بدأه @hmed في 13 مارس 2005 · 8 رد · 723 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أولا

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

ثانيا

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

أولا أنا عندي داتا بيز فيها الأعمده ده Y1,Y2 و X1,X2 و S

أوكي

أنا عاوز التالي

أحصر البحث في المجموعه إلي عندها نفس ال S

و أدور فيها على ال X المحصور بين X1 و X2

و في نفس الوقت أدور على ال Y المحصور بين y1 و y2

أتمنى أن أكون قد عرفت أوصل المطلوب

شكرا لدعمكم و تعاونكم

تحياتي

أحمد صقر

#2

إيه يجماعه مفش حد قادر يرد حتى إنت يا أخ عروه انا ملاحظ وجودك في المنتدى

انا والله مستعجل عليها مفيش حد يعرف حل المشكله لا المشرف و لا الخبراء غريبة

#3

بالنسبة للطلب الثاني يمكنك إستخدام خاصية الفلتره في الجدول (filter) ولكني أفضل تعليمات SQL (عنصر query بدل table)

select * from table wher s1=s and x>x1 and x<x2 and y>y1 and y<y2

إذا لم تكن واضحة سأفصلها أكثر (اكتب بسرعة)

#4

السلام عليكم

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

على العموم أنا بدور على كود يستعمل على Table زي مثلا locate أو حاجه قريبة منه

شكرا لتعاونك و آسف إني إمبارح مرضتش لأني كنت نايم

#5

والله انا بدأت أزعل خيرت شباب المنتدى قرأو الموضوع ولم يردوا عليه معناه إن الرد مش موجود

على العموم الكود الأول غير مهم ركزلنا و نبي على الكود الثاني

إيه يأخ عروه مالك الأيام دهخ إنت معودنا على النشاط

على العموم أنا الآن في إنتظر حلولكم يجدعان

#6

إضغط مرتين فوق عنصر table

بالزر الأيمن أختر add all files

(أصبح بالإمكان التعامل مع الحقول على شكل متحولات تبدأ بإسم الجدول مثلا table1emp_name , وبإمكانكم التعامل مع طرق أخرى عديدة , ولكن هذه يحبها الناس عادة لإنها مريحة بالتعامل )

الآن في الحدث onfilterrecord ستجد المتحول Accept: Boolean

هذا المتحول يحدد ماهو شرط الفلترة .

طريقة بسيطة للعمل . تحدد هنا شرط الفلترة (الذي سيحدد بعدها ماهي السجلات المسموح إظهارها) مثلا :

if (s=table1s.value)and(x>table1x.value) ......
accept:=true;

وعادة يتم كتابتها بطريقة أفضل . مثلا إذا أردنا ان نقول إذا كان a>b إذن accept=true نكتب :

accept:=(a>b)

بعد هذا الشرط لن تظهر سوى السجلات التي توافق الشروط التي قمت بإدخالها

#7

مش فاهم حاجه والله جربتها ولم تمشي معي

لو ممكن توضحولي أكثر

#8

نسيت ..

يجب أن تضبط الخاصية filtered إلى true وبعدها تتفعل التأثيرات ..

جربها مرة ثانية لابد ان تنجح ..

سلمات

#9

بسم الله الرحمن الرحيم

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

أخي العزيز ، مع أني لا زلت مبتدئًا في هذه اللغة ولكن بدافع حب الخير ومساعدة الآخرين أردت مساعدتك ولو بالقليل :

بالنسبة لسؤالك الأول فحسب ما فهمته فالحل يتلخص في التالي :

1- معرفة المسار الذي يعمل البرنامج منه .

2- استخلاص الحرف الذي يمثل القرص الذي يعمل عليه .

3- التأكد من نوع القرص هل هو محرك الأقراص المضغوطة CD أم القرص الصلب .... .

4- إذا كان يعمل من مكان غير محرك الأقراص المضغوطة يتم إنهاء البرنامج .

وقد بسطت لك كل هذه الخطوات في الوظيفة Function التالية :

function IsOnCD(): Boolean;
var
  DriveLetter: string;
begin
  DriveLetter := ExtractFileDrive(Application.ExeName);
  Result := GetDriveType(PChar(DriveLetter)) = 5;
end;

وهذا مثال على استخدام هذه الوظيفة :

    if IsOnCD()=False then Close;

أخوك / المبرمج أحمد

سبحان الله وبحمده ... سبحان الله العظيم

هذا الموضوع مغلق.

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