我在winform上有一个richtextbox,并希望每行附加和读取文本行。
按照以下方式查看我在代码中的尝试:
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和备忘录。我将文本设置为scriptmemo然后我读回来附加到备忘录RichTextBox。这一切似乎都是合乎逻辑的,当然它编译成功,但编译器在运行时为行 var line1:= memo.Lines
引发异常,IndexOutofRange任何帮助将不胜感激。 谢谢,
答案 0 :(得分: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;