- Jak zmienić atrybuty zaznaczonego tekstu? (coś a'la SellAtributes w RichEdit)
- Jak korzystać z SynEditSearch, lub SynEditRegexSearch?
(chodzi mi o jakiś konkretny, działający przykład)
0
0
- Jak zmienić atrybuty zaznaczonego tekstu? (coś a'la SellAtributes w RichEdit)
Nie mam SynEdit, ale czy nie starczyło SynEdit.Font ? (gdy nie ma zaznaczenia --> dla całego tekstu, gdy jest --> dla zaznaczenia) ??
- Jak korzystać z SynEditSearch, lub SynEditRegexSearch?
(chodzi mi o jakiś konkretny, działający przykład)
uses
SynEdit, SynEditSearch...
procedure TfrmMain.dialogFindFind(Sender: TObject); // szukanie
var
SearchSetup: TSynSearchOptions;
Find: TFindDialog;
begin
Find := TFindDialog(Sender);
SearchSetup := [ssoPrompt];
if not (frDown in Find.Options) then
Include(SearchSetup, ssoBackwards);
if (frMatchCase in Find.Options) then
Include(SearchSetup, ssoMatchCase);
if (frWholeWord in Find.Options) then
Include(SearchSetup, ssoWholeWord);
if SynEdit.SearchReplace(Find.FindText, '', SearchSetup) = 0 then
ShowMessage('Szukany element nie został znaleziony!');
end;
procedure TfrmMain.dialogReplaceReplace(Sender: TObject); // zamiana
var
SearchSetup: TSynSearchOptions;
Find: TReplaceDialog;
Match: boolean;
begin
Find := TReplaceDialog(Sender);
SearchSetup := [ssoPrompt];
if (frReplace in Find.Options) then
Include(SearchSetup, ssoReplace);
if (frReplaceAll in Find.Options) then
begin
Include(SearchSetup, ssoReplaceAll);
if not (frDown in Find.Options) then
Include(SearchSetup, ssoBackwards);
if (frMatchCase in Find.Options) then
Include(SearchSetup, ssoMatchCase);
if (frWholeWord in Find.Options) then
Include(SearchSetup, ssoWholeWord);
if SynEdit.SearchReplace(Find.FindText, Find.ReplaceText, SearchSetup) = 0 then
ShowMessage('Szukany element nie został znaleziony!');
end
else
begin
Match := ((frMatchCase in Find.Options) and (SynEdit.SelText = Find.FindText));
Match := Match or (not (frMatchCase in Find.Options) and (UpperCase(SynEdit.SelText) = UpperCase(Find.FindText)));
if (frReplace in Find.Options) and Match then
SynEdit.SelText := Find.ReplaceText;
dialogReplaceFind(Sender);
end;
end;
Regex nie używałem.
0
1.Nie, nie działa. ;-( (przynajmniej u mnie)
2. Dzięki