利用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 objend 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...
阅读全文...
使用ASP重启服务器
大家知道直接使用ASP是不能够重启服务器的,这时我们需要制作一个组件来实现功能,ASP通过这个组件调用系统API,然后按照不同的重启和关机方式进行操作!
下面先说COM的制作,在VB中新建一工程,当然是AceiveX dll的!
1)先修改工程属性,在工程属性窗口将工程名称改为system,在类模块窗口将模块名称改为contral,保存工程;
2)然后添加一个模块,用来声明需要使用的API和常数!下面是模块中的内容!
Declare Function ExitWind...
阅读全文...
在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() '产生随机数num1num1=int(26*num1)+65 '修改num1的范围以使其是A-Z范围的Ascii码,以防表单名出错session("ant...
阅读全文...
OLE DB的概念与编程
OLE DB 的概念
简单地说,OLE DB 是一种技术标准,目的是提供一种统一的数据访问接口,这里所说的“数据”,除了标准的关系型数据库中的数据之外,还包括邮件数据、Web 上的文本或图形、目录服务(Directory Services),以及主机系统中的IMS 和VSAM 数据。OLE DB 标准的核心内容就是要求以上这些各种各样的数据存储(Data Store)都提供一种相同的访问接口,使得数据的使用者(应用程序)可以使用同样的方法访问各种数据,而不用考虑...
阅读全文...
利用ASP开发Web应用
通常情况下,用户通过浏览器看到的网页大多是静态的,而随着Web 应用的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求、生成报表等。
根据用户请求生成动态主页的传统方法有CGI、ISAPI 等。CGI 是根据浏览器端的http 请求激活响应进程,每一个请求对应一个进程。当同时有很多请求时,程序挤占系统资源,造成效率低下;ISAPI 针对这一缺点进行改进,利用dll(动态链接库)技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。...
阅读全文...
Google网站优化设计指南
遵循这些指南有助于 Google 查找您的网站、将其编入索引和进行排名。即使您选择不采纳这些建议,我们也强烈建议您对"质量指南"多加留意,其中简要说明了一些可能导致网站从 Google 索引中彻底删除或受到其他处罚的违禁行为。如果网站受到处罚,则可能不会再出现在 Google.cn 或任何 Google 合作伙伴网站的搜索结果中。网站准备就绪后:通过 http://www.google.com/addurl.html 将其提交给 Google。通过...
阅读全文...