Discussion Board

Page 2 of 41 FirstFirst 123456789101112 ... LastLast
Results 16 to 30 of 606
  1. #16
    标题: 怎样获取可用的堆内存(heap memory)数量
    TSS000057
    开发伙伴平台: 60系列开发平台 1.0/2.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    获取可用堆内存的数量,请参考SDK Help中的User::Available()
    和RHeap::Available()两个函数。

    创建日期:2003.3.3
    BestRegards
    hoolee

  2. #17
    标题: 如何在程序中启动记事本及图片浏览程序
    TSS000191
    开发伙伴平台: 60系列开发平台 2.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    我们可以通过下列方式在程序中启动记事本及图片浏览程序
    Code:
    void TTestEmbedApp::EmbedLaunchFileL(const TDesC& aFile)
    {
        // iDocHandler is a CDocumentHandler pointer
        if( !iDocHandler)
            {
            iDocHandler = CDocumentHandler::NewL((CEikProcess*)iEikonEnv->Process());
            }
        TDataType empty;
        iDocHandler->OpenFileEmbeddedL(aFile, empty);
    }
    程序将根据文件类型启动相应的系统程序(记事本或图片浏览器),如果aFile为txt文件
    则记事本将启动,并显示这个文件。
    如果aFile是jpg文件,则图片浏览器将启动,并显示这张图片。
    这里需要用到下列库:
    LIBRARYcommonui.lib // Documenthandler
    LIBRARYapmime.lib // TDataType

    需要包含下列头文件:
    #include <DocumentHandler.h>
    #include <apmstd.h> // TDataType
    创建日期:2005.3.17


    BestRegards
    hoolee

  3. #18
    标题: 如何构造一个能接收多位数字的输入框
    TSS000178
    开发伙伴平台: 60系列开发平台 1.0/2.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    详细描述
    我想向用户提供一个输入框,用户可以输入15位数字。我现在使用
    CAknTextQueryDialog,因为CAknNumberQueryDialog虽然能接收数字输入,但不能满足我的位数要求。
    如果使用CAknTextQueryDialog虽然可以输入足够15位字符,但很难保证用户输入的就是数字。
    请问有没有方法提供一个能接收多位数字的输入框?
    解决方案
    可以通过指定Edwin editor的flags标记来限定用户的输入,输入对话框的资源看起来如下:
    Code:
    DLG_LINE
    {
    type=EEikCtEdwin;
    id=EMyQuery;
    
        control=EDWIN { maxlength=15; };
    }
    ...
    void CTestDlgDialog::PrepareLC(TInt aResourceId)
    {
    CEikDialog::PrepareLC( aResourceId );
    // Dialog base class can be CAknDialog    
    
    //CAknDialog::PrepareLC( aResourceId );
    // Pick up the Editor control from the dialog 
    CEikEdwin* control = static_cast<CEikEdwin*>(ControlOrNull(EMyQuery));
    // Set the input mode
    control->SetAknEditorInputMode(EAknEditorNumericInputMode);
    // Restrict the other input modes
    control->SetAknEditorAllowedInputModes(EAknEditorNumericInputMode);
    }
    上面的示例提供给用户一个可以输入足够位数数字的对话框。
    但是它也允许用户输入"*#pw+"这样的字符——通过使用"*"或
    "#"键,我们可以监控用户的按键输入来避免用户输入这些字符。
    还可以显示一个警告框提示用户的非法输入。
    创建日期:2005.3.27


    BestRegards
    hoolee
    Last edited by hoolee; 2005-04-26 at 12:56.

  4. #19
    标题: 我准备编译这个例子:
    (Symbian\6.1\Series60\Epoc32Ex\Graphics\WS\BitmapSprite ),
    可是却无法找到BitmapSprite.mbg,这个文件去哪里了?
    TSS000040
    开发伙伴平台: 60系列开发平台 1.0/2.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    这个.mbg文件时被bmconv工具(命令行程序)加了/h命令后,自动
    生成的头文件。
    例如:
    Code:
    bmconv /hBitmapSprite.mbg Mil1mask.bmp Mil2mask.bmp Windml1a.bmp
    
    Windml1b.bmp Windml1c.bmp Windml1d.bmp Windml2a.bmp Windml2b.bmp
    
    Windml2c.bmp Windml2d.bmp
    这样的命令行程序会从Windows位图文件中生成EPOC(译者注:
    Symbian)的多位图文件(multi-bitmap)和所需要用的头文件。
    注意:如果环境变量PATH设置不正确的话,会产生bad command or filename
    错误。
    如果使用下面的工具程序的话:
    Code:
    bldmake bldfiles
    
    abld build wins urel
    而且MMP文件包含了下面的BITMAP定义(在此例子中):
    Code:
    START BITMAP BitmapSprite.mbm
    
    header
    
    sourcepath .
    
    source 2 Windml1a.bmp Windml2a.bmp Windml1b.bmp Windml2b.bmp 
    
    source 2 Windml1c.bmp Windml2c.bmp Windml1d.bmp Windml2d.bmp 
    
    source 2 Mil1mask.bmp Mil2mask.bmp 
    
    end
    .mbg头文件就会被自动生成。

    其实位图头文件的内容很简单:
    Code:
    // BitmapSprite.mbg
    
    // Generated by BitmapCompiler
    
    // Copyright (c) 1998-2000 Symbian Ltd.  All rights 
    
    // reserved.
    
    enum TMbmBitmapsprite    
    
    {    
    
    EMbmBitmapspriteMil2mask,    
    
    EMbmBitmapspriteWindml1a,    
    
    EMbmBitmapspriteWindml1b,    
    
    EMbmBitmapspriteWindml1c,    
    
    EMbmBitmapspriteWindml1d,    
    
    EMbmBitmapspriteWindml2a,    
    
    EMbmBitmapspriteWindml2b,    
    
    EMbmBitmapspriteWindml2c,    
    
    EMbmBitmapspriteWindml2d    
    
    };


    创建日期:2003.4.4
    BestRegards
    hoolee

  5. #20
    标题: 在应用程序中内置一个摄像头的视图(view)
    TSS000037
    开发伙伴平台: 60系列开发平台 1.0/2.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 多媒体
    说明:
    详细描述
    我怎样可以像我的程序中添加一个内置式的
    摄像头的视图(view)呢?比如在'信息'程序
    中,选项->添加->新图象,这样的功能。
    概况
    下面的代码演示了如何在一个应用程序中内
    置一个摄像头程序。包括启动摄像头的函数,
    MApaEmbeddedDocObserver::NotifyExit()
    这一函数也要对其进行实现,以便用户退出
    时做出响应。
    解决方案
    Code:
    void MyApplication::NewImage()
    
       {
    
       const TUid KUidCamera    = { 0x1000593F };
    
       RApaLsSession apaLs;
    
       TApaAppInfo   appInfo;
    
       CApaDocument* doc = NULL;
    
       CEikProcess*  process = CEikonEnv::Static()->Process();
    
       User::LeaveIfError(apaLs.Connect());
    
       CleanupClosePushL(apaLs);
    
       User::LeaveIfError(apaLs.GetAppInfo(appInfo, KUidCamera));
    
       doc = process->AddNewDocumentL(appInfo.iCaption, KUidCamera);
    
       CleanupStack::PopAndDestroy(); // apaLs
    
       TApaDocCleanupItem cleanup(process, doc);
    
       CleanupStack::PushL(cleanup);
    
       doc->NewDocumentL();
    
       CleanupStack::Pop(); // cleanup
    
       doc->EditL(this, ETrue);
    
       }
    
    void MyApplication::NotifyExit(TExitMode aMode)
    
       {
    
       // camera view has been closed
    
       }

    创建日期:2003.3.4
    BestRegards
    hoolee

  6. #21
    标题: 怎样检测笔型键("ABC"key)
    TSS000055
    开发伙伴平台: 60系列开发平台 1.0/2.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    详细描述
    笔型键("ABC"key)的TKeyEvent.iCode值和iScanCode
    的值分别是什么?
    解决方案
    在60系列手持设备上,笔型键被影射为上档修饰(Shift
    Modifier)键。下面的代码演示和如何可以检测他:
    Code:
     TKeyResponse CMyClass::OfferKeyEventL(...)
    
        {
    
        TBool shiftKeyPressed = (aKeyEvent.iModifiers & EModifierShift);
    
        ...
    
        }
    他的键盘码和扫描码(keycode and scancode)取决于按
    下SHIFT键的同时还按下了另外哪个键。下面的代码演示
    了一个列表框的OfferKeyEventL()函数如何检测
    SHIFT+OK组和键,这个组和键被用来标记列表框成员。
    Code:
    TKeyResponse CMyBusinessClass::OfferKeyEventL(...)
    
        {
    
        TBool shiftKeyPressed = (aKeyEvent.iModifiers & EModifierShift);
    
        if (shiftKeyPressed && aKeyEvent.iCode==EKeyOK)
    
            DoSomething();
    
        ... 
    
        }
    创建日期:2003.7.4
    BestRegards
    hoolee
    Last edited by hoolee; 2005-04-26 at 13:01.

  7. #22
    标题: 怎样可以检测一部Nokia N-Gage™游戏手机的USB线缆是否连接
    TSS000054
    开发伙伴平台: 60系列开发平台 1.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    详细描述
    当USB电缆连接到了一部Nokia N-Gage™游戏手机上时,
    手机的MMC存储卡活动就减慢了速度或者暂停下来了。
    请问程序中我怎样可以检测USB电缆连接到了设备上?
    解决方案
    很不幸,你不能检测USB电缆是否被插上了或者没有被
    插上。USB设备的操作并不属于Symbian平台方面,尽管
    他的确会减慢MMC存储卡活动甚至让它停止。
    创建日期:2003.7.4
    BestRegards
    hoolee

  8. #23
    标题: 我怎样可以获取一个视图(view)中控件(container)的指针?
    TSS000042
    开发伙伴平台: 60系列开发平台 1.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    你可以通过下面的方法来获取一个视图(view)中控件(container)的指针:
    Code:
    CAknView* view = iAvkonViewAppUi->View(myViewUid);
    创建日期:2003.6.2
    BestRegards
    hoolee

  9. #24
    标题: 怎么才能隐藏菜单中的图标?
    TSS000043
    开发伙伴平台: 60系列开发平台 1.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    在AIF资源文件中(.rss)中使用KAppIsHidden标记
    Code:
    RESOURCE AIF_DATA
        {
        app_uid=...;
        num_icons=2;
        embeddability=KAppNotEmbeddable;
        newfile=KAppDoesNotSupportNewFile;'
        hidden=KAppIsHidden;
        }
    创建日期:2003.3.14

    BestRegards
    hoolee

  10. #25
    标题: 如何不让程序显示在任务列表中?
    TSS000044
    开发伙伴平台: 60系列开发平台 1.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    描述:
    一个应用程序可以被设为电话程序级别,这样就不会响应关闭程序事件了。
    如果要这样做,我们需要调用CEikonEnv::SetSystem(ETrue)。
    而另一个相似的函数为CEikonEnv::SetBusy(),它的不同之处在于在关闭时会
    显示一个确认对话框,在用户确认之前是不会关闭该程序的。这主要用
    于重要任务不能被中断时。
    解决方案:
    下面的代码展示了如何将程序从任务列表中隐去。
    Code:
    TInt wgId = iEikonEnv->RootWin().Identifier();
    RWsSession session = iEikonEnv->WsSession();
    CApaWindowGroupName* wgName = CApaWindowGroupName::NewLC(session, wgId);
    wgName->SetHidden(ETrue);
    wgName->SetWindowGroupName(iEikonEnv->RootWin());
    CleanupStack::PopAndDestroy(); // wgName
    结论:
    第三方程序切记不要使用隐藏或系统级别处理。除非这样做是十分必须和必要的。
    对用户来说,总应该可以看到自己手机上正在运行的程序,并予于关闭、释放内存。
    创建日期:2003.9.15

    BestRegards
    hoolee

  11. #26
    标题: 如何隐去等待对话框中的齿轮图标
    TSS000172
    开发伙伴平台: 60系列开发平台 1.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    详细描述
    在等待对话框中我们一般都会看到一个齿轮动籣图标,你也可以定义你自己的图标来取代它。参考SDK中的note例子就可以了解。
    在avkon.mbg中有很多图标的id,如EMbmAvkonQgn_note_empty和EMbmAvkonQgn_note_empty_mask,怎么使用它们才能显示一个空白图标呢?
    下面的资源示例展示了如何构造一个空白图标的等待对话框:
    Code:
    RESOURCE DIALOG r_aknexnote_wait_note_softkey_cancel
     {
     flags = EAknWaitNoteFlags;
     buttons = R_AVKON_SOFTKEYS_CANCEL;
     items =
         {
         DLG_LINE
             {
             type = EAknCtNote;
             id = EAknExNoteCtrlIdWaitNote;
             control= AVKON_NOTE
                 {
                 layout = EWaitLayout;
                 singular_label = qtn_aknexnote_wait_prompt;
                                
                 imagefile = AVKON_BMPFILE_NAME;
                 imageid = EMbmAvkonQgn_note_empty;
                 imagemask = EMbmAvkonQgn_note_empty_mask;
    
                    animation = R_QGN_GRAF_WAIT_BAR_ANIM;
                 };
             }
         };
     }
    创建日期:2003.3.13

    BestRegards
    hoolee

  12. #27
    标题: 如何在程序中启动安装程序卸载某应用?
    TSS000174
    开发伙伴平台: Series 80
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    下列代码展示了如何在程序中启动安装程序卸载某应用,在“c:\system\install\”下有相应程序.SIS文件,它包含了程序安装的信息。我们要进行的卸载操作就是要将.PKG中所有生成的文件都删除干净,以及c:\system\install\目录下相关的.SIS文件。
    Code:
    #include <apacmdln.h>
    #include <eikdll.h>
    #include <instapp.h>
    
    CApaCommandLine* cmdLine;
    cmdLine=CApaCommandLine::NewLC();
    cmdLine->SetLibraryNameL(
        _L("z:\\System\\apps\\instapp\\instapp.app"));
    cmdLine->SetDocumentNameL(
        _L("c:\\system\\install\\MyApplication.sis"));
    cmdLine->SetCommandL(EApaCommandRun);
    cmdLine->SetTailEndL(KUninstallCommandLineTail);
    EikDll::StartAppL(*cmdLine);
    CleanupStack::PopAndDestroy(); // cmdLine
    创建日期:2003.3.8

    BestRegards
    hoolee

  13. #28
    标题: 当我尝试使用
    CEikonEnv::Static()->CreateBitmapL()打开文件的
    时候程序当掉了,函数总是返回-1001错误代码。我
    怎样才能找到訽因?
    TSS000025
    开发伙伴平台: Series 60 1.0/2.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    详细描述
    当我使用CEikonEnv::Static()->CreateBitmapL()来打
    开一个文件时程序运行失败。不管发生了什么错误(比
    如内存不足或者文件没有找到),程序总是返回-1001
    错误。我怎样才能找到比如“文件未找到”这样的错误提
    示呢?

    解决方案
    如果错误的訽因出现在了文件系统中,那么可以用函数
    CWsBitmap::Load()来代替CreateBitmapL()。如果发生
    的是一个错误,程序是会返回的是一个系统级的错误代
    码的。CEikonEnv使用CWsBitmap::Load()函数来调用一
    个位图但是如果遇到了错误就会“退出(Leave)”。退出
    (Leave)机制被用来提供了一个在错误处理API范围内的
    错误文本提示信息。在使用文件名作为参数来调用Load()
    和CreateBitmapL()函数时,二者是有所不同的。前者
    只能使用绝对路径。


    创建日期:2003.9.8

    BestRegards
    hoolee

  14. #29
    标题: 在一部60系列设备上,
    我怎样可以在使用摄像头拍照的时候添加一个快门的
    声音呢?
    TSS000029
    开发伙伴平台: Series 60 1.0/2.0
    设备, 软件版本:
    大类: Symbian C++
    子类: 多媒体
    说明:
    使用CAknKeySoundSystem类将会在摄像头捕捉籣面的
    时候播放声音方面是一个很有效的方法。下面的代码
    演示了如何在你的应用程序中实现这个特性:
    Code:
    // myapp.h
    
    #include <aknsoundsystem.h>
    
    const TInt KSnapSoundId = 2;
    
    class MyClass
    
      {
    
      ...
    
    private:
    
      CAknKeySoundSystem* iCameraSound;
    
      };
    
    void MyClass::ConstructL()
    
      {
    
      ...
    
      iCameraSound =
    
       static_cast<CAknAppUi*>(CEikonEnv::Static()->AppUi())->KeySounds();
    
        if (iCameraSound)
    
            {
    
            TRAPD(error, iCameraSound->AddAppSoundInfoListL(
    
                  R_CAMERA_SNAP_SOUND));
    
            if ((error != KErrAlreadyExists) && (error != KErrNone))
    
                {
    
                User::LeaveIfError(error);
    
                }
    
            }
    
      }
    
    void MyClass::PlaySnapSound()
    
      {
    
      iCameraSound->PlaySound(KSnapSoundId);
    
      }
    在你的.RSS资源文件中添加下面的代码
    Code:
    #define KcameraSoundFile
    
        "Z:\\system\\sounds\\digital\\Camera1a_2_8kHz.wav"
    
    #define KSnapSoundId 2
    
    RESOURCE AVKON_SOUND_INFO_LIST r_camera_snap_sound
    
        {
    
        list =
    
             {
    
            AVKON_SOUND_INFO
    
               {
    
                sid = KSnapSoundId;
    
                priority = 45;
    
                preference = EAknAudioPrefCamera; // defined in avkon.hrh
    
                file = KCameraSoundFile;
    
                }
    
            };
    
        }
    创建日期:2003.10.29

    BestRegards
    hoolee

  15. #30
    标题: 我怎样可以查看Z驱动器
    的文件目录结构呢?
    TSS000048
    开发伙伴平台: Series 80
    设备, 软件版本:
    大类: Symbian C++
    子类: 普通
    说明:
    使用以下的步骤你就可以浏览Z盘驱动器的内容:
    1,打开文件管理器
    2,用键盘输入“++sp”并看到右上角会显示信息
    3,打开从“工具”菜单项中打开“设置”,一个名
    为“ShowROM”的选项会显示出来
    4,开启“ShowROM”选项,并重新启动文件管理器

    现在你就可以浏览Z盘驱动器的内容了。

    创建日期:2003.5.6

    BestRegards
    hoolee
    Last edited by hoolee; 2005-05-10 at 10:54.

Page 2 of 41 FirstFirst 123456789101112 ... LastLast

Similar Threads

  1. N73 中文版
    By TANKFans in forum Symbian
    Replies: 1
    Last Post: 2007-09-05, 02:15

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved