برمجة تابع أو إجراء يقوم بتحديد مرتبة أول حرف معين في جملة
#1
السلام عليكم ورحمة الله وبركاته

عيدكم مبارك وكل عام وأنتم بخير
في الحقيقة أنا جديد في الدلفي وواجتهني مشكلة تكرار الكود عدة مرات وحاولت جعله في إجراء أو تابع لكن لم أستطع لقلة معرفتي،
هذه واجهة التطبيق:
[صورة: delphi1l.jpg]
حيث وبعد كتابة جملة في Edit1 العلوية وعند إختيار الحرف من القائمة المنسدلة وبعد النقر على الزر يتم عرض رسالة تظهر رتبة الحرف في أبجديته وكذا مكان تواجده الأول في الجملة هذا كله في Edit2 مع العلم أن القائمة المنسدلة تحوي جميع الحروف
وهذا الكود من برمجتي يحدد مكان رتبة الحرف المطلوب الأولى
وقد استخدمت case of في ذلك للانتقال بين الحروف:
كود :
procedure TForm1.Button1Click(Sender: TObject); var ph: string; ki,ii,xi: integer; begin harf:= lattres(cb1.itemindex); case harf of A: begin ph:= edit1.text; xi:=length(ph); ki:=0; ii:=0; while ii<xi+1 do begin if ph[ii]=cb1.Text then begin ki:=ii; break; end; inc(ii); end; edit2.Text:=('la positin de la '+ inttostr(integer(harf)+1)+ 'ére lattre ('+ cb1.Text + ') dans la chaine est: ' + inttostr(ki)); end;
الرد
#2
و عليك السلام ورحمة الله
مرحبا بك معنا في منتدي دلفي العرب اخي
استخدم الدالة Pos
كود :
var i : Integer; begin i:=pos(Edit1.Text,Edit2.Text); Edit3.Text:=IntToStr(i);
الرد
#3
paix144 كتب :استخدم الدالة pos
بارك الله فيك أخي الكريم
لكن أود تحويل الكود الخاص بي إلى دالة أو إجراء واستخدامه في البرنامج
وشكرا جزيلا


الملفات المرفقة
.rar   ex6.rar (الحجم : 314.28 ك ب / التحميلات : 21)
الرد
#4
قم بمحاولة أخي بعدها سأساعدك إن شاء الله
الرد
#5
paix144 كتب :قم بمحاولة أخي بعدها سأساعدك إن شاء الله

السلام عليكم
لقد قمت بمحاولة والحمد لله وفقت بنسبة 1%
محاولتي في المرفقات لكن يعيبها أنه إذا لم ندخل جملة في Edit1 واخترنا حرف من ComboBox يحصل خطأ
كما أنه لا يقبل إلا الحروف الكبيرة

وبارك الله فيكم جميعا


الملفات المرفقة
.rar   بطريقة الدالة.rar (الحجم : 826 بايت / التحميلات : 6)
الرد
#6
السلام عليكم
بعض التعديلات على المرفق


الملفات المرفقة
.rar   ex6.rar (الحجم : 327.58 ك ب / التحميلات : 41)
الرد


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


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