青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

franksunny的個(gè)人技術(shù)空間
獲得人生中的成功需要的專(zhuān)注與堅(jiān)持不懈多過(guò)天才與機(jī)會(huì)。 ——C.W. Wendte

關(guān)于CompleteWithAppPath函數(shù)

一直以來(lái)以為這個(gè)函數(shù)在S60平臺(tái)是萬(wàn)能的,特別是之前用這個(gè)函數(shù)也是百試不爽,今天無(wú)意間寫(xiě)了個(gè)小Demo發(fā)現(xiàn)在我的N81手機(jī)上,假如傳遞“Data\\rpm.xml”返回值則為-28BadName;假如只傳遞文件名,則其返回值雖然為0,但是路徑卻變成了“c:sys\bin\ rpm.xml”。

一頭的霧水啊,干Symbian也快有3個(gè)多年頭了,從2版本到現(xiàn)在5版本,居然在這個(gè)函數(shù)上沒(méi)搞靈清,實(shí)在是汗顏一下,結(jié)果又搜了些資料,先一個(gè)還是支持以前觀點(diǎn)的,見(jiàn)后面的補(bǔ)全文件路徑操作;后又在諾基亞論壇找到一個(gè)wiki——檢測(cè)應(yīng)用程序路徑,發(fā)現(xiàn)這個(gè)函數(shù)在3rd上有變故,問(wèn)題算是找到了,為此想著好久沒(méi)有更新博客了,來(lái)更新下吧,呵呵。另外跟這里的朋友道個(gè)喜,我上個(gè)月喜得千金,終于升級(jí)做爸爸了。

關(guān)于這個(gè)函數(shù),勸大家以后還是少用、不用為妙,當(dāng)然明白就理能滿(mǎn)足應(yīng)用那就用吧,我寫(xiě)這個(gè)只是提醒大家其并沒(méi)有真正搜索補(bǔ)全路徑的功效。

補(bǔ)全文件路徑操作

 

s60下能用CompleteWithAppPath(aFileName)這個(gè)函數(shù)來(lái)補(bǔ)全文件路徑(aFileName可以不包含任何路徑信息,但是文件名必須完成,而且如果包含路徑信息,則必須正確),如果在UIQ下就不能用該工具函數(shù),只能編寫(xiě)通用與Symbian平臺(tái)的代碼。以下是一個(gè)實(shí)際的案例問(wèn)答。

提問(wèn):

第一,我想知道CompleteWithAppPath(aFileName);這個(gè)在s60下的具體含義是什么?

第二,在UIQ下能用什么代替它。

  下面是我寫(xiě)的一小段程序,請(qǐng)改下

  CBitmap* CBitmap::NewL(TFileName& aFileName, TInt aIndex )

  {

  CBitmap* bmp = new( ELeave )CBitmap;

  //CFbsBitmap tmpb;

  //load the correct bitmap..

  TInt ret;

  //CompleteWithAppPath(aFileName);

 

  // load the bitmap from the mbm file

  CFbsBitmap* tmpb = new (ELeave) CFbsBitmap();

  CleanupStack::PushL(tmpb);

  User::LeaveIfError(tmpb->Load(aFileName, aIndex));

  CleanupStack::Pop(); // bitmap

  bmp->iSize = tmpb->SizeInPixels ();

  bmp->iDrawRect = bmp->iSize;

  bmp->iData = new( ELeave ) TUint16[ bmp->iSize.iWidth * bmp->iSize.iHeight ];

  bmp->iMode = tmpb->DisplayMode();

 

  TUint16* dst = ( TUint16* )bmp->iData;

  for ( TInt y=0; y<bmp->iSize.iHeight; y++ )

  {

  TPtr8 buf( ( TUint8* )dst, bmp->iSize.iWidth*2 );

  tmpb->GetScanLine( buf, TPoint( 0, y ), bmp->iSize.iWidth, EColor4K );

  dst += bmp->iSize.iWidth;

  }

  tmpb->Reset();

  delete tmpb;

  tmpb = NULL;

  return bmp;

  }

解決:

1.CompleteWithAppPath(aFileName)根據(jù)當(dāng)前程序的安裝位置補(bǔ)上aFileName中缺少的路徑組成部分:

Code:

Example1:

TFilename fname = _L("\testdir\pics.mbm"); // Use _LIT instead

CompletePathWithAppPath( fname );

Result: fname == "c:\testdir\pics.mbm" if application was installed to c:

 

Example2:

TFilename fname = _L("pics.mbm"); // Use _LIT instead

CompletePathWithAppPath( fname );

Result: fname == "c:\system\apps\myapp\pics.mbm" if application was installed to c:

 

2.UIQ上可以使用Symbian本身提供的TParse來(lái)做路徑的解析:

Code:

TFileName filename;

TParse parse;

parse.Set( CEikonEnv::Static()->EikAppUi()->Application()->AppFullName(), NULL, NULL);

filename.Copy( parse.DriveAndPath() );

//filename.Copy( parse.Drive() );

 

