- 博客(61)
- 资源 (9)
- 收藏
- 关注
原创 vc获取跳转地址
DWORD GetHttpRedirectUrl( LPCTSTR lpSrcUrl, LPTSTR pszDesUrl, DWORD dwSize ){CONNECT_INFO info;ZeroMemory( &info, sizeof(CONNECT_INFO) );_tcsncpy(pszDesUrl, lpSrcUrl, dwSize);if ( !Parse
2011-12-13 10:51:47
1250
原创 HTTP 301,302 跳转
当返回数据含有跳转地址时,取出Location: 地址,并通过AfxParseURL解析出服务器地址。 pHttpFile->QueryInfoStatusCode(dwStatusCode); if (dwStatusCode > 300 && dwStatusCode CString strNewLocation; pHttpFile->QueryInfo
2011-12-13 10:49:30
1623
转载 c实现的urlencode
可在项目中应用。/url encode char *urlencode(char const *s, int len, int *new_length){ #define safe_emalloc(nmemb, size, offset) malloc
2011-09-27 17:37:42
1304
原创 mac下utf-8转unicode
项目需要在mac下发送一段unicode数据,试用过mac自带的libiconv 每个字符确占有四个字节,上传到服务器后返回结果不对。从网上找了一段代码,稍加修改,在虚拟机上运行正确。 unsigned short int 占两个字节,符合unicode内存要求。 in
2011-09-27 17:35:05
2869
原创 vc 滚动条的使用
滚动条难处理的就是它的消息及滚动窗口,该代码能够运行,有需要的朋友可以拿去用或参考。 1. 创建滚动条 SCROLLINFO info; ZeroMemory( &info, sizeof(SCROLLI
2011-09-16 08:56:17
1609
原创 vc dll中创建对话框
dll中使用对话框与exe中一样,只需在创建窗体前加 AFX_MANAGE_STATE(AfxGetStaticModuleState()); 然后创建导出对话框的接口函数 : extern "C" __declspec(dllexpor
2011-09-09 14:54:02
1515
原创 GDI+ 简单入门学习
GDI+ 是GDI 的新版本,提供了一些功能强大,使用方面的图形图像处理类。 加载GDI+库: #include #pragma comment(lib, "gdiplus.lib") using
2011-09-09 14:36:18
489
转载 typedef struct 与struct的区别
<br />struct{<br /> int x;<br /> int y;<br />}test1;<br /><br />struct test<br />{int x;<br />int y;<br />}test1;<br /><br />typedef struct test<br />{int x;<br />int y<br />}text1,text2;第一个:只定义了一个test1的结构体变量,以后还想定义这种结构体的话,必须重写整个结构体。第二个:以后想定义结构体变量的话,
2011-05-11 16:14:00
467
转载 关于_beginthreadex和CreateThread的区别
<br /> <br />在 Win32 API 中,创建线程的基本函数是 CreateThread,而 _beginthread(ex) 是<br />C++ 运行库的函数。为什么要有两个呢?因为C++ 运行库里面有一些函数使用了全局<br />量,如果使用 CreateThread 的情况下使用这些C++ 运行库的函数,就会出现不安全<br />的问题。而 _beginthreadex 为这些全局变量做了处理,使得每个线程都有一份独立<br />的“全局”量。<br /><br />所以,如果你的编程只
2011-05-11 11:00:00
442
原创 sizeof 与 strlen的区别
<br />已知 char *str1="absde"; <br /> char str2[]="absde"; <br /> char str3[8]={'a',}; <br /> char ss[] = "0123456789"; <br /> 为什么 sizeof(str1)=4 sizeof(str2)=6; sizeof(str3)=8; sizeof(ss)=11;<br /> <br /> <br /> sizeof(str1)=4 ,
2011-03-29 11:37:00
416
原创 自已实现Vector
无聊的时候就阅读一下代码,下列代码涉及到基础的c++知识。 温故而知新。#include<iostream>using namespace std;template <typename Object>class Vector{ private: int thesize; int theCapacity; Object *objects; public: //构造函数 Vector(int initsize = 0) : thesize
2011-03-16 14:08:00
593
原创 win7多点触摸开发心得
<br /> win7 触摸屏系统应用广泛,软件操作方便,功能强大,现以被许多硬件厂商应用。 我曾用一台装有win7 的汉王平板电脑进行了多点触摸软件的开发。<br /> 开发环境及条件: <br /> 1. 汉王平板电脑+ win7触摸系统<br /> 2. 编译平台 win7+vs2010 。(我在xp上没有编译成功过,但win7+vs2010是能够编译成功的)<br />
2011-03-07 17:07:00
3766
原创 在Access数据库中使用SQL查询分析器
<br /> Access数据库常被用于存储本地结构化数据。 因开发或管理的需要有时需要用sql语句分析数据。 但用access自己的向导用起来不是很习惯。习惯sql查询的用户有时却不知或忘记从那打开这个sql语句查询窗口。<br /> <br /> 操作步骤很简单:<br /> 1. 单击需要查询的表, 选择“插入”菜单,选中查询项。<br /> <br /> 2. 在新建查询中选择设计视图<br /> <br /> 3. 然后在新建查询的上半区域右击, 选中
2011-01-14 18:15:00
1769
原创 Advanced Installer 的使用
<br /> Advanced Installer 安装工具功能强大,界面美观,软件兼容性强。 它的强大体现在不需要你编辑代码只需手动操作所有事情都可以搞定,而且它的对话框可以自已任意定制。安装流程也趋乎经典, 可在目前所有windows下系统下安装(当然包括最新的win7)。<br /> <br /> 现在简要解说怎样制作一个安装程序:<br /> <br /> 1. 点击新建工程,在“安装程序”属性页中选择通用模板中的企业版。语言选择简体中文。<br /> <br /> 2
2011-01-14 15:38:00
6064
原创 鬼影木马查杀
<br /> 鬼影木马的特征: 在C:/Documents and Settings/Administrator下打开显示隐藏文件,出现1228.tmp,228.tmp文件.<br /> 在桌面有淘宝网网页。影响系统的性能,严重时出现死机现象。<br /> 处理鬼影木马: 使用360救急箱可以彻底删除, 因该木马感染磁盘启动区,重装系统,用360卫士都无法删除。
2010-11-05 12:15:00
873
原创 dos下格式化磁盘
<br /> 格式化/分区磁盘可用eqMagic pe等工具。当没有这些工具时,可用dos下的命令格式化。 但是dos下的格式化会比较慢一点。其实也可用鼠标右击选择格式化方式实现.<br /> dos下的格式化磁盘命令:<br /> FORMAT: E:/FS:FAT32 将e盘转换成fat32格式。 <br /> 将FAT32改为NTFS是将e盘转换为ntfs格式。<br /> format /s 格式化 成系
2010-10-18 18:07:00
1322
转载 android开发环境配置
<br />最近一直忙于将手中的项目API 改成Android 平台下的API,所以要开始学习些Android方面的东西了,先转载一下这篇文章,要一步步的学习Android,希望有同行来交流。<br />链接:http://blog.youkuaiyun.com/Mac_cm/archive/2009/01/06/3720492.aspx<br /> <br />搭建Android开发环境<br />1 下载Android SDK<br />http://code.google.com/android/download
2010-09-27 10:40:00
410
转载 iphone开发环境配置
硬件环境 Intel Core2 E8400@3.00GHz 内存:2G 软件环境:winxp sp3,vmware workstation 7.0 上面就是马背日常用的dev pc:),我们首先查看这台机器的bios,查看是否打开Intel Virtualization Technology选项,确认选项选择enabled. 从网上下载: OSX.10.6.RETAiL.DVD.iSO.rar 解压缩出Mac OS X Install DVD.dmg文件,并使用UltraI
2010-09-27 10:36:00
1061
原创 命名空间
<br />命名空间: c++中为了在一定范围内让一部分模块起名不受其它模块命名冲突而采取的命名保护措施。 例如当一些模块功能由其它公司,或其它机构开发时,不能保证这些类名,函数取名与其它人员会产生命名重复的冲突。<br /> 其实在java,c#中命名空间使用非常多, java中的包(package) 更是发布开源包,用户开发时必须或常用的技术。这样,大家就可以各自开发自己的功能,实现堆积木式的开发。这或许是java强大易用的一个原因吧,因为有强大的开源包支持,汇集了牛人
2010-09-27 10:31:00
331
原创 c++中的空间与时间
c++中存在许多与空间,时间相关的内容,下面从空间,时间角度了解c++。空间: 内存空间: 进程内存空间分为四块: 1. 代码区 2. 全局变量,静态变量区 3.栈区 4. 堆区(程序员使用的内存) 命名空间: 为了避免命名冲突。常需将单独的模块命名新的空间,则在该命名空间中可以不考虑命名出与重名的问题,需要使用该命字空间内的对象或函数需引用该命名空间。 namespace name1 { ...... } using namespace name1;
2010-09-25 18:02:00
686
原创 c++中异常处理
<br />什么是异常:<br /> 异常就是特殊情况下发生的不可预知的bug. 它不同于一般的错误。比如说内存不够申请, 网络断线,电源突然断电等。异常机制就是来处理这些特殊情况下的突发事件。 c++中使用try throw catch 协同完成异常处理。<br />为什么要使用异常:<br /> 1. 使用c++异常处理机制能对异常进行集中处理,减少测试工作量,增加程序健状性。<br /> 2. 对于一些软件质量要求高的软件有使用异常机制的必要性。比
2010-09-25 16:56:00
729
原创 const与#define的区别
const const 是c++中的修饰符。 c++中常用来定义常量,修饰左值。#define 宏定义语句, 在编译阶段进行替换,不做类型检查。它们之间的最大区别:1. 对于const变量,系统只给了一个相应的内存地址,而#define则是给出了一个立即数。因为const变量是存放在内存的静态区域中,所以在程序运行过程中const变量只有一个拷贝,而#define 所定义的宏变量却有多个拷贝,所以宏在程序运行过程中所消耗的内存要比const变量的大得多。#define所定义的
2010-09-25 15:27:00
6903
原创 如何使用虚拟光驱
<br /> 本文简要讲述如何使用虚拟光驱。<br /> 首先,安装daemon安装程序,会在任务栏的右下角出现虚拟光驱图标.<br /> 其次, 左键单击图标,会有device0,单击device 0,选择需要加载的文件。一般为rar等压缩文件,省去解压的麻烦。<br /> 现在就可以在我的电脑上看到device0图标,双击打开,即可操作压缩中的文件。<br /> 右键菜单中的Virual CD/DVC_ROM 中的Set number device可设置虚拟光驱的
2010-09-21 15:13:00
784
转载 BREW
<br />BREW 的全称是无线二进制运行时环境。从基本的层面而言,BREW 平台就是手持设备上嵌入式芯片操作系统的接口或抽象层。您可以将它看作是 PC 环境下 Microsoft Windows 的 Win32 API。BREW 平台是一组用于本地执行而编译并链接的二进制库,优化后能使应用程序利用无线服务和资源。它控制流出或流入应用程序的事件流,能根据相应的事件启动、停止、中止或恢复应用程序。BREW 执行环境在运行时可以发现应用程序和任何相关的扩展。<br />目录BREW的概念BREW的主要内容(1
2010-09-21 11:46:00
486
转载 移动基站
<br />中国移动的基站采用小区制,覆盖范围几KM;而联通采用大区制,可以覆盖几十KM;辐射的频率大小和能量决定覆盖范围。 <br />也从另一角度来看,由能量守恒的角度来分析:手机辐射大的其基站辐射小(GSM),反之手机辐射小的其基站辐射大(CDMA) <br />一般分为以下几个系统:传输系统,包括SDH设备,光缆,电缆等等;动力系统,蓄电池,市电等等;动环监控系统;天馈系统;BTS主设备;以及其他辅助设备,如空调,防盗门等等 <br />GSM900和DCS1800就是我们平常讲的双频网络,它们都是
2010-09-21 11:24:00
1339
原创 GPRS与WAP的区别
<br />GPRS(GeneralPacketRadioService)的中文是通用分组无线业务,是在现有的GSM系统上发展出来的一种新的分组数据承载业务。GPRS与GSM系统最根本的区别是,GSM是一种电路交换系统,而GPRS是一种分组交换系统。GPRS特别适用于间断的、突发性的或频繁的、少量的数据传输,也适用于偶尔的大数据量传输。我们可以将GPRS理解为GSM的一个更高层次。 <br /><br />WAP(WirelessApplicationProtocol)的中文是无线应用协议,它与GPRS属于
2010-09-21 11:10:00
1645
转载 GPRS
<br />通用分组无线服务技术(General Packet Radio Service)的简称,它是GSM移动电话用户可用的一种移动数据业务。GPRS可说是GSM的延续。GPRS和以往连续在频道传输的方式不同,是以封包(Packet)式来传输,因此使用者所负担的费用是以其传输资料单位计算,并非使用其整个频道,理论上较为便宜。GPRS的传输速率可提升至56甚至114Kbps。<br />目录GPRS分组交换通信技术GPRS网络结构SGSN:服务GPRS支持节点GGSN:网关GPRS支持节点GPRS的特点1
2010-09-20 21:20:00
4407
转载 CDMA与GSM
<br />什么是CDMA技术? <br />CDMA是码分多址的英文缩写(Code Division Muitiple Access),它是在数字技术的分支--扩频通信技术上发展起来的一种崭新而成熟的无线通信技术。CDMA技术的原理是基于扩频技术,即将需传送的具有一定信号带宽信息数据,用一个带宽远大于信号带宽的高速伪随机码进行调制,使原数据信号的带宽被扩展,再经载波调制并发送出去。接收端使用完全相同的伪随机码,与接收的带宽信号作相关处理,把宽带信号换成原信息数据的窄带信号即解扩,以实现信息通信。 <br
2010-09-20 21:13:00
2139
原创 拷贝构造函数与赋值函数
<br /> 拷贝构造函数: 拷贝引用另一对象的构造函数。 构造过程中引用该对象的属性值。<br /> 如: <br /> String::String(const String &other)<br /> {<br /> int length=strlen(other.m_data);<br />
2010-09-20 09:36:00
433
转载 STL与泛形程序设计
ANSI/ISO C++ 程序员手册: STL和泛型程序设计 作者: [转载]Danny Kalev 2007-09-27 面向对象设计对代码重用提供了有限的形式继承和多态。泛型程序设计风格可以有更高层次的可重用性。与数据隐藏不同,它依赖数据独立。C++有两个特性来支持数据独立:模板和运算符重载。两种特性合起来可以写出对实际对象类型要求很少的泛型算法,不管对象是基本类型还是用户定义类型。因此,这种算法不限于具体数据类型,比依赖类型的算法有更高的可重用性 by Danny Kalev简介 泛型程序设计
2010-09-19 17:29:00
1031
原创 五笔输入法的缺点
<br /> 五笔输入法是以字根为基础,拼凑汉字的打字方法。其显著特点是用户须牢记字根在键盘的位置,入门难度高,但只要掌握汉字的字形即可准确打出该汉字,不会出现重码。拼音输入法因重音汉字较多,常需要进行选择,在进行简单汉字,或单字输入时五笔的打字速度高于拼音打字。<br /> 从一开始就练习五笔打字,记得当初学打字的功夫,现在想起来不亚于学会一门新编程语言。但现在越来越感觉五笔输入的不好,我常是与拼音输入法一起使用打字, 奉劝初学者选择拼音打字法,现在好多电脑培训结构五笔打字浪费
2010-09-19 12:12:00
4683
原创 类模板与函数模板
<br />类模板: 类模板是为某一些类只有数据类型不同,而将数据类型进行抽象处理的机制. 可由该模板实现不同数据类型的模板类.<br />定义类模板: template <class T, int size> 放在类的首部. 在类中可使用这两个参数. <br /> T为类型参数 <br /> size 为非类型参数 ,用来说明类模板中属性. 如:<br />
2010-09-18 17:37:00
426
转载 软件模型设计
<br />我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?<br />将下列原则应用到你的软件工程中,你会获得立杆见影的成果。<br />1. 人远比技术重要<br />你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯将主要精力都集中在技术上。显然,构件(components),EJB(Enterprise Java Beans)和代理(agent)是很有趣的东西。但是对于用户来说,如
2010-09-17 11:31:00
1021
原创 指针与引用
<br /> 什么是指针: 指针是指向某数据类型的地址类型,占用4个字节, 定义一个指针时应指出该指针是什么数据类型。 如定义一个整形指针: int * p; 可见定义指针变量是在变量前加一个指针标示符* 。 指针类型也可以为void, 即为无类型,当指针类型不确定时使用。该类指针可转换为其它任何类型指针,无需强制转换。指针的就应,通过在指针p前加* 可提取指针指向的变量的值。 如cout<<*p; 输出p指向的变量的值。<br /> 指针的作用: <br />
2010-09-17 11:01:00
423
转载 const 的使用
<br />const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令 <br />**************常量必须被初始化*************************<br />cons的作用<br /> (1)可以定义const常量 例如:<br /> const int Max=100;<br /> int Array[Max]; <br /> (2)便于进行类型检查
2010-09-16 16:23:00
249
原创 枚举类型
<br /> 枚举类型: C语言或C++的一种构造类型,它用于声明一组命名的常数。 <br /> 枚举类型的声明: 使用关键字 enum 。<br /> 访问修辞符 enum 枚举名:基础类型 <br /> { <br /> 枚举成员 <br /> } ; <br /> 基础类型必须能够表示该枚举中定义的所有枚举数值。枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。
2010-09-16 16:16:00
566
转载 字符编码
<br /> 什么是编码: 用预先规定的方法将文字、数字或其他对象编成数码,或将信息、数据转换成规定的电脉冲信号。 解码是其逆过程。 如用一字节表示ascll码. 将a编成成 1100001 (97)是编码, 将1100010 翻译成 b是解码。 <br />1.ASCII与Binary<br /> 我们日常接触到的文件分ASCII和Binary两种。ASCII是“美国信息交换标准编码”的英文字头缩写,可称之为“美标”。美标规定了用从0到127的128个数字来代表信息的规范编码,其中包
2010-09-16 15:18:00
1332
原创 程序员必读诗
<br />网上流传的描述程序员人生的诗:<br /> <br /> 写字楼里写字间,写字间中程序员;<br /> 程序人员写程序,又将程序换酒钱;<br /> 酒醒只在屏前坐,酒醉还来屏下眠;<br /> 酒醉酒醒日复日,屏前屏下年复年;<br /> 但愿老死电脑间,不愿鞠躬老板前;<br />
2010-09-15 17:52:00
632
原创 symbian 5rd 消息处理
<br /> symbian 5rd 支持触摸屏型号手机的开发。symbian 5rd 与symbian 3rd 的最大区别就是5rd增加了触摸事件响应方式, 其它方面几乎都一样。<br /> 如何进行5rd触摸事件开发:<br /> 1: 需要在CCoeControl的继承类中实现void HandlePointerEventL(const TPointerEvent& aPointerEvent) 函数<br /> 2. 在CCoeControl中的Cons
2010-09-14 18:01:00
569
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人