GCC/GNU/Linux Delphi/Window Java/Anywhere
路漫漫,长修远,我们不能没有钱
C++博客 | 首页 | 发新随笔 | 发新文章 | 联系 | 聚合 | 管理
共2页: 1 2 
re: c语言(a < b < c )的陷阱 Khan's Notebook 2008-10-24 13:56
这种代码确实要避开. 不过有时候还是能带来一些便利的

我公司不少老员工是c精,
写的代码中有不少特殊语法, 结构很精简, 但是我很多都读不懂, 所以我几乎无法维护.
re: smpp oma 彩信格式 Khan's Notebook 2008-09-28 11:25
通过smpp可以发彩信..... 其实彩信的基本原理就是短信+邮件...
先发一条特殊格式的短信通知某个手机终端. 告诉他现在有一条属于他的彩信.
手机终端收到该短信后. 才会主动去服务器把该邮件收下来...

彩信的核心就是短信....
至于规范. 你搜索一下彩信通知.. 很多免费的彩信网关有相关例子.
你知道把彩信通知中的服务器地址换成你自己的地址. 然后配合相关的服务器. 就可以做一个免费的彩信网关了..

至于smpp. 是移动内部的通信规范. 是可以用于发彩信的. 不过貌似运营商应该不会把该协议的接口开发给普通开发商
re: 搞定symbian的http 和xml, xml采用sdk自带的cparser Khan's Notebook 2008-09-16 10:22
@缘分天空
代码实在太久了. 我不太记得了. 你自己查查sdk吧.... 我已经好久不碰symbian了
re: symbian 的ini文件类. Khan's Notebook 2008-09-04 15:02
不确定你写ini之后最终是否执行了. iniclose那个释放的操作...
re: symbian 的ini文件类. Khan's Notebook 2008-09-04 10:19
释放是在这里的.
void CIniFile::DostroyL()
{
for(int i = 0; i<m_pIniElements->Count(); i++)
delete m_pIniElements->At(i);

delete m_pIniElements;
}
m_pIniElements只是存放指针, 你如果早早的把指针指向的内存块都释放了. 这个东西就变成一堆垃圾数据了..., 你说你那边正常我就有点不懂了...
re: symbian 的ini文件类. Khan's Notebook 2008-09-02 17:36
留email:我给你一份最新的版本, 或许我后来改了什么东西, 最终项目测试是在07年12月的时候, 可能跟这里的版本有一些变化
re: symbian 的ini文件类. Khan's Notebook 2008-09-02 16:04
你比对一下回车符之类的文本格式看看, unix和dos方式都试试
re: symbian 的ini文件类. Khan's Notebook 2008-09-02 14:20
put部分代码

