البحث في عنصر RichtEdit
#21
تقصد تلوين الكلمة التي نبحث عنها في كل الاسطر؟
[صورة: 88878762.png]

آسف لأني لم أفهم سؤالك
كود :
procedure GetTextColor(const ARichEdit : TRichEdit;const ASubText : AnsiString;const AColour : TColor); var i : Integer; begin if not Assigned( ARichEdit ) then EXIT; if ( Trim( ASubText ) = EmptyStr ) then EXIT; i := PosEx( ASubText, ARichEdit.Text ); while ( i>0 ) do begin ARichEdit.SelStart := Pred( i ); ARichEdit.SelLength := Length( ASubText ); ARichEdit.SelAttributes.Color := AColour; ARichEdit.SelAttributes.Style :=[fsBold]; i := PosEx( ASubText, ARichEdit.Text,Succ( i ) ); end; end;
لا تنسى
كود :
Uses StrUtiles;
الرد
#22
للاسف اخي خطا
[صورة: picture0001n.png]
المشكلة في توزيع اللون
ايجاد النص احتلت ولكن التلوين لا

البارحة لقد بحث عن فائدة BeginUpdate/EndUpdate
كانت مشاركة بالغة الانجليزية مما اضطر الى حدفها
ان استخدام هذه التوابع تعطي سرعة كبيره جدا للناتج في الحلقات الكبيرة
وقد جربته بنفسي
اشكرك على المعلومة
ولكن ينبغي حل المشكلة

نص الاختبار
Key PDF processing features of PDFtoolkit: PDF PDF
processing Key PDF featuresPDF of PDFtoolkit: PDF
Key features PDF processing of PDFtPDFolkit: PDF

بالنسبة لمحاولتي البارحة كانت النتيجة
[صورة: picture0002w.png]
ولكنة حل غير كامل او غير صحبح
الرد
#23
الدالة تمشي عندي
[صورة: 84165012.png]
الرد
#24
اخي paix144 انت تستخدم نسخة قديمة
جرب الكود على DXE2

D7 نسخة رائعة ولكن قديمة
ان كنت عملت عليها فلن اسأل شيء
التحدي على DXE2
التحدي هو النجاح على DXE2

معلومة الالوان المثمثلة بقيمة عددية اختلفت في النسختين DXE2وDXE
فمثلا اللون clcream
يختلف في النسختين
وهناك اختلافات كبيرة
الرد
#25
سأعمل به مسقبلا إن شاء الله
d7قديمة لكن فعالة
الرد
#26
d7 لها معزة كبيرة ولا استطيع الاستغناء عنها
فهيا المنقد في الشدائد عندما تتصعب الامور في النسخ الحديثة
واغلب الكمبوننت تعمل معها
الرد
#27
للنظر الى findtext لعلنا نجد ما نجهله
كود :
function TCustomRichEdit.FindText(const SearchStr: string; StartPos, Length: Integer; Options: TSearchTypes): Integer; var Find: TFindText; Flags: Integer; begin with Find.chrg do begin cpMin := StartPos; cpMax := cpMin + Length; end; Flags := FR_DOWN; if stWholeWord in Options then Flags := Flags or FR_WHOLEWORD; if stMatchCase in Options then Flags := Flags or FR_MATCHCASE; {$IFDEF CLR} Find.lpstrText := SearchStr; {$ELSE} Find.lpstrText := PChar(SearchStr); {$ENDIF} Result := SendStructMessage(Handle, EM_FINDTEXT, Flags, Find); end;
الرد
#28
abdelali91 كتب :السلام عليكم
أحاول صنع برنامج يقوم بالبحث عن كلمة موجودة في نص معين واستعنت بذلك بالعناصر التالية:
RichEdit و Button و Edit.text
البرنامج اشتغل ولكن عندما اظغطك على الزر لا يحدث شيى
وهذا كود البرنامج:
كود :
procedure TForm4.Button1Click(Sender: TObject); var i,l:integer; s: string; begin s:=edit1.Text; l:=Length(edit1.text); i:= RichEdit1.FindText(s,0,l,[]); if i>0 then begin RichEdit1.SetFocus; RichEdit1.SelStart := i; RichEdit1.SelLength := length(s) ; RichEdit1.SelAttributes.Color:=clred; end; end; end.


عوض l ب: ; ( l:=length(richedit1.text
الرد


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


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