婷婷免费高清视频在线观看,亚洲午夜在线一区,免费高清日本中文,精品一区久久,久久不射影院,玖玖国产精品,性感大胸美女比基尼

天天日?qǐng)?bào)丨ole對(duì)象的功能是什么_ole對(duì)象型

  • 互聯(lián)網(wǎng)
  • 2023-05-01 17:00:10

1、不知你有沒(méi)有接觸過(guò)VF編程,如果有過(guò)的話,對(duì)OLE這個(gè)東西應(yīng)該不會(huì)很陌生.但不管你有沒(méi)有接觸過(guò)它,相信你看了下面的內(nèi)容,會(huì)對(duì)你有所幫助的. VFP的OLE技術(shù)應(yīng)用詳解 VisuaLFoxPro3.0(以下簡(jiǎn)稱VFP)使用了OLE2.0技術(shù),使VFP應(yīng)用程序的適應(yīng)能力大為加強(qiáng)。

2、 VFP提供兩種類型的OLE對(duì)象:一種是OLE控件(.OCX文件),這是一種自定義控件,通常在WINDOWSSYSTEM目錄下,擁有自己的事件、方法,類似于VFP的基本類,這種控件可以用VC、VB5.0、DeLphi、SDK2.0等編程工具開(kāi)發(fā)。

3、VFP缺省提供了四種可供使用的OLE控件,即通信(MSCOMM32.OCX)、消息應(yīng)用程序接口MAPI(MSMAPI32.OCX)、OutLine(MSOUTL32.OCX)和圖片裁剪(PICCLP32.OCX);另一種是可插入型OLE對(duì)象,這是由其他應(yīng)用程序創(chuàng)建的,它們沒(méi)有自己的事件集合。


(相關(guān)資料圖)

4、這一種可插入型OLE對(duì)象又可分為限制性可插入型OLE對(duì)象和非限制性可插入型OLE對(duì)象。

5、 VFP提供兩種引用OLE對(duì)象的途徑都是通過(guò)VFP中的控件實(shí)現(xiàn)的:一種是通過(guò)OLE容器控件鏈接或嵌入對(duì)象,OLE容器控件可以引入OLE控件和非限制性可插入型OLE對(duì)象;另一種是通過(guò)OLE綁定型控件鏈接或嵌入數(shù)據(jù)表的通用類型字段中所存放的OLE對(duì)象,這通常是些限制性可插入型OLE對(duì)象。

6、 在VFP中OLE對(duì)象是通過(guò)鏈接或嵌入操作方式進(jìn)行操作的。

7、鏈接和嵌入操作之間的區(qū)別在于OLE對(duì)象所存放的地點(diǎn):鏈接操作中的OLE對(duì)象仍然存放在創(chuàng)建它的源文件中數(shù)據(jù)表或表單僅僅存儲(chǔ)源文件的位置,即一個(gè)指針,在更改源文件時(shí),被鏈接的OLE對(duì)象將被及時(shí)更新。

8、被鏈接的OLE對(duì)象始終保持著與源文件之間的聯(lián)系,除非人為斷開(kāi)這種聯(lián)系;嵌入操作的OLE對(duì)象只能存儲(chǔ)在數(shù)據(jù)表或表單中。

9、這些OLE對(duì)象不與創(chuàng)建它的源文件保持聯(lián)系。

10、如果源文件做了更改,它們不會(huì)自動(dòng)反映在VFP應(yīng)用程序中,除非你再次進(jìn)行嵌入操作。

11、鏈接操作通常用于如下場(chǎng)合:OLE對(duì)象(數(shù)據(jù)或圖形)可能被經(jīng)常更改、應(yīng)用程序必須包含最新版本的OLE對(duì)象、存放OLE對(duì)象的源文件可以在計(jì)算機(jī)之間或通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行更新、存放OLE對(duì)象的源文件必須被其他應(yīng)用程序共享。

12、嵌入操作通常用于如下場(chǎng)合:應(yīng)用程序不需要具有最新版本的OLE對(duì)象、嵌入的OLE對(duì)象不需要被多個(gè)應(yīng)用程序使用、源文件在被鏈接后不會(huì)被更新。

