28-11-2014, 10:47 PM
لدي مشروع وهو عبارة عن واجهة دلفي بها memo 2 وbutton ما هي الدالة التي استخدمها لكي اتمكن من قراءة النص في memo1 والتعديل عليه مثلا اضهار # بعد كل كلمة من النص وتظهر النتيجة في memo2 هل استخدم الدالة post او get.
:= StringReplace(text, ' ', '#',
[rfReplaceAll, rfIgnoreCase]);
yassmine300 كتب :اخي onexite لقد جربت الكود الدي كتبه على الشكل التالي ولكن تضهر لي رسالة الخطا **** ان تفيدني اكثر انا مبتداة بالبرمجة
memo1.lines:=Memo2.lines StringReplace(text
,'#', ' ',
; [rfReplaceAll, rfIgnoreCase])
![[صورة: v2KnzO.png]](http://img911.imageshack.us/img911/1897/v2KnzO.png)
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;
![[صورة: MxIOfp.png]](http://img540.imageshack.us/img540/9486/MxIOfp.png)
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;