void CCbmReciver::RunL()
{
TInt reqCode = this->iStatus.Int();

if (reqCode == KErrNone)
{
TPageMsg page;

CMobileStockAppUi *ui = (CMobileStockAppUi*)(CEikonEnv::Static()->AppUi());
//00 01 序列号
//02 03 频道号
//04 Data Coding Scheme
//05 Page parameter
//06-87 广播体


page._channel=(mBuf[2]<<8) + mBuf[3];

//channel = page._channel;

if(page._channel == ui->iChannel)//如果属于频道列表之内
{

//DebugPrint(mBuf);//debug

page._serial =(mBuf[0]<<8) + mBuf[1]; //cbm序列号
page._cur_page=(mBuf[5] >> 4) & 0x0F; //页码
page._total_page=(mBuf[5]) & 0x0F; //总页数

if(mBuf[6]==0x7A && mBuf[7]==0x34)
mBuf.Delete(0,8); //广州需要去掉头8个字节
else
mBuf.Delete(0,6); //深圳去掉6字节

TBuf8<40> base64tmp;
for(TInt j = 0; j<mBuf.Length(); j++)
{
if(mBuf[j]>0)
base64tmp.Append(mBuf[j]);
}

base64tmp.Delete(0,2);//去掉2字节多余的填充,
TUint8 asms = base64tmp[0] &0x0f; //第几条广播
TUint8 aflag = base64tmp[1] &0x0f;
base64tmp.Delete(0,2);//去掉数据包头,

for (TInt i = 0; i<ui->_list_data->Count(); i++)
{
if((*(ui->_list_data))[i]._pos_page == page._cur_page - 1)//如果包含需要的页
{
if((*(ui->_list_data))[i]._pos == asms) //如果包含当前的消息
{

HBufC8 * buffer = HBufC8::NewLC(mBuf.Length());
TImCodecB64 b64;
TPtr8 buffPtr = buffer->Des();
b64.Initialise();
b64.Decode(base64tmp, buffPtr);

if (aflag == 1)//开盘价
{
//存配置文件
TBuf8<10> aid;
aid.Format(_L8("%06d"), (*(ui->_list_data))[i]._id);

TBuf8<10> abegin_price;
TInt aoffset= 1 + (*(ui->_list_data))[i]._pos_offset * 2;
abegin_price.Format(_L8("%d"), (buffPtr[aoffset]<<8) + buffPtr[aoffset+1]);
TBuf<128> path;
path.Format(_L("%c:\\SYSTEM\\APPS\\MOBILESTOCK\\Stock.ini"), ui->dir);
CIniFile *ini = CIniFile::NewL(path);
ini->OpenIni();
ini->PutValue(aid, _L8("begin_price"), abegin_price);
ini->CloseIni();
delete ini;
}
else //当前价
{
//显示在屏幕
TInt aoffset= 1 + (*(ui->_list_data))[i]._pos_offset * 2;

(*(ui->_list_data))[i]._curr_price = (buffPtr[aoffset]<<8) + buffPtr[aoffset+1];//取得当前价
HBufC* buf = HBufC::NewLC(80);
buf->Des().Format(_L("offset=%d index=%d price=%d"), aoffset, i, (*(ui->_list_data))[i]._curr_price);
CAknInformationNote* note = new (ELeave) CAknInformationNote;
note->ExecuteLD(*buf);
CleanupStack::PopAndDestroy(buf);
/*
TBuf<32> filename;
filename.Format(_L("c:\\ddc%d-%d.txt"), aoffset, i);
CFile::LogToFile(filename, base64tmp);*/
ui->DrawStockAppview();//重绘界面
}


CleanupStack::PopAndDestroy(buffer);
}
}
}
}

StartL();
}
}
re: symbian 的ini文件类. Khan's Notebook 2008-09-02 11:50
我在项目中某处的调用代码 n70 6670真机执行无问题

