VFP9的10件酷事(10)--为了能使用户更好的对数据类型进行控制

shanjuhua 2004-10-27 09:31:57
10、 为了能使用户更好的对数据类型进行控制
VFP增加了CAST()函数, 无论是作为单独的函数使用还是内嵌入SQL语句中他都可以对不同的数据类型进行转换,他很简单,这似乎难以置信,不过在应用情况下它却是非常的强大。 SELECT unit_price, ;
CAST(unit_price AS Integer) AS IntPrice, ;
CAST(unit_price AS N(12,6)) AS NumPrice ;
FROM (_samples+"tastrade\data\products")

11、 超级SYS(1037,1)
USE report1.frx
SYS(1037,1) &&自动读取report1.frx里面的打印环境
确定一下看看,**!
SYS(1037,1)的设置自动保存到report1.frx里面呢
哎,红雨的打印设置表单又白做呢

12、 在WITH … ENDWITH 和FOR EACH … ENDFOR中支持智能感应
为在WITH ... ENDWITH 和FOR EACH ... ENDFOR中支持IntelliSense,这两个命令的语法格式增加了AS Type子句,如下所示:
WITH ObjectName [AS Type [OF ClassLibrary]]
Commands
ENDWITH
FOR EACH ObjectName [AS Type [OF ClassLibrary]] IN Group
Commands
[EXIT]
[LOOP]
ENDFOR
Type 可以引用任何有效类型,包括数据类型、类类型或ProgID,如果类名称无法找到,Visual FoxPro将忽略该类名称并不显示IntelliSense。
注意:Type引用不影响运行时应用程序的实际功能,这种引用仅是为了使用IntelliSense。ObjectName 表达式可以引用一个内存变量或数组。
ClassLibrary参数指定的类库需要在可以被Visual FoxPro发现的路径中,如果指定的类库不能发现,IntelliSense不显示。
输入特定的ProgIDs和类库不需要引号围住它们,除非在名称中包含有空格。当输入了一个关键词, IntelliSense将显示一个在FoxCode (Type="T")中注册的类型列表。如果指定了一个有效类型,在WITH ... ENDWITH 或FOR EACH ... ENDFOR中输入一个圆点,将显示对于该对象的IntelliSens。
必须指定一个有效类库,对已存在对象引用则无效,例如下面的语句不支持IntelliSense:
WITH THISFORM AS APPLICATION
ENDWITH
WITH THISFORM AT THIS
ENDWITH
有效的书写方式如下:
WITH This AS Form &&在一个表单事件中书写
.Caption="标题"
ENDWITH
又如:
WITH This.Pageframe1.Page1 AS Page
.Caption="页框1"
ENDWITH
Visual FoxPro支持嵌套WITH ... ENDWITH和FOR EACH ... ENDFOR命令,下面是在一个叫Program1.prg的.prg中定义类中的嵌套WITH ... ENDWITH命令。在做这个示例前,首先需要在磁盘中保存一下Program1.prg文件,然后重新打开,可以在WITH和ENDWITH之间输入一个圆点,然后就可以看见IntelliSense,如图5所示。
DEFINE CLASS f1 AS form
MyVar1 = 123
ADD OBJECT t1 AS mytext
PROCEDURE Init
WITH THIS AS f1 OF program1.prg
WITH .t1 AS mytext OF program1.prg
ENDWITH
ENDWITH
ENDPROC
ENDDEFINE
DEFINE CLASS mytext as textbox
MyVar2 = 123
ENDDEFINE

13、 报表可以有多个细节区了



14、 控件的Anchor属性
Anchor属性的意思,它有0-9十种值,各自代表的意思如下:
以下是我做测试的结果:
DH:表单高度的增量
DW:表单宽度的增量
测试过程:用代码把按钮的left和top各加80,长和高各加10后,再调整表单大小,再观察按钮的位置和大小
old值
oldtop=50
oldleft=50
oldheight=27
oldwidth=84
new值
newtop=130
newleft=130
newheight=37
newwidth=94
0:NULL
1:height和top变回old值,left和width为130和94(而且在再度移动按钮位置和改变大小前,再调整表单,按钮不再受影响)
2:和1相反,是left和width变回old值,height和top为37、130(而且在再度移动按钮位置和改变大小前,再调整表单,按钮不再受影响)
3:left、top、height、width都变为原来的值
4:height为oldheight,width、left为new值,top为oldtop+DH,即保持和表单底部的距离保持在设计阶段的值
5:top为oldtop,left、width为new值,height为oldheight+DH,即表单的高度增加多少,控件的高度也增加多少
6:left、width、height均为old值,只是height为oldheight+DH,即表单的高度增加多少,控件的高度也增加多少
7:top、left、widht均为OLD值,只是height为oldheight+DH,即表单的高度增加多少,控件的高度也增加多少
8:top、height均为new值,width就为old值,left就是oldleft+DW,就是控件保持和表单右边的距离不变
9:top、height、width均为old值,left就是oldleft+DW,就是控件保持和表单右边的距离不变
注意:它的十个可用的值要加起来用的,比如,现在我有一个Listview,我要让它在表单缩放时,Top和left保持不变,右边界和底部边界跟随表单一起缩放,那么就要用到Anchor中的四个值:
1——顶部绝对,即距表单顶部的距离保持不变;
2——左边绝对,即距表单左边的距离保持不变;
4——底部绝对,即距表单底部的距离保持不变;
8——右边绝对,即距表单右边的距离保持不变;
现在,把Listview的anchor设置为15(1+2+4+8),缩放表单时Listview就跟着自动缩放了。

