http://bbs.blueidea.com/viewthread.php?tid=531257
如果想了解SOAP到底是什么,就要自己动手建立自己的SOAP标准对象。本文可以帮助你起步。
============================================
简介
SOAP - 简单对象处理协议(Simple Object Access Protocol) - 是当前XML开发的热点。它是微软新一代Visual Studio的主要角色,是".NET"策略的基础。如果想用VB 6编制一个有保障的SOAP服务,可以查阅微软的SOAP工具包(VB)。但如果想了解SOAP到底是什么,就要自己动手建立自己的SOAP标准对象。本文可以帮助你起步。
本文中,我们创建一个简单的SOAP服务端和一个客户端。服务端用ASP编写,名为soap.asp。这个文件应存放在个人Web服务器的根目录下,如:\Inetpub\wwwroot。这个服务器将接受和处理客户端提出的SOAP请求。客户端是一个简单的VB可执行文件,由Sub Main()启动。
步骤
众所周知,SOAP是一个“呼叫-响应”机制,按客户/服务方式运行。客户端(应用程序)向服务端(位于互联网上的某个Web服务器)发出函数调用请求并传递参数;服务端则返回响应。呼叫与响应的内容和数据都是按XML文件格式进行传送的。因此,要建立一个简单的SOAP应用系统,就要建立一个客户端和 ......
本文来自此帖的冗长讨论,感谢Tiger_Zhao的全程指点和陈辉、阿勇、马云剑等很多朋友的热心参与。本文其他部分在:(二)、(三)、(四)。
话说VB6是个很认真细致的妈妈,它会悄没声地帮你做很多事。今天我们来说的是VB6在API调用时自动对字符串参数进行转换的“好人好事”。
第一节 体贴的VB妈妈
我们知道,在VB6中字符串都是以Unicode编码存在的,而Windows API函数中很多时候用的是ANSI字符串。VB妈妈害怕程序员们累着,所以在VB程序员调用API时,会自动的对其中的字符串参数做Unicode到ANSI的转换(以下简称UA转换),在API调用结束后会再把字符串参数做ANSI到Unicode的转换(以下简称AU转换)。这样说可能有点抽象,我们来看下面的例子。'正确的ByVal String的用法
Option Explicit
Const STR_E = "PowerVB"
Private String1 As String
Private String2 As String
Private pString1 As Long
Sub test7()
Dim String1 As String
Dim String2 As String
' Dim _tmp1 As String, _tmp2 As String
String1 = "PowerVB" '14 bytes
String2 = String$(7, 0) '14 bytes
CopyMemory ByVal String2, ......
Public Class Form1
Private Sub CmdTrans_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdTrans.Click
Dim psi As New System.Diagnostics.ProcessStartInfo
Dim ftpFileName As String
psi.FileName = "ftp.exe"
psi.RedirectStandardInput = False
psi.RedirectStandardOutput = True
psi.UseShellExecute = False
ftpFileName = "E:\ftp.txt"
psi.Arguments = "-s:" & ftpFileName
Dim proc As Process
proc = Process.Start(psi)
'Wait process
proc.WaitForExit()
Console.WriteLine(proc.StandardOutput)
Console.ReadLine()
End Sub
End Class
ftp.txt中的内容:
open 192.168.1.110
user dumeifang dumeifang
put E:\ip.html
quit
控制台中的输出:
ftp> open 192.168.1.110
Connected to 192.168.1.110.
220 Serv-U FTP Server v8.2 ready...
User (192.168.1.110:(none)):
530 Invalid user name.
Login failed.
ftp> user dumeifang dumeifang
331 ......
在日常的操作系统维护过程中,有时我们也会写一些小的脚本程序来简化系统管理工作,例如调用一些WMI函数来自动安装卸载程序之类的。
在实际工作中,我发现程序员对脚本抱怨最多的就是脚本程序很难调试这个缺点,特别是调试.vbs等WSH程序的时候,总是:
1. 在资源管理器里面双击一个.vbs文件。
2. 程序里面发生了一个错误,例如异常,或者编程逻辑错误。
3. 一行行阅读源文件,然后在估计发生错误的地方,添加很多的Msgbox.Show,打印一些变量的值。
4. 重新执行.vbs文件
5. “当当当”,一系列的 “确定”点完了以后,人也晕了,重新回到第三步继续……
其实我们也是可以用Visual Studio调试这类WSH程序的,关键就在.vbs等WSH脚本程序的解释器wscript.exe和cscript.exe提供了调试支持:
1. 当我们在资源管理器里面双击一个.vbs文件时,资源管理器实际上是运行wscript.exe来解释和执行这个.vbs文件的。 ......
JavaScript/VB Script脚本程序一般有两种执行方式,一种是嵌入在宿主程序里面执行,比如在IE浏览器里面执行;另外一种,在资源管理器里面双击执行(虽然还是通过另外一个程序解释执行,但是给人的感觉毕竟是直接运行)。
这两种方式,都可以使用Visual Studio来进行调试,先看大家用得比较频繁的网页脚本程序的调试:
1. 要调试网页里面的脚本程序,调试器需要宿主程序—这里也就是IE的支持,实际上所有的脚本程序解释器都实现了一个COM的调试接口。调试器通过查询解释器的这个接口,可以设置断点,查询变量以及捕捉异常,当然,查询到这个接口,需要宿主程序同意……至于如何实现这个接口,我们会在以后的文章里面讲到。
2. 默认情况下,IE是将脚本调试支持功能关闭的,因此你需要显示地打开它。打开IE,点击“工具”—“Internet 选项”,在“Internet 选项”里面选择高级页签,在“设置”列表里面,找到“禁用脚本调试(Internet Explorer)”选项,它默认是勾选上的—将它勾掉。
3. &n ......
相信现在绝大多数计算机上使用的是IE浏览器。如何通过编程控制IE的操作呢,本文将一步步介绍如何通过VB
调用IE的对象库来对IE进行控制。
本文使用的编程工具是VB6英文企业版,浏览器是IE5,以下的代码只能在IE4及以上版本下运行。另外为了能深
入了解程序代码,最好能安装MSDN。文中的所有对象、函数、事件在其中都可以查到。
一、如何获得Windows中所有打开的浏览器窗口
首先打开VB,建立一个新工程,点击菜单 Projects | References 项,在Available References 列表中选择
Microsoft Internet Controls项将Internet对象引用介入到工程中。添加一个ListBox到Form1,然后在Form1中添
加如下代码:
Dim dWinFolder As New ShellWindows
Private Sub Form_Load()
Dim objIE A ......