|
|
发表于 9-7-2005 02:57 PM
|
显示全部楼层
astral 于 9-7-2005 07:05 AM 说 :
wow~ flashang, 最近你还蛮活跃的, 好现象 来来来,顺便分享一下你对不同的buffer mode 的看法和心得
[ Last edited by astral on 9-7-2005 at 07:12 AM ]
walau, buffermode 好像是你和 kok 跟我讲的。。。
现在我大都用 5, update 之前全部才检查一次。。。 |
|
|
|
|
|
|
|
|
|
|
发表于 10-7-2005 01:42 PM
|
显示全部楼层
前辈们好。
小弟有个问题。。。
“How to use FoxPro to export into multiple Excel sheet?”
Let's say a DBF export into 1Sheet, 2Sheet, 3Sheet of excel.... |
|
|
|
|
|
|
|
|
|
|
发表于 10-7-2005 04:04 PM
|
显示全部楼层
astral 于 9-7-2005 07:05 AM 说 :
wow~ flashang, 最近你还蛮活跃的, 好现象 来来来,顺便分享一下你对不同的buffer mode 的看法和心得
[ Last edited by astral on 9-7-2005 at 07:12 AM ]
buffer 和 file lock ( flock, rlock) 那一个比较好 ?
总觉得 file lock 是属于 manual control, buffer 是 auto control, 用auto的, 出了错也不知道 ... |
|
|
|
|
|
|
|
|
|
|
发表于 10-7-2005 11:41 PM
|
显示全部楼层
weisely 于 10-7-2005 04:04 PM 说 :
buffer 和 file lock ( flock, rlock) 那一个比较好 ?
总觉得 file lock 是属于 manual control, buffer 是 auto control, 用auto的, 出了错也不知道 ...
只有在 multi user update 的时候才需要 lock, multi user reader 的时候则不需要
我用 buffer 是可以让使用者可以 save (update) 或 cancel edit (rollback)
而真的有多人更改的资料有时则需要用 rlock
不建议使用 flock, 除非你需要 update 整个 file 或大部分的 record |
|
|
|
|
|
|
|
|
|
|
发表于 12-7-2005 03:28 PM
|
显示全部楼层
我两种都常用到。
buffer 通常用在 Drag&Drop 的控件 TextBox, Grid。
rlock 则用于 Auto-posting 时,被逼用到。 |
|
|
|
|
|
|
|
|
|
|
发表于 12-7-2005 08:12 PM
|
显示全部楼层
原帖由 白日梦 于 12-7-2005 03:28 PM 发表
我两种都常用到。
buffer 通常用在 Drag&Drop 的控件 TextBox, Grid。
rlock 则用于 Auto-posting 时,被逼用到。
我的rlock通常用在当transaction的Running Number 须要 +1 的时候
我觉得要 update Running number 是不可能用 buffer 的吧
比如我习惯把 invoice 最后一次的 running number 记录在一个sysauto.dbf 里
select sysauto
goto top
do while .t.
if rlock()
replace n_no with n_no + 1
unlock
exit
else
wait "Wait For Record To Be Updated" window nowait
endif
enddo
就这样, 不管发生什么事情 ( server 当机, 突然停电, 或有100 个用户在同时间更新transaction的文件), 我的auto running number 永远不会出错
[ 本帖最后由 weisely 于 12-7-2005 08:15 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 12-7-2005 10:15 PM
|
显示全部楼层
原帖由 weisely 于 12-7-2005 08:12 PM 发表
我的rlock通常用在当transaction的Running Number 须要 +1 的时候
我觉得要 update Running number 是不可能用 buffer 的吧
比如我习惯把 invoice 最后一次的 running number 记录在一个sysauto.dbf ...
可以考虑使用其他有 auto generate id 或 auto number filed 的 database  |
|
|
|
|
|
|
|
|
|
|
发表于 13-7-2005 09:57 PM
|
显示全部楼层
|
不好意思,真的没人懂得如何export a dbf into multiple sheet in excel? |
|
|
|
|
|
|
|
|
|
|
发表于 14-7-2005 12:06 AM
|
显示全部楼层
原帖由 Wong_Arthas 于 13-7-2005 09:57 PM 发表
不好意思,真的没人懂得如何export a dbf into multiple sheet in excel?
试过 download sample 可以用 active x 来做 multiple sheet excel, winword mail merge, 还有很多其他 ms office 的功能。
去问 google 吧 |
|
|
|
|
|
|
|
|
|
|
发表于 14-7-2005 09:39 AM
|
显示全部楼层
原帖由 Wong_Arthas 于 13-7-2005 09:57 PM 发表
不好意思,真的没人懂得如何export a dbf into multiple sheet in excel?
我不懂这么深,只会 single sheet 的。
这是我在某个VFP教学网站的公开编码,类似 VB 的 PrintForm 功能,因为 VFP 没有酱方便的,所以利用 Word 来把 Chart PrintScreen,你可以利用来参考及修改
- oWord = CreateObject("Word.Application")
- oDoc = oWord.Documents.Add()
- Thisform.oleChart.EditCopy()
- oWord.Selection.PasteSpecial(.F.,.F.,0,.F.,3)
- oDoc.PrintOut
- oDoc.Close(0)
- oWord.Quit
复制代码
oExcel = CreateObject("Excel.Application")
oWS = oExcel.WorkSheet.???
吧。。。吧。。。吧。。。吧。。。吧。。。
[ 本帖最后由 白日梦 于 14-7-2005 09:56 AM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 15-7-2005 08:56 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 15-7-2005 11:26 AM
|
显示全部楼层
请问有什麽方法用VFP8 set半张纸?
我是用VFP的report form print Official Receipt.
现在我是在Windows Me/XP的Control Panel -> Printer set 的。
问题是如果电脑format过就要另外再Control Panel -> Printer set过,很麻烦。
谢谢 |
|
|
|
|
|
|
|
|
|
|
发表于 15-7-2005 08:15 PM
|
显示全部楼层
原帖由 xiaoye 于 15-7-2005 11:26 AM 发表
请问有什麽方法用VFP8 set半张纸?
我是用VFP的report form print Official Receipt.
现在我是在Windows Me/XP的Control Panel -> Printer set 的。
问题是如果电脑format过就要另外再Control Pan ...
采用80年代foxpro for DOS 的编程方式来写printing command 
这是根本不必用report designer的
用DOS 的方式来写, 很程式会很听话, 要printer 停在那里就那里, 可是 .... 嘿... 嘿... 我也不知道这可以不可以在visual foxpro8 中运行 ....
SET PRINTER TO &the_dest
SET PRINTER FONT "Arial",30
SET PRINTER ON
IF atsay_flag
SET DEVICE TO PRINTER
# 1,0 SAY "Here is an @SAY in row 1"
ENDIF
? "Test Line 1"
??? "Now printing a triple"
WAIT WINDOW "Just did the first ??? command. Press a key"
? "Test Line 2"
??? "Another triple"
? "Test Line 3"
?
IF atsay_flag
# 6,0 say "Another @SAY in row 6"
SET DEVICE TO SCREEN
ENDIF
SET PRINTER OFF
SET PRINTER TO |
|
|
|
|
|
|
|
|
|
|
发表于 16-7-2005 08:40 AM
|
显示全部楼层
|
谢谢你们的帮忙,尤其是白日梦 。我再看看,如国有resource我会在这论坛报上。 |
|
|
|
|
|
|
|
|
|
|
发表于 17-7-2005 10:41 PM
|
显示全部楼层
原帖由 xiaoye 于 15-7-2005 11:26 AM 发表
请问有什麽方法用VFP8 set半张纸?
我是用VFP的report form print Official Receipt.
现在我是在Windows Me/XP的Control Panel -> Printer set 的。
问题是如果电脑format过就要另外再Control Pan ...
vfp 的 report 是会随着 printer 的型号、设定而变的。。。 |
|
|
|
|
|
|
|
|
|
|
发表于 18-7-2005 08:48 AM
|
显示全部楼层
原帖由 xiaoye 于 15-7-2005 11:26 AM 发表
请问有什麽方法用VFP8 set半张纸?
我是用VFP的report form print Official Receipt.
现在我是在Windows Me/XP的Control Panel -> Printer set 的。
问题是如果电脑format过就要另外再Control Pan ...
我公司印的 payslip 也是半张纸,我用一架机专门印的是 Windows 98SE 的印表机属性 Printer Properties 设定 Paper Size = Custom width x length length 就是那张纸的长度。
尤其是 Panasonic KX-P3626 和 Epson LQ-2170 旧款的印表机没有厂方真正的 XP driver。我试了下载新 driver 给 XP,但是没有。只有NT的,所以不能设定 Paper Size = Custom。
[ 本帖最后由 白日梦 于 18-7-2005 08:55 AM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 18-7-2005 12:39 PM
|
显示全部楼层
原帖由 白日梦 于 18-7-2005 08:48 AM 发表
我公司印的 payslip 也是半张纸,我用一架机专门印的是 Windows 98SE 的印表机属性 Printer Properties 设定 Paper Size = Custom width x length length 就是那张纸的长度。
尤其是 Panasonic KX-P3626 和 ...
如果在printer properties 下设置我没有问题,问题是如果顾客重新装windows我就要帮他再设置过或在电话上教他如何设置。
所以我想如果可以用program来set就不用那么麻烦了.
在windows XP里,同样是在printer properties那儿set的,不过方法不大一样.
要在空位的地方RightClick滑鼠,再选Server Properties,然后选Create A New Form,更改Form Name(我通常都用Custom),再将Height改成5.5In. |
|
|
|
|
|
|
|
|
|
|
发表于 18-7-2005 03:44 PM
|
显示全部楼层
VFP7.0 TO VFP9.0
vfp70 里的 sql command:
select a, b, sum(c) from table_a group by a
行的通 ..
同样的 sql command,
在 vfp9.0 里竟然出现 error,
原来是 column b 在作怪 !!!
在 vfp9.0 里,
一定要同时 group by column a, b
select a, b, sum(c) from table_a group by a, b
晕了。。
难道要全部 report 去 test???
[ 本帖最后由 小李波特 于 18-7-2005 03:47 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 18-7-2005 03:59 PM
|
显示全部楼层
原帖由 小李波特 于 18-7-2005 03:44 PM 发表
vfp70 里的 sql command:
select a, b, sum(c) from table_a group by a
行的通 ..
同样的 sql command,
在 vfp9.0 里竟然出现 error,
原来是 column b 在作怪 !!!
在 vfp9.0 里,
一定 ...
不必大修改。
这指令作怪 SET ENGINEBEHAVIOR 70 | 80 | 90 (default)
你的情形是由 vfp7 升级 vfp9,在 main.prg 里设定 SET ENGINEBEHAVIOR 70 就搞定了!
我也是刚刚遇到这件事 
[ 本帖最后由 白日梦 于 18-7-2005 04:01 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 18-7-2005 04:07 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|