ehxz 发表于 2010-8-11 16:40:47

datawindow语法的中文解释

:$PBExportHeader$d_test.srd   
这句话是一个PB导出文件的头说明信息,(如果你不需要导入到PBL的话)用处不大   
这句在使用SyntaxFromSQL生成的DW教本中是没有的,而且如果你在要生成的DW的教本前也加入这句话,CREATE方法将报错   
release 7;   
很重要,留着,虽然看上去用处不大,只说明了一下生成器的版本,但却不能缺少,如果你用的不是PB7,后面的版本应该是你所以得PB版本的主版本号   
datawindow(units=0 timer_interval=0 color=16777215 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.**.source = 0 print.**.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 )   
嗬!好长的一句,这个大家伙说明的这个DW的主体信息,包括显示点单位、DW背景色、DW处理方式、打印设置等信息,我们一个个地分析   
   
datawindow( 这是这句话的开头,说明这句话是用来描述DW主体信息的,以括号开头,以反括号结束   
units=0 描述当前DW使用的点类型,0->PB点,大约等于1/4象素 1->屏幕象素 2->1/1000英寸 3->1/1000屏幕象素   
timer_interval=0 时间中断频率,在这里不讨论这个,如果你需要你的DW一闪一闪亮晶晶,这个可是有用的东东   
color=16777215 很重要,整个DW的背景色就指着她那   
processing=1 VIP,整个DW的显示风格由她决定 0->FreeForm 或 Tabular (下面只讨论这种风格) 1->GRID 其他的我就不说了,可以看HELP   
HTMLDW=no 对我们的讨论没有意义,不管他   
print.* 如果你不需要打印这个DW,不用设置它,你哪怕删掉这些内容也没有影响   
grid.lines=0 如果你选用了GRID风格,这个设置项决定是否显示表格线,如果是GRID的话,没有这个表格线好难看   
) EASY,就是这句话讲完了啦 8-)   

header(height=80 color="536870912" )   
声明DW标题带区的高度和背景色信息   

summary(height=0 color="536870912" )   
声明DW合计带区的高度和背景色信息   

footer(height=0 color="536870912" )   
声明DW页脚带区的高度和背景色信息   
   
detail(height=92 color="536870912" )   
声明DW明细数据带区的高度和背景色信息   
   
table(column=(type=decimal(0) updatewhereclause=yes name=id dbname="id" )   
column=(type=char(128) updatewhereclause=yes name=name dbname="name" )   
retrieve="SELECT id,name FROM sysobjects" )   
   
又一个长句子,我们继续逐个说明   
table( 这句话的开头,说明这句话是用来描述当前DW的数据结构及数据源定义   
column=( 第一个列描述的开头,说明这个列的数据源、数据类型、使用的名称和查询中的名称   
type=decimal(0) 类型说明,当前列的类型是没有小数位的小数型(奇怪,怎么不用LONG)   
updatewhereclause=yes 始终未在正式的文档中发现过与这个项目相关的说明,把这项去掉好像也没什么影响   
name=id 这个列在DW中的别名,可以与数据源中的列名不同   
dbname="id" 这个列对应数据源中列名   
) 这一列完毕   
column=( 第二列说明的开始   
type=char(128) 类型说明,说明这个列的数据类型为最长128字节的字符型列   
updatewhereclause=yes 不说它了   
name=name 列的别名   
dbname="name" 列的数据源名   
) 第二列说明结束   
retrieve= 这个DW的数据源定义   
"SELECT id,name FROM sysobjects" 对应的SQL语句   
) 数据源定义说明结束   
   
   
补充两句   
从这句话的结构不难看出,列描述的顺序是与SELECT语句中各列的排列顺序是相同的   
而且,在这里其实隐含着一个列ID号,标识各列的位置,这个ID号在后面将用到   
另外,目前例子中的这个DW是不可以UPDATE的,如果我们把这个DW强制修改为可以UPDATE,将会发现   
在列描述语句中多了一下内容:   
update=yes key=yes   
其中:update=yes 说明这列为可以UPDATE的列之一   
key=yes 说明该列为UPDATE时对应表的主键设置之一   
然后在数据源定义语句(RETRIEVE)中多了以下内容:   
update="sysobjects" updatewhere=0 updatekeyinplace=no   
其中   
update="sysobjects" 说明需要保存的对于数据库表   
updatewhere=0 对应DW中UPDATE属性定义窗口中"Where Clause for Update/Delete",这个参数将影响并发情况下数据的安全和运行效率,在讨论并发处理的帖子或文章中有介绍,在这里我们就不赘述了   
updatekeyinplace=no 对应DW中UPDATE属性定义窗口中"Key Modification",在这里我们就不讨论这个了   
text(band=header alignment="2" text="Id" border="0" color="0" x="9" y="8" height="64" width="261" name=id_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )   
很混乱的一句话,说明了一个TEXT文本对象的各种属性,下面逐个说明:   
text( 一个文本对象说明的开始   
band=header 该文本对象在DW中放置的带区   
alignment="2" 对齐方式,目前为中央对齐   
text="Id" 文本显示内容   
border="0" 边框类型,目前为没有边框   
color="0" 文本色,目前为黑色   
x="9" 放置位置X坐标(相对于指定的带区)   
y="8" 放置位置Y坐标(相对于指定的带区)   
height="64" 该文本对象的高度   
width="261" 宽度   
name=id_t 对象的名称   
font.face="Arial" 字体   
font.height="-10" 字体大小   
font.weight="400" 是否加粗,如果使用加粗(BOLD)则为700,如果不加粗,则为400   
font.family="2" 字体的家族,由于Windows是通过使用字体名称(Font Face)和字体家族(Font Family)来决定某一个具体的字体的,所以需要指定该参数,一般情况下,中文字体(比如:宋体)对应的Family 为0(anyfont!)   
font.pitch="2" 不知道该怎么翻译,一般情况下,根据具体的字体决定该属性的值,比如宋体就使用2(Variable)   
font.charset="0" 字符集,根据具体的字体所决定的,比如宋体就用0就可以了   
background.mode="1" 背景模式,这个属性比较重要,决定该对象是否使用透明色,如果为1则为透明,如果为0则使用下面所指定的颜色,在实际使用中还会遇到值为2的情况,这种情况下,该对象将使用系统颜色,系统颜色的对应值在下面的background.color属性中指定,比如常用的按钮表面色ButtonFace,对应值为:79741120,不过这个值在不同情况下有些区别,具体为什么没有深入研究过,希望了解或有兴趣的朋友能给讲讲   
background.color="53687091" 背景色,如果背景模式为1(透明),则该值没什么作用,如果背景模式为0,则该对象的背景色为当前指定的颜色,如果背景模式为2,则为系统色对应的标识   
) 这个文本对象的说明结束   
   
