亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aphearsayrdfile.c

?? 這個是好記星608的AP源代碼,他的主要是是GUI,還有對字典的操作
?? C
?? 第 1 頁 / 共 3 頁
字號:

            g_RrParam.wRptMode |= RR_MODE_TEXT;

            pFile[strlen((char*)pFile) - 4] = 0;
            strcat((char*)pFile,(const char*) REREAD_TXT_FILE);
            g_RrParam.hRrMstFile = FileOpen(pFile, FILEMODE_READONLY);
            if (g_RrParam.hRrMstFile == NUF_NOFILE)
	        {
	            g_RrParam.wRptMode |= RR_MODE_NOTEXT;
	            g_RrParam.wRptMode &= (~RR_MODE_TEXT);
	            nRet++;
            }
        }
    }

    // Default
    g_RrParam.hTmpFile = NUF_NOFILE;
    //------
	if (g_RrParam.hRrMstFile == NUF_NOSPC)
	{
 		MsgBoxRun(MSGBOX_NONE, (UINT8*)"存儲空間不足,不能打開文件!");
		nRet=FALSE;
	}
	else if (g_RrParam.hRrMstFile == NUF_LONGPATH)
	{
		MsgBoxRun(MSGBOX_NONE,(UINT8*)"路徑或文件名太長,不能打開文件!");
		nRet=FALSE;
	}
	else if (g_RrParam.hRrMstFile == NUF_INVNAME)
	{
		MsgBoxRun(MSGBOX_NONE,(UINT8*)"路徑和文件名錯誤,不能打開文件!");
        nRet=FALSE;
	}
    else if (g_RrParam.hRrMstFile == NUF_NOFILE)
	{   // no file text
		nRet = TRUE;//FALSE;
    }
    else if (g_RrParam.hRrMstFile >=0)
    {
        if (nRet==0)
        {   // One Time Loading  for MST File
            if ( FileLength(g_RrParam.hRrMstFile)
	               > (AU_MAX_FILELEN + AU_MAX_FILELEN_ADD) )
            {
                nRet = ApHsFileTextCreate();
                if (nRet)
                {   // Regard it as TXT File
                    nRet = CopyMstToTmpFile(g_RrParam.hTmpFile,g_RrParam.hRrMstFile);
                    if (nRet)
                    {
                        // Close two file
                        FileClose(g_RrParam.hRrMstFile);
                        FileClose(g_RrParam.hTmpFile);
                        g_RrParam.hTmpFile = NUF_NOFILE;
                        g_RrParam.hRrMstFile = NUF_NOFILE;

                        // Set it to a TXT File
                        g_RrParam.wRptMode |= RR_MODE_NOMST;
                        g_RrParam.wRptMode |= RR_MODE_TEXT;
                        FileSetAttributes ((char*)APHS_TEMPTXT_FILE, ANORMAL);
                        nRet = 0;
                        g_RrParam.hRrMstFile = FileOpen((char*)APHS_TEMPTXT_FILE, FILEMODE_READONLY);
                        if (g_RrParam.hRrMstFile)
                        {
                            nRet=__RrReadTxtFile();
                        }

                        if (!nRet)
                        {
                            FileClose(g_RrParam.hRrMstFile);
                            g_RrParam.hRrMstFile=NUF_NOFILE;
                        }
                    }
                }
            }
            else
            {
                nRet=__RrReadMstFile();
                FileClose(g_RrParam.hRrMstFile);
                g_RrParam.hRrMstFile=NUF_NOFILE;
            }
            g_RrParam.wNode = 0;
        }
        else if (nRet==1)
        {   // Mtl File, only mtl file used temp file
            nRet = ApHsFileTextCreate();
            if (nRet)
            {
                nRet=__RrReadMtlFile();
            }
            FileClose(g_RrParam.hRrMstFile);
            g_RrParam.hRrMstFile = NUF_NOFILE;
        }
        else if (nRet==2)
        {   // Text File
            nRet=__RrReadTxtFile();
            // FileClose(g_RrParam.hRrMstFile);
            // g_RrParam.hRrMstFile=NUF_NOFILE;
        }
		else
		{
		    g_RrParam.hRrMstFile=NUF_NOFILE;
			nRet = TRUE;//FALSE;
		}
    }

    return (BOOL)nRet;
}

