Windows API 函数 for Visual Basic

类别
控件与消息函数 共91个函数
硬件与系统函数 共98个函数
设备场景函数 共73个函数
绘图函数 共105个函数
位图、图标和光栅运算函数 共39个函数
菜单函数 共37个函数
文本和字体函数 共41个函数
打印函数 共66个函数
文件处理函数 共118个函数
进程和线程函数 共40个函数
Windows消息函数 共11个函数
网络函数 共14个函数

下载 Windows API 函数 for Visual Basic (5)

Leave a Comment

系统平均负载的含义

  系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程树。如果一个进程满足以下条件则其就会位于运行队列中:

  - 它没有在等待I/O操作的结果
- 它没有主动进入等待状态(也就是没有调用’wait’)
- 没有被停止(例如:等待终止)

  例如:
# uptime
7:51pm up 2 days, 5:43, 2 users, load average: 8.13, 5.90, 4.94

  命令输出的最后内容表示在过去的1、5、15分钟内运行队列中的平均进程数量。

一般来说只要每个CPU的当前活动进程数不大于3那么系统的性能就是良好的,如果每个CPU的任务数大于5,那么就表示这台机器的性能有严重问题。对于上面的例子来说,假设系统有两个CPU,那么其每个CPU的当前任务数为:8.13/2=4.065。这表示该系统的性能是可以接受的。

  在Linux系统中,uptime、w、top等命令都会有系统平均负载load average的输出。

Comments (1)

[Mark Allen Weiss]数据结构与算法分析(C语言版)源代码及习题解答

[Mark Allen Weiss]数据结构与算法分析(C语言版)课本部分源代码
Source Code for Data Structures and Algorithm Analysis in C (Second Edition)
资源原始地址如下,有时候可能访问不到,需要通过代理访问.
http://www.cs.fiu.edu/~weiss/dsaa_c2e/files.html

Leave a Comment

Google C++编程风格指南

背景
Google的开源项目大多使用C++开发。每一个C++程序员也都知道,C++具有很多强大的语言特性,但这种强大不可避免的导致它的复杂,这种复杂会使得代码更易于出现bug、难于阅读和维护。

本指南的目的是通过详细阐述在C++编码时要怎样写、不要怎样写来规避其复杂性。这些规则可在允许代码有效使用C++语言特性的同时使其易于管理。

风格,也被视为可读性,主要指称管理C++代码的习惯。使用术语风格有点用词不当,因为这些习惯远不止源代码文件格式这么简单。

使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的,保持统一编程风格意味着可以轻松根据“模式匹配”规则推断各种符号的含义。创建通用的、必需的习惯用语和模式可以使代码更加容易理解,在某些情况下改变一些编程风格可能会是好的选择,但我们还是应该遵循一致性原则,尽量不这样去做。

本指南的另一个观点是C++特性的臃肿。C++是一门包含大量高级特性的巨型语言,某些情况下,我们会限制甚至禁止使用某些特性使代码简化,避免可能导致的各种问题,指南中列举了这类特性,并解释说为什么这些特性是被限制使用的。

由Google开发的开源项目将遵照本指南约定。

注意:本指南并非C++教程,我们假定读者已经对C++非常熟悉。
下载Google C++编程风格指南 (27)

Leave a Comment

时间简史 ——从大爆炸到黑洞

时间简史 ——从大爆炸到黑洞
史蒂芬·霍金 著 许明贤、吴忠超 译
图书相关信息:

  • 《时间简史》10 年增订版
  • 史蒂芬·霍金 著 许明贤、吴忠超 译
  • 湖南科学技术出版社 第一推动从书
  • 2001 年3 月第2 版 第21 次印刷 ISBN 7-5357-1065-4