text(band=header alignment="2" text="Name" border="0" color="0" x="279" y="8" height="64" width="3511" name=name_t font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )   
跟上一句类似,不再重复了   
   
   
column(band=detail id=1 alignment="1" tabsequence=32766 border="0" color="0" x="9" y="8" height="76" width="261" format="" name=id edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )   
进入正题了,列对象的说明,下面我们也来先每个属性都看一遍   
   
column( 一个可以显示在DW中的列对象说明的开始   
band=detail 这个列对象在DW中放置的带区,简单说就是放在明细行中还是放在标题或者汇总行中   
id=1 这个列对象对应的数据源ID号,这个属性很重要,如果设置错误了,那么你看到的数据就将与你预期的不同,这个ID号的顺序是由数据源中列的选择顺序决定的,比如这个1,就说明对应数据源SQL语句中所选择的第一个字段(ID)   
alignment="1" 对齐方式(0->左对齐 1->右对齐 2->中央对齐 3->自适应对齐,即在多行情况下,各行宽度尽量相同)   
tabsequence=32766 就是TAB ORDER,32766就是TabOrder = 0,所以在取值时一定要小于这个值,并且要大于0,否则光标就不能选中这列了   
border="0" 边框类型,这里设置的是没有边框   
color="0" 文字颜色,根据RGB值设定   
x="9" 放置位置的X值   
y="8" 放置位置的Y值   
height="76" 对象高度   
width="261" 对象宽度   
format="" 数据内容显示格式   
name=id 列对象命名,这个名字应该与DW数据源定义中各列的name设置相同   
edit.limit=0 输入字符**,0为不**(实际上最多32760左右个字)   
edit.case=any   
edit.focusrectangle=no   
edit.autoselect=yes   
edit.autohscroll=yes   
   
font.face="Arial" 字体格式说明,不详细说了   
font.height="-10"   
font.weight="400"   
font.family="2"   
font.pitch="2"   
font.charset="0"   
   
background.mode="1" 背景模式,与文本相类似   
background.color="536870912" 背景颜色,与文本相类似   
)   
   
   
   

column(band=detail id=2 alignment="0" tabsequence=32766 border="0" color="0" x="279" y="8" height="76" width="3511" format="" name=name edit.limit=128   
edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )   
   
   
   
htmltable(border="1" )   
htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" )   
这两句对我们所讨论的内容没什么关系,就不讨论这个了
参考别的地方的,可能不一样的版本不很一致,限参考,没仔细研究过

licc068 发表于 2011-3-19 00:48:56

已复制备用,谢谢!
页: [1]
查看完整版本: datawindow语法的中文解释

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com