摘要: 导言 ASP.NET如何在不依赖Windows服务的情况下运行计划任务呢?我们常常需要执行一些维护任务或计划任务,例如在网站上向用户发送提醒邮件等。ASP.NET并不能持续运行一段程序或计划任务,我们可以利用Windows服务来运行计划任务或时钟守护工作。但是,在虚拟主机上我们并不能部署Windows服务,或许你可以购买专用主机来实现这个功能,不过这对普通用户来说太奢侈了。计划任务能帮助... 阅读全文
posted @ 2009-02-27 19:00 Snlo.cn 阅读(1606) 评论(2) 推荐(0) 编辑
摘要: 个人很喜欢诺基亚的手机,也喜欢程序,想自己的程序能运行到诺基亚手机上,于是想学Symbian编程。其实这个想法由来已久,因为之前没接触过,基础比较差,时间也比较少,一直拖到现在。我的情况是完全没有Symbian开发经验,C++也不精通,因此笔记可能会比较啰嗦,希望对新手朋友有所帮助,高手请多多指正。 首先是开发环境的配置 我的是: 1. ActivePer... 阅读全文
posted @ 2008-11-05 15:18 Snlo.cn 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 1. 获取文件的完全路径 在头文件添加下列声明:IMPORT_C TInt CompleteWithAppPath( TDes& aFileName );TFileName filename(_L("RETROBLASTER.MBM"));CompleteWithAppPath( filename ); 2. 获取当前设备显示方式(就是获取设备的色深) 使用的头文件:#include 在任何VIEW视图代码里面:TDisplayMode displayMode = iEikonEnv-ScreenDevice()-DisplayMode(); 3. 获取当前系统时间(一般用于游戏开发,计算2祯之间的时间差) TTime currentTime;currentTime.HomeTime();TInt64 currentTick = currentTime.Int64(); 阅读全文
posted @ 2008-11-04 17:11 Snlo.cn 阅读(1107) 评论(0) 推荐(0) 编辑
摘要: 教材里说到活动对象时,总拿CTimer来做例子,从CActive派生一个CMyActive然后它包括一个CTimer iTimer,再利用它的异步函数iTimer.After来演示活动对象的效果。 但是CTimer本身就已经是源于CActive了,所以我今天来讨论的是直接使用定时器,必竟在手机上定时器是一个比较常用的功能(在BREW开发中因为没有多线程,几乎所有的应用都会用上那个ISHELL_SetTimer)。 CTimer有两个子类CPeriodic和CHeartbeat,都可以处理周期性的定时器回调,其中心跳当然是更有规律一些了,它的使用也稍稍麻烦一点。 阅读全文
posted @ 2008-10-30 03:00 Snlo.cn 阅读(579) 评论(0) 推荐(0) 编辑
摘要: symbian支持多线程(它有一个RThread类)但却又不提倡大家使用多线程,理由一般是说应用更安全?代码更简单?不过我觉得最有说服力的是省电。 既然如此,那我们就不说“多线程”,说说“多任务”吧,活动对象(Active Object)提供了非抢占式的多任务协同处理机制,它不是多线程的,而是运行在一个单线程中。 AO机制包括两个类CActiveScheduler和CActive: 调度器CActiveScheduler:顾名思义它是协调多个活动对象的调度者。既然是非抢占式的,那它的调度原则是什么呢?教材上说法是: 阅读全文
posted @ 2008-10-30 02:58 Snlo.cn 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 上次学习的是从MIF和MBM文件中加载图像,一般在程序中出现的图片都可以用这个方法,但有一点点遗憾,它只能使用svg或bmp格式,BREW或J2ME中的资源却多为png格式的。 如果想在symbian中使用jpg或者png图片,则需要用到symbian提供的那个Multimedia ICL库里的类了。其中比较重的是CImageDecoder类,提供了对图像进行解码的功能。 阅读全文
posted @ 2008-10-30 02:55 Snlo.cn 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 今天学习一下如何修改GUI程序中的图标与如何加载图像。 与2nd.不同的是,3rd.支持svg格式的可缩放图标(最大好处在于一个图标搞定,以前用bmp时为了应用程序的菜单图标得要做四个小图标)。而且,现在有了一种新的图像打包格式mif(这名字咋跟BREW中那个MIF一样啊)。虽然还支持以前的MBM方式但是不建议使用了。 要在应用程序中增加图像图标资源,过程如下: 阅读全文
posted @ 2008-10-30 02:53 Snlo.cn 阅读(1439) 评论(0) 推荐(0) 编辑
摘要: 开发symbian的GUI应用是有模板的,用Carbide C++的工程向导可以自动生成程序的基本框架。不过可能与安装的SDK版本有关,我现在只能生成一个AppUi一个Container的常规模板(以前用2nd FP3时还可以生成多个view多个container的视图模板)。 不管是哪一种模板,它们共同的部分是入口函数、Application和Document。即以下三个文件是所有工程都具有的: 1)有一个与工程同名的cpp文件,它只提供了两个全局函数,是程序执行的入口,负责创造Application。这个文件我们不用管它。 2)有一个以工程名+Application命名的类,派生于CAknApplication,它负责创建文档类并提供应用的UID。一般情况下它也不需要我们操心,但是因为它提供了一个函数OpenIniFileLC,如果我们需要在启动程序时加载ini文件中的配置,可以重载它。 阅读全文
posted @ 2008-10-30 02:47 Snlo.cn 阅读(911) 评论(0) 推荐(0) 编辑
摘要: 第一次打开SymbianC++的程序源代码,第一感觉就是“这是C/C++吗?咋这么眼生啊”。 看代码看书,才算是稍稍明白了一点,其实无非就是typedef罢了,symbian可比brew定义了更多的东西。 这是以后干活的基础,所以做个笔记,省得忘了。 一、基本数据类型 这个比较简单,都在e32def.h中写着呢。也就是以下这几个类型要注意一下,以后照着写罢了,含义也很明了,不用多说。 阅读全文
posted @ 2008-10-30 02:41 Snlo.cn 阅读(903) 评论(1) 推荐(0) 编辑
摘要: 在BREW的开发环境中,没有一个联机调试工具,一直是我觉得相当不方便的事情。在S60平台上做开发,至少这一点是能满足我们的需要。 第一种方法:Carbide C++ v1.2 的 Debug On Device Carbide C++1.2的pro.以上版本都支持设备调试,实在是一件大快人心的事。 要实现这个功能,也是相当的方便,当然前提是你用的是Carbide C++ v1.2的Pro.以上版本。 按正常模式写程序,在模拟器上都弄的差不多了,想放到设备中调试的话,只需要做下面几步: 1、先在设备中安装一个软件,安装包在carbide的安装目录下,我机器上的位置是C:\Nokia\Carbide.c++ v1.2\plugins\com.nokia.carbide.trk.support_1.2.0.29\trk\s60,下面有两个 sis文件,因为我要在N73上调试,所以我选择其中的s60_3_0_app_trk_2_7.sisx这个,另一个3_1是用于3rd.FP1手机的。安装后在手机里就有一个TRK应用了。 阅读全文
posted @ 2008-10-30 01:08 Snlo.cn 阅读(1024) 评论(0) 推荐(0) 编辑