`
文章列表
 brew中对文件操作需要用到的API有:IFileMgr,IFile。IFileMgr用于创建实例,创建、打开文件;IFile负责读、写。     本例子包含以下功能(对txt文件):    1.检查文件是否存在,若存在,打开;不存在,创建。    2.写入信息 ...
高通告诫我们:程序一定要多多在手机上调试。     刚入门时,觉得模拟器是个好东西,显示逼真,想调就调。逐渐地,我发现,在模拟器上调试好的程序,在手机上并不一定能按预计运行。    反差最大的莫过于界面,第一次把程序拷到手机上,期望很大,也很自信,结果——惨不忍睹。     以下是我给大家的一些建议:     1.显示中文时,不要直接在屏幕上打印,把中文文字放在资源(bar)文件里。    //在屏幕上直接打印中文,在手机上会变成乱码    //资源文件便于修改,同时提高程序的可移植性    //修改brx文件后,要重新编译生成新的bar     2.显示文字时,不要固定行高,根据屏幕行 ...
今天和老总参加了一个招聘会,回来帮公司筛选简历,感受颇多!我所在的是一家大型企业。从收到的简历数量可以看出来, 两个小时不到,收到1300份简历,要从中选出100份进行笔试。比例:13选1  要知道,现在有800多万大学生在找工作,每个职位的竞争者最少也要有好几十人,哪个人事主管会仔细看每个人的简历?可以告诉大家,每封简历在筛选人眼前停留的时间最多不超过15秒,我们一个比较过分的老总甚至5秒决定一份简历。不是说不重视,实在是看不过来。如果每封都看得那么仔细,我们都不用干活了。  我通过下午的筛选简历,觉得有必要跟在找工作的朋友们说说一些需要注意的地方。彻彻底底都是我今天的实际感受。    ...
如何在涉世之初少走弯路,有一个好的开端,开始一番成功的事业?以下是一些先行者积累的10条有益的涉世忠告。好好地遵循、把握这些忠告和建议吧,比起所学的课堂课程来,它毫不逊色!      1.买个闹钟,以便按时叫醒 ...

brew开发

在4月13号做手机联网程序,经过3天的努力在4月16号下午14点终于调通了
封装IWeb其实并不算是GUI的范畴,但是一并说了罢。在BREW中实现网络访问有两个选择:ISocket和IWeb,我是比较倾向于使用IWeb的,只要你不是要做一个长连接。因为服务端程序比较容易做,可以直接使用现成的WEB服务器,我们不再需要自己处理并发、缓存等网络服务必须要考虑的东西。使用IWeb并非只能处理HTML的页面,事实上我们完全可以拿它来做文件下载、提交信息(如下载报告)之类的管理。也并非IWeb只能与IHtmlViewer合并使用,我们完全可以将一个IMenuCtl的信息打成二进制包使用IWeb下载并用IMenuCtl来展示,也就是说把它当成一个ISocket一样来使用。首先我们需 ...
今天讨论关于GUI的另一个话题:如何在两个界面切换中表现出比较炫一点的效果,比如渐变、缩放等等。同样我们还是用组件的方式来做。IGSlider,负责管理两个IControl切换的动态效果,它的使用比较简单: static void loadMenu(DisplayFavt * pMe,uint16 wParam)...{    TItemData    *pData;    IControl * p1,*p2;    uint16 style;    pData
还有一个常用的UI控件是单选框与复选框。可惜BREW也不提供,所以,只能自己做一个了。先看一下每个选项的结构定义,我们用图片来做那个选中和未选中的显示,这样才能做出更多更美观的界面效果,所以在结构中有两个成员pCkImage和pNrImage,同时,isSelected用来记录此项是否被选中: typedef struct ...{    int          nItemID;    AECHAR    * pText;    IImage    * pCkImage;    IImage    
前面做IGStatic时我们用到了一个滚动条组件IGScrollBar,现在说说它的实现方法,它的结构很简单: struct _IGScrollBar ...{        const AEEVTBL(IGScrollBar) * pvt;    uint32          m_nRefs;        IShell            *m_pIShell;    IDisplay        *m_pIDisplay;    IModule            
BREW中的IStatic可以方便地显示一个文本,但是它没有背景不能滚动,其实并不方便,所以我们也自己做一个吧。首先,同样是定义它的数据结构如下: struct _IGStatic ...{        const AEEVTBL(IGStatic) * pvt;    uint32          m_nRefs;        IShell            *m_pIShell;    IDisplay        *m_pIDisplay;
有时如果我们在应用中需要提供一个滚动的信息提示条(类似于页面上的跑马灯marquee),其实也很容易做到,类似于我们前面做的菜单,下面我们也讨论一下吧。跑马灯包括的数据结构如下: struct _IGMarquee ...{        const AEEVTBL(IGMarquee) * pvt;    uint32          m_nRefs;        IShell            *m_pIShell;    IDisplay        *m_pIDisplay;
同样是定义一下几个实体结构: //自定义菜单项typedef struct...{   IImage *       pImage;        // Image   uint16         wItemID;   uint32         dwData;}
要实现的菜单比较简单,只支持列表视图,也就是IMenuCtl中的AEECLSID_MENUCTL 模式。但是我们需要考虑两个要求:1.菜单需要一个背景图,并且在每一个选中项的背景不仅仅是简单地填充色,而应该是一个图片(这样我们就可以方便地实现渐变、光晕、立体等效果了)。2.它应该在调用接口方面与原有的IMenuCtl基本一致,这样便于我们移植原来的代码。首先,在h文件中对菜单各个实体先做个定义如下: //自定义菜单项typedef struct...{   const AECHAR * pText;         // Text   IImage 
编了12年的程序,国内国外四处奔波,从“三五个人,十来条枪”的小公司里的程序员一直做到500强企业的系统架构设计师、部门负责人,真是很多感慨。看到院子里大家热火朝天地讨论程序员的年龄和职业通道问题,终于也忍 ...
第1层  菜鸟 第1层楼属于地板层,迈进这层楼的门槛是很低的。基本上懂计算机的基本操作,了解计算机专业的一些基础知识,掌握一门基本的编程语言如C/C++,或者Java,或者JavaScript,...,均可入门迈进这层。 在这层上,中国 ...
Global site tag (gtag.js) - Google Analytics