VB实现文本框的自动完成

  实现文本框的自动完成功能有很多方法,这里介绍的是用IE自带的Shlwapi.dll实现的方法。   一、介绍Shlwapi.dll   Shlwapi.dll和Comctl32.dll,Shell32.dll一样是随着IE而分发的,所以如果你想得到最新的版本必须下载最新版的IE。其中,Shell32.dll和Comctl32.dll的最初版本是4。0版,她是随着Windows95和Windows NT分发的;而Shlwapi.dll的最初版本是4。71,它是随着IE4分发的。为了得到具体... 阅读全文...

用VB将命令行软件Windows化

  有很多深受欢迎的软件,如ARJ,UNDISK等都是在DOS环境下以命令行的形式出现的。其特点就是依靠大量的参数和开关变量来实现其丰富的功能。利用Visual Basic可以简单地把此类软件改写成WINDOWS版本,其中大量的开关参数可用菜单、列表框、组合框和复选框等一一映射成图形界面。而命令的调用。可以用VB提供的SHELL函数,其语法为:   shell(命令字符串[,窗口风格])   如以下VB小程序:   Sub Command3D1_Click ()   Dim x   x... 阅读全文...

用VB编写一个弹出菜单类

  '类的名称为cPopupMenu   Option Explicit  '  Private Type POINT    x As Long    y As Long  End Type  '  Private Const MF_ENABLED = &H0&  Private Const MF_SEPARATOR = &H800&  Private Const MF_STRING = &H0&  Private Const TPM_RIGHT... 阅读全文...

VB开发应用程序答疑

  VB以其易于学习、易于开发而深受广大开发人员的喜爱,但是在实际开发时,我们也会遇到很多问题,笔者总结了一些开发中常见的问题,给出了通用的解决方法,希望对VB开发人员有所帮助。   问:在VB应用程序中,如何实现窗体的简易移动?   答:如果你的窗体不需要标题栏,又希望能移动该窗体,像WinAmp一样简易移动,我们可以利用以下代码实现:   Declare Function ReleaseCapture Lib "user32" () As Long   Decla... 阅读全文...

