教你如何在FORM中创建文本框及STRFILLIN、REALFILLIN、INTFILLIN的使用
Skill 编程FORM中创建文本框那是常有的事。下面简单介绍下如何创建一个文本框。FORM中文本框共有以下几种类型:
1.STRFILLIN,用于输入字符串,即使输入的是纯数字,那么也是以字符串形式存在的。
2.INTFILLIN,用于输入整形是数据。可以输入数字和加减符号(0到9、+、 -),不能输入任何字母及其它符号(+、 - 除外)。
3.REALFILLIN,用于输入浮点数据类型,可以输入数字、加减符号、小数点(0到9、+、 - 、.)。与INTFILLIN一样,不能输入任何非数字(+、 - 、. 除外)的字符。
STRFILLIN、INTFILLIN、REALFILLIN定义在FIELD里面,一般格式如下:FIELD STR
FLOC 14 1 ;定义坐标
STRFILLIN 8 12;注第一个参数为文本框显示的大小,第二个参数为文本框可以输入多少个字符
ENDFIELD
FIELD INT
FLOC 14 3
INTFILLIN 8 12
MIN -9999;定义最小值
MAX 9999;定义最大值
ENDFIELD
FIELD REAL
FLOC 14 5
REALFILLIN 8 12
REALMIN -9999999.9999 ;定义最小值
REALMAX 9999999.9999;定义最大值
DECIMAL 4 ;定义精度,即小数点后几位
ENDFIELD注:MAX MIN只能用于INTFILLIN、REALFILLIN,DECIMAL只能用于 REALFILLIN,当指定DECIMAL后,每次输入结束,文本框会自动将其精度转换成设置值。
下面是上面代码的例子图片:
该例子完整FORM代码请从附件下载:
附件使用方法:
将附件中的FORM文件解压到任何目录,比如放在E盘根目录下。然后打开allegro,在命令栏输入set telskill然后在SKILL DEVELOPMENT输入以下代码:axlFormTest("e:/txtBoxTest.form") 子木 发表于 2013-5-11 22:28 static/image/common/back.gif
“FLOC 14 1 ;定义坐标”请教一下,这个坐标是如何定义的,谢谢!!
以窗体的左上角为基准( 0 0 )坐标,这个坐标是相对于基准坐标位置。 子木 发表于 2013-5-11 23:22 static/image/common/back.gif
哦,是这样的啊!那这个窗体采用的以毫米为单位啊还是。。。?不然你那14 1是怎么计算的?
那些布局位置还得根据实际情况填写,你天15 1 肯定比 14 1 在X方向朝右偏 多谢楼主! 有学到了其他的,很高兴!!!:lol @vivienluo罗老师,最近在通过论坛自学form。过程中遇到了一个困惑,请罗老师指点。我在form里定义了两个field,一个输入字符串,一个输入浮点数。用axlFormTest函数测试正常,两个文本框都可以输入。可是当我在action函数里调用这个form时,输入完第一个后,输入另一个就无效了,就是用axlGetFormField函数只能把第一个文本框的内容传递给action函数。怎么破? leench124 发表于 2015-4-16 19:20
@vivienluo罗老师,最近在通过论坛自学form。过程中遇到了一个困惑,请罗老师指点。我在form里定义了两个fi ...
代码发上来我帮你看看。 leench124 发表于 2015-4-16 19:20
@vivienluo罗老师,最近在通过论坛自学form。过程中遇到了一个困惑,请罗老师指点。我在form里定义了两个fi ...
代码发上来我帮你看看。 @vivienluo 谢谢罗老师,代码很简单,就是想测试下form怎么用,没有实际作用,执行完就提示错误:
leench124 发表于 2015-4-16 21:19
@vivienluo 谢谢罗老师,代码很简单,就是想测试下form怎么用,没有实际作用,执行完就提示错误:
你第二个form定义为只能输入整数,而且只能是-99到+99。所以你其他字符是没法输入的。。。。。