在RichEdit中对奇数行和偶数行进行单独操作,如:复制,删除,剪切(100分)

  • 主题发起人 主题发起人 a_fi
  • 开始时间 开始时间
A

a_fi

Unregistered / Unconfirmed
GUEST, unregistred user!
我这里程序:
int i=0;
while(i!=RichEdit1->Lines->Count||ii!=RichEdit1->Lines->Count-1)
//判断是否是最后一行或倒数第二行
{
RichEdit1->Lines->Clear();
i++;
}
运行能通过,但是执行有错,弹出Cpu窗口!
是否要针对磁盘缓存进行操作,才不会产生异常.
 
while(i!=RichEdit1->Lines->Count||ii!=RichEdit1->Lines->Count-1)
^^^^^^^^^^^^^^^你这就超出边界了!!!当然要出错!
最后一行是Count-1 !!!不是Count!!!用如下语句
for (int i=0;RichEdit1->Lines->Count - 1; i++)
奇偶数可以用Odd函数判断
 
最后一行应该是RichEdit1->Lines->Count - 1
 
while(i!=RichEdit1->Lines->Count||ii!=RichEdit1->Lines->Count-1)
好象永远是真......
 
C Builder的问题,到Delphi来了。
 
对,应该是count-1 and count-2,才是倒数第一、二行
 
y:=sendmessage(richedit.handle,em_linefromchar,richedit.selstart,0);
//取得行
x:=richedit.selstart-sendmessage(richedit.handle,em_lineindex,y,0);
//取得列
然后,在判断奇偶就可以了
 
我按诸位的方法做了,但仍出错!
RichEdit控件的行不能删除吗?
 

int i=RichEdit1->Lines->Count;
while(i!=0)
//判断是否是最后一行或倒数第二行
{
i--;//放在上面
RichEdit1->Lines->Clear();
}
怎地不早说是要删除行?天哪!拖了半个月!
要“倒”着删除行,你想啊,删了一行Count就被减1,你到最后不是又超出边界了么!
 
a_fi:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
多人接受答案了。
 
后退
顶部