佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: maybird_2

Visual FoxPro 的疑难杂症

[复制链接]
发表于 21-10-2005 08:55 AM | 显示全部楼层
Command1.Click 的子程序试加入 Set Library To

  1. Set Library To 'MYKAD_PCSC.dll'
  2. Declare Integer StartSession In 'MYKAD_PCSC.dll'
  3. lnReturn = StartSession()
复制代码
回复

使用道具 举报


ADVERTISEMENT

小李波特 该用户已被删除
发表于 21-10-2005 10:11 AM | 显示全部楼层
原帖由 白日梦 于 21-10-2005 08:55 AM 发表
Command1.Click 的子程序试加入 Set Library To

  1. Set Library To 'MYKAD_PCSC.dll'
  2. Declare Integer StartSession In 'MYKAD_PCSC.dll'
  3. lnReturn = StartSession()
复制代码



解决了,原来这样就可以了,

lib = CREATEOBJECT("MYKAD_PCSC.MYKADPCSCLib"
result  = lib.StartSession


现在正在做有关 MyCard 的 program,
hohoo, 祝我好运

回复

使用道具 举报

发表于 21-10-2005 10:42 AM | 显示全部楼层
请问在Text Box 里,可不可以在不设定几位小数点的前提下,只让它接受数字和小数点罢了?
回复

使用道具 举报

发表于 21-10-2005 11:43 AM | 显示全部楼层
各位狐友好!

我想问一个关于FoxPro DOS用Panasonic KX-P1121打印有Double High Outline字体的问题(如果有离题希望各位多多包涵).



我是用CHR(27)+'q'+'1'打印出有Outline的普通字体"COMPANY".但当我用"CHR(27)+'q'+'1'+CHR(14) + 'COMPANY' + CHR(27)+'q'+'0'+chr(20)"时,"COMPANY"会打印成Double High,打印出的没有Outline的Double High"COMPANY".我用CHR(27)+'w'+'1"也的得到同样的结果.


CHR(27)+'q'+'1' - Outline
CHR(27)+'q'+'0' - Release Outline
chr(14)         - Double High
chr(20)         - Release Double High
普通字体        - 2.5mm高
Double High     - 是将普通字体高度提高一倍到5mm高


请问如何将这Outline字体打印成Double High并保留为Outline的字体?

谢谢
回复

使用道具 举报

发表于 22-10-2005 08:52 AM | 显示全部楼层
看了你的编写法没问题,可能打印机不能处理打印出2种字体的混合字型。

不过我建议以后把 chr(27)+'q'+'1' 优化为 chr(27)+'q1',chr(27)+'q'+'0' 优化为 chr(27)+'q0'
回复

使用道具 举报

发表于 22-10-2005 01:14 PM | 显示全部楼层
原帖由 白日梦 于 22-10-2005 08:52 AM 发表
看了你的编写法没问题,可能打印机不能处理打印出2种字体的混合字型。

不过我建议以后把 chr(27)+'q'+'1' 优化为 chr(27)+'q1',chr(27)+'q'+'0' 优化为 chr(27)+'q0'


白兄,

应该不是打印机的问题,因为另一个软件能打印出Outline Double Height的字体.或者它是用Picture而不是字体,但愿您的方法可以啦.

对了,您还知不知道在Foxpro For Dos下:  
  1) 如何打印中文字体
  2) 在电脑银幕上显示超大字体(就像油Palm Oil厂的大称DOS电脑系统)

谢谢您的回复.
XiaoYe
回复

使用道具 举报

Follow Us
发表于 23-10-2005 01:44 PM | 显示全部楼层
原帖由 白日梦 于 22-10-2005 08:52 AM 发表
看了你的编写法没问题,可能打印机不能处理打印出2种字体的混合字型。

不过我建议以后把 chr(27)+'q'+'1' 优化为 chr(27)+'q1',chr(27)+'q'+'0' 优化为 chr(27)+'q0'


Hi, 我已用以下方法解决了.

??? chr(27) + "!" + chr(32)   && Print Double high
?    CHR(27)+"p"+"1" + CHR(27)+"w"+"1" + CHR(27)+"q1" + m.NAME + CHR(27)+"q0" + CHR(27)+"w"+"0" + CHR(27)+"p"+"0"