void CMobileStockAppUi:: InitChannelData(CArrayFixFlat<STItemStock>* _list_data)
{
TBuf8<20> title8;
TBuf<20> title16;
TBuf8<128> stocks;

STItemStock item;

TBuf<128> path;
// path.Format(_L("%c:\\MOBILESTOCK\\Stock.ini"), dir);
path.Format(_L("%c:\\SYSTEM\\APPS\\MOBILESTOCK\\Stock.ini"), dir);
CIniFile *ini = CIniFile::NewL(path);
ini->OpenIni();
ini->GetValue(_L8("Stock"), _L8("stocks"), stocks);
ini->GetValue(_L8("Stock"), _L8("channel"), title8);
TLex8 tlex(title8);
TInt channeltmp;
tlex.Val(channeltmp);
iChannel = channeltmp;

CDesC8Array* pLines = new(ELeave) CDesC8ArrayFlat(20);
ByteCode::SplitBuf((const TDesC8&)stocks, _L8(","), *pLines );


for(TInt i = 0; i < pLines->Count(); i++ )
{
TPtrC8 stock_sec = (*pLines)[i];

ini->GetValue(stock_sec, _L8("flag"), title8);
TInt ib = 0;

tlex.Assign(title8);
tlex.Val(ib);
if( ib == 1 ) //先判断flag是否有效
{
TBuf8<20> stock_name =_L8("");;
ini->GetValue(stock_sec, _L8("name"), stock_name);
title8.Format(_L8("%S"), &stock_name );
ByteCode::ConvGbk2Uni(title8, title16) ;
item._name = title16;

tlex.Assign(stock_sec);
tlex.Val(ib);
item._id = ib;

ini->GetValue(stock_sec, _L8("postion"), title8);
CDesC8Array* pposes = new(ELeave) CDesC8ArrayFlat(20);
ByteCode::SplitBuf(title8, _L8("/"), *pposes );
if(pposes->Count() == 3)
{
tlex.Assign((*pposes)[0]);
tlex.Val(ib);
item._pos = ib;

tlex.Assign((*pposes)[1]);
tlex.Val(ib);
item._pos_page = ib;

tlex.Assign((*pposes)[2]);
tlex.Val(ib);
item._pos_offset = ib;
}

delete pposes;

ini->GetValue(stock_sec, _L8("begin_price"), title8);
tlex.Assign(title8);
tlex.Val(ib);
item._begin_price = ib;

item._curr_price = 0;

_list_data->AppendL(item);
}
}

delete pLines;


ini->CloseIni();
delete ini;
}
re: 为wince项目写的一个可移植的ini文件读写的class[原创] Khan's Notebook 2008-07-15 16:42
@EUREKA
win98是ansi环境, 并不表示win98下不能写unicode的文件..
re: sourceforge又被封了...你们想让我说什么呢.... Khan's Notebook 2008-07-08 14:02
@xsolo
应该不是sourceforge封中国, 有人跟过路由表, 是到gfw那段就timeout了... 所以还是cisco卖给zf的那个缺德东西干的
re: sourceforge又被封了...你们想让我说什么呢.... Khan's Notebook 2008-07-08 14:00
@ashuar
潮解浏览器比较怕. 貌似会有什么功的广告....
re: sourceforge又被封了...你们想让我说什么呢.... Khan's Notebook 2008-07-08 10:09
@漂流的星
这个地址不错. 收藏了
re: sourceforge又被封了...你们想让我说什么呢.... Khan's Notebook 2008-07-08 10:08
@gluttony
最后我也是这么下载的. 不过mingw要下载的东西很多...没有一个完整的包. 我一般都是down网络安装文件自动下载的, 现在只能看他的失败记录然后自己down了
re: sourceforge又被封了...你们想让我说什么呢.... Khan's Notebook 2008-07-08 00:56
http://bbs.syue.com/archiver/tid-13189.html
http://www.80diy.com/home/20051105/20/4374072.html
re: 搞定symbian的http 和xml, xml采用sdk自带的cparser Khan's Notebook 2008-07-07 10:21
@ouccomputer
NewCommon.h 里没有跟你相关的东西
re: makefile的常用方法 Khan's Notebook 2008-07-02 09:41
呵呵, 新的makefile在jni相关的内容里面
re: VC6 与GCC-avr交叉环境配置 Khan's Notebook 2008-06-26 00:57
呵呵. 现在用vc6的人应该比vc2003 或者2005的人要多.. 毕竟是最后一代c++编译器... cli无视
re: EVA QQ安装手册 Khan's Notebook 2008-05-20 16:34
svn source base begin
svn co https://evaq.svn.sourceforge.net/svnroot/evaq/trunk eva
re: 搞定symbian的http 和xml, xml采用sdk自带的cparser Khan's Notebook 2008-04-01 10:41
@robin
嘿嘿. 个人爱好. 你帖到editplus或者vim里面看吧
re: Symbian 的Gif显示.(暂且记录关键信息. 完善后再认真介绍) Khan's Notebook 2008-03-06 17:24
应该是2nd fp3以后就支持的
re: 扫雷游戏的设计(Kjava 原创) Khan's Notebook 2008-03-06 17:23
嘿嘿. 这个好像是5年前写的
re: [导入]操,个死人微软逼我打了sqlserver 的sp3补丁 Khan's Notebook 2008-03-06 17:21
我是没打补丁前出现这个问题. 打了补丁后重启就ok了
re: symbian 的ini文件类. Khan's Notebook 2007-12-27 15:16
void CIniFile::DostroyL()
{
for(int i = 0; i<m_pIniElements->Count(); i++)
delete m_pIniElements->At(i);

delete m_pIniElements;
}



