ну это понятно вроде, но дело в том, что я не умею пока работать с объектами, классами и методами. В книгах пишут слишком трудно для восприятия. Соответственно я любой код не смогу вставить в проект так, что бы он работал....
Вам персональное сообщение....
**********
пока пришел только к этому, но поле Memo не заполняется.. Почему?
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label1: TLabel;
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure InsertFileInMemo1(Memo1: TMemo; FileName: string;
ReplaceSel: Boolean);
var
Stream: TMemoryStream;
NullTerminator: Char;
begin
Stream := TMemoryStream.Create;
try
{ Загружаем текст... }
Stream.LoadFromFile('1.txt');
{ Добавляем в конец текста терминирующий ноль... }
Stream.Seek(0, 2);
NullTerminator := #0;
Stream.Write(NullTerminator, 1);
{ Вставляем текст в Memo... }
if not ReplaceSel then
Memo1.SelLength := 0;
SendMessage(Memo1.Handle, EM_ReplaceSel, 1,
LongInt(Stream.Memory));
finally
Stream.Free;
end;
end;
end.
Вот что еще нашел в материалах сайта:
Код:
function SearchForText_AndSelect(RichEdit: TRichEdit; SearchText: string): Boolean;
var
StartPos, Position, Endpos: Integer;
begin
StartPos := 0;
with RichEdit do
begin
Endpos := Length(RichEdit.Text);
Lines.BeginUpdate;
while FindText(SearchText, StartPos, Endpos, [stMatchCase])<>-1 do
begin
Endpos := Length(RichEdit.Text) - startpos;
Position := FindText(SearchText, StartPos, Endpos, [stMatchCase]);
Inc(StartPos, Length(SearchText));
SetFocus;
SelStart := Position;
SelLength := Length(SearchText);
end;
Lines.EndUpdate;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SearchForText_AndSelect(RichEdit1, 'Some Text');
end;
Вопрос будет в следующем, как вот это надо прикрутить к первому (мемо), что бы всё работало?
...Уже битый час ломаю голову...