View Full Version : سوال: نحوه استفاده از Replace dialog
amdtrf
شنبه 19 خرداد 1403, 04:26 صبح
سلام
برای Replace All کردن یک واژه در متن هنگام استفاده Replace dialog از چه دستوری باید استفاده کرد؟
ممنون
یوسف زالی
شنبه 19 خرداد 1403, 12:06 عصر
سلام منظورتون از دیالوگ دستیه؟ کنترل آر رو بزنید باکسش باز می شه
amdtrf
شنبه 19 خرداد 1403, 18:21 عصر
سلام
بخشید انگار درست منظورم را بیان نکرده ام.
من یک متن دارم که می خواهم تغییراتی درش ایجاد کنم و یک ReplaceDilalog روی فرم قرار می دهم و در رویداد OnReolace آن کد زیر را قرار می دهم و خطاهای آن را اصلاح می کنم.
ولی با این کد یکی یکی خطاها اصلاح میشه.
منظورم این هست که چگونه کد را تغییر بدهم که همه خطاهای مشابه یکجا اصلاح شوند.
ممنون از پاسخگویی تون
procedure TForm1.ReplaceDialog1Replace(Sender: TObject);
var
SelPos: Integer;
begin
with TReplaceDialog(Sender) do
begin
{ Perform a global case-sensitive search for FindText in Memo1 }
SelPos := Pos(FindText, Memo1.Lines.Text);
if SelPos > 0 then
begin
Memo1.SelStart := SelPos - 1;
Memo1.SelLength := Length(FindText);
{ Replace selected text with ReplaceText }
Memo1.SelText := ReplaceText;
end
else MessageDlg(Concat('Could not find "', FindText, '" in Memo1.'), mtError, [mbOk], 0);
end;
end;
یوسف زالی
یک شنبه 20 خرداد 1403, 03:04 صبح
در رویداد مورد نظرتون، بسته به این که چه دکمه ای رو زدید، آپشن دیالوگ تغییر می کنه.
if frReplaceAll in Options then
با چک کردنش می تونید بفهمید که از لوپ استفاده کنید یا نه.
amdtrf
یک شنبه 20 خرداد 1403, 22:21 عصر
بسیار ممنونم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.