19-05-2008, 09:58 PM
الصفحات : 1 2
21-05-2008, 09:24 AM
لا تقلق أخي سأعد لك موضوعا شاملا
على البحث
كن في انتظاري سوف لن أتاخر عليك ان شاء الله
على البحث
كن في انتظاري سوف لن أتاخر عليك ان شاء الله
21-05-2008, 04:25 PM
شكرا اخي أمكروس أمبارش علي تعاونك...انا في انتضارك.
22-05-2008, 03:10 PM
نعم أخي لقد عدت اليك و انا جد آسف ان تاخرت عليك و بعثرت لك برنامجك فانا في فترة الامتحانات
و اماعن البحث فتوجد عدة طرق البحث بالمفتاح الرئيسي أم بالفهارس ..
سأضع لك عدة طرق و انت اختار :
طريقة FindKey و هنا في المثال عندنا جدول فيه اسماء الطلبة ونبحث برقم الطالب فان عثر عليه اخرج اسمه و لقبه
طريقة GotoNearest الذهاب الى الأقرب و لها عدة اشكال و من الأحسن ان تجعل الكود التالي في edit فالطريقة تتحس للحروف فمثلا تريد البحث عن الرقم 2222 فعندما تكتب 2 يذهب المؤشر الى السجل 2 و عندما تضيف 2 اي 22 يذهب المؤشر الى ذلك السجل وهكذا حتى تصل الى 2222
و تستطيع البحث في حقل الاسم اذا كان مفهرس لان الطريقة خاصة بالفهارس
طريقة EndOfFile نهاية الجدول ان صح التعبير
تشبه الطريقة الأولى
و بالمناسبة يوجد العديد من الطرق مثل loucat .. و ان لم تلبي المذكورة غرضك سأوافيك بالطرق الأخرى
و***** اني افدتك و معذرة مرة أخرى على التأخير لانه من الاجدر ان نجيب على كل سؤال طرح ف اوانه
بالتوفيق
و اماعن البحث فتوجد عدة طرق البحث بالمفتاح الرئيسي أم بالفهارس ..
سأضع لك عدة طرق و انت اختار :
طريقة FindKey و هنا في المثال عندنا جدول فيه اسماء الطلبة ونبحث برقم الطالب فان عثر عليه اخرج اسمه و لقبه
PHP كود :
table2.open ;
table2.First;
if not table2.FindKey ([edit1.text]) then
showmessage ('etudiont no trouvv ') ;
begin
edit2.Text := t2nom.text ;
edit3.Text := t2prenom.Value ;
end ;
طريقة GotoNearest الذهاب الى الأقرب و لها عدة اشكال و من الأحسن ان تجعل الكود التالي في edit فالطريقة تتحس للحروف فمثلا تريد البحث عن الرقم 2222 فعندما تكتب 2 يذهب المؤشر الى السجل 2 و عندما تضيف 2 اي 22 يذهب المؤشر الى ذلك السجل وهكذا حتى تصل الى 2222
و تستطيع البحث في حقل الاسم اذا كان مفهرس لان الطريقة خاصة بالفهارس
PHP كود :
table2.open ;
table2.First;
t2.IndexFieldNames := 'num' ;
table2.EditKey ;
table2.FieldByName('num').AsString := e6.text ;
t2.GotoNearest ;
طريقة EndOfFile نهاية الجدول ان صح التعبير
تشبه الطريقة الأولى
PHP كود :
table1.first;
while not table1.eof do
begin
if table1nom.value = edit1.text then
begin
edit2.text := table1prenom.value;
end;
table1.next;
end;
و بالمناسبة يوجد العديد من الطرق مثل loucat .. و ان لم تلبي المذكورة غرضك سأوافيك بالطرق الأخرى
و***** اني افدتك و معذرة مرة أخرى على التأخير لانه من الاجدر ان نجيب على كل سؤال طرح ف اوانه
بالتوفيق
22-05-2008, 04:43 PM
شكرا لك اخي, لا يهم ان تأخرت المهم انك اوفيت بوعدك...بخصوص الطريقة "eof" لقد قمت بتجريبها الا ان delphi يضهر لي الخطأ التالي "nom غير معرف" (nom الذي هو ملتصق ب table1 ) ف****ا اخي ان تقوم بتصحيح الخطأ في اقرب وقت أو تقوم باعطائي طريقة اخري وشكرا جزيلا مرة اخري علي اهتمامك.
22-05-2008, 05:23 PM
نعم يظهر الخطأ لأنك لم تضيف حقول الجدول و ذلك بالضغط عليه مرتين
و اضغط بزر الأيمن للماوس و اختر ajouté tout les champ
و اعد تشغيل البرنامج
بصحتك
و اضغط بزر الأيمن للماوس و اختر ajouté tout les champ
و اعد تشغيل البرنامج
بصحتك
23-05-2008, 10:17 AM
اسف اخي ان اثقلت عليك...فقد صادفتني مشكلة اخرى وهي عند تنفيدي للبرنامج وكتابة مثلا"houssem" في edit1 الاحضوا ان"houssem" اضيف مكان اسم اخر في الجدول بينما المفروض هو البحث عن "houssem" وان تكرمت اخي ارفق اجابتك بمثال وشكرا.
23-05-2008, 11:08 AM
اسهل طريقة للبحث عن معلومة بجدول هو استدعاء Locate
كود :
if not Table1.Locate('NOM',Edit1.Text,[]) then ShowMessage('غير موجود');23-05-2008, 04:10 PM
****ا ياأخوان ان تضعوا لي مثال معمول في delphi لأني فعلا في مشكل والوقت يداهمني لأنني سأمتحن في برنامجي الاسبوع المقبل...وشكرا.
23-05-2008, 06:59 PM
أخي هاهو الملف و تجد فيه مركب table فاربطه مع جدولك و اشغله و جرب...
الصفحات : 1 2