第一章 我们的宇宙图像
大部分人会觉得,把我们的宇宙喻为一个无限的乌龟塔相当荒谬,可是为什么我们自以为知道得更多一些
呢?我们对宇宙了解了多少?而我们又是怎样才知道的呢?……
第二章 时间和空间
在以后的几十年中,对空间和时间的新的理解是对我们的宇宙观的变革。古老的关于基本上不变的、已经存
在并将继续存在无限久的宇宙的观念,已为运动的、膨胀的并且看来是从一个有限的过去开始并将在有限的将来
终结的宇宙的观念所取代。……
第三章 膨胀的宇宙
宇宙不可能像原先人们所想像的那样处于静态,而实际上是在膨胀;不同星系之间的距离一直在增加着。宇
宙膨胀的发现是20 世纪最伟大的智慧革命之一。事后想起来,何以过去从来没有人想到这一点?!……
第四章 不确定性原理
人们会以为,每个电子只穿过其中的一条缝,这样它的行为正如同另一个狭缝不存在时一样——屏幕会给出
一个均匀的分布。然而,实际上即使电子是一个一个地发出,条纹仍然出现,所以每个电子必须在同一时刻通过
两个小缝! ……
第五章 基本粒子和自然的力
携带力的粒子按照其携带力的强度以及与其相互作用的粒子可以分成四种。必须强调指出,将力划分成四种
是种人为的方法;它仅仅是为了便于建立部分理论,而并不别具深意。大部分物理学家希望最终找到一个统一理
论,该理论将四种力解释为一个单独的力的不同方面。……
第六章 黑洞
事件视界,也就是空间——时间中不可逃逸区域的边界,正如同围绕着黑洞的单向膜:物体,譬如不谨慎的
航天员,能通过事件视界落到黑洞里去,但是没有任何东西可以通过事件视界而逃离黑洞。……
第七章 黑洞不是这么黑的
我们知道,任何东西都不能从黑洞的事件视界之内逃逸出来,何以黑洞会发射粒子呢?量子理论给我们的回
答是,粒子不是从黑洞里面出来的,而是从紧靠黑洞的事件视界的外面的“空”的空间来的!……
第八章 宇宙的起源和命运
为了解释我和其他人关于量子力学如何影响宇宙的起源和命运的思想,必须首先按照“热大爆炸模型”来理解
为大家所接受的宇宙历史。……
第九章 时间箭头
所以,我们对时间方向的主观感觉或心理学时间箭头,是在我们头脑中由热力学时间箭头所决定的。正像一
个计算机,我们必须在熵增加的顺序上将事物记住。这几乎使热力学定律变成为无聊的东西。……
第十章 虫洞和时间旅行
这样看来,快速空间旅行和往时间过去旅行似乎都不可行了。然而,还可能有办法。人们也许可以把时空卷
曲起来,使得A 和B 之间有一近路。在A 和B 之间创造一个虫洞就是一个法子。……
第十一章 物理学的统一
如果我们确实发现了宇宙的终极理论,这意味着什么?正如第一章所解释的,我们将永远不能肯定我们是否
确实找到了正确的理论,因为理论不能被证明。……
第十二章 结论
然而,如果我们确实发现了一套完整的理论,它应该在一般的原理上及时让所有人(而不仅仅是少数科学家)
所理解。那时,我们所有人,包括哲学家、科学家以及普普通通的人,都能参加为何我们和宇宙存在的问题的讨
论。如果我们对此找到了答案,则将是人类理智的最终极的胜利——因为那时我们知道了上帝的精神。
时间简史 (22)

Leave a Comment

Python安装setuptools

安装好Python环境,然后下载 http://peak.telecommunity.com/dist/ez_setup.py ,执行之,搞定。这下安装某些软件便不会出现找不到setuptools了,当然还有更高级的用途,多用多发现。

Leave a Comment

SQLite数据库

SQLite是个好东东,厌恶Access的好用,喜欢开源实惠的也好用。偶准备开始入门了哈,学习学习先。
墙外的朋友看这里http://program-think.blogspot.com/2009/03/opensource-review-sqlite-database.html
墙里的朋友看这里http://blog.csdn.net/program_think/archive/2009/03/13/3985829.aspx
.NET环境下玩的看这里http://www.cnblogs.com/terryfeng/archive/2009/03/08/1406121.html

Leave a Comment

Visual Basic .NET 应用程序

Visual Basic是全球最受欢迎的编程语言,拥有最大的用户群。作为Visual Studio .NET主体语言之一的VB.NET已被更新,包括许多新的和改进的语言功能,使VB.NET成为功能强大的面向对象的编程语言,不仅可以开发Windows应用程序,而且可以开发Web应用程序及企业级分布式应用程序。本章的主要目的是使读者了解VB.NET的主要特点,熟悉Visual Studio.NET的集成开发环境,能够编写简单的VB.NET程序,掌握简单的界面设计及几个常用控件的简单使用,为后续章节的学习打下良好的基础。
Visual Basic .NET应用程序 (26)

Leave a Comment

代码之美精选版

