-
VC++三种直线扫描转换算法范例演示
本源码演示了三种VC++直线扫描转换算法,这3种方式是:bresenham方法、数值微分法、中点画线法。本程序同时是一个MFC单文档程序,进行直线段扫面转换算法的算法验证。
1.使用Wizard建立单文档程序;
2.绘制20*20的网格线,格子X和Y方向间隔均为20像素,网格起始坐标在(20,20)。我们使用此网格模拟像素矩阵(),格子交叉点是像素中心。
3.输入直线段两端点,可使用以下两种方法之一:
a)对话框输入
b)鼠标在网格内以鼠标左键按下-拖动-抬起方式输入。注意:直线段两端点要自动取整到模拟的像素中心位置
4.进行直线段扫描转换,通过点击鼠标右键调用方式或者菜单调用的方式执行。计算完成后,将扫描转换结果,在模拟的像素矩阵中,使用圆形显示出来。
通过这个实验,我们可以熟悉扫描的算法,其中要注意的是判断直线的斜率,分情况处理竖直直线段、斜率绝对值大于1、斜率绝对值小于1的情况,这部分需要花费一些时间去算。总之还是对扫描算法的理解和编程基矗
- 2022-03-19 09:46:38下载
- 积分:1
-
VC 使用加密狗进行身份验证
VC 使用加密狗进行身份验证,一个加密范畴的例子,有兴趣的下载源码自行编译看效果,身份认证核心代码如下:
DogAddr = 10; //设置起始地址
DogBytes = 6; //设置数据的长度
DogData = m_Text.GetBuffer(6); //设置写入的数据
if (ReadDog()==0)
{
if (m_Text == m_Data)
MessageBox("身份验证成功");
else
MessageBox("身份验证失败");
}
- 2022-02-10 11:47:15下载
- 积分:1
-
VC++6.0 执行数据库事务的范例
在VC++6.0程序中执行数据库事务的一个范例,是一个数据库的高级应用例子,关于设置ADO控件,方法如下:
(1)在程序中选择ResourceView视图,打开“Dialog”节点下的“IDD_AFFAIR_DIALOG”对话框资源,右键单击ADO Data控件,在弹出的菜单中选择Properties菜单项,选择通用选项卡,单击“生成”按钮,在连接选项卡中单击“…”按钮,打开当前文件夹中的Access数据库,单击“测试连接”按钮,单击“确定”按钮。
(2)右键单击DataGrid控件,在弹出的菜单中选择Properties菜单项,选择All选项卡,在DataSource项对应的Value值中重新选择IDC ADODC1项。
- 2022-07-23 05:48:05下载
- 积分:1
-
多任务多线程断点续传源代码
VC++下实现多任务多线程并发可断点续传功能的例程源代码VC++下实现多任务多线程并发可断点续传功能的例程源代码
- 2022-03-21 18:31:32下载
- 积分:1
-
VC++ DAO 操作Access的测试例子
VC++ DAO 操作Access的测试例子,本演示是VC++使用DAO连接Access数据库的一个测试程序,学习如何使用DAO操作Access,通过添加一个数据库记录来演示添加、删除、插入数据的例子,比较简单,面向VC++初学者的一个例子。部分代码分享如下:
// 取得被选择记录的索引
nIndexInFieldList = m_listctrlInfo.GetNextSelectedItem(pos);
// 高亮被的选择记录
m_listctrlInfo.SetFocus();
// 从文件中把当前行记录删除
// 获取数据库文件
m_csDatebaseFile = GetDatabaseFile();
// 判断数据库是否已经打开
if (!m_bIsOpenDB)
{
db.Open(m_csDatebaseFile);
// 判断数据集是否已经打开
if (!m_bIsOpenDSN)
{
RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,"SELECT * FROM PositionTable",NULL);
}
}
m_nTotal = m_listctrlInfo.GetItemCount();
m_nCurrentIndex = ConvertIndex(nIndexInFieldList,m_nTotal - 1);
RecSet.MoveFirst();
RecSet.Move(long(m_nCurrentIndex));
RecSet.Delete();
ClearContent();
// 删除被的选择记录
m_listctrlInfo.DeleteItem( nIndexInFieldList );
// 显示删除数据成功的信息
GetDlgItem(IDC_STATIC_INFO)->SetWindowText(_T("删除数据成功!"));
// 再次取得第一条记录的位置
POSITION pos = m_listctrlInfo.GetFirstSelectedItemPosition();
UINT flag = LVIS_SELECTED|LVIS_FOCUSED;
- 2022-04-28 15:09:11下载
- 积分:1
-
vc++windows大作业源码-猜数字游戏
VC++ Windows课程设计源码作品:传统的猜数字游戏,编程学院大作业完整源代码。本游戏步骤:
分别在四个文本框内输入四个不同的四位数
按猜数字键猜测,得到结果,点答案键出答案,当4个文本框内的数字和位置都正确游戏胜利,自动进入下一轮答题,技巧:
玩家可以根据提示推断数字:
例 正确2个错误2个 说明有2个数字和位置都正确,2个数字正确但位置不正确
正确0个错误4个 说明有0个数字和位置都正确,4个数字正确但位置不正确
特色: 机器可以根据猜测的命中率不同显示不同的话
看完答案再答题会怎样呢? 试试就知道了~
- 2023-06-14 23:05:04下载
- 积分:1
-
VC++ 小实验报告:Sin正弦波曲线绘制
VC++ 小实验报告:Sin正弦波曲线绘制,包括了坐标方面的技巧和波形绘制方面的知识,都可以从本示例中学习到,源代码简单,运行效果请看截图所示。
- 2023-08-02 06:25:02下载
- 积分:1
-
端口扫描VC6.0程序示例
扫描端口,程序里面有一些相关的技巧是可以借鉴的,比如增加列表框标题栏的某一列、在列表框中加一条、显示列表框标题栏、单击“扫描单个端口”单选按钮、单击“扫描多个端口”单选按钮、开始扫描时绑定进度条组件、不合理IP的处理、扫描单个端口、连接主机,测试端口是否打开、设置扫描完毕状态、将扫描结果填充到列表框中、测试主机的某个端口是否打开、保存扫描结果到文本文件中等。
- 2022-10-09 07:35:03下载
- 积分:1
-
VC6.0 多表分组统计查询销售数据
VC6.0 多表分组统计销售数据,查询和统计图书的销售数量和库存数量,合理使用分组多表查询可有效提升效率,减少对数据库的查询次数,本示例就是演示如何使用分组多表查询的一个简单的例子,对于查询产品销售最、销售业绩都很方便。
提示:本源码中仅包括了VC++文件和代码,并不包括数据库,需要自己准备测试数据库。
- 2023-02-05 17:45:03下载
- 积分:1
-
VC++ 实现基于文档视图结构的打印
VC++ 实现基于文档视图结构的打印功能,把窗口中所显示的内容,包括表格全部打印出来,这种打印功能是最常规也是最实用的,源代码部分请参考DocViewPrintView.cpp文件,以下为参数定义:
CFont m_titlefont; //标题字体
CFont m_bodyfont; //正文字体
int screenx,screeny; //获取窗口每英寸像素数
int printx,printy; //获取打印机每英寸像素数
double xrate,yrate; //打印机与屏幕的像素比率
int pageheight; //打印纸高度
int pagewidth; //打印纸宽度
int leftmargin,rightmargin; //打印纸左右边距
BOOL isPreview; //是否处于预览状态
- 2022-06-19 11:39:54下载
- 积分:1