0

我在 winform 上有一个丰富的文本框,并希望每行附加和读取文本行。

看看我在我的代码中的尝试如下:

method ScriptDlgpas.Execute(memo:RichTextBox): Boolean;
var i:Integer;
begin
  Result := false;

  scriptMemo.Clear;
  var line1 := memo.Lines;
  while (line in line1) do
    scriptMemo.AppendText(line);

  if ShowDialog = DialogResult.OK then
  begin
    memo.Clear;
    var line2 := ScriptMemo.Lines;
    while(line in line2) do
        memo.AppendText(line);
    Result := true;
  end;
end;

我有两个richtextbox,scriptmemo 和memo。我将文本设置为 scriptmemo,然后将其读回以附加到备忘录 RichTextBox。这一切似乎都是合乎逻辑的,当然它编译成功,但是编译器在运行时引发异常 IndexOutofRange 行var line1 := memo.Lines

任何帮助将不胜感激。谢谢,

4

1 回答 1

1

从它的外观来看,要么其他程序员不知道我在说什么,要么不知道如何解决它。

我确实弄清楚了我的问题,并想发布答案,希望它能帮助其他人。

这是修改后的工作代码:

method ScriptDlgpas.Execute(memo:RichTextBox): Boolean;
var i:Integer;
    lines1, lines2 : Array of string;
begin
  Result := false;

  scriptMemo.Clear;
  lines1 := memo.Lines;
  for each aline in lines1 do
  begin
    scriptMemo.AppendText(aline+System.Environment.NewLine);
  end;

  if ShowDialog = DialogResult.OK then
  begin
    memo.Clear;
    lines2 := ScriptMemo.Lines;
    for each aline in lines2 do
    begin
        memo.AppendText(aline+System.Environment.NewLine);
    end;
    Result := true;
  end;
end;
于 2012-06-07T16:21:10.693 回答