本书章节内容的组织
第1章,正则表达式匹配器,作者Brian Kernighan,介绍了对一种语言和一个问题的深入分析以及由此产生的简洁而优雅的解决方案。
第2章,我编写过的最漂亮代码,作者Jon Bentley,介绍了如何在无需执行函数的情况下测试函数的性能。
第3章,美丽的测试,作者Alberto Savoia,介绍了一种全新的测试方法,不仅能够消除bug,还可以使你成为一个更优秀的程序员。
第4章,NASA火星漫步者任务中的高可靠企业系统,作者Ronald Mak,介绍了如何使用工业标准,最佳实践和Java技术来满足NASA探险任务的高可靠性需求。
第5章,美丽的并发,作者Simon Peyton Jones,通过软件事务内存(Software Transactional Memory)来消除大多数并发程序中的困难,在本章中使用Haskell语言来说明。
第6章,以REST方式集成业务伙伴,作者Andrew Patzer,通过根据需求来设计一个B2B Web Service从而表现出设计者对程序开发人员的尊重。

下载 Beautiful Code (30)

Leave a Comment

ASP简易文件上传类

我想把上传的文件保存到数据库,还真不容易,于是自己写了个类先忽悠下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
<%
Option Explicit
Dim Request_Data
 
Class SimpleUpload
 
Private int_ClassName
Private int_Version
Private int_LastUpdate
Private int_Author
Private int_Homepage
Public dic_Form,dic_File
 
Private int_FileLen
 