15、 自定义Memo编辑窗口
textbox.openwindow=.t.
textbox.memowidow="窗口名"
二个属性的意思是:
如果这个textbox是关联到一个memo字段时,双击这个控件,会自动跳到memowindow中指定的窗口中去。条件是该窗口必须事先打开。
用此功能我们可以自定义Memo编辑窗口,而不是使用默认的那个土土的。
16、 画多边形
Shape和Line控件的PolyPoint属性用来画多边形
定义一个二维数组,(x,y)代表每个顶点的x,y值,然后把数组名放进PolyPoint属性,这二个控件就会画一个多边形了,还可以使用Rotation进行旋转。但此时只能是Plain而不能是3D了。
比如:
DIMENSION poly[5,2]
poly[1,1]= 0
poly[1,2]= 50
poly[2,1]= 50
poly[2,2]= 100
poly[3,1]= 100
poly[3,2]= 50
poly[4,1]= 50
poly[4,2]= 0
poly[5,1]=0
poly[5,2]=50
这个数组就会画一个菱形
17、
18、 q
19、 q
20、 q
21、






VFP9.0Bata 新增的98個函數和命令

(3)
_MEMBERDATA
_MENUDESIGNER
_REPORTBUILDER

A (12)
ADJUSTOBJECTSIZE
AFTERBAND
AFTERRECORDREFRESH
AFTERREPORT
ALLOWMODALMESSAGES
ANCHOR
APPSTATE
ASQLHANDLES
AUTOCOMPLETE
AUTOCOMPSOURCE
AUTOCOMPTABLE
AUTOHIDESCROLLBAR

B (4)
BEFOREBAND
BEFORERECORDREFRESH
BEFOREREPORT
BLOB

C (9)
CANCELREPORT
CAST
CLEARRESULTSET
CLEARSTATUS
COMMANDCLAUSES
CONFLICTCHECKCMD
CONFLICTCHECKTYPE
CURRENTDATASESSION
CURRENTPASS

D (6)
DECLAREXMLPREFIX
DELAYEDMEMOFETCH
DOCKABLE
DOMESSAGE
DOSTATUS
DYNAMICLINEHEIGHT

E (1)
EVALUATECONTENTS

F (6)
FETCHMEMOCMDLIST
FETCHMEMODATASOURCE
FETCHMEMODATASOURCETYPE
FIRSTNESTEDTABLE
FRXCURSOR
FRXDATASESSION

G (5)
GDIPLUSGRAPHICS
GETAUTOINCvalue
GETDOCKSTATE
GETPAGEWIDTH
GETRESULTSET

H (0)

I (6)
ICASE
INCLUDEPAGEINOUTPUT
INSERTCMDREFRESHCMD
INSERTCMDREFRESHFIELDLIST
INSERTCMDREFRESHKEYFIELDLIST
ISMEMOFETCHED

J (0)

K (0)

L (2)
LISTENERTYPE
LOADREPORT

M (2)
MAPBINARY
MAPVARCHAR

N (3)
NEST
NESTEDINTO
NEXTSIBLINGTABLE

O (3)
ONPREVIEWCLOSE
ORDERDIRECTION
OUTPUTPAGE

P (6)
PAGENO
PAGETOTAL
PICTUREMARGIN
PICTURESPACING
POLYPOINTS
PREVIEWCONTAINER

Q (1)
QUIETMODE

R (11)
RECORDREFRESH
REFRESHALIAS
REFRESHCMD
REFRESHCMDDATASOURCE
REFRESHCMDDATASOURCETYPE
REFRESHIGNOREFIELDLIST
REFRESHTIMESTAMP
RENDER
REPORTLISTENER
RESPECTNESTING
ROTATION

S (6)
SELECTIONNAMESPACES
SENDIMAGEINFO
SESSIONDATA
SETRESULTSET
SQLIDLEDISCONNECT
SUPPORTSLISTENERTYPE

