自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hqulyc的专栏

C/C++, 嵌入式开发, 跨平台, Android安卓, Windows, ios,

  • 博客(30)
  • 收藏
  • 关注

原创 转战Android之NDK编码转换

基于NDK下的编码转换,当然是直接调用C/C++下的实现效率更高,下面介绍2种方案(不建议通过JNI调用JAVA的实现,尽管这样也能实现编码的转换)。1. 采用Android系统自带的libicuuc.so库2. 采用第三方编码转换库libiconv,源码链接:http://ftp.gnu.org/pub/gnu/libiconv/libiconv的使用有3个函数:a) iconv

2012-08-12 15:57:53 4901 3

原创 转战Android之NDK(图形绘制)

图形绘制之Skia      下载Android源码中Skia所需的部分,丫的,整了我3个礼拜,才将libskia编译成.a和.so,不知道我多编译了还是怎么的,总之window下的编译折腾了蛮久(Android上源码都是在liunx下编译的?反正win下的mk等都得改掉才能编译过)。C/C++下采用Skia进行绘图是挺方便的,但绘制的效率、内存等就不是自己能轻易控制的了。     查

2012-08-12 16:42:17 2839 1

原创 转战Android之NDK(jni, c/c++调用java)

c/c++调用java1. JNI中的调用步骤如下://获取JNIEnv实例//JavaVM *vm//JNIEnv* env = 0;//vm->GetEnv((void**)&env, JNI_VERSION_1_4) != JNI_OK/***********简单数据对象类型**********/jclass objJava =(env

2012-08-12 16:19:47 2472

原创 转战Android之NDK(jni, java调用c/c++)

java调用c/c++过程1. 已采用ndk编译出c/c++库(c_libname.a/ c_libname so),根据c_libname.h编写对应的java类;2. 根据native java类,编译出对应的cpp文件头;如下面例子:    a) 使用Java工具Javah可以很容易地创建它而不用手动去创建。你对Java的class文件使用javah命令,就会为你生成一个对应的C

2012-08-12 16:12:54 4055 1

原创 转战Android之NDK小试

Eclipse的使用之hello-jni1. 打开eclipse,File->New->Android Project,选择“create project from existing source”;以下2-N步骤为配置JNI的自动编译,也可通过手动进行编译。2. 右键单击项目名称,点击Properties->Builders->New,选择Program,点击OK;3.

2012-08-12 15:40:30 969

原创 转战Android之开发环境搭建2

2.1 安装JDK71.  默认安装的位置是“C:\Program Files\Java\jdk1.7.0_03\”,建议在安装jdk的路径中不要出现汉字或空格,避免出现未知的错误。我的安装路径为“D:\Program Files\Android\Java\jdk1.7.0_03\”, 并无出现异常。2. 安装一段时间后,提示JRE安装位置,可更改为“D:\Program Files\An

2012-08-12 15:12:09 1634

原创 转战Android之开发环境搭建1

一、下载所需的软件1.1 JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html点击“JDK Download”, 点击“Accept License Agreement ”并选择“Windows x86”进行下载,当前版本“jdk-7u3-windows-i586.exe”;1.2 开发

2012-08-12 14:49:01 873

原创 转战Android序

4年前还在做Win下的组件开发,转眼嵌入式设备多年,多有感慨。当初ATL/COM也是边学边做,现在看来也当初也只是应用级别,只学了点毛皮。当然无需回头学过了,不过之前所学的也基本够用了。用C开发近4年了,平台的相关应用却很少涉足,好吧,今天就开始转战Android吧!Come on everybody!

2012-08-12 14:28:55 499

原创 WebBrowser控件

1. WebBrowser方法GoBack, 相当于IE的“后退”按钮,使你在当前历史列表中后退一项 GoForward, 相当于IE的“前进”按钮,使你在当前历史列表中前进一项 GoHome, 相当于IE的“主页”按钮,连接用户默认的主页 GoSearch, 相当于IE的“搜索”按钮,连接用户默认的搜索页面 Navigate, 连接到指定的URL Refresh

2010-05-14 15:40:00 1420

原创 [SQL]存储过程的使用

1.在mssql创建存储过程,在db->存储过程->新建存储过程(右键) CREATE PROCEDURE user_logon_check @username varchar(45),@userpsw varchar(45) ASselect * from users where UserName = @username and PasswordCode = @userpswreturn

2010-05-13 15:46:00 578

原创 [SQL]触发器的使用

1. 创建触发器, 在mssql下的触发器的使用:Db->表->选择表名->所有任务(右键)->管理触发器 2. 当表被更新/插入/删除后,都可以通过定义触发器来响应该事件,从而进行相应的处理! 如一个学生转系了,其学号被更换了,他所借的图书对应的学号也相应需要改动,这个我们可以只通过update其学号,和学号相关联的表由触发器来更新! 3. example:CREATE TR

2010-05-13 15:44:00 665

原创 VC中使用ADO连接MSSQL

1. 在stdfx.h中导入MSADO15.DLL,如下:#pragma warning(disable:4146)#import "C:/Program Files/Common Files/System/ADO/MSADO15.DLL" rename_namespace("ADOClient") rename("EOF","adoEOF")using namespace ADOCl

2010-05-13 15:31:00 3570

原创 [PHP]CPaint库的使用

1. js中的CPaint类的调用代码 2. PHP中的CPaint类的调用代码 3. js中会调用到指定的PHP页面, 由PHP页面来负责对数据库的操作, 从而实现页面无刷新效果.  

2010-05-13 15:26:00 796

原创 [PHP]Smarty的使用

<?phpdefine(SMARTY_TMP_DIR,C:/php5/Smarty-2.6.13/);define(SMARTY_DIR,C:/php5/Smarty-2.6.13/libs/); //SMARTY_DIR ->smarty keyword,must be defined as libs dectoryrequire_once(SMARTY_DIR.

2010-05-13 15:24:00 718

原创 [PHP]Pear的使用

1. PEAR的安装, 这里介绍利用PHP5自带的BAT文件安装,需要能上网。   a. 在PHP5目录下找到go-pear.bat,双击安装(保证能上网, 以便下载),BAT自动从网上下载PEAR所需的东西;   b. 按照提示输入一些设置信息,主要是要把局域网的网关加上,如http://192.168.0.1:80/ , pear要用这个地址访问Internet,若无代理服务器则直接回

2010-05-13 15:13:00 2672

原创 [PHP]PDO调用存储过程

1. 数据库中已创建存储过程user_logon_check, PHP调用示例如下, <?php $dsn = mssql:dbname=MyDbName;host=localhost; $user = sa; $password = 666666; try { $dbCon = new PDO($dsn, $user, $password); } c

2010-05-13 15:07:00 8749

原创 [PHP]PDO的使用

1. 安装php5.1以上的版本,有支持pdo!为了使你的环境能提供对pdo的支持!在php.ini文件加入以下:extension=php_pdo.dllextension=php_pdo_mysql.dllextension=php_pdo_mssql.dll(支持mssql数据库) 2. 以下为PH中PDO的具体使用  <?php $dsn = mysql:dbname

2010-05-13 15:01:00 846

原创 VC用MYSQL提供的LIB查询数据库

#include "winsock.h"#include "mysql.h"void query_example(void){ MYSQL *pDbCon = NULL; char *pszHost = "localhost"; char *pszUser = "guest"; char *pszPsw = ""; char *pszDbName =

2010-05-13 14:53:00 1316

原创 从IWebBrowser2获取IHTMLDocument2的Script对象,执行指定的JS脚本