檢測(cè)應(yīng)用程序路徑

 

詳細(xì)描述終端用戶(hù)將會(huì)選擇將程序安裝到C盤(pán)(手機(jī)存儲(chǔ))或E盤(pán)(存儲(chǔ)卡或內(nèi)置硬盤(pán))中。程序有時(shí)需要知道自己的安裝位置,對(duì)程序安裝位置的判斷取決于S60平臺(tái)的版本。

解決方案S60第二版

 

S60第二版中,使用aknutils.h中的CompleteWithAppPath(TDes& aFileName)方法。這個(gè)方法將返回給定一個(gè)描述符,內(nèi)有所有需要的組成部分(盤(pán)符,路徑,包括后綴的文件名)。任何缺少的部分(路徑和盤(pán)符)將從應(yīng)用程序路徑(<drive>:\system\apps\<application_name> )中獲取

#include <aknutils.h>    // Insert the full application path into the file name (fileName)  

TFileName fullPath(fileName);  

CompleteWithAppPath(fullPath);    // from aknutils.h

解決方案S60第三版

S60第三版向后,所有二進(jìn)制程序(ExeDll文件)都存儲(chǔ)在\Sys\bin中。要訪(fǎng)問(wèn)這個(gè)目錄,程序需要AllFiles能力。資源和數(shù)據(jù)是無(wú)法存入這個(gè)目錄的。程序有自己的目錄\private\<SID>\各自安放,這里SID是一個(gè)安全標(biāo)識(shí),每個(gè)程序都是獨(dú)一無(wú)二的。程序通過(guò)這個(gè)私有目錄存放.ini,.mbm.rsc和數(shù)據(jù)文件。其他沒(méi)有AllFiles能力的程序?qū)o(wú)法訪(fǎng)問(wèn)它們。

S60第三版上CompleteWithAppPath()方法將總是返回\sys\bin作為程序安裝目錄。如果要訪(fǎng)問(wèn)程序的私有目錄中的數(shù)據(jù),將要用另一個(gè)方法來(lái)獲得路徑:

TFileName appPath;

TBuf<2> appDrive;   // Returns private path of this application 

// in following format: \Private\<SID of the application>\ 

// (does not contain drive specification). 

iEikonEnv->FsSession().PrivatePath( appPath );

// Extract drive letter into appDrive 

appDrive.Copy(iEikonEnv->EikAppUi()->Application()->AppFullName().Left(2));

// Insert drive letter into path

appPath.Insert(0, appDrive);

posted on 2010-07-09 19:42 frank.sunny 閱讀(1958) 評(píng)論(2)  編輯 收藏 引用 所屬分類(lèi): symbian 開(kāi)發(fā)

FeedBack:
# re: [整理]關(guān)于CompleteWithAppPath函數(shù)
2010-07-14 18:21 | flashtao613
恭喜~~博主喜得千金!
一年多的時(shí)間從博主的分享中學(xué)到了很多知識(shí)!  回復(fù)  更多評(píng)論
  
# re: [整理]關(guān)于CompleteWithAppPath函數(shù)
2010-07-14 18:30 | frank.sunny
@flashtao613
謝謝啊  回復(fù)  更多評(píng)論
  

常用鏈接

留言簿(13)

隨筆分類(lèi)

個(gè)人其它博客

