المشاركات : 3
المواضيع 1
:
: 0
الإنتساب : Nov 2014
لدي مشروع وهو عبارة عن واجهة دلفي بها memo 2 وbutton ما هي الدالة التي استخدمها لكي اتمكن من قراءة النص في memo1 والتعديل عليه مثلا اضهار # بعد كل كلمة من النص وتظهر النتيجة في memo2 هل استخدم الدالة post او get.
المشاركات : 654
المواضيع 82
:
: 57
الإنتساب : Mar 2011
انت تقصدين pos وليس post
اضنه مشروع كمبيلاتور ابحث عن analyseur lexical flex
يمكنك استخدام دالة الاستبدال
PHP كود :
:= StringReplace(text, ' ', '#',
[rfReplaceAll, rfIgnoreCase]);
المشاركات : 654
المواضيع 82
:
: 57
الإنتساب : Mar 2011
الفكرة تكون بوضع جدول فيه جميع الكلمات الدلالية مثل if then begin end while repeat.....
وبعدها تقومين بهذه الحلقة
من i=1 الى نهاية الجدول
استبدال الكلمة[i] ب الكلمة[i]+#
المشاركات : 3
المواضيع 1
:
: 0
الإنتساب : Nov 2014
اخي onexite لقد جربت الكود الدي كتبه على الشكل التالي ولكن تضهر لي رسالة الخطا **** ان تفيدني اكثر انا مبتداة بالبرمجة
memo1.lines:=Memo2.lines StringReplace(text
,'#', ' ',
; [rfReplaceAll, rfIgnoreCase])
المشاركات : 654
المواضيع 82
:
: 57
الإنتساب : Mar 2011
yassmine300 كتب :اخي onexite لقد جربت الكود الدي كتبه على الشكل التالي ولكن تضهر لي رسالة الخطا **** ان تفيدني اكثر انا مبتداة بالبرمجة
memo1.lines:=Memo2.lines StringReplace(text
,'#', ' ',
; [rfReplaceAll, rfIgnoreCase])
الكلمات المحجوزة غير كاملة اكمليها انت
PHP كود :
procedure TForm2.Button1Click(Sender: TObject);
const
//mots réservés
mots : array[0..11]of string =('.','int','write',':','var','begin','array','procedure','function','end',',',';' );
var i:Byte; text:string;
begin
text:=Memo1.Text;
for i := 0 to High(mots) do
text:=StringReplace(text,mots[i], mots[i]+'#',[rfReplaceAll, rfIgnoreCase]);
Memo2.Text:=text;
end;
المشاركات : 3
المواضيع 1
:
: 0
الإنتساب : Nov 2014
هل يوجد حل اخر بدون استخدام mots réservés اي بمعنى ادراج # بعد كل 'فراغ' و ';' من اي نص.
المشاركات : 654
المواضيع 82
:
: 57
الإنتساب : Mar 2011
هذا سيفي بالغرض
PHP كود :
procedure TForm2.StartClick(Sender: TObject);
var mystr,Position:string;
I: Integer;
begin
Memo2.Text:='';
mystr:=Memo1.Text;
for I := 0 to Length(mystr)-1 do
if (mystr[i]=' ') or (mystr[i]=';') then
begin
Memo2.Text:=Memo2.Text+mystr[i]+'#' ;
Position:=Position+' , '+IntToStr(i+1) ;
end else Memo2.Text:=Memo2.Text+mystr[i] ;
Memo3.Text:=Position;
end;