Q&A

  • TListItem사용법이요 ^^

아래와 같이 선언하면.. Listview 에 caption 이 한개 밖에 등록이 안되네요.

procedure TRegistrationFrm.Button1Click(Sender: TObject);
var
  item: TListItem;
  i: integer;
begin
  item := listview1.Items.Add;
  for i:=0 to 100 do begin
    item.Caption := inttostr(i);
  end;

end;

이걸..
  for i:=0 to 100 do begin
    item := listview1.Items.Add;
    item.Caption := inttostr(i);
  end;

이렇게 하면 되는데..

제가 원하는건..

var
  item: TListItem;
begin
  for i:=0 to 100 do begin
    item := callitem;  //callitem 은 넘겨받은 TListItem 으로listview1.Items.Add; 입니다. ^^
    item.Caption := inttostr(i);
  end;
end;

하면.. 등록이 되어야 하는데..
callitem 이런식으로 하면 안되서요..

그럼 수고하세여~
3  COMMENTS
  • Profile
    GanJang 2002.01.24 01:21
    이렇게 하니깐 되기는 되는데...

    procedure TRegistrationFrm.Button1Click(Sender: TObject);
    var
      i: integer;

      function reitem: TListItem;
      begin
        result := listview1.Items.Add;
      end;

    begin
      for i:=0 to 100 do begin
        reitem.Caption := inttostr(i);
      end;
    end;

    꼭 이렇게 해야 되는지도 모르겠고..
    또..  위에 펑션에다가.. 넘겨받은 ListItem 인.. callitem 을 대입하면..
    또다시 안되고..

    즉..

    result := callitem;

    .....

    이렇게 하면 또 안되네요.. ㅠ.ㅠ


    간단한 TListItem 에 대한 설명좀 부탁드려요 ^^;;
    몇일을 해봤는데.. 감이 안잡히네요.. ^^;;



  • Profile
    하얀까마귀 2002.01.24 01:52
    안녕하세요 하얀까마귀 입니다.

    무슨 말인지 잘모르겠어요... 뭐가 문제라고 하시는건지 그리고 뭘할려고
    하시는건지 잘모르겠어요.. ㅠㅠ

    몇가지 말씀드리면.
      item := listview1.Items.Add;
      for i:=0 to 100 do begin
        item.Caption := inttostr(i);
      end;
    요넘은 당연히 안되겠죠.. 아마 100 이라는 스트링 하나만 딸랑 들어가겠네요.

    Item을 하나 만들어 주고 루프에서 같은 아이템에 1부터 100까지 그냥 넣어주
    는 루틴이니까요..


    이넘이랑...
    이넘은 같은거구요.. 루프내에 Items.Add가 있으니 Item의 생성을 100번하게
    되죠. 각각의 아이템에 1부터 100까지 넣을테니 1부터 100까지 아이템이 만들어 질꺼구요..

    원하시는게


    이거라고 하셧는데.. callitem 이 listview1.items.add 라면 문제가 없을텐데요?
    음... TlistView1.Items.Add는 ListItem을 동적으로 생성하는 겁니다.
    그래서 TListView에 넣어주는거죠.
    그러니까 각각에 대해 Add가 발생하지 않는다면 문제가 됩니다.

    다시 말해서 callItem이 그냥 변수. 다시말해서 이전에
    var
      callItem : TlistItem;
    begin
      callItem := ListView1.Items.Add;
      // 리스트뷰에 스트링 추가하는 루틴..
      for i := 0 to 100 do
      begin
        item := callitem;
        item.Caption := inttostr(i);
      end;
    end;
    하신거라면 이전의 1개의 ListView에 넣어준거랑 전혀 다르지 않죠.
    그냥 같은 아이템을 item에 넣어준거니까.. 말이 넘 어렵다..

    item := callItem 이고 callitem이 그냥 TListItem형 변수라면
    Item.Add 를 딱한번 실행하는거라구요.. 그러니까 아이템이 1개만 생성되겠죠.

    마지막에 말슴하신거.. 함수로 만드셧는데 그렇게 하시면
    Item.Add가 함수가 실행될때마다 발생하니까 계속 새로운 Item 이 생성되잖아요.

    정확히 문제가 무엇인지.. CallItem이 뭔지는 잘모르겠지만. 새로운아이템을
    계속 생성해야된다는것만 염두에 두시면 될것 같네요..

    그럼 즐거운시간 되세요.

    - 하얀까마귀 -


  • Profile
    GanJang 2002.01.24 02:00
    흐흐흐 ..
    쓰면서 저도 헤깔렸답니다.. -_-;;
    제가 착각했군요.. 100 만 딸랑 드러가는 이유를..
    이제서야 이해가 갑니다..

    그럼 질문을 바꿔야 겠는데..
      item := listview1.Items.Add;
      for i:=0 to 100 do begin
        item.Caption := inttostr(i);
      end;

    위에껀 100 만 들어가지만..

    listview1.items.Add.Caption := 1;
    listview1.items.Add.Caption := 2;
    listview1.items.Add.Caption := 3;
    listview1.items.Add.Caption := 4;
    .
    .
    .
    listview1.items.Add.Caption := 99;
    listview1.items.Add.Caption := 100;

    은.. 잘 들어가잖아요? -_-;;


    저걸 조금 변경한거는..

    item := listview1.items.Add;

    item.caption := 1;
    item.caption := 2;
    item.caption := 3;
    .
    .
    .
    item.caption := 100;

    이럼 될줄 알았는데..
    이렇게 해도.. 100 만 들어가서요 ^^;;

    분명 위엣것두.. 같은 아이템 같은데.. -_-;;

    감사합니다아~~~~~~~


    • 하얀까마귀
      2002.01.24 03:41
      정적배열로 하지 마시구요.. 그냥 동적으로 하시면 안되나?? 아니면 만들어져 있는 TList 를 사용하셔도...
    • 김보현
    • 2002.01.24 01:12
    • 0 COMMENTS
    • /
    • 0 LIKES
    • GanJang
    • 2002.01.24 01:06
    • 3 COMMENTS
    • /
    • 1 LIKES
    • GanJang
      2002.01.24 01:21
      이렇게 하니깐 되기는 되는데... procedure TRegistrationFrm.Button1Click(Sender: TObject); var &...
    • 하얀까마귀
      2002.01.24 01:52
      안녕하세요 하얀까마귀 입니다. 무슨 말인지 잘모르겠어요... 뭐가 문제라고 하시는건지 그리고 뭘할려...
    • GanJang
      2002.01.24 02:00
      흐흐흐 .. 쓰면서 저도 헤깔렸답니다.. -_-;; 제가 착각했군요.. 100 만 딸랑 드러가는 이유를.. ...
    • 이창영
      2002.01.24 01:38
      안녕하십니까.... 똑같은 의문을 품으신 분들이 꽤 되는것 같네요... 저도 저번주 리포트 하나 만들다...
    • 델파이탐크루즈
      2002.01.24 02:07
      [질문] 출력이 되었다가 않되었다가 하거든여...??? 분명히 어제는 되었는데... 오늘은 않되여... 그리...
    • 김경우
    • 2002.01.24 00:05
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김형근
      2002.01.24 19:38
      안녕하십니깐 Helperzero김형근입니다.. 그건 간단합니다. 델파이5.0에서 퀵리포트3.5를쓰면 해결됩니...
    • 김규억
      2002.01.24 18:04
      저두 퀵레포트를 이용해서 XP에서 테스트를 무사히 마쳤는데요... 이상없이 잘 돌아가거든요... ...
    • 오진욱
    • 2002.01.24 00:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오진욱
      2002.01.24 02:12
      -_-;; 역쉬 ConnectionString 틀린거였군요. 게시판 검색해서 나온거 이것저것 다 넣어봤다고 생각했었는...
    • 박성훈
    • 2002.01.23 23:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 성낙균
      2002.01.23 23:51
      저역시 조금해보았는데 위의 에러는  client에서 application server프로그램 이  실...
    • 김형우
    • 2002.01.23 22:59
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.01.24 01:30
      안녕하세요 하얀까마귀 입니다. 프로퍼티를 만드는거 아니시죠? 프로그램에서 전체 색상 수정하시는 거...
    • 이승근
    • 2002.01.23 22:34
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.01.24 01:10
      안녕하세요 하얀까마귀 입니다. 거래처가 천여개이고 전표테이블이 15만개 정도라면 SQL 문으로 해...
    • 이승근
      2002.01.24 04:53
      워낙에 초보라서여... 사용하는 형식만 잠깐 sample로 보여주시면 안될까여???^^
    • 하얀까마귀
      2002.01.25 10:44
      안녕하세요 하얀까마귀 입니다. group by 는 해당 그룹으로 특정 연산을 할때 사용합니다. 예를들어...
    • 이승근
    • 2002.01.23 22:27
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.01.23 22:38
      안녕하세요... 첫번째 디테일 밴드에다가 QRSysData의 Data를 qrsDetailCount 해보세요 그러면 되여...
    • 이승근
      2002.01.24 04:49
      설정하는 것을 모르는것이 아니라... 그렇게 해서 page설정이 나오면 a4, b4등등은 있는데 80col, 136co...
    • 장진호
    • 2002.01.23 20:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.01.23 21:09
      Delphi에는 FindComponent라는 놈이 있습니다.. 말그대로 콤퍼넌트를 찾아 주는 놈이죠... 아주 유용...
    • 천왕봉
      2002.01.23 21:24
      캬~~~ 캄샤함더 요렀게 간단한 방법이 있는데 그동안 노가다를 했네요 감샤합니더
    • 오세종
    • 2002.01.23 20:21
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김형근
    • 2002.01.23 19:54
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.01.23 20:23
      안녕하세요 하얀까마귀 입니다. 만건이면 많은데이타라고 볼수 없는데요.. 소형 데이타에 속한다고 ...
    • 이추형
      2002.01.23 20:39
      간략하게 제생각만 말씀드리겠습니다. 만건이라도 Column에 따라 다르겠지요 (무슨 야그냐 하면 컬럼의...
    • 하얀까마귀
      2002.01.24 01:03
      안녕하세요 하얀까마귀 입니다. 그렇겠네요.. 컬럼중에 님의 말씀처럼 어마어마한  컬럼이 있...
    • 이상협
    • 2002.01.23 19:54
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 선해석
    • 2002.01.23 19:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이광수
      2002.01.23 21:25
      ftp는 command port로 21번 data port로 20번을 사용합니다. 파일 전송명령을 21번 포트로 내리면 사용자...
    • 델을배우고파
      2002.01.23 20:59
      400db의 연결을 먼저 false를 시킨후 call하기전에 다시 ture를 시키면 되지 않을까요.....  ...
    • 델파이탐크루즈
      2002.01.23 21:14
      당근이져... 콜하기전에 먼저 False하고 True 하져... 혹시 해보셨나여..? 해보셨으면 지송하지만 C...
    • 버섯
      2002.01.23 22:23
      제가 알기론.. AS/400 에서 메세지 걸리면.. 메세지를 풀어야.. 다음으로 진행됩니다.. 메세지를 안걸리...
    • 델파이탐크루즈
      2002.01.23 23:02
      네... 우선 답변하신 분들께 주님의 은총이 충만하시길 바라오며 좀더 다른 방법을 모색해본후 나오면 ...
    • 오서영
    • 2002.01.23 19:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김용택
      2002.02.11 02:22
      TCP/IP 를 사용하시면      ::10.31.58.45:c:dbtest.gdb    &nb...