i)  CHR(27) + "!" + CHR(32)   && Print Double high
ii) CHR(27)+"w"+"1"         && Set Double High Printing
iii) CHR(27)+"w"+"0"          && Release Double High Printing
*Following is not necessary if you want to print for Normal Width
iv) CHR(27)+"p"+"1"         && Set Proportional Spacing
v) CHR(27)+"p"+"0"         && Release Proportional Spacing

对了,您还知不知道在Foxpro For Dos下:  
  1) 如何打印中文字体
  2) 在电脑银幕上显示超大字体(就像油Palm Oil厂的大称DOS电脑系统)

谢谢
回复

使用道具 举报

发表于 23-10-2005 11:40 PM | 显示全部楼层
原帖由 xiaoye 于 22-10-2005 01:14 PM 发表


白兄,

应该不是打印机的问题,因为另一个软件能打印出Outline Double Height的字体.或者它是用Picture而不是字体,但愿您的方法可以啦.

对了,您还知不知道在Foxpro For Dos下:  
  1) 如何打印中文字体
  2) 在电脑银幕上显示超大字体(就像油Palm Oil厂的大称DOS电脑系统)


在 dos 要使用中文字,一般上都是用倚天,而打印也是使用图型的印法, 或用倚天的打印功能。

在 text mode 要显示超大字体,可以用 ascii 来拼成,好像 ibm 的 logo 在 text mode 的那样。

另外,如果是使用 ega / vga 的 text mode, 后 128 个 ascii 是可以更改的。
但是,如果是在中文系统下,已经是 graphics mode 了。

[ 本帖最后由 flashang 于 23-10-2005 11:51 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 24-10-2005 08:30 AM | 显示全部楼层
原帖由 xiaoye 于 22-10-2005 01:14 PM 发表
白兄,

应该不是打印机的问题,因为另一个软件能打印出Outline Double Height的字体.或者它是用Picture而不是字体,但愿您的方法可以啦.

对了,您还知不知道在Foxpro For Dos下:  
  1) 如何打印中文字体
  2) 在电脑银幕上显示超大字体(就像油Palm Oil厂的大称DOS电脑系统)

谢谢您的回复.
XiaoYe

flashang 已代我回复了。

我没用过 FoxPro for Dos 2.6,在我公司棕油厂所有自制软件都是在 XP 下执行的,中文是图片档案。

[ 本帖最后由 白日梦 于 24-10-2005 08:36 AM 编辑 ]
回复

使用道具 举报

发表于 24-10-2005 08:33 AM | 显示全部楼层
原帖由 xiaoye 于 23-10-2005 01:44 PM 发表
i)  CHR(27) + "!" + CHR(32)   && Print Double high
ii) CHR(27)+"w"+"1"         && Set Double High Printing
iii) CHR(27)+"w"+"0"          && Release Double High Printing
iv) CHR(27)+"p"+"1"         && Set Proportional Spacing
v) CHR(27)+"p"+"0"         && Release Proportional Spacing

把你的打印机字形设定码优化成
i)  CHR(27) + "! " && CHR(32)=" "
ii) CHR(27)+"w1"
iii) CHR(27)+"w0"
iv) CHR(27)+"p1"
v) CHR(27)+"p0"
回复

使用道具 举报

发表于 24-10-2005 10:44 AM | 显示全部楼层
原帖由 白日梦 于 24-10-2005 08:30 AM 发表

flashang 已代我回复了。

我没用过 FoxPro for Dos 2.6,在我公司棕油厂所有自制软件都是在 XP 下执行的,中文是图片档案。


谢了.

我的FoxPro Dos 2.6 Program也可以在Windows(95,98,ME,XP)下运行的

我尝试在Visual FoxPro(VFP)用FPD command( set printer to, ?, ???)下打印,一切都OK但中文字却不能用Draft Font打印 不过我会试用图片档案来打印中文.图片要用什么Format(JPG,BMP,GIF) ?

您可以分享如何用VFP制作大字体显示大秤重量吗?需要用什么ActiveX或买AddIn?


[ 本帖最后由 xiaoye 于 24-10-2005 10:47 AM 编辑 ]
回复

使用道具 举报

发表于 24-10-2005 01:46 PM | 显示全部楼层
去XP的Regional & Language 安装中文输入法,
Default input language 设定为 Chinese (PRC),
Restart 电脑后进 VFP 就能使用中文。

VFP Project Manager 的 Default code 里,加入这行,
Set Collate To "PINYIN"