CIniFile::~CIniFile()
{
DostroyL();
}


析构里面不是删除了么
re: symbian 的ini文件类. Khan's Notebook 2007-12-26 11:08
嗯. 这样是为了安全. 因为我的项目中需要在一个或者多个进程中写ini文件. 也需要读ini文件. 为了避免文件读写冲突, 我习惯用完马上关掉.. 我对文件读写冲突是怕了
re: symbian 的ini文件类. Khan's Notebook 2007-12-22 10:30
@新手
ini->CloseIni();主要是为了释放文件句柄
re: Symbian 的Gif显示.(暂且记录关键信息. 完善后再认真介绍) Khan's Notebook 2007-12-19 15:08
http://wiki.forum.nokia.com/index.php/Gif_animation_for_symbian_2nd_and_3rd_edition_phones
re: 发布跨平台INI文件读写API(C++版本) V0.2.1 Khan's Notebook 2007-12-19 13:59
嘿嘿. 我写过类似的...
symbian, wince, linux 都有. 我blog上有代码. 可以交流下..
re: EVA QQ安装手册 Khan's Notebook 2007-11-22 12:13
恩..现在是用不了了.... 得益于那几个腾讯找出来批斗珊瑚虫的bt大学生枪手, 第三方qq客户端基本只剩下内存泄露严重的Gaim插件和岌岌可危的luma,
所以我想说的是.... 现在这帮社会主流怎么这么缺德.....
re: 如何kill掉进程名包含某个字符串的一批进程, 以及观测进程名包含某个字符串的进程详细信息 Khan's Notebook 2007-11-22 12:10
java产生的所有进程名都是java, pkill会kill掉所有java进程, 而我只想kill掉某一类java进程
re: Symbian s60 app初步研究 Khan's Notebook 2007-10-22 15:41
你用codewarrior生成一个s60 app helloword工程就可以看到参数之类的东西了
re: 一个小型的无线路由器 Linux 系统OpenWRT Khan's Notebook 2007-10-11 10:55
谬赞谬赞...我都是转载的..
re: 为wince项目写的一个可移植的ini文件读写的class[原创] Khan's Notebook 2007-09-18 16:15
这个是最开始的版本.刚刚想起来.我发布后不久就调试出这个问题.并进行了改进..我迟一点会更新为最新的版本
re: 为wince项目写的一个可移植的ini文件读写的class[原创] Khan's Notebook 2007-09-18 16:14
sorry. 我再仔细查查..谢谢楼上达人指出
re: symbian 的ini文件类. Khan's Notebook 2007-09-07 09:53
我不太清楚你工程中如何调用
我在6670 n70手机中测试没有出现异常
re: 为wince项目写的一个可移植的ini文件读写的class[原创] Khan's Notebook 2007-08-27 10:02
sorry, 我没说太清楚, 我对应的系统是win mobile 5, 代码经过测试..是可以正常运行的..
re: symbian 的ini文件类. Khan's Notebook 2007-08-22 13:00
调用方式:
TBuf<128> path;
path.Format(_L("c:\\cbm\\cbm.ini"));
CIniFile *ini = CIniFile::NewL(path);
ini->OpenIni();

TBuf8<256> sChannels;
ini->GetValue(_L8("cbm"), _L8("channels"), sChannels);

TBuf8<4> flag = _L8("1");
ini->PutValue(sChannel, _L8("flag"), flag);

ini->CloseIni();
delete ini;
re: 为wince项目写的一个可移植的ini文件读写的class[原创] Khan's Notebook 2007-08-09 09:45
这段代码没有实现修改对应key的value. 如果需要完整版本.请向我索取
re: Symbian 开发知识,琐碎篇 Khan's Notebook 2007-08-09 09:37
因为上一个项目要开发一个symbian的客户端..所以我也是当时四处收集的
re: 为wince项目写的一个可移植的ini文件读写的class[原创] Khan's Notebook 2007-08-09 09:35
to 金庆
之前写过一个纯c的版本..但是由于写ini实在太复杂了..所以就废了..

