- 博客(75)
- 资源 (7)
- 收藏
- 关注
原创 GCCE编译器优化,缩小目标程序代码
在C:/Symbian/9.1/S60_3rd_MR_2/Epoc32/tools/compilation_config/gcce.mk中设置编译参数REL_OPTIMISATION=-O2 -fno-unit-at-a-time 大约可将可执行程序减少3/4
2009-09-22 11:35:00
788
原创 第五版手机模拟触屏操作来电时无声的操作
最近在做来电检测的操作,想让来电自动变为无声状态,第三版是模拟一个右软键就可以实现,第五版上右软键的功能是给来电发送短信,查了一些资料,需要模拟一个触屏操作,点击无声按钮就可以, RWsSession ws; ws.Connect(); TRawEvent ev1; TPoint pt(515, 100); ev1.Set(TRawEvent::EButton1Down,
2009-07-10 09:35:00
1171
转载 使用CHWRMVibra类来启动/停止/查询设备震动的状态
设备, 软件 版本:S60 3rd Edition S60 3rd Edition,FP1创建日期:详细描述:CHWRMVibra类是在S60第三版才开始发布的,它提供了控制设备震动模块的能力。我们需要的链接库为:WRMVibraClient.lib链接头文件为:hwrmvibra.h下列代码演示了如何获得震动状态:Code:iVibrate = CHWRMV
2009-03-13 16:00:00
845
原创 程序里判断当前手机是否支持WLAN网络
#include#include//Link against: FeatDiscovery.libTBool ret = CFeatureDiscovery::IsFeatureSupportedL( KFeatureIdProtocolWlan ); 模拟器上判断ret为ETrue,真机上结果正常。
2009-02-20 14:28:00
770
转载 Inserting TTime values in Symbian DB using SQL..
I had been trying to insert TTime values using SQL statements and had real tough time getting the SQL string right. Firstly there is a complete specification for how to format values in the SQL sta
2009-02-05 14:46:00
1164
1
转载 TTIME FORMATL SAMPLE
TTime currentTime;currentTime.HomeTime();TBuf100> time;currentTime.FormatL(time,_L("%Y_%M_%D_%H_%T_%S_%C")); //___18_13_37_474750LOG(time);currentTime.FormatL(time,_L("%Y %M %D %H%T%S%C")); // 18
2009-02-05 14:43:00
1137
转载 如何从Symbian数据库中读取长文本
近日来做Symbian数据库的东西,突然发现用TPtrC16ptr(aRow.ColDes16(aCol));这个方法不能获取类型为EDbColLongText16的字段,并返回“DBMS6”的Panic。百思不得其解,后来终于在NewLC的论坛上找到了解答。现在共享出来。解决方法可以用下面三行代码来表示,大家一目了然:)Code:RDbColReadStream re
2009-01-22 16:30:00
857
转载 Symbian内存泄露检查工具HookLogger安装及使用教程
在使用Symbian进行开发时经常会忘记释放我们曾经使用过的内存或指针,从而导致我们在模拟器中最后退出软件时会爆出提示,而检验遗漏的内存是程序员的天职所在,所以我们要想做好Symbian的开发,就必须熟悉如何查找内存,而Symbian SDK中提供了一个很好的工具HookLogger用来检验我们的内存操作。 下面所提到的是2008年5月1日版(0.423 rc版) 下载:
2009-01-08 11:47:00
2672
原创 程序启动时闪屏功能的实现
为了让程序花哨一点,最近想实现一个程序启动时有一个全屏的界面,中间有一幅图片的功能,查找了一些资料,首先是要让全屏显示,查到好几种方法,选用了其中最简单的一种:AppUi()->ApplicationRect(),这样可实现,但是在显示的时候状态栏上边的信号指示和电量指示器还都存在,影响美观,反复测试发现下面方法可行:在UI里把状态栏替换为空,在闪屏时间到时再恢复到默认状态栏即可,主要代码如下
2008-08-06 22:07:00
1377
转载 Symbian 面板
面板分为状态面板、主面板和软键面板。其中以针对状态面板的操作为主。 状态面板分为下列子面板:标题面板、上下文面板、导航面板、信号面板、电池面板和通用指示符面板。要操作状态面板,首先应该通过CEikStatusPane* CAknAppUi::StatusPane()得到状态面板的指针。CEikStatusPane提供了对状态面板进行操作的各种方法:class CEikStatusP
2008-08-05 16:44:00
2173
6
转载 List Item Definitions
[edit] Single Style List Boxes Class Name Item Example Item String CAknSingleStyleListBox Text "/tText" CAknSingleGraphicStyleListBox Text "0/tText" CAknSingleNumberS
2008-08-03 22:52:00
652
原创 收件箱里创建一条新的未读短信的操作
最近在学习MTM,看到在收件箱里创建一条新的未读短信挺好玩的,可以自己指定发件人的号码和姓名,时间等,尝试做了一下,主要碰到下面问题,记录一下:1、开始创建成功了,但是通过收件箱里信息详情查看的时候显示的是收件人,而不是发件人,这样一看就是假的,后来查资料和请教别人,还需要对CSmsHeader进行处理,用CSmsHeader里的SetFromAddressL添加发送人的号码就可以了。2
2008-08-03 22:05:00
1242
转载 Symbian OS中的消息存储与常用操作
Symbian OS中的消息存储与常用操作说明:本文前面消息的基本知识主要参考《Series60应用程序开发》中的有关内容,后面是前段做MTM开发中用到的代码。一、消息存储基本知识 Symbian OS提供的消息传送架构基于Client/Server机制,服务器负责管理手机上的各种消息,在进行消息相关操作之前我们需要了解Symbian OS是如何组织和存储消息的。 手机中的各种
2008-08-02 16:58:00
726
原创 知道一条信息的TMsvId,如何打开信息浏览视图
知道一条信息的TMsvId,想打开信息浏览视图,主要用如下代码实现:void CMtmEngine::OpenMessage(TMsvId aId){ TMsvEntry msgEntry; // class that represents the entry (a local cache) TMsvId ownerServiceId; if( iSes
2008-07-31 08:47:00
1145
1
原创 CAknColumnListBox下标记的使用
CAknColumnListBox下标记的使用是相当普遍的一个用法,主要用以在同时选择多个项的时候使用,它的主要实现步骤如下:1、构造时iSavedGamesListBox->ConstructL(this,EAknListBoxMarkableList);使用EAknListBoxMarkableList标志2、标记,取消标记,标记全部,全部取消功能的实现 case EAkn
2008-07-30 15:43:00
949
转载 Sending SMS with RSendAs
CRSendAsSender illustrates how to send SMS message using RSendAs in Symbian OS 9.x. To use it just construct the SMS sender by using the static NewL function. The first parameter is reference to t
2008-07-27 10:58:00
1017
转载 如何从当前主题中获取grid文本颜色
标题:如何从当前主题中获取grid文本颜色TSS000596设备, 软件 版本: S60 2nd Edition, S60 3rd Edition详细描述我们可以从当前主题中获取自定义grid(CAknGrid)的文本颜色,但在设置时第二版和第三版略有不同。解决方案S60第二版:正常状态下以及高亮状态下,可以在CCoeControl派生的Container的SizeChanged()方法中设置(该
2008-07-16 17:53:00
894
2
原创 经典短信笑话
1、 士兵问连长:作战时踩到地雷咋办?连长大为恼火:*,能咋办?踩坏了照价赔偿。 2、 很久墨收到你的信息 俺很心疼 俺想到死 曾用薯片割过脉 用豆腐撞过头 用降落伞跳过楼 用面条上过吊 可都墨死成 你就请俺吃顿饭 撑死俺算了 3、 如果感到心里挖凉挖凉的,请拨打俺的电话!谈感情请按1,谈工作请按2,谈人生请按3,给俺介绍对象请按5,
2008-07-15 15:26:00
735
转载 如何通过EasyDgm发送中文短信(unicode)
EasyDgm是一个用于拦截短消息,发送短信的插件代码。用该插件拦截短信没有提示音,发送也不提示用户。但是本身该代码是老外开发的,只是针对8位编码的字符,没有根据我们中文的编码来做成完全Unicode版本的,为此以下改写就是实现Unicode字符串的发送。1、 修改DatagramService工程中的代码,将其内用到的8位描述符修改为16位,具体修改的描述罗列如下://修改前内容
2008-07-08 10:54:00
908
转载 Changing Status pane text and icon
The status pane icon and title are a good way of showing the current status inside the application. The following code samples illustrate how you can change the status pane icon and text on run time t
2008-07-07 15:18:00
754
原创 调用名片夹视图选择名片信息
今天尝试了一下,在程序中调用名片选择视图的功能,大致实现如下:CPbkContactEngine* pbkContactEngine = CPbkContactEngine::NewL(&iEikonEnv->FsSession()); CleanupStack::PushL(pbkContactEngine); RPbkViewResourceFile phonebookResou
2008-07-03 10:36:00
1210
1
原创 使用GRID来实现九宫格菜单
1、头文件中声明用到的变量CAknGrid* iGrid; CAknGridM* iGridM; TInt iNumOfRows; TInt iNumOfColumns; TSize iCellSize; TInt iGraphHeight;2、源文件中的代码const TInt KNumOfSelectionColumns = 3; con
2008-06-23 09:01:00
2063
1
原创 多视图结构下滚动条的出现
在传统应用程序框架下,用LISTBOX创建的滚动条这,但是在多视图框架下,就显示不出来,很是郁闷,找了一些资料终于解决了在view的DoActivateL中,如果ListBox创建在AppUi()->AddToStackL( *this, iContainer );前,则滚动条显示不出来,因此,ListBox的创建不能在Container的ConstructL中,或者至少说ScrollBar的
2008-06-21 09:57:00
728
转载 如何隐藏命令按钮(CBA)
在有些情况下需要隐藏已经存在的CBA(Command Button Area命令按钮区域)的某一命令按钮。比如,“选项----返回”,有时候需要将“选项”命令按钮以及选项下的菜单全部隐藏。 在上月的项目开发中,遇到了这样一个问题: 我做的是掌上法律词典,分成三个独立模块:法律法规、法律词库 和 使用说明。其中,法律词库是对某一个法律词条进行简短的解释,从法律词条
2008-06-20 08:43:00
757
转载 How to change text of CBA buttons?
Origine: http://forum.newlc.com/index.php/topic,12882.0.htmlIn the RSS file:RESOURCE CBA r_yourapp_softkeys_options_open { buttons = { CBA_BUTTON { id=EAknSoftkeyOptions; txt = "Options
2008-06-20 08:41:00
540
原创 如何使用CAknSearchField
CAknSingleStyleListBox* iListBox;CAknSearchField* iListBoxSearchField; //defined CGulIcon* defaultIcon = NULL; CAknSearchField* searchField = CAknSearchField::NewL( *this, CAknSearchFiel
2008-06-17 16:24:00
2116
2
原创 确认键弹出菜单问题的解决
Container中按确认键动态弹出菜单的一步用法是TKeyResponse CContextMenuContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType) { // If the Select Key (OK key in emulator) is pressed, show the cont
2008-06-13 10:25:00
842
原创 多视图设置列表的实现
最近看一些程序中有多视图设置列表,学习了一下怎么实现的,简单记录一下,以免以后备查,主要功能如下图程序主界面选择菜单里的设置选项打开设置视图一打开设置视图二1、UI类继承自MAknTabObserver类,并且实现它的void TabChangedL(TInt aIndex);函数(详细实现见下)。2、在UI类里定义导航指示器的指针CAknNavigat
2008-05-30 17:55:00
1428
原创 多网卡机器列出所有的IP地址
一个访问FTP服务器的程序因为在双网卡的机器上,还是发送PORT命令错误,特查了一下是默认使用了另外一个受限的IP地址的原因,修改了一下,把其中一段列出所有IP的代码记录一下,以免以后使用时忘记。char *ip; PHOSTENT hostinfo; if( gethostname ( name, sizeof(name)) == 0) if((hostinfo =
2008-05-29 15:31:00
812
原创 CAknPopupFieldText在表单中动态创建及动态增加数组列表的操作
折腾了一天终于把CAknPopupFieldText在表单中动态创建及动态增加数组列表的操作搞定,主要分为以下几步:1、定义资源文件RESOURCE ARRAY r_settings_choice_std { items = { LBUF { txt = qtn_appl_test;
2008-05-29 09:18:00
1698
2
转载 MPEG音频文件格式(包括MP3文件格式)详解
最近又在做MP3相关的程序,需要了解mp3的文件格式,于是就从网上找了一些资料,并将内容整理如下,加入了自己的一些理解。 MP3 文件是由帧(frame)构成的,帧是MP3 文件最小的组成单位。MP3 的全称应为MPEG1 Layer-3 音频文件,MPEG(Moving Picture Experts Group)在汉语中译为活动图像专家组,特指活动影音压缩标准,MPEG 音频文件是MPE
2008-05-23 17:27:00
1377
转载 Symbian 中各种提示、输入对话框的使用
1、非阻塞提示框symbian定义了几个提示类,分别是:confirm类:CAknConfirmationNoteinfo类: CAknInformationNotewarning类:CAknWarningNoteerror类: CAknErrorNote头文件:aknnotewrappers.hlib:avkon.lib eikcdlg.lib eikctl.lib使用方法:Code
2008-05-23 17:25:00
531
转载 在symbian中如何使用MP3DecodeDLL播放MP3
mp3播放引擎头文件#if !defined(__WAVEGEN_ENGINE_H__)#define __WAVEGEN_ENGINE_H__#if !defined(__MDA_COMMON_AUDIO_H__)#include #endif#if !defined(__MDA_CLIENT_UTILITY_H__)#include #endif#if !defined(__M
2008-05-23 17:24:00
609
转载 总结开发中的19个问题+若干问题
1、获取IMSI号、手机版本等 CTelephony:GetSubscriberId() CTelephony:GetPhoneId() CTelephony:Version()2、获取屏幕尺寸 TSize CEikConsoleScreen::ScreenSize 3、更改ListBox字体 方法1: _LIT(KFontNam
2008-05-23 17:23:00
824
转载 基本绘图函数的使用
设置好CGraphicsContent后,我们就可以通过调用相关方法在窗口中绘制图形。1文本:void DrawText(const TDesC& aText,const TPoint& aPosition)void DrawText(const TDesC& aText,const TRect& aBox,TInt aBaselineOffset, TTextAlign aAlignme
2008-05-23 17:22:00
658
转载 播放WAV文件
播放WAV文件播放一个wav文件要比想象中容易很多,因为很多事情都交给了系统。在这个工程中CSoundPlayer实现了播放wav文件的必要步骤[Copy to clipboard]CODE:#include class CSoundPlayer: public CBase, public MMdaAudioPlayerCallback{public: static CSo
2008-05-23 17:21:00
665
转载 图片半透明效果
我封装了一个方法,传入相应的图片,就会把图片变成半透明效果并显示在程序界面上.void CMegajoyContainer::ConvertToAlpha(CWindowGc& gc,CFbsBitmap *imgToBrighten) const { CFbsBitmap* iEmptyBitmap = new ( ELeave ) CFbsBitmap(); CleanupStack:
2008-05-23 17:20:00
608
转载 网络流量曲线图代码
效果图如下:实现方法:1、创建一个计时器,请将其打开2、写计时器活动对象的回调函数,在回调函数中刷新屏幕实现代码如下:创建计时器活动对象并且打开定时器: iPeriodicTimer = CPeriodic::NewL( CActive::EPriorityStandard );//创建活动对象 StartTimer();//打开定时器 打开定时器代码:1 if (
2008-05-23 17:18:00
1204
转载 如何检测手机型号
如何检测手机型号所有的Series60设备都拥有一个由制造商分配的唯一标识符-机器UID;因此可以通过这一UID信息来获取手机型号;本文就介绍了这种方法.常见的S60机型及其机器UID:S60 1st Edition (0.9):Nokia 7650 0x101F4FC3S60 1st Edition, FP1 (1.2):Nokia 3650 0x101F4
2008-05-23 17:17:00
3927
转载 手机撒谎软件之实现
手机撒谎软件之实现近日风行流氓软件,就连手机平台也加入了堕落的行列。现在俺就简单写一下这种手机上的流氓是如何欺骗人的。手机撒谎软件主要功能:你正在外面干见不得人的事,这时候老爸打电话问你干啥呢,这个软件就发挥作用了,播放一段打篮球或者老师讲课的录音,这样你可怜的老爸就以为你在努力学习呢。唉。。。。首先讲一下现在手机的平台,主要平台为Nokia下的Symbian开发,使用C++。流氓的准备工作
2008-05-23 17:14:00
916
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人