관리 메뉴

why don't do your best

파워빌더 11.5 데이터 윈도우 11.2 버전으로 import 하기... 본문

Programming/PowerBuilder

파워빌더 11.5 데이터 윈도우 11.2 버전으로 import 하기...

빅셔 2013. 10. 31. 09:21

  간혹 11.5를 11.2로 import 해야할 경우가 있는데,,, 이때 새로 그리기 어려운경우 아래와 같이 해보시기 바랍니다.

 

1.파워빌더 11.2 에 아무 데이터윈도우나 COPY 해서 작성하려는 데이터윈도우 이름으로 저장합니다.

.원본데이터윈도우[아무거나...]-> SAVE AS -> d_작업데이터윈도우

.d_작업데이터윈도우를 Edit Source로 스크립트 문을 오픈 해둡니다.

2.파워빌더 11.5 를 열어서 가져오려는 데이터윈도우를 Edit Source를 누릅니다.

.스크립트를 열어서 전체를 복사합니다.

.11.2에 열어둔 d_작업데이터윈도우 스크립트에 전체를 덮어씌어 복사합니다.

.이후 몇몇 부분을 수정합니다.

-.릴리즈 버전 수정 release 11.5; -> release 11;

-.파워빌더 11.5 에서 새로생긴 기능 제거( transparency, Gradient, tool tip ) 대충 이 3가지 속성들은 제거 해야합니다.

 

 

 

[각 항목별로 수정해 나갑니다.]

 

1.datawindow - 데이터 윈도우의 속성을 나타내는 스크립트부분

[원본]

datawindow(units=0 timer_interval=0 color=16777215 brushmode=0 transparency=0 gradient.angle=0 gradient.color=8421504 gradient.focus=0 gradient.repetition.count=0 gradient.repetition.length=100 gradient.repetition.mode=0 gradient.scale=100 gradient.spread=100 gradient.transparency=0 picture.blur=0 picture.clip.bottom=0 picture.clip.left=0 picture.clip.right=0 picture.clip.top=0 picture.mode=0 picture.scale.x=100 picture.scale.y=100 picture.transparency=0 processing=1 HTMLDW=no print.printername="" print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes print.background=no print.preview.background=no print.preview.outline=yes hidegrayline=no showbackcoloronxp=no picture.file="" grid.lines=0 selected.mouse=no )

이부분 삭제.

transparency=0 gradient.angle=0 gradient.color=8421504 gradient.focus=0 gradient.repetition.count=0 gradient.repetition.length=100 gradient.repetition.mode=0 gradient.scale=100 gradient.spread=100 gradient.transparency=0 picture.blur=0 picture.clip.bottom=0 picture.clip.left=0 picture.clip.right=0 picture.clip.top=0 picture.mode=0 picture.scale.x=100 picture.scale.y=100 picture.transparency=0

[수정본]

datawindow(units=0 timer_interval=0 color=16777215 brushmode=0 processing=1 HTMLDW=no print.printername="" print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes print.background=no print.preview.background=no print.preview.outline=yes hidegrayline=no showbackcoloronxp=no picture.file="" grid.lines=0 selected.mouse=no )

2.밴더 속성 수정

[원본]

header(height=76 color="553648127" transparency="0" gradient.color="8421504" gradient.transparency="0" gradient.angle="0" brushmode="0" gradient.repetition.mode="0" gradient.repetition.count="0" gradient.repetition.length="100" gradient.focus="0" gradient.scale="100" gradient.spread="100" )

이부분 삭제

transparency="0" gradient.color="8421504" gradient.transparency="0" gradient.angle="0" brushmode="0" gradient.repetition.mode="0" gradient.repetition.count="0" gradient.repetition.length="100" gradient.focus="0" gradient.scale="100" gradient.spread="100"

[수정본]

header(height=76 color="553648127" transparency="0" gradient.color="8421504" )

summary,footer,detail 항목은 위와 동일 합니다.

3.각 데이터윈도우의 오브젝트의 속성 마찬 가지 입니다.

transparency 투명도, gradient 그라데이션, tooltip 툴팁 순으로 기술됩니다. 해당 부분 속성값만 지워주시면 됩니다.

.텍스트 오브젝트 예

[원본]

text(band=header alignment="2" text="No." border="6" color="0" x="9" y="12" height="56" width="160" html.valueishtml="0" name=t_1 visible="1" font.face="굴림체" font.height="-9" font.weight="400" font.family="1" font.pitch="1" font.charset="129" background.mode="2" background.color="79741120" background.transparency="0" background.gradient.color="8421504" background.gradient.transparency="0" background.gradient.angle="0" background.brushmode="0" background.gradient.repetition.mode="0" background.gradient.repetition.count="0" background.gradient.repetition.length="100" background.gradient.focus="0" background.gradient.scale="100" background.gradient.spread="100" tooltip.backcolor="134217752" tooltip.delay.initial="0" tooltip.delay.visible="32000" tooltip.enabled="0" tooltip.hasclosebutton="0" tooltip.icon="0" tooltip.isbubble="0" tooltip.maxwidth="0" tooltip.textcolor="134217751" tooltip.transparency="0" transparency="0" )

