Q&A

  • 트리구조의 표현 방법에 관하여
안녕하세요.

델파이의 초보로서 많은 고수님들의 고견을 듣고 싶습니다.

다음은 저의 환경입니다.

Windows Me 환경하의 Delphi5를 사용하며 Paradox DB를 이용하고 있습니다.



현재 전 생산제품의 부품 관리를 하고자 하고 있습니다. 쉽게 말씀드리면 일종의

제품 BOM 관리 입니다.

예를 들어서 하나의 제품(볼펜)을 완제품이 되기까지 소요되는 부품을 트리 구조로

화면상에 보여주며 또한 이 트리 구조를 프린트로 출력까지 가능하도록 하고 싶은데

표현할 수 있는 대안이 없군요.

제 나름대로는 윈도우 탐색기와 같이 화면 왼쪽엔 트리구조로 오른쪽엔 해당 부품의

현재 재고 물량과 입고 물량을 표시하고 싶습니다.

오른쪽의 해당 부품의 재고 물량과 입고 물량을 표기하는건 DBGrid를 이용하면 될

곳도 같은데 문제는 해당 제품(완제품:볼펜)에 들어가는 부품 목록을 트리 구조로

만드는 것에 한계성을 느끼고 있습니다.

완제품의 종류가 다양하여 트리 구조가 여러 단계로 이어질수 있는게 문제가 될것

같습니다.

현재 제가 설계한 테이블의 구조는 다음과 같으며 이를 토대로 ListView를 이용한

Table의 트리구조를 생성하고 싶습니다.



Table 구조는 다음과 같습니다.

pcod : 부품코드

scod : 상위 부품코드



Record List 를 다음과 같이 표현하면 다음과 같습니다. (Record의 Field구분은

'/'로 구분합니다.)

1 /

11 /1

111 /11

112 /11

113 /11

1131 /113

12 /1

121 /12

122 /12

2 /

21 /2

211 /21

212 /21

2121 /212

22 /2

221 /22

222 /22

223 /22



이를 다시 트리구조로 표현하면 다음과 같습니다.

-1-11-111

-112

-113-1131

12-121

-122

2-21-211

-212-2121

22-221

-222

-223



너무도 긴 장문의 질문을 드린건 아닌지요?

우선 위와 같은 테이블을 가지고 있으며 이를 트리구조로 표현 하고자 하는데

손쉽게 트리구조를 만들수 있는 방법은 어떤게 있을지요?

이 문제가 해결된다면 생성된 트리구조를 저장할 방법은 있을지요?

제 임의대로 생성해본 바로는 너무나도 많은 시간이 소비되어 별도로 저장을 해

놓게 되면 테이블의 변경사항이 없는 경우엔 바로 볼수도 있을것 같은데...

또한 이를 프린트로 출력할 경우 트리 구조의 출력방법엔 어떤게 있을지요?

많은 질문내용과 힘든내용 같지만 저에겐 중요한 문제라 님의 고견을 듣고

싶습니다.

모든 답변을 들을수 있으면 더없이 좋겠지만 많은 고수님들의 여러가지 견해과

고견을 질문 내용에 관여치 말고 답변을 주시면 감사하겠습니다.

또한 고수님들중에 답변과 힌트가 될만한 곳을 알고 계신 분이 계시다면 답을 해

주시면 감사하겠습니다.

감사합니다.