to 罗宾李
对..我是遵照java的ini文件格式来实现的
re: DES加密算法(转载) Khan's Notebook 2007-06-04 09:53
因为他的原理很简单..所以不需要大篇幅描述...
re: 基于cmpp协议的超长短信格式 Khan's Notebook 2007-04-24 17:24
受教了受教了..这几个字节找不到资料..有没有办法分析..所以自己瞎猜的..谢谢楼上了
re: 在硬盘上启动livecd镜像或安装hiweed linux 1.0 release Khan's Notebook 2007-01-23 11:55
hiweed linux 1.0 比ubuntu 6.06进步的地方是很多地方都配置好了. 可以方便新手, 节省老手时间. 所以推荐大家用这个版本, 而且由于其是基于 debian和ubuntu做的. 所以可以使用他们的源
re: 在硬盘上启动livecd镜像或安装hiweed linux 1.0 release Khan's Notebook 2007-01-23 11:47
http://ftp.ubuntu.org.cn/gnix_oag/hd_boot_liveCD.rar

ftp上的文件需要帐户密码, 我不记得了. 这个http的地址下载的也一样
re: 最近的开发项目(java) Khan's Notebook 2007-01-16 10:58
本代码只有参考价值, 不能做实际用途...后期对代码做了很多修改.. 都没有在本包中体现..如果本包用作实际用途..需要修改很多地方.否则效率会很低下.. 而且本包中有不少逻辑错误.
已经发现的有datetime包中的时间取得.不分上午下午.统一用了12小时制
Cmpp2Connect类中的登录包组包部分..1月前需要加字符'0'填充
re: java 上传文件代码,支持中文文件名和中文文件内容,可以同时提交多个参数 Khan's Notebook 2007-01-05 12:38
如果没有文件上传..就按照普通的方式取得参数, request方式....
这个部分多用嗅探器检测一下http协议的数据包就知道了
re: 如何kill掉进程名包含某个字符串的一批进程, 以及观测进程名包含某个字符串的进程详细信息 Khan's Notebook 2006-12-08 17:46
#!/bin/sh
top -c -p $(ps -ef|grep CMPP|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ','|sed 's/,$/\n/')

显示进程名包含CMPP四个字符的所有进程信息
re: smpp oma 彩信格式 Khan's Notebook 2006-11-17 19:33
05
04
0B 84
23 F0
02
06
22
61 70 70 6C 69 63 61 74 69 6F 6E 2F 76 6E 64 2E 77 61 70 2E 6D 6D 73 2D 6D 65 73 73 61 67 65 00
AF
84
8C 82
98
34 33 35
02 21 15 48 15
00
8D 90
89
06
80
74 65 73 74
00
96
07
EA
74 69 74 6C 65
00
8A 80
8E
01 3A
88
05 81 03 09 3A 80
83
68 74 74 70 3A 2F 2F 32 30 33 2E 38 38 2E 31 39 32 2E 32 32 36 2F 74 6F 6F 6C 73 2F 61 2E 4D 4D 53
00
re: 网络Socket 编程参考教学篇(转载) Khan's Notebook 2006-11-15 12:22
呵呵, 我也是转载的..
re: tor+torcp+provixy p2p代理设置 Khan's Notebook 2006-11-14 10:50
我配置文件里面的几个端口本来是nat分配给emule用的, 装tor的时候懒得增加端口, 就直接用了这几个端口
共2页: 1 2 
随笔:114 文章:0 评论:194 引用:0
<2008年5月>
日一二三四五六
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

公告

现在时刻

IM在线情况:
点击发送消息给对方

bloger地图

常用链接

  • 我的随笔
  • 我的评论
  • 我参与的随笔

留言簿(25)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类(148)

  • Delphi(11) (rss)
  • GCC/G++(46) (rss)
  • Java(22) (rss)
  • 跨平台开发(38) (rss)
  • 周边技术(31) (rss)