Private Sub Class_Initialize() 
	Dim m_strError,Crlf,Data_Start,Data_End
	m_strError = "" 
	int_ClassName = "SimpleUpload"
	int_Version = "0.1"
	int_LastUpdate = "2009-05-17"
	int_Author = "coco"
	int_Homepage = "http://www.ioio.name/"
	Crlf = chrB(13) & chrB(10)
 
	Set dic_Form=Server.CreateObject("Scripting.Dictionary")
	Set dic_File=Server.CreateObject("Scripting.Dictionary")
	If Request.TotalBytes < 1 Then Exit Sub
	Request_Data = Request.BinaryRead(Request.TotalBytes)	
	Data_Start = 1
	Data_End = LenB(Request_Data)
	Dim pos_InStrB,sStart,iStart,iInfoEnd,sInfo,iFindStart,iFindEnd,sFormName,sFormValue,sFileName
	pos_InStrB = InStrB(Data_Start,Request_Data,Crlf)
	sStart = MidB(Request_Data,1, pos_InStrB-1)
	iStart = LenB(sStart)	
	Data_Start = Data_Start + iStart + 1
	while (Data_Start + iStart) < Data_End
		iInfoEnd = InStrB(Data_Start,Request_Data,Crlf & Crlf)
		sInfo = BinaryToString(MidB(Request_Data,Data_Start,iInfoEnd-Data_Start))
		Data_Start = InStrB(iInfoEnd,Request_Data,sStart)
		iFindStart = InStr(22,sInfo,"name=""",1)+6
		iFindEnd = InStr(iFindStart,sInfo,"""",1)
		sFormName = lcase(Mid(sinfo,iFindStart,iFindEnd-iFindStart))
		If InStr (45,sInfo,"filename=""",1) > 0 Then
			iFindStart = InStr(iFindEnd,sInfo,"filename=""",1)+10
			iFindEnd = InStr(iFindStart,sInfo,"""",1)
			sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
			Dim theFile
			Set theFile = new FileInfo
			theFile.FileName = getFileName(sFileName)
			theFile.FilePath = getFilePath(sFileName)
			theFile.FileStart = iInfoEnd+3
			theFile.FileSize = Data_Start - iInfoEnd-6
			theFile.FormName= sFormName
			if not dic_File.Exists(sFormName) then
		  		dic_File.add sFormName,theFile
			end if	
		Else
			sFormValue = BinaryToString(MidB(Request_Data,iInfoEnd+4,Data_Start - iInfoEnd-4))
			if dic_Form.Exists(sFormName) then
				dic_Form(sFormName)=dic_Form(sFormName)&", "&sFormValue
			else
				dic_Form.Add sFormName,sFormValue
			end if
		End If
		Data_Start = Data_Start + iStart + 1
	wend
End Sub 
 
Private Sub Class_Terminate() 
	m_strError = "" 
	int_Version = ""
	Set dic_Form=Nothing
	Set dic_File=Nothing
End Sub 
 
Public Property Get ClassName 
	ClassName = int_ClassName
End Property
 
Public Property Get Version 
	Version = int_Version
End Property
 
Public Property Get LastUpdate 
	LastUpdate = int_LastUpdate
End Property
 
Public Property Get Author 
	Author = int_Author 
End Property
 
Public Property Get Homepage 
	Homepage = int_Homepage 
End Property
 
Public Property Get FileLen 
	FileLen = int_FileLen
End Property
 
Public Function PrintInfo() 
	Response.Write("Class Name: "+ClassName()+"<br/>") 
	Response.Write("Version: "+Version()+"<br/>")
	Response.Write("LastUpdate: "+LastUpdate()+"<br/>") 
	Response.Write("Author: "+Author()+"<br/>")
	Response.Write("Homepage: "+Homepage()+"<br/>")
End Function 
 
Function BinaryToString(Binary)
  Dim I, S
  For I = 1 To LenB(Binary)
    S = S & Chr(AscB(MidB(Binary, I, 1)))
  Next
  BinaryToString = S
End Function
 Private function GetFilePath(FullPath)
  If FullPath <> "" Then
   GetFilePath = left(FullPath,InStrRev(FullPath, "\"))
  Else
   GetFilePath = ""
  End If
 End  function
 
Private function GetFileName(FullPath)
  If FullPath <> "" Then
   GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)
  Else
   GetFileName = ""
  End If
End  function
 
Public function Form(strForm)
   strForm=lcase(strForm)
   if not dic_Form.exists(strForm) then
     Form=""
   else
     Form=dic_Form(strForm)
   end if
end function
 
Public function File(strFile)
   strFile=lcase(strFile)
   if not dic_File.exists(strFile) then
     set File=new FileInfo
   else
     set File=dic_File(strFile)
   end if
End function
End Class
 
Class FileInfo
  dim FormName,FileName,FilePath,FileSize,FileType,FileStart
  Private Sub Class_Initialize 
    FileName = ""
    FilePath = ""
    FileSize = 0
    FileStart= 0
    FormName = ""
    FileType = ""
  End Sub
 
Public Function GetBinary
	Dim tStream,bb
	set bb=CreateObject("Adodb.Stream")
    bb.Type=1
    bb.Open
	bb.Write Request_Data
	bb.position=FileStart
 
	Set tStream = Server.CreateObject("ADODB.Stream")
	tStream.Type = 1
	tStream.Open
 
	bb.copyto tStream,FileSize
	bb.Close
	tStream.Position=0
	GetBinary = tStream.Read
	tStream.Close
	set bb=nothing
	set tStream=nothing
End Function
 
Public function SaveAs(FullPath)
    dim dr,ErrorChar,i,bb
    SaveAs=true
    if trim(fullpath)="" or FileStart=0 or FileName="" or right(fullpath,1)="/" then exit function
    set dr=CreateObject("Adodb.Stream")
	set bb=CreateObject("Adodb.Stream")
	bb.Mode=3
    bb.Type=1
    bb.Open
	bb.Write Request_Data
 
	dr.Mode=3
    dr.Type=1
    dr.Open
 
	bb.position=FileStart
	bb.copyto dr,FileSize
	bb.Close
    dr.SaveToFile FullPath,2
    dr.Close
	set bb=nothing
    set dr=nothing 
    SaveAs=false
  end function
End Class
%>

使用样例,数据库就几个字段,自己搞一下好了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="simpleupload.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>aaa</title>
</head>
 
<body>
<%
Dim conn,connstr,accessdb,rs
accessdb="images.mdb"
Set conn=Server.CreateObject("ADODB.Connection")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(accessdb)
 
Dim upload,filet,filename
Set upload=new simpleupload
 
if upload.Form("sub")<>"submit" then
Response.Write("添加成功")
set filet=upload.file("img") 
conn.Open connstr
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open  "Select * from file where id=0",conn,1,3
	'If Rs.BOF or Rs.EOF Then
	Rs.AddNew
	Rs("upload_date")=Now()
	Rs("title")=Trim(upload.Form("title"))
	Rs("content")=Trim(upload.Form("con"))
	Rs("pdf").appendchunk filet.GetBinary
	Rs.update
	'End If
	Rs.Close
	Set Rs=Nothing
conn.Close
Response.Write("添加成功")
Response.Write(upload.Form("abc"))
end if
%>
<form action="" method="post" enctype="multipart/form-data">
<input name="title" type="text" value="" /><br />
<textarea name="con" cols="" rows=""></textarea>
<br />
<input name="img" type="file" />
<input name="sub" type="submit" value="submit" />
</form>
 
</body>
</html>

Leave a Comment