//========================================================
// For Dymanic Reloading the text file
//========================================================
VOID ApHsFileTextFail(VOID)
{
    MsgBoxRun(MSGBOX_NONE,(UINT8*)APHS_TEMPTXT_FILE_FAIL);
}

//========================================================
BOOL ApHsFileTextCreate(VOID)
{
UINT8   *pFile;
    pFile=(UINT8*)APHS_TEMPTXT_FILE;
	FileSetAttributes ((char*)pFile, ANORMAL);
    FileDelete((char*)pFile);

    g_RrParam.hTmpFile = NUF_NOFILE;

	g_RrParam.hTmpFile = FileOpen(pFile, FILEMODE_CREATEWRITE);
	if (g_RrParam.hTmpFile>=0)
	{
	    return TRUE;
	}

    ApHsFileTextFail();
	return FALSE;
}

//======================
// Delete the temp file
BOOL ApHsFileTextDel(VOID)
{
    if ( g_RrParam.hTmpFile >= 0 )
    {
        FileClose(g_RrParam.hTmpFile);
    }

	FileSetAttributes ((char*)APHS_TEMPTXT_FILE, ANORMAL);
    FileDelete((char*)APHS_TEMPTXT_FILE);
    g_RrParam.hTmpFile = NUF_NOFILE;
	return TRUE;
}

