delphi - 有没有更好的方法向 TMemo 添加一些字符?

标签 delphi character tmemo

我正在使用 TMemo 保存从串行端口接收到的字符以供查看。当他们到达时我正在做:

Memo1.Text := Memo1.Text + sReceivedChars;

这工作正常,但我认为它效率相当低,必须在连接我的几个字符然后将其写回之前获取现有文本。我真的很想要一个“SendChars()”函数或类似的函数。有没有更好的方法来简单地在现有文本的末尾添加一些字符?

最佳答案

我不知道你是否认为值得,但你可以这样做:

procedure TForm1.Button1Click(Sender: TObject);
var
  index: Integer;
  NewText: string;
begin
  NewText := 'Append This';
  index := GetWindowTextLength (Memo1.Handle);
  SendMessage(Memo1.Handle, EM_SETSEL, index, index);
  SendMessage (Memo1.Handle, EM_REPLACESEL, 0, Integer(@NewText[1]));
end;

关于delphi - 有没有更好的方法向 TMemo 添加一些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3580163/

相关文章:

德尔福。备忘录/RichEdit 的模拟

delphi - 使用 TTimer 滚动备忘录文本仅显示前 3 行

delphi - 是否有任何简单的自动化方法可以找出与 Delphi 项目关联的所有源文件?

swift - 从字符串中删除前六个字符(Swift)

c - 分隔字符串中的字符并将其值分配给变量

swift - 在 Swift 中从单个字符串转换为 ASCII 值的最简单方法是什么?

delphi - 在 Delphi 2010 备忘录中看不到 UTF8 字符

performance - FillChar,但对于整数/基数

delphi - 将Objective-C代码转换为Delphi(XE8)

delphi - 使用FPC : Allocation and Pointers编写Scheme解释器