介绍几个windows下的COM相关函数
<br> 本文介绍的函数只能在windows下的PHP中使用。<BR><BR>函数列表:<BR><BR>com_load — 创建一个COM组件的引用。<BR>com_invoke — 调用一个COM组件的方法。<BR>com_propget — 取一个COM组件的属性的值。<BR>com_get — 同上,取一个COM组件的属性的值。<BR>com_propput — 赋一个值给一个COM组件的属性。<BR>com_propset — 同上,赋一个值给一个COM组件的属性。<BR>com_set — 同上,赋一个值给一个COM组件的属性。<BR><BR>在www.php.net 下给出了如下实例:<BR><BR>例1:<BR><?<BR><BR>$word=new COM("word.application") or die("Cannot start word for you");<BR>print "Loaded word version ($word->Version)n";<BR>$word->visible =1 ;<BR>$word->Documents->Add();<BR>$word->Selection->Typetext("Dit is een test");<BR>$word->Documents->SaveAs("burb ofzo.doc");<BR>$word->Quit();<BR><BR>?><BR><BR>例2:<BR>另外,有人给出了另一个例子,用 Delphi做了一个对象 MyObject (一个方法 ComTophp)。<BR>也可以这样用:<BR><BR>$Obj = com_load("MyLibraryTest.MyObject");<BR>$result = com_invoke($Obj,"ComTophp","Params 1","Params 2");<BR>echo $result;<BR><BR>上面这个例子我可没试过哦。<BR><BR>例3:<BR><?<BR># example use of ADODB and SQLOLEDB (MS-SQL 7) in PHP 4<BR># Tested on Win2K with PHP 4.02<BR><BR>$conn_obj = new COM("ADODB.Connection") or die("Cannot start ADO");<BR><BR>// replace myserver with your server name<BR><BR>define ("OLEDB_CONNECTION_STRING", "Provider=SQLOLEDB; Data Source=myserver; Initial Catalog=Northwind; User ID=sa; Password=");<BR><BR>// use SQL Server 7.0 OLE DB Provider<BR><BR>$conn_obj->Open(OLEDB_CONNECTION_STRING);<BR><BR>$command = "select lastname, firstname, title from employees"; // SQL Statement<BR><BR>$rs = $conn_obj->Execute($command); // Recordset<BR>$i = 0;<BR><BR>$fld0 = $rs->Fields(0);<BR>$fld1 = $rs->Fields(1);<BR>$fld2 = $rs->Fields(2);<BR><BR>while (!$rs->EOF) {<BR>$i += 1;<BR>print "$fld0->value $fld1->value $fld2->value<BR>";<BR>$rs->MoveNext();<BR>}<BR><BR>$rs->Close();<BR><BR>?><BR><BR>好了,下面就逐个介绍吧。<BR><BR>//******************<BR>com_load<BR><BR>(PHP3.0.3 - 3.0.16 only)<BR><BR>string com_load (string module name [, string server name])<BR><BR>创建一个COM组件新的引用,并返回它,如果失败,返回 false 。<BR><BR>参数分别是模块名和服务器名。<BR><BR>//********************<BR>com_invoke<BR><BR>(PHP3.0.3 - 3.0.16 only, PHP4 )<BR><BR>mixed com_invoke (resource com_object, string function_name [, mixed function parameters, ...])<BR><BR>调用一个COM组件的方法。如果成功,返回function_name的返回值,否则,返回false。<BR><BR>参数分别是:模块引用,方法名,方法所需的参数,<BR><BR>//*************************<BR>com_propget<BR><BR>(PHP3.0.3 - 3.0.16 only, PHP4 )<BR><BR>mixed com_propget (resource com_object, string property)<BR><BR>取COM组件的一个属性的值,本函数是 com_get() 的一个别名。<BR><BR><BR>//*************************<BR>com_get<BR><BR>(PHP3.0.3 - 3.0.16 only, PHP4 )<BR><BR><BR>mixed com_get (resource com_object, string property)<BR><BR>参数分别是:COM引用,属性名。<BR>如果错误,返回 false。<BR><BR>//***************************<BR>com_propput<BR><BR>(PHP 3.0.3 - 3.0.16 only, PHP4 )<BR><BR>void com_propput (resource com_object, string property, mixed value)<BR><BR>给COM组件的一个属性付值。本函数是 com_set() 的一个别名。<BR><BR><BR>//****************************<BR>com_propset<BR><BR>(PHP3.0.3 - 3.0.16 only, PHP4 )<BR><BR>void com_propset (resource com_object, string property, mixed value)<BR><BR>这也是com_set()的一个别名。<BR><BR>//****************************<BR>com_set<BR><BR>(PHP3.0.3 - 3.0.16 only, PHP4 )<BR><BR>void com_set (resource com_object, string property, mixed value)<BR><BR>给COM组件的一个属性赋值,参数是:组件模块名,属性名,新值。<BR>如果错误,返回false,否则返回 true。<BR><BR><BR>好了,就这么几个函数,有什么问题,请与我联系。<BR>ycshowtop@21cn.com <br><br>
页:
[1]