3  COMMENTS
  • Profile
    bibic 2001.09.15 01:53
    우선은 품목 테이블에 완제품,반제품,자재의 구분을 주고

    bom 테이블에는 완제품이 상위부품 코드로 들어있는것을 최상위노드에 불러오고

    (반제품도 최상위노드에 오게 할고 싶으면 완제품,반제품 모두 최상위노드에 불러오고)

    bom 테이블에서 최상위노드를 상위부품으로 가지고 있는것을 아래노드로 가지고 오고

    다시 그부품을 상위부품으로 가지고 있는것을 아래노드로 가지고 오는 식으로 구현을 하는거죠...현재노드의 부품을 상위부품으로 없을때까지 아래노드로 등록되는거죠...

    (여기는 되부름함수를 이용할 수 있겠죠...)



    두서없이 예전에 했던걸 생각하면서 썼는데 말이 설명이 되는지 모르겠네여...^^

    조금이나 도움이 되셨으면 하는 바램에 적었습니다...



    수고하시고여 항상 즐푸하세요...^^



    호기심 wrote:

    > 안녕하세요.

    > 델파이의 초보로서 많은 고수님들의 고견을 듣고 싶습니다.

    > 다음은 저의 환경입니다.

    > Windows Me 환경하의 Delphi5를 사용하며 Paradox DB를 이용하고 있습니다.

    >

    > 현재 전 생산제품의 부품 관리를 하고자 하고 있습니다. 쉽게 말씀드리면 일종의

    > 제품 BOM 관리 입니다.

    > 예를 들어서 하나의 제품(볼펜)을 완제품이 되기까지 소요되는 부품을 트리 구조로

    > 화면상에 보여주며 또한 이 트리 구조를 프린트로 출력까지 가능하도록 하고 싶은데

    > 표현할 수 있는 대안이 없군요.

    > 제 나름대로는 윈도우 탐색기와 같이 화면 왼쪽엔 트리구조로 오른쪽엔 해당 부품의

    > 현재 재고 물량과 입고 물량을 표시하고 싶습니다.

    > 오른쪽의 해당 부품의 재고 물량과 입고 물량을 표기하는건 DBGrid를 이용하면 될

    > 곳도 같은데 문제는 해당 제품(완제품:볼펜)에 들어가는 부품 목록을 트리 구조로

    > 만드는 것에 한계성을 느끼고 있습니다.

    > 완제품의 종류가 다양하여 트리 구조가 여러 단계로 이어질수 있는게 문제가 될것

    > 같습니다.

    > 현재 제가 설계한 테이블의 구조는 다음과 같으며 이를 토대로 ListView를 이용한

    > Table의 트리구조를 생성하고 싶습니다.

    >

    > Table 구조는 다음과 같습니다.

    > pcod : 부품코드

    > scod : 상위 부품코드

    >

    > Record List 를 다음과 같이 표현하면 다음과 같습니다. (Record의 Field구분은

    > '/'로 구분합니다.)

    > 1 /

    > 11 /1

    > 111 /11

    > 112 /11

    > 113 /11

    > 1131 /113

    > 12 /1

    > 121 /12

    > 122 /12

    > 2 /

    > 21 /2

    > 211 /21

    > 212 /21

    > 2121 /212

    > 22 /2

    > 221 /22

    > 222 /22

    > 223 /22

    >

    > 이를 다시 트리구조로 표현하면 다음과 같습니다.

    > -1-11-111

    > -112

    > -113-1131

    > 12-121

    > -122

    > 2-21-211

    > -212-2121

    > 22-221

    > -222

    > -223

    >

    > 너무도 긴 장문의 질문을 드린건 아닌지요?

    > 우선 위와 같은 테이블을 가지고 있으며 이를 트리구조로 표현 하고자 하는데

    > 손쉽게 트리구조를 만들수 있는 방법은 어떤게 있을지요?

    > 이 문제가 해결된다면 생성된 트리구조를 저장할 방법은 있을지요?

    > 제 임의대로 생성해본 바로는 너무나도 많은 시간이 소비되어 별도로 저장을 해

    > 놓게 되면 테이블의 변경사항이 없는 경우엔 바로 볼수도 있을것 같은데...

    > 또한 이를 프린트로 출력할 경우 트리 구조의 출력방법엔 어떤게 있을지요?

    > 많은 질문내용과 힘든내용 같지만 저에겐 중요한 문제라 님의 고견을 듣고

    > 싶습니다.

    > 모든 답변을 들을수 있으면 더없이 좋겠지만 많은 고수님들의 여러가지 견해과

    > 고견을 질문 내용에 관여치 말고 답변을 주시면 감사하겠습니다.

    > 또한 고수님들중에 답변과 힌트가 될만한 곳을 알고 계신 분이 계시다면 답을 해

    > 주시면 감사하겠습니다.

    > 감사합니다.

  • Profile
    사발우성 2001.09.14 18:57
    저흰 스트링 그리드를 사용해서 트리를 만들었습니다..

    일단 각아이템별로 단위를 나누고 완성품 부터 1단위 2단위 3단위 하는 식으로 나뉘어 있습니다.. 원하시면 나중에 스크린샷을 보내드리도록 하죠 ^^ 아마 도움이 될지도 모르겠네엽 ^^ 그럼 즐프엽..^^

    호기심 wrote:

    > 안녕하세요.

    > 델파이의 초보로서 많은 고수님들의 고견을 듣고 싶습니다.

    > 다음은 저의 환경입니다.

    > Windows Me 환경하의 Delphi5를 사용하며 Paradox DB를 이용하고 있습니다.

    >

    > 현재 전 생산제품의 부품 관리를 하고자 하고 있습니다. 쉽게 말씀드리면 일종의

    > 제품 BOM 관리 입니다.

    > 예를 들어서 하나의 제품(볼펜)을 완제품이 되기까지 소요되는 부품을 트리 구조로

    > 화면상에 보여주며 또한 이 트리 구조를 프린트로 출력까지 가능하도록 하고 싶은데

    > 표현할 수 있는 대안이 없군요.

    > 제 나름대로는 윈도우 탐색기와 같이 화면 왼쪽엔 트리구조로 오른쪽엔 해당 부품의

    > 현재 재고 물량과 입고 물량을 표시하고 싶습니다.

    > 오른쪽의 해당 부품의 재고 물량과 입고 물량을 표기하는건 DBGrid를 이용하면 될

    > 곳도 같은데 문제는 해당 제품(완제품:볼펜)에 들어가는 부품 목록을 트리 구조로

    > 만드는 것에 한계성을 느끼고 있습니다.

    > 완제품의 종류가 다양하여 트리 구조가 여러 단계로 이어질수 있는게 문제가 될것

    > 같습니다.

    > 현재 제가 설계한 테이블의 구조는 다음과 같으며 이를 토대로 ListView를 이용한

    > Table의 트리구조를 생성하고 싶습니다.

    >

    > Table 구조는 다음과 같습니다.

    > pcod : 부품코드

    > scod : 상위 부품코드

    >

    > Record List 를 다음과 같이 표현하면 다음과 같습니다. (Record의 Field구분은

    > '/'로 구분합니다.)

    > 1 /

    > 11 /1

    > 111 /11

    > 112 /11

    > 113 /11

    > 1131 /113

    > 12 /1

    > 121 /12

    > 122 /12

    > 2 /

    > 21 /2

    > 211 /21

    > 212 /21

    > 2121 /212

    > 22 /2

    > 221 /22

    > 222 /22

    > 223 /22

    >

    > 이를 다시 트리구조로 표현하면 다음과 같습니다.

    > -1-11-111

    > -112

    > -113-1131

    > 12-121

    > -122

    > 2-21-211

    > -212-2121

    > 22-221

    > -222

    > -223

    >

    > 너무도 긴 장문의 질문을 드린건 아닌지요?

    > 우선 위와 같은 테이블을 가지고 있으며 이를 트리구조로 표현 하고자 하는데

    > 손쉽게 트리구조를 만들수 있는 방법은 어떤게 있을지요?

    > 이 문제가 해결된다면 생성된 트리구조를 저장할 방법은 있을지요?

    > 제 임의대로 생성해본 바로는 너무나도 많은 시간이 소비되어 별도로 저장을 해

    > 놓게 되면 테이블의 변경사항이 없는 경우엔 바로 볼수도 있을것 같은데...

    > 또한 이를 프린트로 출력할 경우 트리 구조의 출력방법엔 어떤게 있을지요?

    > 많은 질문내용과 힘든내용 같지만 저에겐 중요한 문제라 님의 고견을 듣고

    > 싶습니다.

    > 모든 답변을 들을수 있으면 더없이 좋겠지만 많은 고수님들의 여러가지 견해과

    > 고견을 질문 내용에 관여치 말고 답변을 주시면 감사하겠습니다.

    > 또한 고수님들중에 답변과 힌트가 될만한 곳을 알고 계신 분이 계시다면 답을 해

    > 주시면 감사하겠습니다.

    > 감사합니다.

  • Profile
    호기심 2001.09.15 01:00
    감사합니다.

    님의 방법도 알고 싶네요...

    님께서 말씀하신 스트링그리드를 이용한 트리...

    좀 더 자세한 내용을 알고 싶습니다.

    아울러 스트링 그리드를 사용할 경우에도 각 아이템별 단계가 각양각색인 경우에도

    적용이 가능한지요?

    예를 들어서 한 아이템의 적용 단위는 5단계인데 비해 또다른 아이뎀의 적용 단계가

    20단계까지 내려가는 경우라 해도 괜찮을지요?

    완성품의 종류가 워낙 많다보니 각 완제품별 들어 가는 부품의 가지수도 많을 뿐더러

    각각의 부품 역시 하나의 작은 완제품 격으로 또 다른 부품들의 조합으로 만들어 지는

    작은 완제품으로 보아야 할 정도 입니다.

    전 그래서 ListView를 이용한 Windows 탐색기의 폴더창처름 만들려는 것입니다.

    님의 방법인 스트링 그리드를 이용한 경우도 매우 궁금합니다.

    님의 말처름 좀더 자세한 사항을 알려 주시면 더 없이 고맙겠습니다.

    감사합니다.