回 帖 发 新 帖 刷新版面

主题:为什么在memo1中的前j行不能显示到memo2中的前j行,并且memo1中的前j行实时消失?

请问如下语句执行后,为什么在memo1中的前j行不能显示到memo2中的前j行,并且memo1中的前j行实时消失?焦急等待中,请赐教,非常感谢!
void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString str=Edit1->Text;
for (int j=0;j<atoi("+str.Trim()+");j++)
    {
    Memo2->Lines->Append("Memo1->Lines[j]->Text");
    Memo1->Lines->Delete(j);
    }

回复列表 (共2个回复)

沙发

可能错在两个地方,(身边没C++所以不是很确定):
1. for (int j=0;j<atoi("+str.Trim()+");j++)少了等于
改为 for (int j=0;j<=atoi("+str.Trim()+");j++)

2. Memo1->Lines->Delete(j);
此语句应放在循环外.

板凳

建议改为:

void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString str=Edit1->Text;
for (int j=0;j<=atoi("+str.Trim()+");j++)
    {
    Memo2->Lines->Append("Memo1->Lines[j]->Text");
    }
Memo1->Lines->Delete(atoi("+str.Trim()+"));
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册