13、 要注意的是VFP本身只是一個(gè)OLE客戶機(jī),而不是一個(gè)OLE服務(wù)器。

14、 使用OLE對(duì)象 在應(yīng)用程序中使用OLE對(duì)象首先要考慮OLE對(duì)象的類型,針對(duì)不同類型的OLE對(duì)象,使用不同的方法來(lái)引用它們。

15、當(dāng)程序中要引用的可插入型OLE對(duì)象較多時(shí)就要考慮用數(shù)據(jù)表的通用型字段來(lái)存儲(chǔ)它。

16、 在VFP的數(shù)據(jù)表中添加OLE對(duì)象 方法一:使用數(shù)據(jù)表設(shè)計(jì)器給數(shù)據(jù)表添加一個(gè)通用型字段,然后將可插入型OLE對(duì)象鏈接或嵌入到通用型字段的每個(gè)記錄中。

17、通用字段包含一個(gè)10字節(jié)的指針,它指向該字段真正的內(nèi)容,通用型字段的真正類型和數(shù)據(jù)大小取決于創(chuàng)建這些對(duì)象的OLE服務(wù)器。

18、這些OLE對(duì)象是以鏈接方式還是以嵌入方式進(jìn)行操作與該應(yīng)用程序有關(guān)。

19、若OLE對(duì)象是以鏈接方式進(jìn)行操作的,則數(shù)據(jù)表中只含有對(duì)OLE對(duì)象的引用,以及創(chuàng)建這些OLE對(duì)象的應(yīng)用程序的引用;若OLE對(duì)象是以嵌入方式進(jìn)行操作的,數(shù)據(jù)表中將含有相關(guān)OLE對(duì)象的副本,以及對(duì)創(chuàng)建這些OLE對(duì)象的應(yīng)用程序的引用。

20、通用字段的大小僅受可用磁盤空間的限制。

21、 方法二:使用APPENDGENERAL命令從文件中導(dǎo)入OLE對(duì)象并將其放入通用型字段中。

22、語(yǔ)法: APPENDGENERALGeneraLFieLdName 〔FROMFiLeName FROMMEMOPictureFieLd?Name〕 〔DATAcExpression〕 〔LINK〕 〔CLASSOLECLassName〕 2、使用限制性可插入型OLE對(duì)象 使用通用型字段中所存儲(chǔ)的限制性可插入型OLE對(duì)象需要使用OLE綁定型控件,步驟如下: (1)在表單設(shè)計(jì)器中,將一個(gè)OLE綁定型控件添加到表單中。

23、 (2)通過(guò)設(shè)置對(duì)象的ControLSource屬性指定包含OLE對(duì)象的通用型字段。

24、如果數(shù)據(jù)表名為Inventory,通用型字段名為Current,那么可以將ControL?Source屬性設(shè)置成Inventory.Current。

25、 (3)在表單上添加按鈕或菜單命令,用以瀏覽ControLSource屬性指定的通用型字段。

26、 3、使用OLE控件(.OCX文件)及非限制性可插入型OLE對(duì)象 這兩類對(duì)象需要使用OLE容器控件。

27、OLE容器控件允許向應(yīng)用程序中加入OLE對(duì)象,包括OLE控件(.OCX文件)、非限制性可插入型OLE對(duì)象。

28、OLE容器控件與OLE綁定型控件不同在于,它不與VFP表的一個(gè)通用型字段相連接。

29、 若要在表單中添加OLE控件及非限制性可插入型OLE對(duì)象可按如下步驟進(jìn)行: (1)在表單設(shè)計(jì)器中,向表單中添加一個(gè)OLE容器控件。

30、 (2)在“InsertObject”對(duì)話框中,選擇“CreateNew”或“CreatefromFiLe”或“InsertControL”選項(xiàng)。

31、 (3)從顯示的列表中選擇適當(dāng)?shù)腛LE控件或創(chuàng)建適當(dāng)類型的對(duì)象或增加一個(gè)嵌入文件。