이부분을 삭제

background.transparency="0" background.gradient.color="8421504" background.gradient.transparency="0" background.gradient.angle="0" background.brushmode="0" background.gradient.repetition.mode="0" background.gradient.repetition.count="0" background.gradient.repetition.length="100" background.gradient.focus="0" background.gradient.scale="100" background.gradient.spread="100" tooltip.backcolor="134217752" tooltip.delay.initial="0" tooltip.delay.visible="32000" tooltip.enabled="0" tooltip.hasclosebutton="0" tooltip.icon="0" tooltip.isbubble="0" tooltip.maxwidth="0" tooltip.textcolor="134217751" tooltip.transparency="0" transparency="0"

[수정본]

text(band=header alignment="2" text="No." border="6" color="0" x="9" y="12" height="56" width="160" html.valueishtml="0" name=t_1 visible="1" font.face="굴림체" font.height="-9" font.weight="400" font.family="1" font.pitch="1" font.charset="129" background.mode="2" background.color="79741120" background.transparency="0" background.gradient.color="8421504" )

나머지 다 동일 하시다고 보면 됩니다.

.한개만 더 예를 들어 컬럼 오브젝트

[원본]
column(band=detail id=4 alignment="2" tabsequence=32766 border="0" color="0" x="178" y="4" height="68" width="302" format="xxxx.xx.xx" html.valueishtml="0" name=inspectdt visible="1" editmask.mask="xxxx.xx.xx" editmask.focusrectangle=no font.face="굴림체" font.height="-9" font.weight="400" font.family="2" font.pitch="2" font.charset="129" background.mode="1" background.color="536870912" background.transparency="0" background.gradient.color="8421504" background.gradient.transparency="0" background.gradient.angle="0" background.brushmode="0" background.gradient.repetition.mode="0" background.gradient.repetition.count="0" background.gradient.repetition.length="100" background.gradient.focus="0" background.gradient.scale="100" background.gradient.spread="100" tooltip.backcolor="134217752" tooltip.delay.initial="0" tooltip.delay.visible="32000" tooltip.enabled="0" tooltip.hasclosebutton="0" tooltip.icon="0" tooltip.isbubble="0" tooltip.maxwidth="0" tooltip.textcolor="134217751" tooltip.transparency="0" transparency="0" )

이부분을 삭제

background.transparency="0" background.gradient.color="8421504" background.gradient.transparency="0" background.gradient.angle="0" background.brushmode="0" background.gradient.repetition.mode="0" background.gradient.repetition.count="0" background.gradient.repetition.length="100" background.gradient.focus="0" background.gradient.scale="100" background.gradient.spread="100" tooltip.backcolor="134217752" tooltip.delay.initial="0" tooltip.delay.visible="32000" tooltip.enabled="0" tooltip.hasclosebutton="0" tooltip.icon="0" tooltip.isbubble="0" tooltip.maxwidth="0" tooltip.textcolor="134217751" tooltip.transparency="0" transparency="0"

[수정본]
column(band=detail id=4 alignment="2" tabsequence=32766 border="0" color="0" x="178" y="4" height="68" width="302" format="xxxx.xx.xx" html.valueishtml="0" name=inspectdt visible="1" editmask.mask="xxxx.xx.xx" editmask.focusrectangle=no font.face="굴림체" font.height="-9" font.weight="400" font.family="2" font.pitch="2" font.charset="129" background.mode="1" background.color="536870912" )

대충 감을 잡으셨을 거라고 생각합니다.

이렇게 transparency, Gradient,tool tip 3가지의 속성을 삭제 하시고 저장하시게 되면 리제너레이션 되면서 데이터윈도우가 정상적으로 생성되실 것 입니다.

마지막으로 이렇게 해도 뭔가 잘 안되는 경우.....

11.2로 생성된 데이터윈도우(정상적으로 11.2로 만든데이터 윈도우중 복사해오려는 데이터윈도우와 형식{grid,freeform,tabula.....}이 가장 비슷한 것) 를 edit source로 열어서

11.5에서 복사해온 스크립트 밑에 11.2 생성된 데이터윈도우에서 특정 부분을 Copy 해서 밑에 줄에 붙여넣고 속성이 있고 없고를 비교해서 제거할 부분을 찾는 방법이 있겠습니다.

Comments