学习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是对应的,两个变量可以不同名,但位置必须对应。
其实很简单,可一直都没弄懂,你明白了吗?
到数组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
|
标签:杂谈 |
*************在表单的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
HWND
HDC
有了设备句柄调用绘图函数则很容易,例如:画矩形的API函数语法如下:
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
NEXT oMyVar
Excel报表巧生成
巧让FoxPro数据生成Excel报表
Visual
FoxPro是应用广泛的前台数据库开发平台之一,因此在我们日常工作中时常会遇到DBF数据文件。然而随着办公自动化的普及,越来越多的时候需要将DBF文件转化为Excel电子文档。常用转化方法是在FoxPro中用Copy命令进行格式转化或直接用Excel打开DBF文件。这两种方式虽然都能达到目的,却不能得到格式规范、可以直接打印输出的报表,且输出的Excel文件中,无法对数据类型进行有效转换,极易出现数据统计错误。有没有更好的方法呢?这里有一个更加通用的方法,在VFP中调用Excel,可以由DBF文件直接生成格式如下图所示一样复杂的Excel报表(如图1)。
Excel报表
具体过程如下:
编辑推荐文章
● 新鲜接触E
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控件应用详解
一、概述