10. 從VFP中導(dǎo)出數(shù)據(jù)的幾種方法!
答: 當VFP處理好數(shù)據(jù)后,這時你可以用多種方法將這些數(shù)據(jù)導(dǎo)出,以便被其它應(yīng)
用程序(如Excel等)所用。下面向你簡單介紹幾種導(dǎo)出數(shù)據(jù)的方法:
1.用“導(dǎo)出數(shù)據(jù)”對話框。你可以從VFP主菜單中選擇“文件/導(dǎo)出…”打開
“導(dǎo)出”對話框,在該對話框中的“來源”框中輸入表名(c:vfpstudents.dbf
),在“類型”中指定要導(dǎo)出數(shù)據(jù)的類型(Microsoft Excel),在“到”框中輸入
導(dǎo)出的路徑和文件名(C:excelaa.xls),然后按“確定”即可。這時你如果查看
command窗口,可發(fā)現(xiàn)以下代碼:
COPY TO C:excelaa.XLS TYPE XL5
2.用COPY TO命令。COPY TO命令的工作對象是VFP中的表,它要依據(jù)“TYPE”
項才知道要產(chǎn)生哪一類導(dǎo)出文件。對于上面的導(dǎo)出過程,可用以下方法實現(xiàn):
USE students
COPY TO C:excelaa.XLS TYPE XL5
12.在VFP6中,如何調(diào)用已經(jīng)存在的WORD文件?
oW = CREATEOBJECT([word.basic])
with oW
ENDWITH
13.打開word文件的控件?
用RUN /N3 C:WORD.EXE 文檔路徑
C:WORD.EXE是我自己寫的,你用時換成WORD的真正路徑就行了!
比如用WORD 打開SD.DOC 就寫
RUN /N3 C:WORD.EXE C:SD.DOC
另:TXLS_EOLE = CREATEOBJECT('word.application')
TXLS_EOLE.Documents.Open('文件名.doc')
TXLS_EOLE.Visible=.t.
注意:別忘了關(guān)閉哦
TXLS_EOLE.Documents.close
TXLS_EOLE.quit
RELEASE TXLS_EOLE
再者:
fw=alltrim(this.value)
if file('&fw')
else
ENDIF
14.在表單中創(chuàng)建一個編輯框,用來顯示W(wǎng)ORD文檔!
做一個按扭,在CLICK中寫:THISFORM.EDIT1.value=FILETOSTR(GETFILE('DOC'))
這個不也行,而且還簡單
15.強烈建議: 直接使用ole可以在表單中打開word,建議不使用這種辦法,改為利用api用windows默認的程序打開word,數(shù)據(jù)庫只存儲word文檔所在的位置和名字。
16在VFP中調(diào)用其他的程序
run c:\..\*.exe
一般來說,用VFP運行非VFP自身生成的可執(zhí)行文件時,會有一個黑色的窗口顯示一下??梢酝ㄟ^加上/n來隱藏這個窗口。例如運行Windows下的掃雷游戲,命令格式如下:
RUN/n C:\Windows\Winmine.exe
run /n3 C:\Program Files\Microsoft Office\Office\Winword.exe
參數(shù):n 在運行時隱藏VFP的黑色窗口。
DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,;
STRING lpszOP, ;
STRING lpszFile, ;
STRING lpszParams, ;
STRING lpszDir, ;
INTEGER fsshowcmd
DECLARE INTEGER GetDesktopWindow IN win32api
HWND = GetDesktopWindow()
lpszOP = "open"
* 指定要打開的文件名
lpszFile ="c:\mlx.doc"
lpszParams = ""
lpszDir = "c:\temp"
fsshowcmd = 1
* 執(zhí)行ShellExecute命令
LNRETURN = ShellExecute(HWND,lpszOP,lpszFile,lpszParams,lpszDir,fsshowcmd)
(以上的“\”也可以寫成“”
(緊接著看下面的ShellExecute使用詳解)
17.調(diào)用ShellExecute()函數(shù)打開網(wǎng)頁
有三個API函數(shù)可以運行可執(zhí)行文件WinExec、ShellExecute和CreateProcess。CreateProcess因為使用復(fù)雜,比較少用。
WinExec主要運行EXE文件。如:WinExec(’Notepad.exe
ShellExecute不僅可以運行EXE文件,也可以運行已經(jīng)關(guān)聯(lián)的文件。
首先必須引用shellapi.pas單元:uses
(1).標準用法
ShellExecute函數(shù)原型及參數(shù)含義如下:
function
●hWnd:用于指定父窗口句柄。當函數(shù)調(diào)用過程出現(xiàn)錯誤時,它將作為Windows消息窗口的父窗口。例如,可以將其設(shè)置為應(yīng)用程序主窗口句柄,即Application.Handle,也可以將其設(shè)置為桌面窗口句柄(用GetDesktopWindow函數(shù)獲得)。
●Operation:用于指定要進行的操作。最常用的動詞是 "Open", 其它可用的動詞是 "edit","print","explore" 和 "properties".其中“open”操作表示執(zhí)行由FileName參數(shù)指定的程序,或打開由FileName參數(shù)指定的文件或文件夾;“print”操作表示打印由FileName參數(shù)指定的文件;“explore”操作表示瀏覽由FileName參數(shù)指定的文件夾。當參數(shù)設(shè)為nil時,表示執(zhí)行默認操作“open”。
●FileName:用于指定要打開的文件名、要執(zhí)行的程序文件名或要瀏覽的文件夾名。
●Parameters:若FileName參數(shù)是一個可執(zhí)行程序,則此參數(shù)指定命令行參數(shù),否則此參數(shù)應(yīng)為nil或PChar(0)。
●Directory:用于指定默認目錄。
●ShowCmd:若FileName參數(shù)是一個可執(zhí)行程序,則此參數(shù)指定程序窗口的初始顯示方式,否則此參數(shù)應(yīng)設(shè)置為0。
若ShellExecute函數(shù)調(diào)用成功,則返回值為被執(zhí)行程序的實例句柄。若返回值小于32,則表示出現(xiàn)錯誤。
上述僅僅是ShellExecute函數(shù)的標準用法,下面將介紹它的特殊用法。
(2).特殊用法
在label屬性中定義mousepointer=99&&自定義鼠標指針(這里是手型)
在label的init事件中添加如下代碼:
this.MOuseicon='HAND.CUR'
只小手。要有一個小手的.cur文件,我是在QQ中找到的。
*******
*******
*
DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,;
*
DECLARE INTEGER GetDesktopWindow IN win32api
*
HWND=GetDesktopWindow()
lpszOP=""
*
lpszFile='http//:blog.sina.cn/u/1279340340'
lpszParams=""
*
lpszDir="C:"
fsshowcmd=1
*
*LNRETURN=
ShellExecute(HWND,lpszOP,lpszFile,lpszParams,lpszDir,fsshowcmd)
VFP調(diào)用Windows的文件關(guān)連來打開文件(本例為.jpg文件,已成功使用!)。
**調(diào)用Windows的文件關(guān)連來打開文件代碼(本例為.jpg文件)。即所有的文件都用系統(tǒng)默認的程序來打開。這就要調(diào)用Windows的Win32 API函數(shù)。調(diào)用方式如下:
IF EMPTY(THISform.text2.VALUE)
ELSE
* 指定要打開的文件名
* 執(zhí)行ShellExecute命令
ENDIF
Visual FoxPro調(diào)用win32API函數(shù)打開.DOC
* 打開 Word 來編輯文件 "c:mywordfile.doc"
=Shellexecute(0,"Open","c:mywordfile.doc","","",1)
* 打開默認的郵件閱讀器來發(fā)一封信給天堂版主
=Shellexecute(0,"Open","mailto:njjane@21cn.com","","",1)
* 打印文本文件 "c:mytextfile.txt"
=Shellexecute(0,"Print","c:mytextfile.txt","","",1)
聯(lián)系客服