屏蔽方法:
進入新的CCLayer時:
[[CCDirector sharedDirector].touchDispatcher addTargetedDelegate:self priority:kCCMenuHandlerPriority swallowsTouches:YES];
離開此CCLayer時調用
[[CCDirector sharedDirector].touchDispatcher removeDelegate:self];
重寫方法
- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event;
解釋:
由于CCMenu 按鈕接受按鍵的優先級為-128(值越小優先級越高),所有不論處在那一層都會接收到點擊
[[CCDirector sharedDirector].touchDispatcher addTargetedDelegate:self priority:kCCMenuHandlerPriority swallowsTouches:YES];
priority: 優先級 kCCMenuHandlerPriority(-128)
swallowsToucher: 是否吃掉按鈕不叫其他層再接收了 如果為NO其他層還是一樣會接收到Touch數據
注意離開此CCLayer時一定要調用
[[CCDirector sharedDirector].touchDispatcher removeDelegate:self];
否則下面層將不再接收按鍵
Class FileUtils
此類包含了一般的通用文件操作工具。
● 讀、寫文件
● 創建一個目錄,如果其上級的各級父目錄不存在,也會創建它們
● 拷貝文件和目錄
● 刪除文件和目錄
● 將URL轉換成文件
● 通過過濾器或者擴展名列出文件
● 比較文件內容
● 修改文件最后修改日期
● 計算校驗和
累了,去讀意優休息一下下,QQ空間,美文,非主流,網絡日記,搞笑短信,祝福短信,熱門短信,有意思啊
Class IOUtils
此類包含了一般的IO流操作工具。
● closeQuietly – 忽略 nulls和錯誤而關閉一個流
● toXxx/read – 這些類從一個流讀取數據
● write – 這些方法寫數據到一個流
● copy – 這些方法從一個流到另一個流拷貝數據
● contentEquals – 這些方法比較兩個流的數據
Class FilenameUtils
此類包含了文件和路徑的操作工具。
當你將在Windows下開發的Java程序轉移到Unix系統時,你可能遇到文件路徑的問題,這個類的目標幫你解決這個問題。注意: 你完全可以不用這個類,而使用JDK提供的兩個構造參數的File類,File(File,String)。
大多數方法識別兩個分隔符(/ 和 \), 和兩個前綴集合。
這個類獎一個文件名稱定義成六部分(例如 C:\dev\project\file.txt):
● 前綴 – C:\
● 路徑 – dev\project\
● 全路徑 – C:\dev\project\
● 文件名稱 – file.txt
● 基本名稱 – file
● 擴展名 – txt
這個類能夠處理以分隔符結尾的目錄文件。如果你忽略了最后一個分隔符,它也能識別其是文件還是目錄。這個類僅支持UNIX和Windows樣式的名稱,前綴匹配方式如下:
Windows:
a\b\c.txt –> "" –> 相對
\a\b\c.txt –> "\" –> 當前的絕對驅動器
C:a\b\c.txt –> "C:" –> 相對的驅動器
C:\a\b\c.txt –> "C:\" –> 絕對
\\server\a\b\c.txt –> "\\server\" –> UNC
Unix:
a/b/c.txt –> "" –> 相對
/a/b/c.txt –> "/" –> 絕對
~/a/b/c.txt –> "~/" –> 當前用戶
~ –> "~/" –> 當前用戶 (slash added)
~user/a/b/c.txt –> "~user/" –> 命名用戶
~user –> "~user/" –> 命名用戶 (slash added)
org.apache.commons.io.filefilter
此包中包含了大量的文件名稱過濾器。
DirectoryFilter 僅接受目錄
PrefixFileFilter 基于前綴
SuffixFileFilter 基于后綴
NameFileFilter 基于文件名稱
WildcardFileFilter 基于通配符
AgeFileFilter 基于最后修改時間
SizeFileFilter 基于文件尺寸
下載地址:
當使用JSplitpane分隔面板時
可以通過 splitPaneMain.setOneTouchExpandable(true);
// Hide left or top
splitPaneMain.getLeftComponent().setMinimumSize(new Dimension());
splitPaneMain.setDividerLocation(0.0d);
// Hide right or bottom
splitPaneMain.getRightComponent().setMinimumSize(new Dimension());
splitPaneMain.setDividerLocation(1.0d);
// 觸摸屏 -(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { for( UITouch *touch in touches ) { CGPoint location = [touch locationInView: [touch view]]; location = [[CCDirector sharedDirector] convertToGL: location]; // 各種動作 // 瞬時動作 // 設置坐標 id action0 = [CCPlace actionWithPosition:ccp(240,160)]; // 隱藏 id action1 = [CCHide action]; // 顯示 id action2 = [CCShow action]; // 隱藏/顯示 id action3 = [CCToggleVisibility action]; // 延時動作 // 移動 id action4 = [CCMoveTo actionWithDuration:2 position:ccp(0,0)]; id action5 = [CCMoveBy actionWithDuration:2 position:ccp(100,100)]; // 彈跳 id action6 = [CCJumpTo actionWithDuration:2 position:ccp(0,200) height:30 jumps:5]; id action7 = [CCJumpBy actionWithDuration:2 position:ccp(100, 0) height:30 jumps:5]; // 貝塞爾移動 ccBezierConfig bezier; bezier.controlPoint_1 = ccp(0, 0); bezier.controlPoint_2 = ccp(100, 300); bezier.endPosition = ccp(0,100); id action8 = [CCBezierTo actionWithDuration:3 bezier:bezier]; id action9 = [CCBezierBy actionWithDuration:3 bezier:bezier]; // 縮放 id action10 = [CCScaleTo actionWithDuration:2 scale:4]; id action11 = [CCScaleBy actionWithDuration:2 scale:0.5]; // 旋轉 id action12 = [CCRotateTo actionWithDuration:2 angle:180]; id action13 = [CCRotateBy actionWithDuration:2 angle:-180]; // 閃爍 id action14 = [CCBlink actionWithDuration:3 blinks:5]; // 色調變化 id action15 = [CCTintTo actionWithDuration:2 red:255 green:0 blue:0]; id action16 = [CCTintBy actionWithDuration:0.5 red:0 green:255 blue:255]; // 淡化到/淡入/淡出 id action17 = [CCFadeTo actionWithDuration: 1 opacity:80]; id action18 = [CCFadeIn actionWithDuration:1.0f]; id action19 = [CCFadeOut actionWithDuration:1.0f]; // 動畫順序播放 CCAnimation *animation = [CCAnimation animation]; [animation setDelay:2]; // 這里就添加兩幀,需要自己添加 [animation addFrameWithTexture:sprTest.texture rect:CGRectMake(0, 0, 44, 34)]; [animation addFrameWithTexture:sprTest.texture rect:CGRectMake(0, 34, 44, 34)]; id action20 = [CCAnimate actionWithAnimation: animation]; // 組合動作 // 動畫序列 id action21 = [CCSequence actions:action19, action18, nil]; // 重復動作 id action22 = [CCRepeat actionWithAction:action21 times:10]; // 延時動作 id action23 = [CCDelayTime actionWithDuration:1]; // 同時動作 id action24 = [CCSpawn actions:action0, action4, action21, nil]; // 無限循環動作 id action25 = [CCRepeatForever actionWithAction:action21]; // 擴展動作 // 回調動作 id acf0 = [CCCallFunc actionWithTarget:self selector:@selector(CallBack1)]; // 回調動作,傳遞動畫自身指針 id acf1 = [CCCallFuncN actionWithTarget:self selector:@selector(CallBack2:)]; // 回調動作,傳遞動畫自身指針已經一個參數 id acf2 = [CCCallFuncND actionWithTarget:self selector:@selector(CallBack3:data:) data:(void*)2]; id action26 = [CCSequence actions:action19, action18, acf0, action23, action0, nil]; // 反轉動作,只能用在有方向有順序的動作上 id action27 = [action9 reverse]; // 速度變化 //id ac = [CCSequence actions:action9,action27,nil]; id actiontest = [CCMoveBy actionWithDuration:0.5 position:ccp(200,0)]; id ac = [CCSequence actions:actiontest,actiontest, nil]; // 漸快 id action28 = [CCEaseIn actionWithAction:ac rate:3]; // 漸慢 id action29 = [CCEaseOut actionWithAction:ac rate:3]; // 先漸快再漸慢 id action30 = [CCEaseInOut actionWithAction:ac rate:3]; // 正弦波移動 id action31 = [CCEaseSineIn actionWithAction:ac]; id action32 = [CCEaseSineOut actionWithAction:ac]; id action33 = [CCEaseSineInOut actionWithAction:ac]; // 由極慢至極快 id action34 = [CCEaseExponentialIn actionWithAction:ac]; // 由極快到極慢 id action35 = [CCEaseExponentialOut actionWithAction:ac]; // 由極慢至極快 再由極快到慢 id action36 = [CCEaseExponentialInOut actionWithAction:ac]; // 手動設定速度,可通過SetSpeed不斷調整 id action37 = [CCSpeed actionWithAction:ac speed:(CCRANDOM_0_1() * 5)]; [sprTest runAction:action37]; } } // 回調函數1 - (void) CallBack1 { [sprTest runAction:[CCTintBy actionWithDuration:2 red:255 green:0 blue:255]]; } // 回調函數2 - (void) CallBack2:(id)sender { [sender runAction:[CCTintBy actionWithDuration:1 red:255 green:0 blue:255]]; } // 回調函數3 -(void) CallBack3:(id)sender data:(void*)data { [sender runAction:[CCTintBy actionWithDuration:(NSInteger)data red:255 green:0 blue:255]]; }
// -(void) startMenu:(id) sender { CCScene* scenec = [CCTestScene scene]; //部落格------ //CCTransitionTurnOffTiles *transitionScene = [CCTransitionTurnOffTiles transitionWithDuration:3 scene:scenec]; //近遠-遠近----- //CCTransitionShrinkGrow *transitionScene = [CCTransitionShrinkGrow transitionWithDuration:3 scene:scenec]; //另一個layout左側進入(視覺感覺是屏幕右移) //CCTransitionSlideInL *transitionScene = [CCTransitionSlideInL transitionWithDuration:3 scene:scenec]; //另一個layout右側進入(視覺感覺是屏幕左移) //CCTransitionSlideInR *transitionScene = [CCTransitionSlideInR transitionWithDuration:3 scene:scenec]; //另一個layout上側進入(視覺感覺是屏幕下移) //CCTransitionSlideInT *transitionScene = [CCTransitionSlideInT transitionWithDuration:3 scene:scenec]; //另一個layout下側進入(視覺感覺是屏幕上移) //CCTransitionSlideInB *transitionScene = [CCTransitionSlideInB transitionWithDuration:3 scene:scenec]; //當前屏幕被分為3列,兩則下移,中間上移 //CCTransitionSplitCols *transitionScene = [CCTransitionSplitCols transitionWithDuration:3 scene:scenec]; //當前屏幕被分為3列,兩則左移,中間右移 //CCTransitionSplitRows *transitionScene = [CCTransitionSplitRows transitionWithDuration:3 scene:scenec]; //扇形轉換----- //CCTransitionRadialCW *transitionScene = [CCTransitionRadialCW transitionWithDuration:3 scene:scenec]; //平面旋轉----- //CCTransitionRotoZoom *transitionScene = [CCTransitionRotoZoom transitionWithDuration:3 scene:scenec]; //近-遠-跳動------ //CCTransitionJumpZoom *transitionScene = [CCTransitionJumpZoom transitionWithDuration:3 scene:scenec]; //立體反轉(X軸)--(還有種從近到遠,從遠到近的感覺)-------- //CCTransitionZoomFlipX *transitionScene = [CCTransitionZoomFlipX transitionWithDuration:3 scene:scenec]; //立體反轉(Y軸)-(還有種從近到遠,從遠到近的感覺)------- //CCTransitionZoomFlipY *transitionScene = [CCTransitionZoomFlipY transitionWithDuration:3 scene:scenec]; //立體反轉(X,Y軸)---(還有種從近到遠,從遠到近的感覺)----- //CCTransitionZoomFlipAngular *transitionScene = [CCTransitionZoomFlipAngular transitionWithDuration:3 scene:scenec]; //另外一個layout左側進入覆蓋當前layout //CCTransitionMoveInL *transitionScene = [CCTransitionMoveInL transitionWithDuration:3 scene:scenec]; //另外一個layout右側進入覆蓋當前layout //CCTransitionMoveInR *transitionScene = [CCTransitionMoveInR transitionWithDuration:3 scene:scenec]; //另外一個layout上側進入覆蓋當前layout //CCTransitionMoveInT *transitionScene = [CCTransitionMoveInT transitionWithDuration:3 scene:scenec]; //另外一個layout下側進入覆蓋當前layout //CCTransitionMoveInB *transitionScene = [CCTransitionMoveInB transitionWithDuration:3 scene:scenec]; //立體反轉(X軸)--2D平面反轉,沒有遠近感 //CCTransitionFlipX *transitionScene = [CCTransitionFlipX transitionWithDuration:3 scene:scenec]; //立體反轉(Y軸)--2D平面反轉,沒有遠近感 //CCTransitionFlipY *transitionScene = [CCTransitionFlipY transitionWithDuration:3 scene:scenec]; //立體反轉(X,Y軸)--2D平面反轉,沒有遠近感 //CCTransitionFlipAngular *transitionScene = [CCTransitionFlipAngular transitionWithDuration:3 scene:scenec]; //實體-透明-實體(默認無顏色,可以附帶顏色) //CCTransitionFade* transitionScene = [CCTransitionFade transitionWithDuration:3 scene:scenec withColor:ccWHITE]; //另外一個直接漸變覆蓋當前layout //CCTransitionCrossFade *transitionScene = [CCTransitionCrossFade transitionWithDuration:3 scene:scenec]; //移動(方格狀)部落格,從左下往右上 //CCTransitionFadeTR *transitionScene = [CCTransitionFadeTR transitionWithDuration:3 scene:scenec]; //移動(方格狀)部落格,從右上往左下 CCTransitionFadeBL *transitionScene = [CCTransitionFadeBL transitionWithDuration:3 scene:scenec]; //移動(長矩形,寬度是屏幕寬)部落格,從下往上 //CCTransitionFadeUp *transitionScene = [CCTransitionFadeUp transitionWithDuration:3 scene:scenec]; //移動(長矩形,寬度是屏幕寬)部落格,從上往下 //CCTransitionFadeDown *transitionScene = [CCTransitionFadeDown transitionWithDuration:3 scene:scenec]; [[CCDirector sharedDirector] replaceScene: transitionScene]; }
BOOL Download( CString szURL, CString szDstFile ) { BOOL res = false; CInternetSession Session; CHttpFile *pHttpFile = NULL; try{ pHttpFile = (CHttpFile*)Session.OpenURL(szURL); }catch(CInternetException * m_pException){ pHttpFile = NULL; m_pException->m_dwError; m_pException->Delete(); Session.Close(); res = false; } CString strLine; CFile xmlFile; BOOL bResult = xmlFile.Open(szDstFile, CFile::modeCreate | CFile::modeWrite); if(pHttpFile != NULL && bResult) { while(pHttpFile->ReadString(strLine) != NULL) { xmlFile.Write(strLine, strLine.GetLength()); } xmlFile.Close(); res = true; } else { res = false; } Session.Close(); pHttpFile->Close(); delete pHttpFile; pHttpFile = NULL; return res; }
函數原型:
BOOL AfxExtractSubString(CString& rString, LPCTSTR lpszFullString, int iSubString, TCHAR chSep = '\n')
參數說明:
rString 保存輸出的子字符串
lpszFullString 待分割的字符串
iSubString 提取的子字符串的序號,從0開始。假如你想提取第3段,該參數就輸入2
chSep 用于分割的字符,默認的是'\n'
返回值:分割成功,就返回TRUE;iSubString越界,則返回FALSE
舉例說明:
CString szGet; CString szText = "var hq_str_sh600736=\"蘇州高新,5.33,5.32,5.70,5.85,5.32,5.71,5.72,56939555,323766177,92561,5.71,121300,5.70,57200,5.69,34600,5.68,18600,5.67,130327,5.72,177801,5.73,40999,5.74,194908,5.75,69600,5.76,2011-08-12,15:03:07\";"; AfxExtractSubString(szGet, szText, 1, ','); //取回 5.33 AfxExtractSubString(szGet, szText, 2, ','); //取回 5.32 AfxExtractSubString(szGet, szText, 3, ','); //取回 5.70 //想要取回蘇州高新 AfxExtractSubString(szGet, szText, 0, ','); //先取回var hq_str_sh600736="蘇州高新 AfxExtractSubString(szGet, szGet, 1, '\"'); //取回 蘇州高新
注意:用于分割的只能是字符,不能是字符串。
多個字符使用_tcstok函數,另外可以使用find函數自己寫.
計算某天星期幾,最出名的算法就是蔡勒公式:
—— 蔡勒(Zeller)公式 歷史上的某一天是星期幾?未來的某一天是星期幾?關于這個問題,有很多計算公式(兩個通用計算公式和一些分段計算公式),其中最著名的是蔡勒(Zeller)公式。即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符號含義如下,w:星期;c:世紀-1;y:年(兩位數);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月來計算,比如2003年1月1日要看作2002年的13月1日來計算);d:日;[ ]代表取整,即只要整數部分。(C是世紀數減一,y是年份后兩位,M是月份,d是日數。1月和2月要按上一年的13月和 14月來算,這時C和y均按上一年取值。) 算出來的W除以7,余數是幾就是星期幾。如果余數是0,則為星期日。 以2049年10月1日(100周年國慶)為例,用蔡勒(Zeller)公式進行計算,過程如下: 蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 =49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1 =49+[12.25]+5-40+[28.6] =49+12+5-40+28 =54 (除以7余5) 即2049年10月1日(100周年國慶)是星期5。
想知道更詳細的到網上查下.
實現的算法函數:
/************************************************************************ * 返回值 0~6(星期日~星期六) ************************************************************************/ int GetWeek(int nYear, int nMouth, int nDay) { int week; int c = nYear/100; if(nMouth<3) { nYear -= 1; nMouth += 12; } week = ((nYear%100)+((nYear%100)/4)+(c/4)-2*c+(26*(nMouth+1)/10)+nDay-1)%7;注意:如果結果為負數的時候要加個7。
if(week<0) week += 7; return week; }