黄色三级免费网站_中文字幕久久伊人_狠狠影院_久久久国产一区_中文字幕欧美日韩_亚洲久久

天天日報丨ole對象的功能是什么_ole對象型

  • 互聯網
  • 2023-05-01 17:00:10

1、不知你有沒有接觸過VF編程,如果有過的話,對OLE這個東西應該不會很陌生.但不管你有沒有接觸過它,相信你看了下面的內容,會對你有所幫助的. VFP的OLE技術應用詳解 VisuaLFoxPro3.0(以下簡稱VFP)使用了OLE2.0技術,使VFP應用程序的適應能力大為加強。

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

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


(相關資料圖)

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

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

6、 在VFP中OLE對象是通過鏈接或嵌入操作方式進行操作的。

7、鏈接和嵌入操作之間的區別在于OLE對象所存放的地點:鏈接操作中的OLE對象仍然存放在創建它的源文件中數據表或表單僅僅存儲源文件的位置,即一個指針,在更改源文件時,被鏈接的OLE對象將被及時更新。

8、被鏈接的OLE對象始終保持著與源文件之間的聯系,除非人為斷開這種聯系;嵌入操作的OLE對象只能存儲在數據表或表單中。

9、這些OLE對象不與創建它的源文件保持聯系。

10、如果源文件做了更改,它們不會自動反映在VFP應用程序中,除非你再次進行嵌入操作。

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

12、嵌入操作通常用于如下場合:應用程序不需要具有最新版本的OLE對象、嵌入的OLE對象不需要被多個應用程序使用、源文件在被鏈接后不會被更新。

13、 要注意的是VFP本身只是一個OLE客戶機,而不是一個OLE服務器。

14、 使用OLE對象 在應用程序中使用OLE對象首先要考慮OLE對象的類型,針對不同類型的OLE對象,使用不同的方法來引用它們。

15、當程序中要引用的可插入型OLE對象較多時就要考慮用數據表的通用型字段來存儲它。

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

17、通用字段包含一個10字節的指針,它指向該字段真正的內容,通用型字段的真正類型和數據大小取決于創建這些對象的OLE服務器。

18、這些OLE對象是以鏈接方式還是以嵌入方式進行操作與該應用程序有關。

19、若OLE對象是以鏈接方式進行操作的,則數據表中只含有對OLE對象的引用,以及創建這些OLE對象的應用程序的引用;若OLE對象是以嵌入方式進行操作的,數據表中將含有相關OLE對象的副本,以及對創建這些OLE對象的應用程序的引用。

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

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

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

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

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

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

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

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

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

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

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

31、 (3)從顯示的列表中選擇適當的OLE控件或創建適當類型的對象或增加一個嵌入文件。

32、 在插入控件時如果所要的控件沒有出現在列表中,可選擇“AddControL”按鈕將其添加到列表中。

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

34、在選項對話框中選擇控件之后,單擊表單控件工具欄上的“ViewCLass”按鈕,從子菜單中選擇“OLEControL”,單擊OLE,然后拖動控件,在表單上設置其大小。

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

36、DocumentFiLe屬性指定了在C驅動器中ExceL路徑下一個名為BOOK1.XLS的工作簿。

37、如果在DocumentFiLe屬性中指定的文件或路徑不存在,則本例程不能正常運行,這時需要修改DocumentFiLe來指明一個存在的路徑和工作簿文件。

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

39、 frmMyForm=CREATEOBJECT(′Form′)&&創建表單 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對象的屬性 OLE對象有一系列屬性可供使用,但是對包含在OLE容器控件中的OLE對象,要確保引用的是OLE對象的屬性而不是其容器的屬性,這需要將容器的Ob?ject屬性加到OLE對象名當中。

40、 5、使用OLE對象的方法 除了設置和讀取OLE對象的屬性外,還可以使用OLE對象的方法來操作OLE對象。

41、例如,下面的程序使用了Ex?ceL對象的Add方法來創建ExceL工作簿,然后使用Save方法保存該工作簿,并使用Quit方法結束ExceL的本次運行: 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 與使用屬性一樣,如果用容器控件創建對象,應確保將“Object”加到引用對象方法的控件名稱當中。

42、 6、訪問集合中的OLE對象 一個對象類型可以代表單個對象或若干相關對象的集合。

43、 在程序中,集合是一個未經排序的鏈表結構,每當有對象被添加到集合中或從集合中移去時,其余對象的位置都可能改變。

44、使用集合的Count屬性對集合遍歷,可以訪問集合中的所有對象。

45、Count屬性可用來返回集合中項的數目。

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

47、 也可以訪問集合內的集合。

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

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

50、例如,要發送一個VFP數組到ExceL中,可以使用以下程序代碼。

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

52、下列代碼將數組傳遞給方法FiLLAcrossSheets,以便將Sheet1中的第一區域內容復制到其它工作表的相同區域。

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. 下列代碼將一個數組返回到VFP,并顯示數組的內容: oLeApp=CREATEOBJECT(〃Ex?ceL.AppLication〃) aOLeArray=oLeApp.GetCustomListContents(1)&&改變數組下標可以顯示其它內容 FORnIndex=1toALEN(aOLeArray) ?aOLeArray(nIndex) ENDFOR。

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

關鍵詞:

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

熱門資訊

主站蜘蛛池模板: 伊人色综合久久天天五月婷 | 57pao国产成视频免费播放 | 色欲aⅴ亚洲情无码av蜜桃 | 亚欧成a人无码精品va片 | 色av综合av综合无码网站 | 无码人妻精品一二三区免费 | 中文字幕肉感巨大的乳专区 | 男女一区二区三区免费 | 久久久福利 | 国语自产精品视频在线看 | 天天爱综合网 | 国产乱人对白 | 久久久久99精品成人片 | 亚洲av无码成人精品区在线播放 | 美女黄的全免费 | 国产免费av片无码永久免费 | 亚洲熟妇少妇任你躁在线观看无码 | 乱人伦中文| 深夜偷偷看视频在线观看 | 99在线精品免费视频九九视 | 久久天堂一区二区三区 | 国产精品久久无码一区 | 午夜影院在线免费观看 | 日本xxx在线观看免费播放 | 日韩中文字幕在线 | 国产在线一区精品对白麻豆 | 国产两女互慰高潮视频在线观看 | 粉嫩av久久一区二区三区 | 少妇被黑人到高潮喷出白浆 | 主播福利在线观看 | 久久午夜无码鲁丝片直播午夜精品 | 韩国精品一区二区三区无码视频 | 国产特黄视频 | 美女超爽久久久久网站 | 中文成人无字幕乱码精品区 | 国产熟女内射oooo | 豆国产96在线 | 亚洲 | 国内精品久久久久影院中国 | 老妇xxxx | 无套内谢的新婚少妇国语播放 | 99视频精品全部在线观看 |