日期:2014-05-17  浏览次数:20955 次

用VB,VC 写的现有桌面软件,如何做成嵌入到WEB页面那样?
看到一些网站,可以在线编辑WORD文档
 
 也看到一些产品,当然是能连上互联网的,其控制端已经不是传统的用VC,VB通过TCP/UDP之类写的桌面应用程序控制了

 而是随意在一个台可以连上网络的电脑上,在浏览器里输入要控制的产品的IP地址,,就可以在浏览器里,出现像VB,VC写
 桌面应用程序一样,来完成对产品的参数设置,操作控制等
 和本地桌面应用程序一样了

 实现这样的应用方式,需要哪些技术?
 比如 用JAVA开发的话,,需要哪些相关的?
 用.NET技术开发的,又需要哪些?

 再有就是,是不是传统VC,VB开发的应用程序,现在放在服务器上了,,,所有能连上网的电脑,通过浏览都可以使用,、
 就像 “可以在线编辑WORD文档”,,就服务器上放一个这样的软件,,,所以联网的电脑共享??

 而现在所看到的单个产品,都设置一个IP,且其内部都有一个嵌入式的服务器,并在此服务器上存储了原来VC,VB完成的
 应用程序,,当用户通过网络连接该产品,浏览器就下载嵌入服务器里的应用控制软件? 然后像本地操作一样?

 

 


------解决方案--------------------
搞成控件。
------解决方案--------------------
不知道下面这篇文章能不能帮到你:

[center]在Web页面中执行Windows程序[/center]

  现在许多公司都面临一个难题:如何在Web环境中执行存在的Windows应用程序。这里就介绍实现这个功能的技术,它争取对代
码做最小的改变,完成在Windows环境中应做的一切。

现存的Windows应用程序

  这里想要在Web中执行的Windows例子程序是非常简单的,它是用VB编写的,其中有一个表单。运行时,在表单上显示雇员的信
息,这些信息来源于Access数据库的一个表。表单上设有First、Next、Previous 和 Last按钮,从而允许用户浏览记录。同时,
还可以通过按钮Add、Delete 和 Update来改变数据。

这个程序通过一个COM类来与数据库通信,它有下面的方法:

AddEmployee() 在表中添加一个记录,保存新雇员的信息 
UpdateEmployee() 更新一个记录 
DeleteEmployee() 删除一个记录 
GetEmployees() 获取一个雇员的信息 

程序正常运行时,浏览器显示如下:


开发Web应用程序

  在传统的web应用程序中,大多数的处理都是在服务器端完成的。这里,我们将尝试在客户端做一些处理,以减少服务器上的工
作量。也就是,让客户端完成显示信息的处理工作,并将商业规则和数据库存取留给服务器端。这就象一个n层处理模型。

  当用户需要访问另一个不同的数据时,我们也不想从服务器上再调入整个web页面,因此,需要找到一个web客户端在后台与
web服务器交流信息的方法。这个例子中,我们使用了微软公司的XMLHTTP COM对象组件,它是随Internet Explorer 5.0而来
的。当然,也可以编写一个功能类似的Java applet来克服这个局限。

服务器端的代码

  让我们从研究VB应用程序的COM类到Web的每一个方法开始,这可以通过编写ASP页面来调用COM类中的每个方法实现
(AddEmployee.asp, UpdateEmployee.asp, DeleteEmployee.asp, GetEmployee.asp)。 明白了这些,就能够在Web中存取COM
类方法了。

  ASP页面应该能够接受与COM类一样的参数,这些页面向原始的COM类发送调用。这里主要的区别就是所有的输出是以XML格式
的。我们使用另外一个叫XMLConverter的COM类,转换方法的输出为XML格式。XMLConverter的代码包含在下载文件中,它有一个
函数,能够接受一个ADO记录集做为参数,并且转换为一个XML文档。实现这个目的的函数例子可以从Internet上很容易地找到,比
如:

http://www.vbxml.com/xml/guides/developers/ado_persist_xml.asp

  我们也许曾经使用过ADO记录集的Save函数,加上adPersistXML,来实现按照xml格式保存,但是在这里,为了简单起见,我
们仍使用编制的函数。

下面的代码来自GetEmployees.asp,它执行GetEmployees方法,从而可以让你清晰地看到这种技术:

<SCRIPT LANGUAGE=vbscript RUNAT=Server>
'Declare the above described XMLConverter
Dim objXMLConverter

'Create the XMLConverter object on the web server machine
Set objXMLConverter = Server.CreateObject("XMLConverter.clsXMLConverter")

'Declare the above described EmployeeMgr object
Dim objEmployeeMgr

'Create the EmployeeMgr object on the web server machine
Set objEmployeeMgr = Server.CreateObject("EmployeeMgr.clsEmployeeMgr")

'Declare a String varaible
Dim strXML


  现在调用Employees对象的Employees()方法,它将返回一个ADO记录集对象,我们将这个对象传递给XMLConverter对象的
xmlRecordset()方法,xmlRecordset()负责将ADO记录集转换为XML文档。最后,我们取回XML文档,并将它存入strXML字符
串变量中:

strXML = objXMLConverter.xmlRecordset(objEmployeeMgr.GetEmployees)

'Destroy the EmployeeMgr object
Set objEmployeeMgr = Nothing

'Destroy the XMLConverter object
Set objXMLConverter = Nothing

'Write the XML Document as the response
Response.Write strXML
</SCRIPT>


然后,用同样的方式来创建页面AddEmplyee.asp、DeleteEmployee.asp和UpdateEmployee.asp。

客户端的代码

  现在准备编写客户端代码,首先,让我们仔细看看VB应用程序在调用后如何显示信息。在VB表单的On_Load方法(参见下面的
代码)中,我们调用了COM对象组件GetEmployees方法,这个方法返回一个附带雇员信息的ADO记录集。ADO记录集的MoveFirst
()、MoveNext()以及 MoveLast() 方法建立了记录浏览的方法。

Private Sub Form_Load()
'Create the EmployeeMgr Object
Set objEmplyeeMgr = New clsEmployeeMgr