32、 在插入控件時(shí)如果所要的控件沒(méi)有出現(xiàn)在列表中,可選擇“AddControL”按鈕將其添加到列表中。

33、也可以通過(guò)將OLE控件添加到表單控件工具欄中而將其添加到表單中。

34、在選項(xiàng)對(duì)話框中選擇控件之后,單擊表單控件工具欄上的“ViewCLass”按鈕,從子菜單中選擇“OLEControL”,單擊OLE,然后拖動(dòng)控件,在表單上設(shè)置其大小。

35、下面以一例子說(shuō)明如何在程序中使用非限制性可插入型OLE對(duì)象,本例首先將一個(gè)OLE容器控件加入表單,然后使用OLE容器控件的OLECLass和DocumentFiLe屬性將MicrosoftExceL作為OLE服務(wù)器,并將一個(gè)ExceL工作簿指定為要編輯的文件。

36、DocumentFiLe屬性指定了在C驅(qū)動(dòng)器中ExceL路徑下一個(gè)名為BOOK1.XLS的工作簿。

37、如果在DocumentFiLe屬性中指定的文件或路徑不存在,則本例程不能正常運(yùn)行,這時(shí)需要修改DocumentFiLe來(lái)指明一個(gè)存在的路徑和工作簿文件。

38、另外BOOK1.XLS只能讀不能修改,下面是其VFP源代碼及其說(shuō)明。

39、 frmMyForm=CREATEOBJECT(′Form′)&&創(chuàng)建表單 frmMyForm.CLosabLe=.F.&&廢止控制菜單框 frmMyForm.AddObject(′cmdCommand1′,′cmdMyCmdBtn′) frmMyForm.AddObject(〃oLeObject〃,〃oLeEx?ceLObject〃) frmMyForm.cmdCommand1.VisibLe=.T. frmMyForm.oLeObject.VisibLe=.T. frmMyForm.oLeObject.Height=50 frmMyForm.Show frmMyForm.oLeObject.DoVerb(-1) READEVENTS DEFINECLASSoLeExceLObjectasOLEControL OLeCLass=〃ExceL.Sheet〃 DocumentFiLe=〃C:EXCELBOOK1.XLS〃 ENDDEFINE DEFINECLASScmdMyCmdBtnASCommand?Button Caption=′ CanceL=.T. Left=125 Top=210 Height=25 PROCEDURECLick CLEAREVENTS ENDDEFINE 4、使用OLE對(duì)象的屬性 OLE對(duì)象有一系列屬性可供使用,但是對(duì)包含在OLE容器控件中的OLE對(duì)象,要確保引用的是OLE對(duì)象的屬性而不是其容器的屬性,這需要將容器的Ob?ject屬性加到OLE對(duì)象名當(dāng)中。

40、 5、使用OLE對(duì)象的方法 除了設(shè)置和讀取OLE對(duì)象的屬性外,還可以使用OLE對(duì)象的方法來(lái)操作OLE對(duì)象。

41、例如,下面的程序使用了Ex?ceL對(duì)象的Add方法來(lái)創(chuàng)建ExceL工作簿,然后使用Save方法保存該工作簿,并使用Quit方法結(jié)束ExceL的本次運(yùn)行: oLeApp=CREATEOBJECT(”Ex?ceL.AppLication”) oLeApp.VisibLe=.T. oLeApp.Workbooks.Add oLeApp.CeLLs(1,1).VaLue=7 oLeApp.ActiveWorkbook.SaveAs(”C:TEMP.XLS”) oLeApp.Quit 與使用屬性一樣,如果用容器控件創(chuàng)建對(duì)象,應(yīng)確保將“Object”加到引用對(duì)象方法的控件名稱當(dāng)中。

42、 6、訪問(wèn)集合中的OLE對(duì)象 一個(gè)對(duì)象類型可以代表單個(gè)對(duì)象或若干相關(guān)對(duì)象的集合。

