http://blog.sina.com.cn/shizheng95[订阅]
个人资料
访客
读取中...
评论
读取中...
分类
    内容读取中…
博文
表单间的参数传递(2009-07-15 17:10)

学习VF,表单是一个十分重要的界面,可有一个问题一直困扰着我,就是表单间的参数的传递,把一个表单产生的结果返回给调用它的表单,直接一点,就像VB里的input函数一样很好用。今天专一就这问题做了一下调试,结果勉强弄懂了。

表单一form1

在command1的click中写下

do form2 with thisform.text1.value to dd

thisform.text1.value=dd

说明:with thisform.text1.value 就是把值传递给form2,但form2的inte事件中必须有椄收语句。to dd就是把表单form2返回的值再赋给dd

在form2的inte事件中写下

parameters 变量名  *接收值到变量,注意这个变量是局部的,不然就会出问题,可以使用了。

在form2的unload事件中写下

return 变量名 *也就是返回变量的值,这个值在本例中也就是和dd是对应的,两个变量可以不同名,但位置必须对应。

其实很简单,可一直都没弄懂,你明白了吗?

 

select查询的输出问题(2009-07-08 17:02)

 select的输出方向一般有:到临时表sele * from biao into cursor 临时表名

到数组sele * from biao into array 数组名(不要带括号)

到表sele * from baio to 表名

 

本例可实现即时的将文本框内的值转化为拼音,经调试,完全可用,在表单上建两个edit控件,在edit2的interactivechange方法中写下

cpychr=''
set collate to 'pinyin'&&设置排序方式为拼音
pycode='八嚓咑妸发旮铪讥讥咔垃呣拿讴趴七呥仨他哇哇哇夕丫匝咗'
chzchr=this.value
for i=1 to len(chzchr)
if asc(substr(chzchr,i,1))>160&&判断是否为汉字
hz=substr(chzchr,i,2)
c=''
for j=1 to 26 &&这个FOR循环很有意思
if substr(hz,1,2)<substrc(pycode,j,2)
c=chr(96+j)
j=27
endif
endfor
cpychr=cpychr+lower(c)
i=i+1&&改变I值来控制,第一次使用
else
cpychr=cpychr+lower(substr(chzchr,i,1))&&如果不是汉字,返回原来的码
endif
endfor
thisform.edit1.value=cpychr
thisform.refresh

在vf中创建圆形表单(2009-06-23 16:57)

*************在表单的load事件中写下

declare integer SetWindowRgn in win32api integer,integer,integer&&声明API函数
declare integer CreateRoundRectRgn in win32api integer,integer,integer,integer,integer,integer
set library to 'd:\program files\microsoft visual studio\vfp98\foxtools.fll'&&指出装机是地址

this.height=400
this.width=400

************在表单的active事件中写下************************

topwindow=_WonTop()
hwnd=_WhToHwnd(topwindow)
crn1=CreateRoundRectRgn(0,0,400,400,400,400)
SetWindowRgn(hwnd,crn1,.t.)

转载***************

WHANDLE WonTop()*  返回用户使用的活动窗口WHandle
  HWND WhToHwnd(WHandle)*  返回相应的窗口句柄hWnd。
  HDC GetDC(hWnd)*  返回指定窗口hWnd的设备句柄hDC
  有了设备句柄调用绘图函数则很容易,例如:画矩形的API函数语法如下:

close all
set safety off
set default to 'e:\'&&设置默认目录
messagebox('请选择要导入的XLS文件'+chr(13)+;
'注意表格不要有格式,首行的命名符合规则';
+chr(13)+'只把第一行做为字段','提示')
ss=getfile('xls')&&打开选择文件对话框,并赋值
if isblank(ss)
return
endif
myexcel=createobject('excel.application')&&创建EXCEL对象
*myexcel.visible=.t.
bookexcel=myexcel.workbooks.open(ss)&&打开选择的文件
i=1
***************获得表的可用sheet*************************************
for each omyvar in myexcel.sheets
    dimension a(i)
    a(i)=omyvar.name
    i=i+1
next omyvar
******************************************************
nrows=bookexcel.worksheets(a(1))&&设置第一个表为工作表
UsedRange =nrows.UsedRange&&设置工作区域
***************把第一行的数据赋值给数组b,一会删除第

myexcel=createobject('excel.application')
&&创建一个对象
myexcel.visible=.t.&&可见
&&bookexcel=myexcel.workbooks.add
bookexcel=myexcel.workbooks.open('C:\Documents and Settings\Administrator\桌面\学习\dd.xls')
&&打开指定文件
nrows=bookexcel.worksheets('sheet1')&&打开工作表
UsedRange =nrows.UsedRange&&返回工作表中可使用的区域,UsedRange表的属性

