delphi4arab منتديات دلفي للعرب

نسخة كاملة : برمجة تابع أو إجراء يقوم بتحديد مرتبة أول حرف معين في جملة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته

عيدكم مبارك وكل عام وأنتم بخير
في الحقيقة أنا جديد في الدلفي وواجتهني مشكلة تكرار الكود عدة مرات وحاولت جعله في إجراء أو تابع لكن لم أستطع لقلة معرفتي،
هذه واجهة التطبيق:
[صورة: 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;
و عليك السلام ورحمة الله
مرحبا بك معنا في منتدي دلفي العرب اخي
استخدم الدالة Pos
كود :
var i : Integer; begin i:=pos(Edit1.Text,Edit2.Text); Edit3.Text:=IntToStr(i);
paix144 كتب :استخدم الدالة pos
بارك الله فيك أخي الكريم
لكن أود تحويل الكود الخاص بي إلى دالة أو إجراء واستخدامه في البرنامج
وشكرا جزيلا
قم بمحاولة أخي بعدها سأساعدك إن شاء الله
paix144 كتب :قم بمحاولة أخي بعدها سأساعدك إن شاء الله

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

وبارك الله فيكم جميعا
السلام عليكم
بعض التعديلات على المرفق