vc
文章平均质量分 66
zhihu008
这个作者很懒,什么都没留下…
展开
-
文件操作API和CFile类
文件操作API和CFile类在VC中,操作文件的方法有两种,一是利用一些API函数来创建,打开,读写文件,另外一个是利用MFC的CFile类,CFile封装了对文件的一般操作。下面酒主要介绍如何利用这两种方法操作文件。1.创建或打开一个文件 API函数CreateFile可打开和创建文件、管道、邮槽、通信服务、设备以及控制台,但是在此时只是介绍用这个函数怎么实现创建和打开一个文件。转载 2012-04-25 23:26:37 · 4735 阅读 · 0 评论 -
文件操作API
在VC中,大多数情况对文件的操作都使用系统提供的 API 函数,但有的函数我们不是很熟悉,以下提供一些文件操作 API 函数介绍: 一般文件操作 APICreateFile打开文件要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。ReadFile从文件中读取字节信息。 在打开文件获得了文件句柄之后,则可以通过该转载 2012-04-25 23:32:39 · 4702 阅读 · 0 评论 -
WriteFile写中文字符串 TxT显示乱码
写UNICODE字符串到TXT文件里,打开显示乱码,查了相关资料,解决的方法有两种:1、在写入前插入0xFEFF,让系统认为是Unicode编码。注意,写入后用十六进制编辑器查看高低位是互换的Unicode:0xFEFFUTF8:0xEFBBBF //这是一种解决乱码的方法,在前面写入0xfeff,以unicode方式打开// WORD a = 0xfeff;//原创 2012-04-26 13:56:24 · 7598 阅读 · 0 评论 -
WriteFile写文件乱码问题
1. 写入的时候采用多字节char类型 HANDLE hFile; DWORD nBytes; hFile=CreateFile(_T"test.txt"),GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,0,NULL);char msg[]="以沃尔沃饿哦家人哦额无人机"; if(hFile!=INVALID_HANDL转载 2012-04-27 20:43:13 · 11929 阅读 · 0 评论 -
ReadDirectoryChangesW
HANDLE hDir = NULL; HANDLE hThread = NULL; bool bStop = false; bool bExit = false; char Buff[1024]; OVERLAPPED ov; DWORD WINAPI ThreadProc(LPVOID lpPara转载 2012-05-07 22:31:35 · 6559 阅读 · 15 评论 -
CDirectoryChangeWatcher - ReadDirectoryChangesW all wrapped up
IntroductionThis code wraps up the Win32 API function ReadDirectoryChangesW so that your application only has to worry about responding to the events that take place when a file or转载 2012-05-07 22:57:43 · 5601 阅读 · 0 评论 -
遍历文件夹方法2
#include#include#includeusing namespace std;//只能处理目录:lpPath只能是路径void find(char *lpPath){ char szFind[MAX_PATH]; char szFile[MAX_PATH]; WIN32_FIND_DATA FindFileData; strc原创 2012-05-27 00:27:13 · 4669 阅读 · 0 评论 -
java与C++之间进行SOCKET通讯要点简要解析
java与C++之间进行SOCKET通讯要点简要解析 1、big-endian与little-endian Endian定义:在计算机系统体系结构中用来描述在多字节数中各个字节的存储顺序。big-endian也称高位在前、大端在前。是计算机体系结构中一种描述多字节存储顺序的术语,在这种机制中最重要字节(MSB)存放在最低端的地址 上。采用这种机制的处理器有Mortolo转载 2012-05-27 13:48:19 · 4765 阅读 · 0 评论 -
VC 动态链接库编程之MFC扩展DLL
MFC扩展DLL与MFC规则DLL的相同点在于在两种DLL的内部都可以使用MFC类库,其不同点在于MFC扩展DLL与应用程序的接口可以是MFC的。MFC扩展DLL的含义在于它是MFC的扩展,其主要功能是实现从现有MFC库类中派生出可重用的类。MFC扩展DLL使用MFC 动态链接库版本,因此只有用共享MFC 版本生成的MFC 可执行文件(应用程序或规则DLL)才能使用MFC扩展DLL。转载 2012-05-28 23:17:42 · 4866 阅读 · 0 评论 -
C++ 日志类,
C++ 日志类,期待您的意见 前一个项目中,当时遇到日志的问题,因为时间紧迫,用了开源社区的glog。但本人对开源的东西又或者说不是自己写的东西的总有点不放心,也可以说是心理有点疾病吧。于是今天就趁着闲下来,自己写了个C++的日志类,机制是仿照自己之前写的C#log类。 日志类所要解决的问题: 1. 自检查目录以及文件的存在性,如果不存在转载 2012-05-10 00:03:43 · 5125 阅读 · 0 评论 -
vc 线程池
#ifndef _ThreadPool_H_#define _ThreadPool_H_#pragma warning(disable: 4530)#pragma warning(disable: 4786)#include #include #include #include using namespace std;class ThreadJob //工作基类转载 2012-05-28 23:52:52 · 5986 阅读 · 0 评论 -
VC线程池
一个VC线程池的实现类定义如下// ThreadPoolImp.h: interface for the ThreadPoolImp class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_THREADPOOLIMP_H__82F4F转载 2012-05-28 23:56:17 · 5386 阅读 · 0 评论 -
编写合适的构造函数、拷贝构造函数、赋值操作符、析构函数(后三者一般同时出现,称为“大三元法则”),那么这个概念就完整并且不用再考虑其资源(内存)管理的问题。
编写合适的构造函数、拷贝构造函数、赋值操作符、析构函数(后三者一般同时出现,称为“大三元法则”),那么这个概念就完整并且不用再考虑其资源(内存)管理的问题。转载 2012-05-30 23:41:21 · 4837 阅读 · 0 评论 -
VC中使用系统提供的线程池
#include #include using namespace std;/***********************使用系统线程池Test in VC6.0***********************/DWORD BeginTime;LONG ItemCount;HANDLE CompleteEvent;int compute(){sran转载 2012-05-30 23:42:33 · 5039 阅读 · 0 评论 -
ThreadPool,WaitCallback,QueueUserWorkItem
ThreadPool 类 提供一个线程池,该线程池可用于发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器。许 多应用程序创建的线程都要在休眠状态中消耗大量时间,以等待事件发生。其他线程可能进入休眠状态,只被定期唤醒以轮询更改或更新状态信息。线程池通过为应 用程序提供一个由系统管理的辅助线程池使您可以更为有效地使用线程。一个线程监视排到线程池的若干个等待操作的状态。当一个等待操作转载 2012-05-31 00:14:54 · 6492 阅读 · 0 评论 -
SQL为字段添加一个唯一约束
alter table stuInfoadd constraint UQ_stuName_stuAddress UNIQUE(stuName,stuAddress) I、在数据库关系图中右击将包含约束的表,然后从快捷菜单中选择"属性"命令。 -或- 为将包含约束的表打开表设计器,在表设计器中右击,然后从快捷菜单中选择"属性"命令。 II、选择"索引/键"选项卡原创 2012-06-05 19:51:05 · 26864 阅读 · 1 评论 -
由VC++中的stdafx.h 引申出的问题
stdafx.h 是一个特别的头文件,这个头文件里面的内容包括了大多数.cpp文件所引用的标准的和不轻易改变的头文件的定义。可以说,stdafx.h是一个很多头文件的集合。举个例子来说,如果用户要写一个Win32 API的程序,而且这个程序包括了10个.cpp文件,由于这10个.cpp文件都包括了windows.h, string, vector等等文件,所以用户便可以把这些重复定义的头文件都转载 2012-05-23 21:37:38 · 4882 阅读 · 0 评论 -
dll加载失败
DLL中的函数加载失败多数是由于定义的输出函数名有问题,我遇到过这样的问题。你查一下DLL的源码,采用__stdcall输出你可以编写.def文件,定义输出函数。将DLL编译链接,生成DLL文件,双击打开,查看其中的输出函数名。如果设置不对,也许你会见到函数名前加下划线,按标准C输出的函数名,是不应该带有下划线的。当你加载动态库时,注意指定的函数名,即LoadLibrary的第二个转载 2012-05-23 21:49:17 · 5304 阅读 · 0 评论 -
DLL(Dynamic Link Libraries)VC动态链接库专题(转)
DLL(Dynamic Link Libraries)VC动态链接库专题(转)这篇文章写的非常好,对于初级及高级应用者都是受益非浅!值 得推荐 目录引言 调用方式 MFC中的DLL DLL入口函数 关于调用约定 关于DLL的函数 模块定义文件(.DEF) DLL程序和调用其输出函数的程序的关系 引言 比较大的应用程序都由很多模块组成,这些模块分别完成转载 2012-05-23 21:52:08 · 5181 阅读 · 0 评论 -
不要在DllMain创建线程
不要在DllMain创建线程,因为在DllMain里的代码会被反复执行。可以单独使用个函数来启动线程,下面是我写的一个让PC喇叭每隔1秒响一次的DLL代码,你可以参考#include "stdafx.h"BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call,转载 2012-05-23 22:26:14 · 8886 阅读 · 0 评论 -
vc++中 extern "C" 详解
vc++中 extern "C" 详解 1.引言C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设转载 2012-05-23 23:05:04 · 7901 阅读 · 0 评论 -
VC系统服务程序
VC系统服务程序 // testService.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include #inc转载 2012-05-24 00:01:03 · 5377 阅读 · 0 评论 -
用CFile遍历文件夹
#include "FindFile.h" void CFindFileDlg::GetFile(CString sPath, HTREEITEM hParant){ if (sPath.IsEmpty()) { return; } CFileFind ff; CString szDir = sPath; if(szDir.Right(1) !=原创 2012-05-26 23:57:12 · 5191 阅读 · 0 评论 -
mapInfo文件格式详解
mapInfo文件格式详解MapInfo以表(Tab)的形式存储信息,每个表是由一组MapInfo文件组成,包括: 1、属性数据的表结构文件,后缀为.TAB。该文件定义了地图属性数据的表结构,包括字段数、字段名称、字段类型、字段宽度、索引字段及相应图层的一些关键空间信息描述。.TAB文件实际上是一个文本文件,可以在写字板中打开观察其内容。 2、属性数据文件,后缀转载 2012-07-19 10:16:46 · 13330 阅读 · 0 评论 -
mapInfo文件格式详解
mapInfo文件格式详解 在Mapinfo中每张地图被称为一个图层(或被称为表)。每个Mapinfo表由两部分最重要的内容构成:图形(称为空间对象)和数据(称为属性)。Mapinfo实现了"图形对象"及"属性数据"一对一联系,从而能够完成图形数据和属性数据的双向查询。为了实现基于属性信息的快速查询,Mapinfo支持针对属性字段建立索引。Mapinfo以文件的方式,将上述的转载 2012-07-19 11:13:52 · 5273 阅读 · 0 评论 -
MapInfo数据交换文件格式浅探
摘 要:MAPINFO这一大型桌面地理信息系统软件提供了tab格式和MIF(MID)两种数据格式,其中tab是其内部数据存储格式,所有基于该软件的应用系统都以此格式为依托。MIF(MID)是MAPINFO的外部数据交换文件格式,MAPINFO主要通过MIF,MID两个文件与其他GIS软件建立数据接口,方便数据使用。主要介绍Mapinfo的数据转换格式,防止在使用中转换信息丢失。关键词:Map转载 2012-07-19 11:10:04 · 7106 阅读 · 1 评论 -
MapInfo TAB & MIF 文件说明
Mapinfo的数据格式主要分为Tab和MIF(MID)两种格式,Tab是Mapinfo唯一的数据存储格式,所有基于该软件上的应用系统都要以这种格式为依托。Mapinfo按图层组织空间数据,一个图层可包括不同几何类型的图形对象,但只能对应一个属性表结构。Mapinfo不支持拓扑结构,目标对象相互之间是独立的,不存在拓扑关系。Mapinfo的Tab数据采用双数据库存储模式,属性数据存储在属性表结构文转载 2012-07-19 10:12:05 · 11008 阅读 · 0 评论 -
几种常用的地理信息软件比较
mapinfo 5.0 适合初学者 可以考虑。 几种常用的地理信息软件比较: 地理信息系统是信息科学与信息技术发展的一个重要组成部分,是信息高速公路上的节点 和重要基础设施。作为在信息社会中的一种集地理空间特征和各种统计信息于一体的特殊 信息系统,地理信息系统已成为政府部门进行科学管理和快速决策时不可或缺的工具。地 理信息系统的提出源于二十世纪五十年代,经过四十余年的发展,随着转载 2012-07-19 11:12:39 · 14004 阅读 · 0 评论 -
使用MapX的基石,在VC下显示gst格式的地图
1.在VC下使用MapX控件的方法,网上有很多,但是大都只是讲过程,没有原理。所以很多时候自己在电脑上做的时候还是有很多错误。 这里写一下自己学习过程中的一些感悟! 一:使用MapX的基石,在VC下显示gst格式的地图 第一步:用MFC应用程序向导新建一个单文档的工程,名字就不妨取为:mapxdemo 第二步:Project> Add To Project>Files转载 2012-07-23 21:42:16 · 6033 阅读 · 1 评论 -
VC+mapX5.0 在指定经纬度显示车辆图标
VC+mapX5.0开发训练:在指定经纬度显示车辆图标 我正在学习利用vc实现mapx控件的功能,已经能够在vc的程序框架中实现地图显示,并且可以实现了放大、缩小、漫游以及图层控制等功能了。现在的问题是,希望能够在指定的位置(经纬度位置)上显示一个车辆图元!我编写了一些代码但是却看不到车辆图元,相反显示的是一块32*32的黑色矩形块! CMapX m_ctrlMapX;转载 2012-07-23 22:06:44 · 11584 阅读 · 2 评论 -
MapX系列-- 使用LayerInfo object 在map中添加栅格图层
使用LayerInfo object 在map中添加栅格图层对于一副栅格图像,在Mapinfo里配准后就会发现在原来的.bmp或者.jpg文件的基础上会新生成一个同名的.tab文件。mapX支持的栅格格式还是比较多的,包括:l TIFF (*.tif)l MrSID (*.sid)l ECW (*.ecw)l转载 2012-07-23 21:30:07 · 6877 阅读 · 0 评论 -
VC中MapX的开发
MAPX在VC中的开发// -----------------------------------------------------------------------// Reference: // ----------------------------------------------------------------------- 控件加入转载 2012-07-23 21:44:22 · 16233 阅读 · 0 评论 -
应用MapX编程两例
MapX是MapInfo公司提供的具有强大地图分析功能的ActiveX控件产品。由于它是一种基于Windows操作系统的标准控件,因而能支持绝大多数标准的可视化开发环境,如Visual C++、Visual Basic、Delphi、PowerBuilder、Visual Studio.NET等。编程人员在开发过程中可以选用自己最熟悉的开发语言,轻松地将地图功能嵌入到应用中,并且可以脱离MapIn转载 2012-07-23 21:45:35 · 7777 阅读 · 0 评论 -
用VC++进行MapX二次开发::之三------使用MapX工具
VC++进行MapX二次开发 之三------使用MapX工具对于一个“标准”的Windows应用程序,一般都有一个工具栏。如果你用过某个GIS系统,一定用过工具栏上的工具。工具栏上的工具为我们提供了一个快速调用某个功能的捷径。我们这就来创建一个MapX的工具栏。先来实现什么功能呢?我们来个模仿Mapinfo: 放大工具、 缩小工具。要对图象转载 2012-07-23 21:48:52 · 6336 阅读 · 0 评论 -
在vc中作用mapx
在vc中作用mapx(从二次开发教程书本中扫描)在VisualC++中使用MapX 本章将通过一些实例来介绍如何在VisualC++中使用MapX。 17.1 访问MapX的属性和方法 在VisualC++中使用MapX的方法不同于VisualBasic和C++Buildel;在VisualC++中,每个MapX对象是一个C++类,这些类在MapX.h文件中声明,在MapX转载 2012-07-23 22:17:28 · 7457 阅读 · 0 评论 -
用VC++对MapX进行二次开发总结(二)(
3.MapX在VC++ 环境下GIS基本功能的实现在进行MapX 开发之前,确保已经在计算机中正确的安装了MapX 控件。下面就用一个具体的实例,介绍在VC+ +中集成MapX 的方法。3.1 将MapX支持类库加入工程在您的项目中包括MapX.cpp和.h文件。这两个文件包含用于对MapX控件进行访问的类定义和方法实现。MapX.h 和 MapX.cpp 文件可能位于安装有 MapX转载 2012-07-23 21:47:03 · 8724 阅读 · 1 评论 -
Mapx的VC开发实践
摘 要 阐述了在VC环境下引入MapX控件的方法,以及在文档视图架构下如何使用MapX控件的问题,介绍了MapX数据绑定的方法及其与MapX专题图创建的关系,阐明了创建MapX专题图的一般方法,并给出了具体实例。 关键词 MapX;VC程序设计;专题图制作1 引言 MapInfo MapX是一个用来做地图化工作的OCX控件,它可以很容易地在您的应用程序中加入强转载 2012-07-23 21:50:08 · 9552 阅读 · 0 评论 -
VC下MapX开发环境建立
有很多的朋友在VC下使用MapX的时候,总是感觉不是很顺手,其中一个很明显的问题就是老是出现COleVariant或Variant类型的数据,对于习惯了使用VC下形如CString等类型变量的朋友来说COleVariant或Variant类型给VC下使用MapX造成了很多不便;也造成了开发和调试效率很低,在数据类型上打转转。 我这篇文章不是要告诉大家如果进行数据类型的转换,也不是来讲VC转载 2012-07-23 22:00:18 · 10191 阅读 · 2 评论 -
使用VC++创建MapX控件步骤
使用VC++创建MapX控件步骤如下: 第一步:用VC++的程序向导来创建一个单文档程序MapXSample。 第二步:Project> Add To Project>Files,选择MapX.cpp和MapX.h。 在您的项目中包括MapX.cpp和.h文件。这两个文件包含用于对MapX控件进行访问的类定义和方法实现。MapX.h 和 MapX.cpp 文件可能位于安装有 MapX转载 2012-07-23 22:25:36 · 8742 阅读 · 0 评论 -
VC中mapx图元颜色的改变
各位高人,我求VC中mapx图元颜色改变的方法。具体:我在VC中嵌入了mapx控件,基本功能已经实现,现在想做到:当鼠标点击(单、双都可)某个图元(如矩形)时,该图元颜色改变;鼠标移动到另外某个图元并进行鼠标点击时,上一个颜色改变效果撤消,新图元变色效果出现!!!万分感谢!!!!!!!!!!!!!!!大家帮帮忙啊!!大家帮帮忙啊!!怎么高手都眼睁睁的看着不说话啊??55555转载 2012-07-25 00:43:36 · 7342 阅读 · 0 评论