如果你装了MSDN帮助或装了Office软件,就可以得到 在MSDN中“MSDN Library Visual Studio 6.0 | Visual Basic文档 | 参考 | 语言参考 | 函数” 即可看到VB所有内部函数 在Office软件中,打开“工具|宏|Visual Basic编辑器”,打开Visual Basic编辑器帮助,“Visual Basic语言参考 | 函数” 即可看到VB所有内部函数 Vb常用内部函数 类型转换函数 数学函数 日期与时间函数 随机数函数 字符串函数 文件操作函数 窗体输入输出函数 ? 类型转换函数 1、 Int(x):求不大于自变量x的最大整数 2、 Fix(x):去掉一个浮点数的小数部分,保留其整数部分 3、 Hex$(x):把一个十进制数转换为十六进制数 4、 Oct$(x):把一个十进制数转换为八进制数 5、 Asc(x$):返回字符串x$中第一个字符的ASCII字符 6、 CHR$(x):把x的值转换为相应的ASCII字符 7、 Str$(x):把x的值转换为一个字符串 8、 Cint(x):把x的小数部分四舍五入,转换为整数 9、 Ccur(x):把x的值转换为货币类型值,小数部分最多保留4 位且自动四舍五入 10、 CDbl(x):把x值转换为双精度数 11、 CLng(x):把x的小数部分四舍五入转换为长整数型数 12、 CSng(x):把x值转换为单精度数 13、 Cvar(x):把x值转换为变体类型值 14、 VarPtr(var):取得变量var的指针 15 val(X):把X的值转换为数值类型? 数学函数 1、 Sin(x):返回自变量x的正弦值 2、 Cos(x): 返回自变量x的余弦值 3、 Tan(x): 返回自变量x的正切值 4、 Atn(x): 返回自变量x的反正切值 5、 Abs(x): 返回自变量x的绝对值 6、 Sgn(x): 返回自变量x的符号,即当x为负数时,返回-1;当x为0时,返回 0;当x为正数时,返回1 7、 Sqr(x):返回自变量x的平方根,x必须大于或等于0 8、 Exp(x):返回以e为底,以x为指数的值,即求e的x次方 ? 日期与时间函数 1、 Day(Now):返回当前的日期 2、 WeekDay(Now):返回当前的星期 3、 Month(Now):返回当前的月份 4、 Year(Now):返回当前的年份 5、 Hour(Now):返回小时(0~23) 6、 Minute(Now):返回分(0~59) 7、 Second(Now):返回秒 (0~59) ? 随机数函数 1、 Rnd[(x)]:产生一个0~1之间的单精度随机数 2、 Randmize[(x)]:功能同上,不过更好 ? 字符串函数 1、 LTrim$(字符串):去掉字符串左边的空白字符 2、 Rtrim$(字符串):去掉字符串右边的空白字符 3、 Left$(字符串,n):取字符串左部的n个字符 4、 Right$(字符串,n):取字符串右部的n个字符 5、 Mid$(字符串,p,n):从位置p开始取字符串的n个字符 6、 Len(字符串):测试字符串的长度 7、 String$(n,字符串):返回由n个字符组成的字符串 8、 Space$(n):返回n个空格 9、 InStr(字符串1,字符串2):在字符串1中查找字符串2 10、 Ucase$(字符串):把小写字母转换为大写字母 11、 Lcase$(字符串):把大写字母转换为小写字母 ? 窗体输入输出函数 1、 Print(字符串):在窗体输出字符串,可以用”&”对变量进行连接后输出 2、 Tab(n):把光标移到该行的n开始的位置 3、 Spc(n):跳过n个空格 4、 Cls:清除当前窗体内的显示内容 5、 Move 左上角x,左上角y,宽度,高度:移动窗体或控件 6、 InputBox(prompt,…):跳出一个数据输入窗口,返回值为该窗口的输入值 7、 MsgBox(msg,[type]…):跳出一个提示窗口 ? 文件操作函数 1、 Open 文件名 [For方式] [Access存取类型] [锁定] AS [#]文件号 [Len=记录长度] 功能:为文件的输入输出分配缓冲区,并确定。
1、直接引用 windows 单元 。
在 uses 节添加 Windows ,就可以在程序中直接使用 sleep。
2、如果不想引用 windows 单元。
楼主说的sleep函数吧?!这是一个挂起时间函数,表示等待!具体使用如下:
函数名: sleep
功 能: 执行挂起一段时间 。
用 法: unsigned sleep(unsigned seconds); 。
程序例:
#include <dos.h> 。
#include <stdio.h> 。
int main(void) 。
{
int i;
for (i=1; i<5; i++) 。
{
printf("Sleeping for %d seconds\n", i); 。
sleep(i); 。
}
return 0;
Sleep的调用似乎是 Sleep -> SleepEx -> NtDelayExecution -> nt!NtDelayExecution -> nt!KeDelayExecutionThread -> .....。
但是如果您想实现定时器,推荐使用KeSetTimer(DPC)来实现。
但是要注意DPC运行在DISPATCH_LEVEL上,不能访问PagedPool。
如果想要延迟函数实现使用KeDelayExecutionThread 也可以。
RtlActivateActivationContextUnsafeFast好像是和User APC有关的函数,当SleepEx第二个参数设置为真,则可以接受APC的打断。
改用SleepEx,alert参数开到TRUE。
需要唤醒的时候用QueueUserAPC给那个线程一个apc(apc函数就算是空的也没关系)即可。