30-07-2019, 06:17 PM
31-07-2019, 02:11 PM
كيف يمكن تطبيق هذا الكود
&&&&&&&&&
&&&&&&&&&
PHP كود :
procedure RE_ColorerMots(RE: TRichEdit; Mot: ShortString; AColor: TColor; var Count: integer);
// 3 secondes 37 secondes 721 ms pour 4784 mots dans Zola992K.txt de 992 Ko
label Recomm;
var
FoundAt: LongInt;
StartPos, ToEnd: Integer;
begin
Count := 0;
with RE do
begin
// Commence la recherche après la sélection en cours s'il y en a une sinon, commence au début du texte
if SelLength <> 0
then StartPos := SelStart + SelLength
else StartPos := 0;
Recomm:
ToEnd := Length(Text) - StartPos; // ToEnd indique la longueur entre StartPos et la fin du texte du RichEdit
FoundAt := FindText(Mot, StartPos, ToEnd, [stMatchCase]);
if FoundAt <> -1 then
begin
inc(Count);
SetFocus;
SelStart := FoundAt;
SelLength := Length(Mot);
SelAttributes.Color := AColor;
StartPos := FoundAt + Length(Mot);
if StartPos < length(Text) then goto Recomm;
end;
SelLength := 0;
end;
end;
31-07-2019, 04:26 PM
01-08-2019, 01:40 AM
شكرا لكن كيف يمكن تطبيق الكود السابق
01-08-2019, 09:08 AM
كود :
var Count: integer;
begin
RE_ColorerMots(Form1.RichEdit1,'delphi',ClBlue,Count);
end;01-08-2019, 02:00 PM
بارك الله فيك أخي قد نفعتني كثيرا
11-08-2019, 02:15 PM
(01-08-2019, 09:08 AM)B.M.AbdelAziZ كتب : [ -> ]وجدت مشكل آخر آلا وهو أن المؤشر يذهب للكلمة التي أبحث عنها حتى وإن لم أكمل الكتابة ، والسبب أني أريد وضع الكود ( [size=small]RE_ColorerMots(Form1.RichEdit1,'delphi',ClBlue,Count); ) [/size]في Edit1Changeكود :var Count: integer; begin RE_ColorerMots(Form1.RichEdit1,'delphi',ClBlue,Count); end;