usedrange.columns.count&&计算共几列
r=usedrange.rows.count&&汇总行
c=usedrange.columns.count&&汇总列
with myexcel.application
.sheets('sheet3').select
.sheets.add&&添加一个工作表
.ActiveSheet.Name = 'ddddd'&&重命名表
endwith
myexcel.Worksheets('sheet1').Activate&&选择表为当前工作表
myexcel.cells(1,1).value='sss'&&1,1处的值为
myexcel.activesheet.columns(2).columnwidth=15&&第2列的列宽设
myexcel.activesheet.rows(2).

获取工作表名称
在以下示例中,创建了一个 microsoft excel 实例,添加了一个新的工作簿。使用 foreach 语句显示工作簿中每个工作表的名称。此示例要求在运行示例的机器上正确安装 microsoft excel。
oExcel = CREATE('Excel.Application')
oExcel.Workbooks.ADD
FOR EACH oMyVar IN oExcel.sheets
   ? oMyVar.name
NEXT oMyVar

Excel报表巧生成
巧让FoxPro数据生成Excel报表
Visual FoxPro是应用广泛的前台数据库开发平台之一,因此在我们日常工作中时常会遇到DBF数据文件。然而随着办公自动化的普及,越来越多的时候需要将DBF文件转化为Excel电子文档。常用转化方法是在FoxPro中用Copy命令进行格式转化或直接用Excel打开DBF文件。这两种方式虽然都能达到目的,却不能得到格式规范、可以直接打印输出的报表,且输出的Excel文件中,无法对数据类型进行有效转换,极易出现数据统计错误。有没有更好的方法呢?这里有一个更加通用的方法,在VFP中调用Excel,可以由DBF文件直接生成格式如下图所示一样复杂的Excel报表(如图1)。 Excel报表
具体过程如下:
编辑推荐文章
● 新鲜接触E

API函数(2009-06-01 14:51)

1. API之网络函数

WNetAddConnection 创建同一个网络资源的永久性连接
WNetAddConnection2 创建同一个网络资源的连接
WNetAddConnection3 创建同一个网络资源的连接
WNetCancelConnection 结束一个网络连接
WNetCancelConnection2 结束一个网络连接
WNetCloseEnum 结束一次枚举操作
WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接
WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接
WNetEnumResource 枚举网络资源
WNetGetConnection 获取本地或已连接的一个资源的网络名称
WNetGetLastError 获取网络错误的扩展错误信息
WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称
WNetGetUser 获取一个网络资源用以连接的名字
WNetOpenEnum 启动对网络资源进行枚举的过程

2. API之消息函数

BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口
GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置
GetMessageTime 取得消息队列中

下面的文章是关于TreeView 和ListView的使用方法,

TREEVIEW控件应用详解

    TreeView 控件是在VFP的数据处理中很有用的一个ActiveX 控件,但是VFP的帮助中却没有相关的说明,为帮助大家对这一控件有一个详细的了解,现将TreeView 控件应用详解如下:

一、概述

    TreeView 控件显示 Node 对象的分层列表,每个 Node 对象均由一个标签和一个可选的位图组成。TreeView 一般用于显示文档标题、索引入口、磁盘上的文件和目录、或能被有效地分层显示的其它种类信息。创建了 TreeView 控件之后,可以通过设置属性与调用方法对各 Node 对象进行操作,这些操作包括添加、删除、对齐和其它操作。可以编程展开与折回 Node 对象来显示或隐藏所有子节点。Collapse、Expand 和 NodeClick 三个事件也提供编程功能

    Node 对象使用 Root、Parent、Child、FirstSibling、Next、Previous 和 LastSibling 属性。在代码中可通过检索对 Node 对象的引用,从而在树上定位。也可以使用键盘定位。UP ARROW 键和 DOWN ARROW 键向下循环穿过所有展开的 Node 对象。从左到右、从上到

图象列表控件ImageList是一个存储Image(图象)的数组,可以保存许多图象,以共其他控件使用。所以它必须和其他控件或应用相结合,才能表现出强大的功能。
ImageList控件有3个属性页,General页、Images页和Color页。
1。General属性页中,设置图象的大小可以通过单击单选按钮来实现。如果选取了Custom(自定义),可以在Height和Width框中输入需要的大小。
如果已经插入了图象,那么Height和Width的大小将由已插入的图象的大小决定。
2。Images属性页,单击Insert Picture(插入图片),出现选择图片的对话框,可以从中选取相应的图象到图象列表控件中。当添加图象后,其中Image Count框的值增1。可以单击Remove Picture移去图片,当前图片移去后,Image Count框的值减1。
3。利用ADD方法给ImageList增加图象。
可以使用以下语句向名为ImageList1的ListImages集合中增加图象:
thisform.imagelist1.listimages.add(,'rocker',loadpicture('图象位置及全名要加扩展名'))
4。ImageList属性:
name属性:跟其他控件的name属性是一样的,主要用来区分不同的imagelist控件。
imageh