随笔档案(114)

  • 2008年12月 (1)
  • 2008年10月 (2)
  • 2008年7月 (1)
  • 2008年6月 (2)
  • 2008年5月 (2)
  • 2008年4月 (2)
  • 2008年3月 (1)
  • 2008年2月 (1)
  • 2007年12月 (2)
  • 2007年11月 (3)
  • 2007年10月 (2)
  • 2007年8月 (4)
  • 2007年7月 (1)
  • 2007年6月 (1)
  • 2007年5月 (2)
  • 2007年4月 (1)
  • 2007年3月 (7)
  • 2007年2月 (2)
  • 2007年1月 (1)
  • 2006年12月 (1)
  • 2006年11月 (5)
  • 2006年10月 (1)
  • 2006年9月 (2)
  • 2006年8月 (1)
  • 2006年7月 (2)
  • 2006年5月 (3)
  • 2006年4月 (1)
  • 2006年3月 (3)
  • 2006年2月 (8)
  • 2006年1月 (26)
  • 2004年12月 (6)
  • 2004年11月 (7)
  • 2004年10月 (10)

相册

  • pay
  • 技术文档所用图片
  • 朋友
  • 社保

Half Spirit

  • Half. Spirit (rss)

技术

  • sourceforge taiwan mirror (rss)

最新随笔

  • 1. Linux 进程互斥锁
  • 2. linux /proc/文件系统.
  • 3. c语言(a < b < c )的陷阱
  • 4. sourceforge又被封了...你们想让我说什么呢....
  • 5. VC6 与GCC-avr交叉环境配置
  • 6. GCC Mingw编译JNI dll要点
  • 7. ubuntu 下安装wine
  • 8. linux下执行java的脚本
  • 9. epoll简介(转载)
  • 10. Epoll模型

搜索

  •  

积分与排名

  • 积分 - 112153
  • 排名 - 14

最新随笔

  • 1. Linux 进程互斥锁
  • 2. linux /proc/文件系统.
  • 3. c语言(a < b < c )的陷阱
  • 4. sourceforge又被封了...你们想让我说什么呢....
  • 5. VC6 与GCC-avr交叉环境配置
  • 6. GCC Mingw编译JNI dll要点
  • 7. ubuntu 下安装wine
  • 8. linux下执行java的脚本
  • 9. epoll简介(转载)
  • 10. Epoll模型

最新评论

  • 1. re: 技巧: 用 uniq 除去重复行(转载自ibm论坛)
  • 那么该怎么办呢?
  • --北京论坛
  • 2. re: Linux 进程互斥锁
  • 评论内容较长,点击标题查看
  • --lymons
  • 3. re: Linux 进程互斥锁
  • 评论内容较长,点击标题查看
  • --Khan.Lau
  • 4. re: Linux 进程互斥锁
  • 评论内容较长,点击标题查看
  • --lymons
  • 5. re: 一个小型的无线路由器 Linux 系统OpenWRT[未登录]
  • 评论内容较长,点击标题查看
  • --Lisa

阅读排行榜

  • 1. EVA QQ安装手册(5951)
  • 2. 一个小型的无线路由器 Linux 系统OpenWRT(5850)
  • 3. 昨天玩delphi线程,找到一篇文章,强烈推荐大家看看,tthread代码分析(4622)
  • 4. 基于cmpp协议的超长短信格式(3576)
  • 5. [C++] 使用ifstream.seekg犯的错误 (3364)

评论排行榜

  • 1. symbian 的ini文件类.(26)
  • 2. sourceforge又被封了...你们想让我说什么呢....(18)
  • 3. 基于cmpp协议的超长短信格式(16)
  • 4. 搞定symbian的http 和xml, xml采用sdk自带的cparser(13)
  • 5. 为wince项目写的一个可移植的ini文件读写的class[原创](12)

Powered by: 博客园
模板提供:沪江博客
Copyright ©2009 Khan's Notebook