delphi4arab منتديات دلفي للعرب
الدالة post - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : الدالة post (/showthread.php?tid=6598)



الدالة post - yassmine300 - 28-11-2014

لدي مشروع وهو عبارة عن واجهة دلفي بها memo 2 وbutton ما هي الدالة التي استخدمها لكي اتمكن من قراءة النص في memo1 والتعديل عليه مثلا اضهار # بعد كل كلمة من النص وتظهر النتيجة في memo2 هل استخدم الدالة post او get.


الدالة post - onexite - 29-11-2014

انت تقصدين pos وليس post
اضنه مشروع كمبيلاتور ابحث عن analyseur lexical flex
يمكنك استخدام دالة الاستبدال
PHP كود :
:= StringReplace(text, ' ',  '#',
                          [
rfReplaceAll, rfIgnoreCase]); 



الدالة post - onexite - 29-11-2014

الفكرة تكون بوضع جدول فيه جميع الكلمات الدلالية مثل if then begin end while repeat.....
وبعدها تقومين بهذه الحلقة
من i=1 الى نهاية الجدول
استبدال الكلمة[i] ب الكلمة[i]+#


الدالة post - yassmine300 - 29-11-2014

اخي onexite لقد جربت الكود الدي كتبه على الشكل التالي ولكن تضهر لي رسالة الخطا **** ان تفيدني اكثر انا مبتداة بالبرمجة
memo1.lines:=Memo2.lines StringReplace(text
,'#', ' ',
; [rfReplaceAll, rfIgnoreCase])


الدالة post - onexite - 29-11-2014

yassmine300 كتب :اخي onexite لقد جربت الكود الدي كتبه على الشكل التالي ولكن تضهر لي رسالة الخطا **** ان تفيدني اكثر انا مبتداة بالبرمجة
memo1.lines:=Memo2.lines StringReplace(text
,'#', ' ',
; [rfReplaceAll, rfIgnoreCase])


[صورة: v2KnzO.png]

الكلمات المحجوزة غير كاملة اكمليها انت

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; 



الدالة post - yassmine300 - 11-12-2014

هل يوجد حل اخر بدون استخدام mots réservés اي بمعنى ادراج # بعد كل 'فراغ' و ';' من اي نص.


الدالة post - onexite - 30-12-2014

[صورة: MxIOfp.png]

هذا سيفي بالغرض

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;