T (2)
TIMESTAMPFIELDLIST
TWOPASSPROCESS

U (7)
UNLOADREPORT
UPDATECMDREFRESHCMD
UPDATECMDREFRESHFIELDLIST
UPDATECMDREFRESHKEYFIELDLIST
UPDATESTATUS
USECODEPAGE
USECURSORSCHEMA

V (2)
VARBINARY
VARCHAR

W (0)

X (1)
XMLNAMEISXPATH

Y (0)

Z (0)


...全文
132 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
JohnShen 2004-10-27
  • 打赏
  • 举报
回复
以前看过E文的,现在又看了一遍,vfp9正式版,期待中。。。
不知道推出来没有。
shanjuhua 2004-10-27
  • 打赏
  • 举报
回复
我想删除,但没这个权利。
vf6.0,要考二级没系统的下哈 Microsoft Visual FoxPro 6.0 for Windows 的常见问题 这些是有关 Microsoft Visual FoxPro 最常见的问题。在您求助 Microsoft 产品支持服务之前,请先查阅这张列表。 若想打印这些附注,请从“文件”菜单中选择“打印”命令。此文档分为以下四部分: --------------------------------------------------------------------- 部分 1. 技术支持与市场 部分 2. Visual FoxPro 6.0 新增功能 部分 3. 从其他版本的 FoxPro 和 Visual FoxPro 中移植 部分 4. Visual FoxPro 常见问题 --------------------------------------------------------------------- 部分 1. 技术支持与市场 问题 1-1: 从何处可以获得产品的新版本? 答案: 在 Visual FoxPro 的 Web 站点上即可获得产品的新信息,其中包括有关 Service Pack 和新的示例、向导及其他代码的信息,该站点的网址为: www.microsoft.com/vfoxpro 请定期查看该网站,以便下载产品的最新版本。 问题 1-2: 从何处可以得到有关 Visual FoxPro 的详细资料? 答案: 通过 Microsoft Visual FoxPro Web 站点是随时获得各种最新产品发布信息的最佳途径。在此站点上不仅有新的产品公告,而且还提供了产品的新信息、技术文章、白皮书、专业开发人员设计的优秀示例、会议公告、以及与其他许多 FoxPro web 站点的各种链接。 问题 1-3: 如何获得技术支持,以及如何报告软件错误? 答案: Microsoft Visual FoxPro Web 站点已经链接到了多种联机支持选项,其中包括覆盖面广阔的有关所有产品 Microsoft Knowledge Base(Microsoft 知识库)。您还可以阅读一份有关常见问题的清单。除联机支持之外,还可以直接通过电话获得技术支持。“帮助”菜单中的选项可列出技术支持的电话号码。这些电话号码也可用于报告产品中的错误。 问题 1-4. 什么是 Knowledge Base?如何使用它? 答案: Knowledge Base 是内容广泛的论文集,覆盖了如何使用产品的各种特性、已知的软件错误及其解决方案或回避的方法、以及其他有助于使用各种 Microsoft 产品的有用信息。通过以下站点可访问整个 Knowledge Base: support.microsoft.com 问题 1-5: 是否会有 Visual FoxPro 6.0a? 答案: Microsoft 公司一向承诺为用户提供高质量的产品。如果确实需要,我们将提供 Visual FoxPro 6.0 的错误修订版。但是,修订版不会使用 6.0a 版的形式。Visual FoxPro 6.0 中任何错误的修正都将包含在 Visual Studio Service Pack 中。同时还会在 Visual FoxPro 的 www.microsoft.com/vfoxpro 或 Visual Studio 的www.microsoft.com/vstudio 的 Web 站点上发布修订公告。 问题 1-6: Microsoft 公司为应用程序的开发提供了一些优秀的解决方案。怎样才能知道应该向客户推荐和使用哪种产品? 答案: 在选择适用某项任务的产品时,需要考虑多方面的因素。Microsoft Visual FoxPro web 站点上有一份优秀的策略背景论文,它比较了 Visual FoxPro、Visual Basic、SQL Server 和 Access 等 Microsoft 产品之间的不同。 问题 1-7: 哪里可以找到 Visual FoxPro 的使用示例? 答案: Visual FoxPro 6.0 产品中带有丰富的示例,其中有一些是针对 6.0 版特有功能的新示例。与 Visual FoxPro 以前的版本不同,这些示例将与所有 Visual Studio 示例安装在一起。您必须运行 MSDN Library 的“自定义”安装来安装这些示例。在 Visual FoxPro 中可使用新的 HOME(2) 函数方便地找到已安装示例的位置。 除了产品中所自带的示例外,Microsoft Visual FoxPro web 站点还将经常提供新的示例。

2,735

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