Импортирование файла в компонент Memo
Как мне импортировать файл в элемент управления TMemo начиная с позиции курсора? LoadFromFile заменяет содержимое TMemo содержимым текстового файла. Я хочу включить текстовый файл или в поцизию курсора или, если выбран текст, заменить этот текст содержимым текстового файла. Все это должно быть похоже на работу фунции PasteFromClipboard.
Самый простой путь вставки текста в компонент Memo заключается в посылке ему сообщения EM_REPLACESEL.
{ InsertFileInMemo-- ПРИМЕЧАНИЕ: если вы хотите заменить к настоящему временивыбранный в Memo текст, передайте в параметре ReplaceSelTRUE. FALSE необходим для простой вставки текста... } procedure InsertFileInMemo( Memo: TMemo; FileName: string; ReplaceSel: Boolean );var Stream: TMemoryStream;NullTerminator: Char;begin Stream := 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 ));finallyStream.Free;end;end; |
- Ed Jordan [001000]