Q&A

  • TRichEdit에서... 제일 마지막 라인을 지울려는데 안지워 져요...
안녕하세요.

Form에 TRichEdit을 넣어놓고...
여기다가 TreeView에서 가져온 내용을 넣었어요.
TreeView1.SaveToStream(buf);
buf.Position := 0;
CheckForm.Memo1.Lines.LoadFromStream(buf);
여기서 Memo1은 TRichEdit 입니다.
그런데, 이렇게 해서 띄우니까 제일 아래에 빈 라인이 하나더 들어가더군요.
TreeView에서는 빈 라인이 없었거던요.
그래서, CheckForm.Memo1.Lines.LoadFromStream(buf); 다음에 전체 라인의 마지막을 보고 빈 라인이면 이 라인을 지울려고 했는데요...
theLineCount := CheckForm.Memo1.Lines.Count;
if (CheckForm.Memo1.Lines[theLineCount] = '') then
begin
   CheckForm.Memo1.Lines.Delete(theLineCount);
end;
이렇게 했는데 제일 마지막 라인이 지워지질 않네요.
Delete다음에 Lines.Count를 보면 지우기 전의 갯수와 똑같아요.

제일 마지막 라인을 지울려면 어떻게 해야 되나요?

그리고, TreeView의 내용을 buf에 넣고, TRichEdit으로 불러 들이면 왜 제일 마지막에 빈 라인이 생기는 거죠?

좀 가르쳐 주세요.  
1  COMMENTS
  • Profile
    최용일 2002.06.01 04:55
    안녕하세요. 최용일입니다.

    대부분 델파이의 리스트는 인덱스가 0부터 시작합니다. 그러니까 Count가 10이면 인덱스는 0부터 9까지이죠..

    if (CheckForm.Memo1.Lines[theLineCount - 1] = '') then
    begin
        CheckForm.Memo1.Lines.Delete(theLineCount - 1);
    end;

    ^^ 항상 즐코하세요...