T E X T Textverarbeitung © Herbert Paukert - von Herbert Paukert
T E X T Textverarbeitung © Herbert Paukert - von Herbert Paukert
T E X T Textverarbeitung © Herbert Paukert - von Herbert Paukert
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Herbert</strong> <strong>Paukert</strong>: <strong>Textverarbeitung</strong> in DELPHI 27<br />
procedure TForm1.FindDialog1Find(Sender: TObject);<br />
// Text schrittweise in RichEdit suchen<br />
var FoundAt, StartPos, ToEnd: Integer;<br />
SType: TSearchTypes;<br />
begin<br />
with RichEdit1 do begin<br />
SType := [];<br />
if (frMatchCase) in FindDialog1.Options then SType := SType + [stMatchCase];<br />
if (frWholeWord) in FindDialog1.Options then SType := SType + [stWholeWord];<br />
if SelLength 0 then StartPos := SelStart + SelLength<br />
else StartPos := SelStart;<br />
ToEnd := Length(Text) - StartPos;<br />
FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, SType);<br />
if FoundAt -1 then begin<br />
SetFocus;<br />
SelStart := FoundAt;<br />
SelLength := Length(FindDialog1.FindText);<br />
SendMessage(Handle,EM_SCROLLCARET,0,0);<br />
end;<br />
SetFocus;<br />
end;<br />
end;<br />
procedure TForm1.ReplaceDialog1Find(Sender: TObject);<br />
// Text schrittweise in RichEdit suchen<br />
var FoundAt, StartPos, ToEnd: Integer;<br />
SType: TSearchTypes;<br />
begin<br />
with RichEdit1 do begin<br />
SType := [];<br />
if (frMatchCase) in ReplaceDialog1.Options then SType := SType + [stMatchCase];<br />
if (frWholeWord) in ReplaceDialog1.Options then SType := SType + [stWholeWord];<br />
if SelLength 0 then StartPos := SelStart + SelLength<br />
else StartPos := SelStart;<br />
ToEnd := Length(Text) - StartPos;<br />
FoundAt := FindText(ReplaceDialog1.FindText, StartPos, ToEnd, SType);<br />
if FoundAt -1 then begin<br />
SetFocus;<br />
SelStart := FoundAt;<br />
SelLength := Length(ReplaceDialog1.FindText);<br />
SendMessage(Handle,EM_SCROLLCARET,0,0);<br />
end;<br />
end;<br />
end;<br />
procedure DoReplace;<br />
// Text schrittweise in RichEdit ersetzen<br />
var FoundAt, StartPos, ToEnd: Integer;<br />
SType: TSearchTypes;<br />
begin<br />
with Form1 do begin<br />
with RichEdit1 do begin<br />
SType := [];<br />
if (frMatchCase) in ReplaceDialog1.Options then SType := SType + [stMatchCase];<br />
if (frWholeWord) in ReplaceDialog1.Options then SType := SType + [stWholeWord];<br />
if SelLength 0 then StartPos := SelStart + SelLength<br />
else StartPos := SelStart;<br />
ToEnd := Length(Text) - StartPos;