基礎(chǔ)知識(shí)鏈接

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            狠狠色丁香婷婷综合久久片| 欧美精选一区| 国产精品入口麻豆原神| 亚洲一区日本| 亚洲欧美第一页| 国产真实乱子伦精品视频| 噜噜爱69成人精品| 欧美激情精品久久久久久变态 | 亚洲一区二区在线| 国产农村妇女精品一二区| 久久久久久久久一区二区| 久久手机免费观看| 一区二区三区精品久久久| 亚洲小视频在线| 黄色在线成人| 日韩系列在线| 国产婷婷97碰碰久久人人蜜臀| 欧美91福利在线观看| 欧美日韩精品一区| 久久电影一区| 欧美精品aa| 久久精品国产欧美亚洲人人爽| 久久永久免费| 午夜视频久久久| 欧美freesex交免费视频| 亚洲视频网在线直播| 欧美在线关看| 一区二区三区|亚洲午夜| 欧美专区在线| 欧美一区二区| 欧美性开放视频| 久久久精品国产一区二区三区| 久久综合国产精品| 欧美亚洲一区三区| 欧美成人一区在线| 久久蜜桃资源一区二区老牛 | 亚洲一二三四久久| 亚洲国产精品视频一区| 亚洲欧美日韩精品综合在线观看| 136国产福利精品导航网址| 一区二区激情小说| 亚洲精品久久嫩草网站秘色| 欧美综合国产| 亚洲欧美区自拍先锋| 欧美精品二区三区四区免费看视频| 久久成人一区二区| 国产精品久久久久一区| 亚洲国产精品一区| 国产字幕视频一区二区| 午夜精品一区二区三区电影天堂| 99国产一区| 美玉足脚交一区二区三区图片| 久久精品一区二区三区中文字幕| 欧美三级电影网| 一本到12不卡视频在线dvd| 亚洲精品久久在线| 欧美精品一区二区三区在线播放| 欧美国产日韩亚洲一区| 在线观看欧美视频| 久久偷窥视频| 欧美成人影音| 91久久精品一区| 欧美96在线丨欧| 欧美成人嫩草网站| 最新中文字幕亚洲| 欧美精品亚洲一区二区在线播放| 亚洲电影在线播放| 一区二区日韩| 国产精品网红福利| 亚洲综合日韩| 久久久最新网址| 激情一区二区三区| 免费人成网站在线观看欧美高清| 欧美激情在线观看| 夜夜爽av福利精品导航| 欧美午夜精品一区| 亚洲欧美中文字幕| 久久综合伊人77777蜜臀| 亚洲福利精品| 欧美日韩国产色视频| 一区二区精品在线| 久久精品国产一区二区电影 | 伊人久久婷婷色综合98网| 久久久精品性| 91久久嫩草影院一区二区| 亚洲亚洲精品三区日韩精品在线视频| 欧美日韩亚洲视频| 欧美一区二区视频观看视频| 欧美成人乱码一区二区三区| 一本色道久久加勒比精品| 欧美午夜精品理论片a级大开眼界| 亚洲欧美日韩国产综合| 久久综合色婷婷| 亚洲美女色禁图| 亚洲一区二区视频在线| 黑人极品videos精品欧美裸| 狂野欧美性猛交xxxx巴西| 亚洲免费观看高清完整版在线观看| 亚洲一区成人| 禁久久精品乱码| 国产精品成人v| 久久精品99久久香蕉国产色戒| 亚洲高清视频的网址| 亚洲自拍偷拍网址| 亚洲国产日日夜夜| 国产麻豆精品theporn| 毛片一区二区| 欧美一级久久久| 一本色道久久88精品综合| 久久久久欧美| 亚洲欧美视频一区二区三区| 亚洲第一区中文99精品| 国产女主播一区二区三区| 欧美国产日本韩| 久久精品国产亚洲一区二区| 一二美女精品欧洲| 欧美高清在线播放| 久久视频国产精品免费视频在线| 一级日韩一区在线观看| 亚洲第一黄网| 国内精品久久久久影院薰衣草| 欧美日韩调教| 欧美国产三区| 欧美电影免费观看高清| 久久精品夜色噜噜亚洲a∨| 国产精品99久久99久久久二8| 亚洲国产综合在线看不卡| 欧美成人69| 裸体女人亚洲精品一区| 久久精品国产99精品国产亚洲性色 | 国产精品啊啊啊| 欧美日本不卡| 欧美韩国日本一区| 欧美国产日本在线| 欧美精品成人| 欧美激情综合亚洲一二区| 免费成人高清| 欧美黄色成人网| 欧美国产成人精品| 欧美日韩大片| 欧美日韩国产色综合一二三四| 麻豆成人在线播放| 蜜桃精品久久久久久久免费影院| 久久婷婷av| 久久亚洲捆绑美女| 欧美 日韩 国产在线| 欧美成人黑人xx视频免费观看| 久久亚洲综合网| 欧美电影电视剧在线观看| 欧美黄免费看| 国产精品福利在线| 国产婷婷成人久久av免费高清| 国产亚洲精品v| 伊人久久久大香线蕉综合直播 | 亚洲高清在线观看| 亚洲国产网站| 在线亚洲欧美视频| 午夜精品久久久久久久99樱桃| 亚洲欧美日本国产有色| 欧美与欧洲交xxxx免费观看| 久久精品国产精品亚洲精品| 久久精品国产99国产精品| 免费观看一级特黄欧美大片| 欧美国产在线视频| 亚洲卡通欧美制服中文| 亚洲一区在线免费| 欧美人成网站| 亚洲精品123区| 一区二区国产在线观看| 亚洲欧美日韩精品久久奇米色影视 | 欧美欧美天天天天操| 欧美三级电影精品| 激情综合激情| 一本色道久久综合亚洲精品小说| 亚洲中字在线| 欧美成人一区在线| 亚洲一区精彩视频| 久久综合九色综合久99| 欧美日产一区二区三区在线观看 | 国产精品推荐精品| 亚洲国产精品一区在线观看不卡| 99香蕉国产精品偷在线观看| 久久精品30| 亚洲人成人77777线观看| 亚洲线精品一区二区三区八戒| 久久久久91| 国产精品国产三级国产专播精品人| 一区二区三区在线免费观看| 一区二区高清在线| 欧美aaaaaaaa牛牛影院| 亚洲视频久久| 欧美成人性网| 精品成人一区二区三区| 亚洲欧美另类国产| 亚洲二区视频| 麻豆视频一区二区| 国产在线精品成人一区二区三区| 亚洲视频免费观看| 亚洲国产精品国自产拍av秋霞| 久久大逼视频|