//================================================================
// search the buffer started pointer,
// make sure the pBuf pointer to one character starting
//----------------------------------
//----------------------------------
static UINT8 *ApHSTextSearchStart(UINT8 *pBuf,UINT uLen)
{
UINT8   byTemp;
//UINT    ChNum;
UINT    i;

    i = 0;
    while( (i++)< uLen)
    {
        byTemp = pBuf[i];
        if ( byTemp < 0x20)
        {
            break;
        }
    }

    if (i>= uLen)
    {
        i = 0;
    }

    return ( &pBuf[i] );
}
//==========================================================
//
// uFlag = CMEX_BROWSER_REQUEST_TOP / CMEX_BROWSER_REQUEST_BOT
// NULL;
//  BrwCmdEx *pbrwcmd
//-----------
BOOL ApHsReReadFileText(UINT uFlag, VOID *p)
{
BOOL        bRet;
INT         hFile;

INT         nLen,nPos;
UINT8       *pBuf;
UINT8       *pBufStart;
UINT16      uState;
//-------
BrwCmdEx    *pbrwcmd;
UINT8*	    pData;
UINT	    uDataRemain;
UINT16	    wState;
UINT8       **BufStartRet;
UINT16      *wStateRet;
UINT8       **OldPosRet;
//BOOL        bMstFile;

    bRet =  FALSE;

    if (g_RrParam.wRptMode& RR_MODE_NOTEXT)
    {   // if no file text
        return bRet;
    }

//    bMstFile = FALSE;
    // ------------
    if ( ! (g_RrParam.wRptMode & RR_MODE_NOMST) )
    {   // if MST File
//        bMstFile = TRUE;
        return bRet;
    }

    if (g_RrParam.wRptMode & RR_MODE_TEXT)
    {   // Text File
        hFile = g_RrParam.hRrMstFile;
    }
    else
    {   // MTL File
        hFile = g_RrParam.hTmpFile;
    }

    if (   (hFile>=0)
        && (g_RrParam.uTmpFileBlkNum <= g_RrParam.uTmpFileBlkTotalNum ) )
    {   // read data here
        switch(uFlag)
        {
		case (UINT)NULL:
            // if One Block, the file is loaded once
            FileSeek(hFile,0,FILESEEK_BEGIN);
            FileRead(hFile,(char*)g_RrParam.pTextBuf, g_RrParam.uTmpFileBlkLen);
            g_RrParam.pTextBuf[g_RrParam.uTmpFileBlkLen] = 0;
            g_RrParam.uTmpFileBlkNum = 0 ;                 // To Num 1 Block
		    g_RrParam.uTempFilePos = 0;
            g_RrParam.uTmpCurLen = g_RrParam.uTmpFileBlkLen ;
            bRet = TRUE;
			break;
		case  CMEX_BROWSER_REQUEST_TOP:
		    if (g_RrParam.uTmpFileBlkTotalNum ==1)
			{
			    return bRet;
			}

            // read new data
            if (!g_RrParam.uTempFilePos)
            {
                return bRet;
            }

            pbrwcmd = (BrwCmdEx *)p;
            pData = (pbrwcmd->cmdparam).ReqData.pData;
            uDataRemain = (pbrwcmd->cmdparam).ReqData.uDataRemain;
            wState = (pbrwcmd->cmdparam).ReqData.wState;
            BufStartRet = & ((pbrwcmd->cmdparam).ReqData.BufStartRet);
            wStateRet = &( (pbrwcmd->cmdparam).ReqData.wStateRet);
            OldPosRet = &( (pbrwcmd->cmdparam).ReqData.OldPosRet);

            // backup the old data
            pBuf = g_RrParam.pTextBuf + g_RrParam.uTmpFileBlkLen;
            memmove(pBuf,(pData - uDataRemain),uDataRemain);
            pBuf[uDataRemain] = 0;
            pBuf[uDataRemain+1] = 0;

            if ( g_RrParam.uTempFilePos >=  g_RrParam.uTmpFileBlkLen)
            {
                nLen = g_RrParam.uTmpFileBlkLen;
                g_RrParam.uTempFilePos -=  g_RrParam.uTmpFileBlkLen;
            }
            else
            {
                nLen = g_RrParam.uTempFilePos;
                g_RrParam.uTempFilePos =  0;
            }
            nPos = g_RrParam.uTempFilePos;

            // Read New File, do not added the ending string
            FileSeek(hFile,nPos,FILESEEK_BEGIN);
            nLen = FileRead(hFile,(char*)g_RrParam.pTextBuf, nLen);

            // conbine the old data
            pBuf = g_RrParam.pTextBuf + nLen;
            memmove(pBuf,(g_RrParam.pTextBuf + g_RrParam.uTmpFileBlkLen),uDataRemain);
            pBuf[uDataRemain] = 0;
            pBuf[uDataRemain+1] = 0;

            *OldPosRet = g_RrParam.pTextBuf + nLen + uDataRemain;//pData;

            g_RrParam.uTmpCurLen = nLen + uDataRemain;

            if (g_RrParam.uTempFilePos)
            {
                pBufStart = ApHSTextSearchStart(g_RrParam.pTextBuf,nLen);
                nLen  -= ((UINT)(pBufStart - g_RrParam.pTextBuf));
                uState = BROWSER_STATE_NULL;
                pBuf = BrowserSearchStart((MBrowser*)g_RrParam.pBwrGui,
                                            (UINT8*)pBufStart,nLen,&uState);
            }
            else
            {
                pBuf = g_RrParam.pTextBuf;
                uState = BROWSER_STATE_NULL;
            }
            nPos = (UINT)(pBuf - g_RrParam.pTextBuf);
            g_RrParam.uTmpCurLen -= nPos;
            g_RrParam.uTempFilePos -=  nPos;

            *BufStartRet = pBuf;
            *wStateRet = uState;

            bRet = TRUE;
            // Request to top
			break;
		case  CMEX_BROWSER_REQUEST_BOT:
            if (g_RrParam.uTmpFileBlkTotalNum ==1)
			{
			    return bRet;
			}

            if ( (g_RrParam.uTempFilePos + g_RrParam.uTmpCurLen )
                 >= g_RrParam.uTmpFileLen                         )
            {
                return bRet;
            }

            pbrwcmd = (BrwCmdEx *)p;
            pData = (pbrwcmd->cmdparam).ReqData.pData;
            uDataRemain = (pbrwcmd->cmdparam).ReqData.uDataRemain;
            wState = (pbrwcmd->cmdparam).ReqData.wState;
            BufStartRet = & ((pbrwcmd->cmdparam).ReqData.BufStartRet);
            wStateRet = &( (pbrwcmd->cmdparam).ReqData.wStateRet);
            OldPosRet = &( (pbrwcmd->cmdparam).ReqData.OldPosRet);

            g_RrParam.uTempFilePos += g_RrParam.uTmpCurLen;
            nPos = g_RrParam.uTempFilePos;
            g_RrParam.uTempFilePos -= uDataRemain;

            // move the remainder
            memmove(g_RrParam.pTextBuf,pData,uDataRemain);
            pData = g_RrParam.pTextBuf;
            // to Next
            FileSeek(hFile,nPos,FILESEEK_BEGIN);
            nLen = g_RrParam.uTmpFileBlkLen - uDataRemain;
            pBuf = pData + uDataRemain;
            nLen = FileRead(hFile,(char*)pBuf, nLen);
            pBuf[nLen] = 0;
            pBuf[nLen+1] = 0;

            g_RrParam.uTmpCurLen = nLen + uDataRemain;

            *BufStartRet = pData;
            *wStateRet = wState;
            *OldPosRet = pData;

            bRet = TRUE;
			break;
        }
    }

    return bRet;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
另类专区欧美蜜桃臀第一页| 99久久精品国产一区二区三区| 麻豆精品在线播放| 国产老女人精品毛片久久| 色综合久久久久久久久| 精品久久久久久无| 亚洲www啪成人一区二区麻豆| 国产精品一区二区男女羞羞无遮挡 | 激情综合色播激情啊| 91美女在线看| 国产精品丝袜黑色高跟| 日韩国产精品久久久| 色综合色狠狠综合色| 久久久久久久久久久久久女国产乱 | 亚洲精品国产视频| 国产一区二区三区黄视频 | 国产在线一区观看| 56国语精品自产拍在线观看| 亚洲激情在线播放| 成人av动漫在线| 国产午夜精品一区二区| 蜜臀av国产精品久久久久| 欧美色网站导航| 亚洲视频在线观看一区| 成人午夜电影小说| 欧美国产日韩精品免费观看| 国产精品一区二区三区乱码| 久久久久久久久免费| 久久99国产精品麻豆| 日韩视频免费直播| 免费在线观看一区| 精品国产乱码久久久久久久久| 日韩经典一区二区| 欧美一区二区免费| 日产国产欧美视频一区精品| 69精品人人人人| 男人的天堂久久精品| 欧美一区二区黄| 久久精品国产99| 久久精品人人做人人综合 | 久久日一线二线三线suv| 日本欧美久久久久免费播放网| 91精品国产全国免费观看| 青青草国产精品亚洲专区无| 欧美成人一区二区三区片免费| 麻豆免费看一区二区三区| 久久久久综合网| 成人激情开心网| 亚洲乱码日产精品bd| 欧洲视频一区二区| 美国十次了思思久久精品导航| 欧美不卡一区二区三区| 国产高清视频一区| 亚洲欧洲精品一区二区三区| 欧美一a一片一级一片| 日本不卡一二三| 精品免费日韩av| 成人v精品蜜桃久久一区| 亚洲欧美另类综合偷拍| 欧美日本在线看| 久草中文综合在线| 国产精品久久久久久久午夜片 | 亚洲狼人国产精品| 欧美三级一区二区| 狠狠狠色丁香婷婷综合久久五月| 亚洲国产精品精华液ab| 91黄视频在线| 国产一区三区三区| 亚洲欧美韩国综合色| 67194成人在线观看| 丁香网亚洲国际| 亚洲成人激情自拍| 国产欧美日韩中文久久| 欧美亚洲免费在线一区| 国产呦精品一区二区三区网站| 亚洲美女视频在线| 欧美精品一区二区三区蜜桃视频 | 亚洲视频在线观看一区| 777午夜精品免费视频| 国产乱子伦视频一区二区三区| 亚洲精品一二三区| 欧美精品一区二区在线观看| 欧美视频三区在线播放| 不卡av在线网| 激情文学综合网| 午夜a成v人精品| 亚洲日本成人在线观看| 久久综合久久鬼色| 欧美欧美欧美欧美| 99久久伊人精品| 国产一区二区主播在线| 五月激情综合网| 亚洲精品国产无天堂网2021| 国产日产精品1区| 欧美xfplay| 欧美日本免费一区二区三区| 色老汉一区二区三区| 成人三级伦理片| 黄色精品一二区| 免费成人美女在线观看| 亚洲一二三级电影| 亚洲人123区| 自拍av一区二区三区| 国产精品理论片在线观看| 国产亚洲自拍一区| 欧美大片日本大片免费观看| 欧美巨大另类极品videosbest | 日韩欧美在线网站| 欧美日韩一区二区在线观看| 91免费精品国自产拍在线不卡| 岛国一区二区三区| 岛国精品在线观看| 不卡一区二区中文字幕| 国产99久久久国产精品潘金| 国产麻豆精品theporn| 麻豆精品一区二区av白丝在线| 亚洲福利一区二区| 视频一区二区三区在线| 午夜电影久久久| 蜜桃久久av一区| 国产乱一区二区| 国产成人av影院| 国产成人精品免费一区二区| 成人午夜免费视频| 国产成人午夜精品影院观看视频 | 亚洲人成网站精品片在线观看| 亚洲国产精品二十页| 国产日韩欧美精品一区| 欧美国产乱子伦| 亚洲婷婷在线视频| 一区二区三区蜜桃| 亚洲午夜精品久久久久久久久| 亚瑟在线精品视频| 日韩中文字幕av电影| 久草在线在线精品观看| 国产999精品久久久久久绿帽| 成人免费高清视频| 色综合天天性综合| 欧美曰成人黄网| 欧美一区二区免费观在线| 久久久久97国产精华液好用吗| 国产精品国产三级国产| 亚洲国产成人tv| 国产在线播精品第三| 色综合久久久久久久| 日韩视频永久免费| 欧美激情自拍偷拍| 亚洲一区二区在线免费看| 丝袜亚洲另类欧美| 懂色av一区二区三区免费看| 欧美私人免费视频| 久久网这里都是精品| 一区二区三区在线播放| 麻豆国产欧美一区二区三区| 不卡av电影在线播放| 91精品国产综合久久久蜜臀图片 | 欧美精品v日韩精品v韩国精品v| 精品国产一区二区三区四区四| 亚洲天天做日日做天天谢日日欢| 日日夜夜精品免费视频| 国产成人av电影在线| 欧美日韩一本到| 中文字幕亚洲区| 麻豆91精品91久久久的内涵| 99久久久久久| 精品国产麻豆免费人成网站| 亚洲激情男女视频| 国产精品白丝jk白祙喷水网站| 欧美视频你懂的| 国产精品乱码妇女bbbb| 久久99九九99精品| 欧美性高清videossexo| 国产精品美女久久久久高潮| 日韩二区三区在线观看| 色88888久久久久久影院按摩| 久久无码av三级| 蜜臀久久99精品久久久久宅男| 色琪琪一区二区三区亚洲区| 国产偷v国产偷v亚洲高清| 日本午夜一区二区| 欧洲av一区二区嗯嗯嗯啊| 欧美国产乱子伦| 国产中文一区二区三区| 欧美精品 国产精品| 亚洲色图在线播放| 成人永久免费视频| 日韩精品一区二区在线观看| 亚洲成人免费视频| 在线观看视频91| 亚洲精品视频在线看| 成人av电影在线| 中文字幕精品三区| 国产精品一区二区三区四区| 久久影院午夜论| 国产一区免费电影| 久久婷婷成人综合色| 狠狠色丁香婷婷综合| 欧美精品一区二区精品网| 男女性色大片免费观看一区二区 | 亚洲福利视频一区二区|