43、 在程序中,集合是一個(gè)未經(jīng)排序的鏈表結(jié)構(gòu),每當(dāng)有對(duì)象被添加到集合中或從集合中移去時(shí),其余對(duì)象的位置都可能改變。

44、使用集合的Count屬性對(duì)集合遍歷,可以訪問(wèn)集合中的所有對(duì)象。

45、Count屬性可用來(lái)返回集合中項(xiàng)的數(shù)目。

46、另外,可以使用Item方法返回集合中的某一項(xiàng)。

47、 也可以訪問(wèn)集合內(nèi)的集合。

48、例如,使用下列程序代碼可以在一個(gè)單元格區(qū)域內(nèi)訪問(wèn)某一單元格集合: oLeApp=CREATEOBJECT(”ExceL.sheet”) oLeApp.Range(oLeApp.CeLLs(1,1),oLeApp.CeLLs(10,10)).VaLue=100 7、使用OLE對(duì)象的數(shù)組利用OLE技術(shù),不但可以將數(shù)組傳遞給OLE對(duì)象的方法,而且可以接收OLE對(duì)象傳來(lái)的數(shù)組。

49、傳遞數(shù)組的方式必須是按引用傳遞,即必須在數(shù)組名前加@符號(hào)(用VFP不能將二維以上的數(shù)組傳遞到OLE對(duì)象中)。

50、例如,要發(fā)送一個(gè)VFP數(shù)組到ExceL中,可以使用以下程序代碼。

51、它先在VFP中創(chuàng)建一個(gè)數(shù)組,給數(shù)組賦一些值,然后啟動(dòng)ExceL,創(chuàng)建一個(gè)工作簿,并給工作表的第一個(gè)單元格設(shè)置一個(gè)初始值,再將此值復(fù)制到數(shù)組中的其他工作表中:其中用到了ExceL的工作簿集(Workbooks對(duì)象),工作表集(Sheets對(duì)象)的相關(guān)屬性及方法和ExceL對(duì)象的GetCustomListContents方法。

52、下列代碼將數(shù)組傳遞給方法FiLLAcrossSheets,以便將Sheet1中的第一區(qū)域內(nèi)容復(fù)制到其它工作表的相同區(qū)域。

53、 DIMENSIONaV(2) aV(1)=〃Sheet1〃 aV(2)=〃Sheet2〃 oLeApp=CREATEOBJECT(〃Ex?ceL.AppLication〃) oLeApp.Workbooks.Add oLeI=oLeApp.Workbooks.Item(1) oLeI.Sheets.Item(1).CeLLs(1,1).VaLue=100&&初始值 oLeI.Sheets(@aV).FiLLAcrossSheets(oLeI.Worksheets(〃Sheet1〃).CeLLs(1,1)) oLeApp.VisibLe=.T. 下列代碼將一個(gè)數(shù)組返回到VFP,并顯示數(shù)組的內(nèi)容: oLeApp=CREATEOBJECT(〃Ex?ceL.AppLication〃) aOLeArray=oLeApp.GetCustomListContents(1)&&改變數(shù)組下標(biāo)可以顯示其它內(nèi)容 FORnIndex=1toALEN(aOLeArray) ?aOLeArray(nIndex) ENDFOR。

本文就為大家分享到這里,希望小伙伴們會(huì)喜歡。

關(guān)鍵詞:

分享到:
?
  • 至少輸入5個(gè)字符
  • 表情

熱門資訊

平塘县| 乌鲁木齐县| 临泉县| 积石山| 瑞昌市| 南乐县| 喀什市| 和林格尔县| 金塔县| 资兴市| 巨鹿县| 滨海县| 盘山县| 合江县| 林西县| 札达县| 将乐县| 肥城市| 新源县| 视频| 建瓯市| 庄河市| 托克逊县| 托克托县| 永善县| 信宜市| 桐乡市| 阿克| 扶风县| 拉孜县| 营山县| 东兰县| 上林县| 盱眙县| 应城市| 衡阳县| 金湖县| 自治县| 东港市| 和顺县| 林芝县|