البحث في عنصر RichtEdit
#20
الكود يبحث عن اول كلمة فقط وليس كل الكلمات الموجودة في النص
لون الكود وانت ستعرف الفرق
انا جربت الكود السابق ولا يحقق المطلوب

لا تقول بسبب break
ليس له تأثير حتى لوحدفتة
تذكر ان المطلوب الاستغناء عن findText

للعلم ان حلي صحيح 100% كبحث عن نص في كل الاسطر ولكن مع تميز بالتلوين يعتبر خطا

انظر الى هذا السطر
إقتباس :FRichEdit.SelStart := j- t ;
قيمة t اذا اخدت 1 او غيرتها ب 1
تعطي اجابة صحيحة 100%100
ونفس الشيء بالنسبة للاسطر البقية
ولكن ليس الكل لابد من تعديل

نفس المشكلة حتى هنا

كود :
procedure TForm1.Button1Click(Sender: TObject); begin GetTextColor(RichEdit1, Edit1.Text, clred); end; procedure TForm1.GetTextColor(FRichEdit: TRichEdit; SearchTxt: string; Fgetcolor: Tcolor); var i, j, t, Len, StartPos, intindex: integer; FRichEditTemp: TRichEdit; StrFind, TempStr: string; StrBuffer: TStringList; begin Len := 0; j := 0; t := 1; inc(j); StartPos := j; StrBuffer := TStringList.Create(); try j := PosEx(SearchTxt, FRichEdit.Text, StartPos); while j > 0 do Begin j := PosEx(SearchTxt, FRichEdit.Text, StartPos); StrBuffer.Add(IntToStr(j)); StartPos := j + length(SearchTxt); End; FRichEdit.Lines.Add(StrBuffer.Text); for i := 0 to StrBuffer.Count - 1 do begin FRichEdit.Lines.BeginUpdate; intindex := StrToInt(StrBuffer.Strings[i]); if intindex <= 0 then Continue; FRichEdit.SelStart := intindex - 3; FRichEdit.SelLength := length(SearchTxt); FRichEdit.SelAttributes.Style := [fsBold]; FRichEdit.SelAttributes.Color := Fgetcolor; FRichEdit.Lines.EndUpdate; // end; FRichEdit.Lines.EndUpdate; end; finally StrBuffer.Free; end;

محاولة اخرى
كود :
procedure TForm1.Button1Click(Sender: TObject); begin GetTextColor(RichEdit1, Edit1.Text, clred); end; procedure TForm1.GetTextColor(FRichEdit: TRichEdit; SearchTxt: string; Fgetcolor: Tcolor); var i, j, t, Len, StartPos, intindex: integer; StrFind, TempStr: string; StrBuffer: TStringList; begin Len := 0; StartPos := 0; t := 0; inc(StartPos); FRichEdit.Lines.BeginUpdate; for j := 0 to FRichEdit.Lines.Count - 1 do begin Len := Len + length(FRichEdit.Lines.Strings[j]); while PosEx(SearchTxt,FRichEdit.Text, StartPos) > 0 do Begin intindex := PosEx(SearchTxt,FRichEdit.Text , StartPos)-1; if intindex <= 0 then Continue; if intindex > Len then begin break; end; FRichEdit.SelStart := intindex - j; FRichEdit.SelLength := length(SearchTxt); FRichEdit.SelAttributes.Style := [fsBold]; FRichEdit.SelAttributes.Color := Fgetcolor; StartPos := intindex + length(SearchTxt); End; end; FRichEdit.Lines.EndUpdate; end;
الرد


الردود في هذا الموضوع
البحث في عنصر RichtEdit - بواسطة abdelali91 - 19-09-2011, 05:11 PM
البحث في عنصر RichtEdit - بواسطة cargem - 26-09-2011, 04:01 PM
البحث في عنصر RichtEdit - بواسطة abdelali91 - 27-09-2011, 08:54 AM
البحث في عنصر RichtEdit - بواسطة cargem - 27-09-2011, 05:50 PM
البحث في عنصر RichtEdit - بواسطة abdelali91 - 28-09-2011, 08:32 AM
البحث في عنصر RichtEdit - بواسطة cargem - 28-09-2011, 05:32 PM
البحث في عنصر RichtEdit - بواسطة abdelali91 - 01-10-2011, 10:45 AM
البحث في عنصر RichtEdit - بواسطة cargem - 01-10-2011, 12:04 PM
البحث في عنصر RichtEdit - بواسطة paix144 - 02-10-2011, 09:30 PM
البحث في عنصر RichtEdit - بواسطة cargem - 03-10-2011, 06:02 PM
البحث في عنصر RichtEdit - بواسطة cargem - 03-10-2011, 06:23 PM
البحث في عنصر RichtEdit - بواسطة paix144 - 03-10-2011, 08:14 PM
البحث في عنصر RichtEdit - بواسطة cargem - 03-10-2011, 10:13 PM
البحث في عنصر RichtEdit - بواسطة paix144 - 03-10-2011, 11:14 PM
البحث في عنصر RichtEdit - بواسطة cargem - 04-10-2011, 05:30 PM
البحث في عنصر RichtEdit - بواسطة paix144 - 04-10-2011, 07:07 PM
البحث في عنصر RichtEdit - بواسطة cargem - 05-10-2011, 04:13 PM
البحث في عنصر RichtEdit - بواسطة cargem - 05-10-2011, 04:21 PM
البحث في عنصر RichtEdit - بواسطة paix144 - 05-10-2011, 09:18 PM
البحث في عنصر RichtEdit - بواسطة cargem - 06-10-2011, 12:20 AM
البحث في عنصر RichtEdit - بواسطة paix144 - 06-10-2011, 05:32 PM
البحث في عنصر RichtEdit - بواسطة cargem - 07-10-2011, 02:12 AM
البحث في عنصر RichtEdit - بواسطة paix144 - 07-10-2011, 12:59 PM
البحث في عنصر RichtEdit - بواسطة cargem - 07-10-2011, 02:57 PM
البحث في عنصر RichtEdit - بواسطة paix144 - 07-10-2011, 03:09 PM
البحث في عنصر RichtEdit - بواسطة cargem - 07-10-2011, 04:23 PM
البحث في عنصر RichtEdit - بواسطة cargem - 07-10-2011, 04:32 PM
البحث في عنصر RichtEdit - بواسطة DJAMELCOLLO - 12-07-2013, 12:12 PM

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


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