Q&A

  • 텍스트 파일 1라인씩 처리...
안녕하세요.
문자전송프로그램을 해볼려구 하는데요.
화면에 보면 이모티콘에서 각 버튼에 메세지가 하나씩 들어있는데요.
그 화일은 aa.txt란 화일에 저장되어 있구요.
텍스트파일에서 한 라인이 한개의 이모티콘이구요.

제가 하려는 것을 그 aa.txt화일을 읽어서 첫 라인은 memo1에
두번째는 memo2에 이런식으로 읽어오려고 합니다.

var
   txt : textfile;
   buf: string;
   ii : integer;
begin
   assignfile(txt ,'c:aa.txt');
   reset(txt);
   ii :=1 ;
   while not eof(txt) do begin
       readln(txt,buf);
       memo(ii).text := buf;     ** 이부분을 어떻게 해야 하는지요
       ii :=ii+1;
   end;
end;

이런 식으로 해보니 memo(ii).text 이 에러가 납니다.
제 생각은 첫라인은 memo1에 두번째 라인은 memo2에 나타나게 하려고
하는 것입니다.
memo에 번호를 줘서 해결하고 싶은데, 고수님들의 도움을 기다리겠습니다.

감사합니다.
3  COMMENTS
  • Profile
    김성원 2002.07.30 12:34
    그냥 참고만 하시라구 적어 봅니다.

    저의 경우 이모티콘의 내용은 모두 StringGrid나 CtrlGrid에 얹어 놓구 사용합니다. 간단하고 내용이 많아도 함꺼번에 볼수 잇거덩여..
    그러면 간단히 해결이 가능할것 같은데. 참고만 하세염..
  • Profile
    이병협 2002.07.29 21:25
    다른 방법이 있는지는 모르겠지만.....
    var
      tm: array of tmemo;
      i : integer;
    begin
      setLength(tm,2);
      tm[0] := memo1;
      tm[1] := memo2;

      for ii := 0 to 1 do
      begin
        tm[ii].text := 'asdfasdfas';
      end;
    end;


  • Profile
    서기원 2002.07.29 21:06
    Form1 위의 TMemo 콤포넌트의 이름을
    memo1,memo2,memo3...이렇게 이름을 주셨다면,

    Form1.FindComponent('memo'+IntToStr(ii) as TMemo).Text := Buf;

    를 사용하시면 될 것 같네요.

    이름이 다르다면 배열에다가 이름 넣고 FindComponent의 파라미터를 배열에서 읽어들이는 방법을 쓰시는 것도 방법일 것 같구요. 어쨌든 즐푸하세요~