一 函数原型及参数
function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
Text:欲显示的信息字符串。
Caption:对话框标题字符串。
Type:对话框类型常量。
该函数的返回值为整数,用于对话框按钮的识别。
2、类型常量
对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
(1)按钮组合常量
MB_OK =[……]
【MFC】点击退出时出现提示,或执行其他操作.
在类向导——消息——WM_CLOSE 里添加处理程序(如图所示)

然后,重写代码段即可。

可以按自己的需要,在退出前执行某些函数,比如:
弹出对话框确认等等
来自:http://blog.csdn.net/kingsollyu/article/details/8130300[……]
CentOS 6.5 搭建HUSTOJ 详细笔记
好吧,我也抽风了…想搭一个个人OJ…
准备了阿里云服务器(CentOS6.5操作系统) 和 自己购买了一个域名
接下来进行搭建:
使用XShell…远程…
前期准备:LNMP//Linux Nginx MySQL PHP
第一步://下载SVN
yum -y install subversion
第二步:获取代码(这两个执行效果好像一样,推荐下面一个)
svn co https://github.com/zhblue/hustoj/trunk/trunk/ hustoj
svn checkout https://github.com/zhblue/hustoj/t[……]
12月21日.互斥对象实现线程同步
互斥对象(mutex)属于内核对象,它能够确保线程拥有对单个资源的互斥访问权。
互斥对象包含一个使用数量,一个线程ID和一个计数器。其中:ID用于标识系统中的哪个线程当前拥有互斥对象,计数器用于指明该线程拥有互斥对象的次数。
函数 CreateMutex 可以创建或打开一个命名的或者匿名的互斥对象,然后程序就可以利用该互斥对象完成线程的同步。函数原型声明如下:
|
1 2 3 4 5 |
HANDLE CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes , BOOL bInitialOwner , LPCTSTR lpName ); |
参数含义如下:
lpMutexAttributes //一个指向 SECURITY_ATTRIBUTES 结构的指针,可以给该参数传递NULL值,让[……]
12月21日.多线程学习笔记(二)
继续多线程的学习。
CreateThread 函数原型如下:
|
1 2 3 4 5 6 7 8 |
HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes , DWORD dwStackSize , LPTHREAD_START_ROUTINE lpStartAddress , LPVOID lpParameter , DWORD dwCreationFlags , LPWORD lpThreadId ); |
参数解析:
lpThreadAttributes //指向SECURITY_ATTRIBUTES结构体的指针。可以为其传递NULL,让该线程使用默认的安全性。
dwStackSize //设置线程初始栈的大小,即线程可以将多少地址空间用于它自己的栈,以字节为单位。系统会把这个参数值四舍五入成为最接近的页面的大小。如果这个值为0,或者小于默认提交的大小,那么默认将使用与调用该函数的线程相同的栈空间大小。
lpStartAddress //指向[……]
康托展开 和 逆康托展开
康托展开就是一种特殊的哈希函数。
公式:
X = an*(n-1)! + an-1*(n-2)! + …… + ai*(i-1)! + …… + a2*(1)! + a1*(0)!
其中,a[i] 为当前未出现的元素中,它排在第几个(从0开始计数)。 //不理解无妨,继续往后看样例。
例如,有一个数组 S=[A,B,C,D]。可以对它生成一个全排列:
ABCD ABDC ACBD ACDB ADBC ADCB
BACD BADC BCAD BCDA BDAC BDCA
CABD CAD[……]
Go语言学习(三)
Go语言基础与数值布尔类型
前一章:欢迎访问Go语言学习(二)
1.Go语言环境变量和常用命令
$GOROOT 表示Go在电脑上的安装位置。
$GOARCH 表示目标机器的处理架构
$GOOS 表示目标机器的操作系统
$GOBIN 编译器和链接器的安装位置
$GOPATH 表示工作路径,允许包含多个目录
2.Go语言常用的操作命令
首先,Linux 可以在 Shell 中输入 go 来查看Go的操作命令
接下来介绍常用的操作命令。
go build 主要用于测试编译。在[……]
Go语言学习(二)
学习实例(二)—— goroutine 和 channel
前一章:欢迎访问 Go语言学习(一)
Linux 下编写方法:
|
1 |
vim sum_by_group.go |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
package main import "fmt" func sum(a []int, result chan int) { sum := 0 for _, v := range a { sum += v } result <- sum } func main() { a := []int{2, 3, 5, 6, 10, -5, 1, 0} result := make(chan int) go sum(a[:len(a)/2], result) go sum(a[len(a)/2:], result) x, y := <-result, <-result fmt.Println(x, y, x+y) } |
以上是一个求和的计算,Go语言代码
首先对 goroutine 和 channel 进行一个讲解。
goroutine 是Go语言并行设计的核心。
goroutine是一种比线程更轻量的实现,十几个goroutine可能在底层就是几个线程。
要使用goroutine只需要简单的在需[……]
Go语言学习(一)
Go语言的起源:
http://baike.baidu.com/subview/5897/7068513.htm#viewPageContent
环境搭建:
1. 下载地址:https://studygolang.com/dl
选择最新包,当前版本是: go1.14.3.linux-amd64.tar.gz
|
1 |
wget https://dl.google.com/go/go1.14.3.linux-amd64.tar.gz |
2. 将下载的二进制包解压至 /usr/local 目录。
|
1 |
tar -C /usr/local -xzvf go1.14.3.linux-amd64.tar.gz |
3. 将 /usr/local/go/bin[……]
Blog透明背景修改
修改位置:外观-编辑。样式表内:
找到如下两块设定。 标记为*即为修改或者添加部分。
#featured-slider {
* background-color: #FFFFFF;
* opacity:0.75;
border-bottom: 1px solid #EAEAEA;
}
#page {
max-width: 1268px;
margin: 0 auto;
* background-color: #FFFFFFF0;
box-shadow: 0 2px 6px rgba(100, 100, 100, 0.3);
}
2017[……]
12月18日.多线程学习笔记
12月18日学习线程相关知识。
多线程学习笔记
进程
1.程序与进程
程序是计算机指令的集合,它以文件的形式存储在磁盘上。
进程通常被定义为一个正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动。
一个程序可以对应多个进程。
2.进程组成
进程由两部分组成。
(1)操作系统用来管理进程的内核对象。
(2)地址空间
进程不执行任何东西,它是线程的容器。
真正完成代码执行的是线程,而进程只是线程的容器,或者说,执行环境。
创建一个进程时,操作系统都会自动创建一个线程,称为主线程
线程
线程由两个部分组成:
(1)线程的内核对象[……]
VC++使用ODBC API动态创建SQLServer数据源
在此推荐一种在程序中使用ODBC API的方法,程序员可以在任何时候都可以用Visual C++编写的程序调用这些API函数来设置ODBC数据源。
[……]
12月17.
博客搭建成功.[……]
Welcome!
欢迎访问TK-Xiong`s Blog. Code & Algorithm.
备案过期,更新了一下域名;个人小站,请不要攻击我谢谢… [……]
