Импортирование файла в компонент Memo
Как мне импортировать файл в элемент управления TMemo
начиная с позиции курсора?
LoadFromFile заменяет содержимое TMemo содержимым текстового файла.
Я хочу включить текстовый файл или в поцизию курсора или, если выбран текст,
заменить этот текст содержимым текстового файла. Все это должно быть похоже на работу фунции PasteFromClipboard.
Самый простой путь вставки текста в компонент Memo заключается в посылке ему сообщения EM_REPLACESEL.
{ InsertFileInMemo-- ПРИМЕЧАНИЕ: если вы хотите заменить к настоящему времени
выбранный в Memo текст, передайте в параметре ReplaceSel
TRUE. FALSE необходим для простой вставки текста... }
procedure InsertFileInMemo( Memo: TMemo; FileName: string; ReplaceSel: Boolean );
varStream: TMemoryStream;
NullTerminator: Char;
beginStream := TMemoryStream.Create;
try
{ Загружаем текст... }
Stream.LoadFromFile( FileName );
{ Добавляем в конец текста терминирующий ноль... }
Stream.Seek( 0, 2 );
NullTerminator := #0;
Stream.Write( NullTerminator, 1 );
{ Вставляем текст в Memo... }
if not ReplaceSel then Memo.SelLength := 0;
SendMessage( Memo.Handle, EM_ReplaceSel, 0,
LongInt( Stream.Memory ));
finally
Stream.Free;
end;
end;
|
- Ed Jordan [001000]