VFP 已是视窗的了,不管显示在荧幕或打印都用基本控件就是了。
修改属性 Text1.FontSize = 20

你没用过 VFP 吗?
回复

使用道具 举报

发表于 24-10-2005 02:26 PM | 显示全部楼层
原帖由 白日梦 于 24-10-2005 01:46 PM 发表
去XP的Regional & Language 安装中文输入法,
Default input language 设定为 Chinese (PRC),
Restart 电脑后进 VFP 就能使用中文。

VFP Project Manager 的 Default code 里,加入这行,
Set Collate ...


对不起,让您误解了我的问题.

我是问"您可以分享如何用VFP制作大字体显示大秤重量吗? 需要用什么ActiveX或买AddIn?"谢谢您回答我的问题

我刚找到用chr()打印出中文的方法.由于中文字是double byte,所以要用两个chr()来表示.例如"中"是CHR(214)+CHR(208).我在VFP试过了没问题,在DOS下就还没有试.

谢谢白兄和flashang的回复
回复

使用道具 举报

发表于 24-10-2005 04:01 PM | 显示全部楼层
我是问"您可以分享如何用VFP制作大字体显示大秤重量吗? 需要用什么ActiveX或买AddIn?"谢谢您回答我的问题

不重复了,答案在专题讨论帖子寻找 -〉RS232 及 电子磅秤系统

这个不只VFP可以做到,就算是VC/VB编程高手都可以。

那些编码要有电子仪器才能用到,不然就hang机。

[ 本帖最后由 白日梦 于 24-10-2005 04:03 PM 编辑 ]
回复

使用道具 举报

发表于 24-10-2005 04:07 PM | 显示全部楼层
原帖由 xiaoye 于 24-10-2005 02:26 PM 发表

我刚找到用chr()打印出中文的方法.由于中文字是double byte,所以要用两个chr()来表示.例如"中"是CHR(214)+CHR(208).我在VFP试过了没问题,在DOS下就还没有试.


不错 , 如何 知道 "中" 这个字是CHR(214)+CHR(208) ??要是 “文” 这个字如何 知道 哪两个 CHR() ??

VFP , 没用XP时 , 印中文 都是用中文之星.....
回复

使用道具 举报

发表于 25-10-2005 02:01 AM | 显示全部楼层
原帖由 enry98 于 24-10-2005 04:07 PM 发表


不错 , 如何 知道 "中" 这个字是CHR(214)+CHR(208) ??要是 “文” 这个字如何 知道 哪两个 CHR() ??

VFP , 没用XP时 , 印中文 都是用中文之星.....


请give me 你的e-mail.

请问如何印中文字?可以分享您知道的所有方法吗?
我想打印出DOS的中文字(印出来时是点而不是Windows黑黑美美的字).我可以用
"? CHR(205)+CHR(168)"在FoxPro Dos印出"通"字,一旦我用chr(27)+"w1"放大就印出"M("而不是"通".

白兄建议用图片打印会是一个不错的办法(不知如何制作??),但是不能用?,??打印.
我要做的是模仿DOS的Print Out,中文字是用来打公司名.

谢谢

[ 本帖最后由 xiaoye 于 25-10-2005 02:28 AM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 8-11-2005 10:43 AM | 显示全部楼层
请问在文本框里,可不可以在不设定几位小数点的前提下,只让它接受数字和小数点罢了?
同时,在显示的时候小数点后面多余的零也不会显示出来。
回复

使用道具 举报

发表于 8-11-2005 04:28 PM | 显示全部楼层
用 TextBox.InputBox = '9,999.99'
回复

使用道具 举报

发表于 8-11-2005 05:32 PM | 显示全部楼层
原帖由 白日梦 于 8-11-2005 04:28 PM 发表
用 TextBox.InputBox = '9,999.99'

如果要在InputMark设定不就必须知道有多少个小数点了吗?
回复

使用道具 举报

发表于 8-11-2005 07:38 PM | 显示全部楼层
原帖由 tstan135 于 8-11-2005 10:43 AM 发表
请问在文本框里,可不可以在不设定几位小数点的前提下,只让它接受数字和小数点罢了?
同时,在显示的时候小数点后面多余的零也不会显示出来。


如果你的 control source 是一個 table.field, 而 field type 是 float / number (n, m), 會自動只接受數字和小數點.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 7-5-2024 11:33 PM , Processed in 0.061599 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表