ATL控件嵌入在一个网页内, 在ATL控件内获取网页的IWebBrowser2指针, 并获取对应的网页元素对象, 如Document, Script等CComPtr m_pIWebBrowser;CComPtr m_pDocument;CComPtr m_pScript;BOOL GetIWebBrowser(){ IOleClientSite* pClie

2010-05-13 14:19:00 11293 3

原创 ATL获取嵌入ActiveX控件的页面IWebBrowser2指针

在ActiveX控件中获取顶级的页面IWebBrowser2指针CComPtr spClientSite;hr = GetClientSite(&spClientSite);if (SUCCEEDED(hr)){ CComPtr isp, isp2; hr = spClientSite->QueryInterface(IID_IServiceProvider, rein

2010-05-13 14:05:00 3212 4

原创 利用IE浏览本地HTML,WORD, pdf格式文件

1. bstrCurPath为文件的目录, bstrFileName为文件名;代码如下://利用IE控件,浏览WORD,pdf等文件。void putLocalUrl(CComBSTR bstrCurPath, CComBSTR bstrFileName){ //获取IE控件指针 HWND hWnd = GetDlgItem(IDC_EXPLORER);

2010-05-13 13:51:00 2090 1

原创 获取对话框中的控件指针

1. 采用GetDlgControl获取控件指针;//以IE控件为例CComPtr spIWebBrowser2;GetDlgControl(IDC_EXPLORER,IID_IWebBrowser2,(void **)&spIWebBrowser2);2. 通过AtlAxGetControl获取控件指针;//GetDlgControl函数封装了以下实现HWND h

2010-05-13 11:09:00 4703

原创 ATL脚本安全

如果未对COM组件进行脚本安全实现, js调用COM组件接口时, 会提示“在此页上的ActiveX控件和本页上的其他部分的交互可能不安全。你想允许这种交互吗”. 这里只提供ATL控件通过继承方式来实现脚本安全, 也可以采用程序实现(相对麻烦). 1. 继承IObjectSafetyImplCLASSNAME:public IObjectSafetyImpl{ ...

2010-05-13 10:51:00 891

原创 ATL属性包(PropertyBag)

ATL下如何添加属性包 属性包: ActiveX增加对插件属性的支持后, 使其能在网页中通过OBJECT属性, 在控件初始化前将参数传入. A. 在类中加入继承 public IPersistPropertyBagImpl, 并添加响应的接口映射, 如下; BEGIN_COM_MAP(CXXX)... COM_INTERFACE_ENTRY(IPersistPr

2010-05-13 10:15:00 2246

原创 ATL连接点事件(ConnectionPoint)

1. 连接点为出接口([out]属性),当控件执行到某个时刻,需要通知控件外部对象, 可用到连接点, 作用有点类似回调函数.如嵌入到网页里的插件, 需要通知网页某些信息时, 可采用连接点事件, 网页端则用javacript或vbscript来响应. 当ATL中有连接点事件, 名为CPEvent, 网页部分如下定义即可响应:SUB AtlComId_CPEvent msgbo

2010-05-12 14:09:00 7935

原创 ATL里数组的打包和解包

1. 将数组打包到VARIANT变量里HRESULT CXXX::pack(VARIANT *pVariant, long pArgs[], long lCount) { long i; HRESULT hr; VARIANT var; SAFEARRAY* pArray; hr = S_OK; pArray = SafeArrayCr

2010-05-12 13:44:00 1742

原创 js获取Com组件的字符串数组

1. COM相关接口函数实现, 接口getStepArraytypedef struct tagStepInfo{ int iDigit; CComBSTR bstrText;}SETPINFO;STDMETHODIMP CXXX::getStepArray(VARIANT *pVariant){ // TODO: Add your implementatio

2010-05-12 13:06:00 2944

原创 js字符串数组传入Com组件里

1. javascript代码如下var arArray = new Array("1","sadf","2","asdff","test");if (document.AtlComId){ document.AtlComId.putVariant(arArray);}<object classid="clsid:XXXXXXXX-XXXX-XXXX-XXXX

2010-05-12 11:44:00 2193 1

原创 邮件批量发送

//输入$from, $att, $name, 邮件发送者信息function sendmail($to, $subject, $message, $from = , $att = , $name =){ $headers = MIME-Version: 1.0 . "/r/n"; $headers .= Content-type: text/htm

2010-05-12 10:04:00 1784

原创 2010.05.11-hqulyc

看到搜索我的名字,竟然是CSDN上注册的,决定开始写BLOG, 很惊, 很意外。

2010-05-11 18:03:00 521

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除