自己的IE——用VB制作浏览器

  自己做浏览器?有没有搞错?不要说像IE这样的庞然大物,就是小巧的Opera,我们大多数普通人也决计搞不出来。但如果你的机器里装有VB5.0专业版,那么事情就好办多了,想试试吗?那好,Let`s go!   程序的主角是一个ActiveX控件:WebBrowser。当然,缺省状态下VB的工具箱中并没有它,我们得手工加入,方法是:右击工具箱,在出现的快捷菜单中选择“部件...”,确保在弹出的对话框中选中“控件”标签,找到Microsoft Int... 阅读全文...

使用插件功能扩展VB

  一、插件介绍   从结构上来看,一个VB插件实际上是一个COM组件,原则上组件可以使用支持COM的开发工具,例如Delphi、VC来编写。组件通过实现COM中的IDTExtensibility对象来建立与VB的连接。组件注册以后,当VB运行中在Add-In菜单中装载组件后,VB就会调用组件中IDTExtensibility对象中的相应方法(如在装载组件后会调用OnConnection方法)。这时整个插件就成为VB的一部分从而可以访问VB开发环境中的各种对象和资源了。   利用VB本身来编... 阅读全文...

API在VB中应用之技巧集锦

  API函数在VB中得到了充分的运用,同时也让无数VB爱好者沉溺于其中。以下是笔者几年来收集整理的几十个API函数在VB中应用的实例,现在写出来与大伙分享,希望能对大伙有所帮助。    1、如何让窗体总在最前面?    *API函数声明  Declare Function SetWindowPos Lib "user32" ( ByVal hwnd As Long, ByVal  hWndInsertAfter As Long, ByVal x As Long, ByVal... 阅读全文...

用VB实现程序之间的简单通信

  本人非常喜欢编程,对网络编程最感兴趣,所以就想编个程序到BBS上发帖子,达到提高经验值的目的。今天把它写出来,和大家一起分享。   基本知识   剪贴板在Windows中是一个好东东,在VB的编程中同样有用。在VB中,它其实就是ClipBoard对象,专门用于处理剪贴板上的文本和图像。使用之前最好先用Clear方法清除以前的内容。   发送文本还可以利用的就是SendKeys方法。把你要发送的文本放入一个变量,比如MyStr中,然后使用“SendKeys MyStr&rdq... 阅读全文...

VB编程的七个优良习惯

  1、"&"替换"+".  在很多人的编程语言中,用“+”来连接字符串,这样容易导致歧义。良好的习惯是用“&”来连接字符串.  不正确:  dim sMessage as string   sMessage="1"+"2"   正确:  dim sMessage as string   sMessage="1" & &... 阅读全文...

VB6中一个非常好用的读写INI文件的模块

  网上读写Ini文件的例子只有几篇相同的文章,而并不好用,奇怪的是各网站都是同样的例程,高手也就罢了,三下五除二就搞定,初学者会被搞得一头雾水,看着一个好好的模块就是不能用。   所以我整理了一下(最早是在腾讯答一个贴子时写的),这个也就是修改了一下,不是我自已的发明(至于这个代码起先不知是谁写的),不过非常的好用   新建模块(建议不使用注册表) 命名为rwini   'ini文件在有回车换行符会出错,经过测试,汉字要小于86字节,英言文要小于143字节才能返回列表框。(这是我以前的c... 阅读全文...

利用VB设计打印复杂报表

  数据库管理系统的开发人员经常感叹的一个问题就是:我们中国人的报表太复杂了!无规则、嵌套、斜线、交叉线等历来都是困挠开发人员的最大问题。设计一个数据库固然有一定的技巧,设计数据操作也固然需要一定的逻辑分析能力,但这些问题对一般的开发人员来说应该是不成为问题的。用户可是不管你采用了多么灵活的算法多么方便的操作,他们最感兴趣的是最后他们出来的报表如何漂亮,出报表的操作如何简单(最好是一个按钮解决所有的问题)。笔者在开发数据库管理系统方面也稍有些经验,从FoxPro、Delphi、PowerBuil... 阅读全文...

VB程序界面设计经验点滴

  使用VisualBasic(以下简称VB, 版本为6.0SP4)可以快速设计出标准风格的Windows软件,但是要创建真正易用的图形界面,还有许多工作要做。   一、窗体设计   窗体设计的好坏往往影响到软件的整体形象,因此必须首先处理好窗体的设计问题。   1、 窗体的边框   窗体边框的默认风格为“Sizeable”(可变的),但并不是所有窗体都可以使用可变边框。因为用户常常有意无意地改变窗体的大小(比如双击窗口的标题栏),如果窗体中包含大量的控件,极有可... 阅读全文...

VB下几个有用的函数

'————————(1)————————————  '获得指定ini文件中某个节下面的所有键值 TrueZq,,需要下面的API声明  'Private Declare Function GetPrivateProfileSection Lib "k... 阅读全文...

用VB编写键盘拦截程序

  我们知道,在一些程序中,有一些快捷方式(如:Shift键最小化、ESC键退出、Ctrl+S存盘、Alt+x退出等等)。以前有一些介绍使用Win32 API可以做到,但过于繁琐,其实VB本身已经给我们提供了这个功能。   我们来新建一个窗体Form1,对于键盘操作可以看到有三个事件KeyPress(),KeyDown和KeyUp,下面我对它们分别介绍:   KeyPress()事件是当用户按下和松开一个 ANSI 键时发生(ANSI是可见ASCII字符1-127)。   语法   Pr... 阅读全文...

VB中使用系统注册表

  ini文件大多用来寸放自己界面或者初始化信息,而应用程序要使用系统信息或者说要得知已在系统注册过的其他程序的一些信息就要读去系统注册表了,比如有些应用需要使用调用MS OutLook Express就需要从HKEY_LOCAL_MACHINE\Software\Microsoft\Outlook Express\中的InstallRoot中读取路径。   申明部分:   Option Explicit   Public Const READ_CONTROL = &H20000 ... 阅读全文...

VB编程中的一些经验

  1. 假设VB中有如下的变量声明:   dim s1, s2 as string  则s1是一个variant型变量,而s2是一个string型变量  如果想要声明两个string变量s1和s2  应该用:  dim s1 as string, s2 as string   2. VB中的对象是自动回收的,类似java   在一个过程中  sub Foo()   dim obj as new Object   .... 'do something with obj  end sub ... 阅读全文...

用VB学做“黑客”程序

  只要掌握了原理,你也能写出一个所谓的“黑客”程序。下面笔者带领大家用VB亲自编写一个远程控制程序。从而揭开它的神秘面纱。   一、所用控件   在程序中将使用Winsock控件。Winsock控件是一个ActiveX控件,使用TCP协议或UDP协议连接到远程计算机上并与之交换数据。和定时器控件一样,Winsock控件在运行时是不可见的。Winsock的工作原理是:客户端向服务器端发出连接请求,服务器端则不停地监听客户端的请求,当两者的协议沟通时,客户端和服务器端之... 阅读全文...

用VB编写网络寻呼机

  提起ICQ的大名,爱好电脑的朋友一定不会感到陌生的吧?ICQ就是互联网上的寻呼机,无论什么时候,只要你的朋友在线,你只需在ICQ中输入他的ID号码,你就可以在互联网上呼到他。ICQ由于其方便、快捷,且拥有众多的注册用户而一举成为互联网上最流行的网络寻呼机,它几乎成为每一个上网用户的必备之物。当你在使用ICQ的时候,是否会想过自己动手编写一个网络寻呼机呢?这其实在VB中就可以实现。   网络寻呼的原理就是当客户端程序连接服务器时,通过服务器搜索所要呼叫的ID号码,如果检测到此用户且该用户正处... 阅读全文...

使用ASP产生安装向导的主页

  面临的主要问题何在:   1。界面和一个Windows Wizard完全一样,有Next和Back按钮  2。用户可以使用Back按钮回到以前的任何一步,并且能够改变以前任何一步中已经选择的内容  3。Form必须记住所有填入的内容  4。不能够使用数据库  5。不能够使用Sessions,防止如果Sessiosn失效后用户的所有输入丢失,不幸的是,也不能够使用cookie,因为很多拥护经常关掉浏览器的Cookie选项。  6。可移植性要好,因为它要适应安装步数不同时的情况   解决方案... 阅读全文...

提高ASP页面显示速度的秘技

  你是否也在为了提高ASP应用的性能而努力呢?注意千万不要只关心数据库访问和COM组件的性能,对于用户来说,Web页面的显示速度也同样重要。本文为你介绍的正是几则提高页面显示速度的技巧和一些必须注意的问题。   在安排Web页面的布局时,最常用的方法之一是用HTML表格界定页面的结构。例如,假设Web页面由顶端的导航条和它下面的两栏(列)构成——左边的列是一个导航条,右边的列是实际安置内容的区域。对于这样一个页面,我们可以用一个两行、两列的大表格进行布局:在第一行中,... 阅读全文...

防止ASP Session丢失的方法

  也许很多ASP开发者都会遇到这样的情况:在会话期间(session)无故丢失sessio n。换而言之,丢失了SessionID,同样session级的变量也会丢失。   很多session丢失的原因是因为错误的程序或者是错误的虚拟目录结构。   SessionID 的改变有下面几个原因。   原因一:   Netscape的浏览器会认为"/App/user.asp"跟"/app/user.asp"是两个不同的程序。它会自动地开始一个新的会话期... 阅读全文...

在ASP程序中调用Web Service

  微软投入了大量资金来推销其.NET的各种优点,其中.NET最大的优点之一就是微软始创的XML Web Services。XML Web Services可以将你的程序和以前定制的DLL和COM/DCOM组建分离(避免陷入DLL陷阱),然后将这些功能设计成为XML Web Services,让其他应用程序也可以访问和调用这些功能(比如:网站、分布式程序)(关于怎样在.NET中建立和使用XML Web Services,请参考这篇文章:http://aspnet.4guysfromrolla.c... 阅读全文...

在Linux上使用ASP

  自从MS推出ASP技术后,由于ASP在创建动态交互式站点上的强大功能及其代码编写的简便性,使ASP在很多Internet/Intranet/Extranet网站上得到了极其广泛的应用,尤其是涉及到数据库操作的网站应用系统更是倾向于采用ASP技术。但由于众所周知的原因,ASP只能工作于MS自己的操作系统平台和服务器软件之下,即只能在WindowsNT+IIS系列或Windows9X+PWS系列中使用,因而就决定了ASP应用的局限性。据有关资料显示,采用Windows操作系统平台和服务器软件的网... 阅读全文...

在Flash中使用ASP技术

  在Flash中使用ASP需要的条件:   1。你的ISP的server必须支持Active Server Pages并且最好支持数据库   2。你应该要安装Flash 4   3。需要你对ASP有初步的了解   OK,下面具体介绍怎么使用:   第一步要做的是建立数据库:   数据库结构:   例子中使用Access数据库,表名为tblStaff,有三个字段:strID (自动编号),strKnownAs(Text),strSurname (Text). 这是一个用来示范用户名... 阅读全文...

ASP中的进度条功能

  用过软件的朋友都知道,进度条是一个优秀软件的重要组成部分。它 的存在能够使用户及时掌握程序的运行进度,确认应用程序正常工作。可 是ASP中似乎没有上述标准控件,控制起来也比较麻烦。那么如何实现进 度条呢?以下是本人的一些观点(仅供参考)   我们通常在用ASP处理程序(指的是写文件或操作数据库)的时候,会 专门用一个页面(*.asp)去处理或控制这些程序,当处理完毕的时候再跳 转到显示页面。这时我们就可以通过这些处理页面显示进度条。其方法是 根据程序处理的进度依次画一百张同样的图形(如有颜... 阅读全文...

如何限制同一表单被多次提交

  在Internet上我们每天都会遇到数不清的表单,也看到其中大部分并没有限制用户多次提交同一个表单。缺乏这种限制有时候会产生某些预料不到的结果,如重复订阅邮件服务或重复投票等。   本文介绍在ASP应用中防止用户在当前会话期间多次提交同一表单的一个简单方法。它主要由四个子程序组成,在较为简单的应用场合,你只要将这些代码放在包含文件中直接引用即可;对于那些较为复杂的环境,我们在文章的最后给出一些改进建议。   一、基本工作过程   下面我们依次讨论这四个子程序。   (一)初始... 阅读全文...

几行代码防止表单重复提交

  在很多情况下都需要防止相同的表单被多次提交,很多人的实现方法都比较复杂(代码数量超过几十行!!)下面提供一种只需使用几行代码的方法,轻松地实现了防止用户刷新多次提交表单和使用后退钮重复多次提交表单。   表单文件formtest.asp   <%  Randomize '初始代随机数种子  num1=rnd() '产生随机数num1  num1=int(26*num1)+65 '修改num1的范围以使其是A-Z范围的Ascii码,以防表单名出错  session("ant... 阅读全文...

利用ASP开发Web应用

  通常情况下,用户通过浏览器看到的网页大多是静态的,而随着Web 应用的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求、生成报表等。   根据用户请求生成动态主页的传统方法有CGI、ISAPI 等。CGI 是根据浏览器端的http 请求激活响应进程,每一个请求对应一个进程。当同时有很多请求时,程序挤占系统资源,造成效率低下;ISAPI 针对这一缺点进行改进,利用dll(动态链接库)技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。... 阅读全文...