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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? aphearsayrdfile.c

?? 這個(gè)是好記星608的AP源代碼,他的主要是是GUI,還有對(duì)字典的操作
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/****************************************************************************/
/*                                                                          */
/*              Copyright (C) 2005 SHENZHEN MEIJIN CO.LTD                   */
/*                                                                          */
/* FILE NAME:   ApHearSayRdFile.c                                           */
/* MODULE NAME: AP應(yīng)用程序                                                  */
/* DESCRIPTION: Hearsya Browser Read File                                   */
/*                                                                          */
/* FUNCTIONS:                                                               */
/*                                                                          */
/****************************************************************************/
/*    NAME         DATE               REMARKS                               */
/* ==========  ============   ==============================================*/
/*   DennyHan    2006-03-11         V1.00B                                  */
/****************************************************************************/

// 包含必要的頭文件
#include	"Ap.h"
#include	"ApHearSay.h"

extern RrParam		g_RrParam;

#define RR_MST_SEPRATOR     ' '		//0xE
// 缺省的復(fù)讀路徑
#define REREAD_DEFAULT_NAME     ".MST"
#define REREAD_MTL_FILE         ".MTL"
#define REREAD_TXT_FILE         ".TXT"


//mtl格式用到的關(guān)鍵字解壓
#define DICT_WORD_LEN			3
#define DICT_MAX_LEN			0x8000

//-------------------------
#define AU_MAX_FILELEN          (15*1024)   // Max File Length
#define AU_2_BLK_FILELEN        (8*1024)    // Max File Length

#define AU_MAX_FILELEN_ADD      (0*1024)    // Max File Length


//===============================
//句子之間分隔符號(hào)改為空格
static BOOL MstFileFilter(char *pBuf, UINT St, UINT End, BOOL Flag)
{
UINT j;

   	for (j = St; j < End; j ++)
    {
	    if (pBuf[j] == 0)
		{
  			pBuf[j] = RR_MST_SEPRATOR;
    		Flag = TRUE;
	    }
		else
  		{
       		if ((Flag == TRUE) && (j))
	    	{
		    	pBuf[j-1] = 0x0D;
    		}
	   	    Flag = FALSE;
	   	}
	}
	return Flag;
}

/****************************************************************************/
/* FUNCTION:   BOOL __RrReadMstFile()	        				    		*/
/* DESCRIPTION:                                                            */
/* INPUTS:     NULL                                                        */
/* OUTPUTS:    NONE                                                        */
/* RETURN:     TURE OR FAULSE                                              */
/****************************************************************************/
/*    NAME         DATE               REMARKS                               */
/* ==========  ============   ==============================================*/
/*   Poul        2005-04-19            創(chuàng)建                                 */
/*   DennyHan    2006-03-13            V1.00B                               */
/****************************************************************************/
BOOL __RrReadMstFile(VOID)
{
SYNCDATAITEM	syncData;
MSTFILE_HEADER  mstFileHeader;

    //判斷復(fù)讀文件格式
    if (FileRead(g_RrParam.hRrMstFile, (char *)&mstFileHeader,sizeof(MSTFILE_HEADER))
        != sizeof(MSTFILE_HEADER)      )
    {
		MsgBoxRun (MSGBOX_NONE, (UINT8*)"無(wú)法打開(kāi)MST同步文件,可能是文件格式錯(cuò)誤或者文件已損壞!");
        return FALSE;
    }

    if (mstFileHeader.dwSignature != 0x54534D
        || mstFileHeader.wHeaderSize != sizeof(MSTFILE_HEADER)
        || mstFileHeader.wReserved1 != 0
        || mstFileHeader.wReserved2 != 0)
    {
		MsgBoxRun (MSGBOX_NONE, (UINT8*)"無(wú)法打開(kāi)MST同步文件,可能是文件格式錯(cuò)誤或者文件已損壞!");
        return FALSE;
    }

    // 沒(méi)有分段
    if (mstFileHeader.wNodes == 0)
    {
		MsgBoxRun (MSGBOX_NONE, (UINT8*)"無(wú)法打開(kāi)MST同步文件,可能是文件格式錯(cuò)誤或者文件已損壞!");
        return FALSE;
    }

    //申請(qǐng)讀取復(fù)讀文件Buf
    g_RrParam.dwDispLength = FileLength(g_RrParam.hRrMstFile);
	if(g_RrParam.dwDispLength > (AU_MAX_FILELEN + AU_MAX_FILELEN_ADD))
	{
		MsgBoxRun(MSGBOX_NONE,(UINT8*)"文本文件太長(zhǎng),打開(kāi)失敗!");
		return FALSE;
	}

    g_RrParam.pDispBuf = MemAlloc(g_RrParam.dwDispLength + 1);
    if (g_RrParam.pDispBuf == NULL)
    {
        MsgBoxRun(MSGBOX_NONE,(UINT8*)"內(nèi)存不足,打開(kāi)文件失敗!");
        return FALSE;
    }

    memset(g_RrParam.pDispBuf, 0, g_RrParam.dwDispLength + 1);

    // 讀取第一段節(jié)點(diǎn)
    if (FileRead(g_RrParam.hRrMstFile, (char *)&syncData,sizeof(SYNCDATAITEM))
        != sizeof(SYNCDATAITEM))
    {
		MsgBoxRun (MSGBOX_NONE, (UINT8*)"無(wú)法打開(kāi)MST同步文件,可能是文件格式錯(cuò)誤或者文件已損壞!");
        return FALSE;
    }

    g_RrParam.dwDispHead = syncData.dwDataOffset;
    //讀取復(fù)讀文件
    FileSeek(g_RrParam.hRrMstFile, 0, FILESEEK_BEGIN);
    if (FileRead(g_RrParam.hRrMstFile,(char*) g_RrParam.pDispBuf, g_RrParam.dwDispLength)
         != (INT)g_RrParam.dwDispLength)
    {
		MsgBoxRun (MSGBOX_NONE, (UINT8*)"無(wú)法打開(kāi)MST同步文件,可能是文件格式錯(cuò)誤或者文件已損壞!");
        return FALSE;
    }

    //句子之間分隔符號(hào)改為空格
	{
    MstFileFilter(g_RrParam.pDispBuf, g_RrParam.dwDispHead,
                 g_RrParam.dwDispLength - 1,FALSE);

#if 0
		BOOL bPre;
		bPre = FALSE;
		for (i = g_RrParam.dwDispHead; i < g_RrParam.dwDispLength - 1; i ++)
		{
			if (g_RrParam.pDispBuf[i] == 0)
			{
				g_RrParam.pDispBuf[i] = RR_MST_SEPRATOR;
				bPre = TRUE;
			}
			else
			{
				if ((bPre == TRUE) && (i))
				{
					g_RrParam.pDispBuf[i-1] = 0x0D;
				}

				bPre = FALSE;
			}
		}
#endif
	}
	g_RrParam.pTextBuf=g_RrParam.pDispBuf+g_RrParam.dwDispHead;
    g_RrParam.pMstFileHdr = (MSTFILE_HEADER*) g_RrParam.pDispBuf;
    return TRUE;
}

//===============================
static BOOL    CopyMstToTmpFile(INT fdDst, INT fdSrc)
{
#define TEMP_BUF_LEN  (4*1024)
char *  pBuf;
INT     i,Len;
MSTFILE_HEADER  *pmstFileHeader;
BOOL    Filter;

    //temp Buf
    pBuf = MemAlloc(TEMP_BUF_LEN+1);
    if (!pBuf)
    {
        MsgBoxRun(MSGBOX_NONE,(UINT8*)"內(nèi)存不足,打開(kāi)文件失敗!");
        return FALSE;
    }

    FileSeek(fdSrc, 0, FILESEEK_BEGIN);
    if (FileRead(fdSrc, (char *)pBuf, sizeof(MSTFILE_HEADER) + sizeof(SYNCDATAITEM) )
        != (sizeof(MSTFILE_HEADER) +sizeof(SYNCDATAITEM))     )
    {
        MemFree(pBuf);
		MsgBoxRun (MSGBOX_NONE, (UINT8*)"無(wú)法打開(kāi)MST同步文件,可能是文件格式錯(cuò)誤或者文件已損壞!");
        return FALSE;
    }

    pmstFileHeader = (MSTFILE_HEADER  *)pBuf;
    if (pmstFileHeader->dwSignature != 0x54534D
        || (pmstFileHeader->wHeaderSize != sizeof(MSTFILE_HEADER))
        || (pmstFileHeader->wReserved1 != 0)
        || (pmstFileHeader->wReserved2 != 0)
        || (pmstFileHeader->wNodes == 0)    )
    {
        MemFree(pBuf);
		MsgBoxRun (MSGBOX_NONE, (UINT8*)"無(wú)法打開(kāi)MST同步文件,可能是文件格式錯(cuò)誤或者文件已損壞!");
        return FALSE;
    }


    // Start Copy
    i = ((SYNCDATAITEM	*)(pBuf+sizeof(MSTFILE_HEADER)))->dwDataOffset;
    FileSeek(fdSrc, i, FILESEEK_BEGIN);         // to Text Data
    Len = FileLength(fdSrc);
    Filter = FALSE;
    while(i < Len)
    {
    int j;
        // Read;
        j = FileRead(fdSrc,pBuf,TEMP_BUF_LEN  );
        if (j<=0)
        {
            break;
        }

        pBuf[j] = '\0';
        //句子之間分隔符號(hào)改為空格
        Filter = MstFileFilter(pBuf, 0, j-1, Filter);
        // Write to Temp File
        if (j != FileWrite(fdDst,pBuf,j))
        {
            MemFree(pBuf);
            return FALSE;
        }

        i+=j;
    }
    pBuf[0] =0;
    pBuf[1] =0;
    pBuf[2] =0;

    FileWrite(fdDst,pBuf,3);

    MemFree(pBuf);

    return TRUE;
}

/*************************************************************************
    Function   : UnzipData
    Description: unzip dictionary data

    Input:
        UINT32 dwKeyOffset      -
        UINT8* pUnZipDataBuf    -
        UINT8* pZipDataBuf      -
        UINT32 dwZipLength      -

    Return:
        UINT32  - unzip data size

      DATE      AUTHOR   VERSION  REMARKS
==========================================================================
    2004-05-25  HuangXM    1.0     create
**************************************************************************/
INT _CommInvert3ByteToInt(UINT8 *pNumStr)
{
INT Temp;
    Temp = 0;
    memcpy(&Temp, pNumStr, 3);
    return Temp;
}

UINT32 _Error(VOID)
{
    return 0;
}

static BOOL _SaveTempFile(INT f, UINT8 *pBuf, UINT uLen)
{
    if ( (INT)uLen != FileWrite(f,pBuf,uLen) )
    {   // Error
        _Error();
        return FALSE;
    }
    return TRUE;
}
//--------------------------------------------
// 2006.4.14. Dennyhan Change to temp file,
//      INT fSrc: Mtl File Handle
//      INT fDst: Mtl Temp Output file Handle
//----------------------------------
UINT32 UnzipData(UINT32 dwKeyOffset, UINT8* pUnZipDataBuf,
				  UINT8* pZipDataBuf, UINT32 dwLength,
                  INT fSrc, INT fDst )
{
UINT32	dwStatusBits, dwDictDataLen;//, i;
UINT32	dwZipOffset, dwKeyDataStart, dwKeyDataEnd;
UINT32	dwKey;
UINT8	byStatus;//, byFlag;
UINT8	*pKeyTable, *pKeyBuf;
BOOL	bNeedSpace;
UINT32	dwKeyNum;
UINT32  j,k,dwTotalLen;


    FileSeek(fSrc, 8, FILESEEK_BEGIN);      // 8 is Mst file head size

    //關(guān)鍵字個(gè)數(shù)
//	dwKeyNum = *(UINT32 *)dwKeyOffset;
	dwKeyNum = READ_DWORD(dwKeyOffset);
	
    ////關(guān)鍵字索引 地址
	pKeyTable = (UINT8 *)(dwKeyOffset + sizeof(UINT32));
    //關(guān)鍵字內(nèi)容 地址
	pKeyBuf = (UINT8 *)  (dwKeyOffset + sizeof(UINT32) + (dwKeyNum + 1) * DICT_WORD_LEN);

	dwStatusBits = 0;
	bNeedSpace = FALSE;
	dwZipOffset = 0;
    dwTotalLen = 0;
	dwDictDataLen = 0;
//	i=0;		//Debug
    while(1)
    {
    INT nCurLen;
        nCurLen = FileRead(fSrc,&pZipDataBuf[dwZipOffset], dwLength - dwZipOffset);
        // here should be check the dwZpOffset
        // but by now it is ignored, because of the last one is zipped flag, skip the next following

		//i += nCurLen;
        if (nCurLen <= 0)
        {
			break;
        }
        else
        {
            nCurLen += dwZipOffset;
			dwZipOffset = 0;
        }

    	while( dwZipOffset < (UINT32)nCurLen)
    	{
    		if (dwStatusBits == 0)
    		{
    			byStatus = pZipDataBuf[dwZipOffset];
    			dwStatusBits = 8;
    			dwZipOffset ++;
    		}

     		if(byStatus & 0x80)         	    //判斷是否被壓縮
    		{	//被壓縮數(shù)據(jù)

    			if ( dwZipOffset >= (UINT32)(nCurLen-1) )
	    		{
	    		    if (dwZipOffset >= (UINT32)(nCurLen))
	    		    {// last one is flag
	    		        dwZipOffset = 0;
	    		        break;
	    		    }
		    		pZipDataBuf[0] = pZipDataBuf[dwZipOffset];
			    	dwZipOffset = 1;
				    break;
			    }
    			dwKey = 0;

				//得到壓縮索引號(hào)
    			dwKey = (((UINT32)pZipDataBuf[dwZipOffset]) << 8) | pZipDataBuf[dwZipOffset + 1];

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区在线播放| 亚洲免费在线观看| 91亚洲国产成人精品一区二区三| 亚洲成av人片在线观看| 中文字幕巨乱亚洲| 91精品国产色综合久久| 99视频超级精品| 久久国产精品第一页| 亚洲一区免费在线观看| 欧美高清一级片在线观看| 欧美一区二区视频网站| 色老综合老女人久久久| 国产成人综合网| 久久99最新地址| 视频在线观看一区二区三区| 亚洲人一二三区| 中文字幕乱码一区二区免费| 日韩一区二区三区四区五区六区| 色成人在线视频| 成人av网站在线观看免费| 精品一区二区影视| 免费观看在线综合色| 午夜婷婷国产麻豆精品| 亚洲欧美一区二区久久| 中文成人综合网| 日本一区二区三级电影在线观看 | 中文字幕一区二区三区四区 | 风流少妇一区二区| 精彩视频一区二区| 免费观看一级特黄欧美大片| 日韩电影免费在线| 石原莉奈一区二区三区在线观看 | 国产精品综合在线视频| 美腿丝袜亚洲色图| 日韩二区三区在线观看| 爽好久久久欧美精品| 天堂蜜桃91精品| 亚洲成av人片在www色猫咪| 亚洲一区二区三区国产| 亚洲国产一区二区视频| 亚洲一区二区三区不卡国产欧美| 亚洲黄色性网站| 一区二区在线观看av| 亚洲精品欧美激情| 亚洲综合自拍偷拍| 亚洲第一在线综合网站| 三级在线观看一区二区| 美女高潮久久久| 国模套图日韩精品一区二区| 国产精品一线二线三线| 国产99久久久久久免费看农村| 成人丝袜18视频在线观看| 成人av在线一区二区三区| av激情成人网| 在线观看91视频| 制服丝袜中文字幕亚洲| 日韩精品中午字幕| 久久午夜羞羞影院免费观看| 中文字幕第一区二区| 亚洲三级小视频| 亚洲sss视频在线视频| 久久99久久精品| 国产成人午夜高潮毛片| 91香蕉视频在线| 欧美精品久久天天躁| 久久婷婷久久一区二区三区| 中文字幕免费不卡| 亚洲综合一区二区| 加勒比av一区二区| 99久久婷婷国产综合精品| 欧美最猛黑人xxxxx猛交| 欧美一级久久久| 国产精品无人区| 亚洲6080在线| 国产福利一区在线观看| 91激情在线视频| 欧美va亚洲va国产综合| 国产精品久久久久久亚洲伦| 亚洲成人福利片| 福利91精品一区二区三区| 欧美写真视频网站| 26uuu亚洲| 一区二区三区免费网站| 美女网站色91| 91麻豆6部合集magnet| 精品少妇一区二区三区| 亚洲日本在线看| 狠狠狠色丁香婷婷综合激情| 在线视频观看一区| 久久久精品免费网站| 亚洲永久精品国产| 大桥未久av一区二区三区中文| 欧美日韩卡一卡二| 国产精品国产三级国产aⅴ中文| 亚洲成人av资源| 91色婷婷久久久久合中文| 日韩免费观看高清完整版| 日韩码欧中文字| 精品一区二区综合| 欧美日韩一区二区在线视频| 亚洲国产精品ⅴa在线观看| 日韩av电影天堂| 色天使久久综合网天天| 国产亚洲午夜高清国产拍精品| 亚洲国产中文字幕| 91首页免费视频| 国产欧美精品在线观看| 美女尤物国产一区| 欧美日韩精品是欧美日韩精品| 国产精品午夜久久| 韩国成人精品a∨在线观看| 欧美日韩在线三区| 亚洲你懂的在线视频| 成人美女在线视频| 久久蜜桃一区二区| 看国产成人h片视频| 欧美日韩一区二区三区高清| 亚洲欧美日韩中文字幕一区二区三区| 国产在线播放一区三区四| 91精品在线免费| 日韩精品色哟哟| 欧美日韩国产在线观看| 一级精品视频在线观看宜春院| 懂色av中文一区二区三区| 国产亚洲婷婷免费| 国产成人自拍在线| 国产亚洲综合色| 国产传媒一区在线| 国产欧美日韩在线观看| 国产成人午夜视频| 中文字幕不卡在线观看| 国产成人亚洲精品青草天美| 国产日韩欧美综合在线| 国产乱码精品一区二区三区av| 26uuu另类欧美亚洲曰本| 国产真实乱对白精彩久久| 久久综合狠狠综合久久综合88 | 91麻豆精品久久久久蜜臀| 亚洲成人资源在线| 欧美日韩国产综合久久| 视频一区中文字幕| 欧美一区二区福利在线| 日本不卡视频在线观看| 69av一区二区三区| 蜜桃传媒麻豆第一区在线观看| 欧美va在线播放| 欧美日韩亚洲不卡| 午夜伦欧美伦电影理论片| 欧美一区二区精品| 极品少妇一区二区| 国产亚洲精品精华液| 成人av网站免费| 亚洲精品美国一| 欧美日韩二区三区| 捆绑变态av一区二区三区| 国产欧美一区二区三区在线老狼| av在线不卡网| 亚洲国产毛片aaaaa无费看| 欧美精品国产精品| 激情综合网天天干| 欧美激情艳妇裸体舞| 91免费在线播放| 日韩制服丝袜先锋影音| 精品黑人一区二区三区久久| 国产成人亚洲精品狼色在线| 一区二区三区四区不卡在线 | 国产精品区一区二区三区| 色香色香欲天天天影视综合网| 香蕉成人啪国产精品视频综合网 | 日韩一级完整毛片| 国产成人亚洲综合a∨婷婷| 中文字幕佐山爱一区二区免费| 欧美日韩国产一级片| 激情欧美一区二区三区在线观看| 国产精品网站导航| 欧美日韩黄视频| 国产呦萝稀缺另类资源| 亚洲人成人一区二区在线观看| 8v天堂国产在线一区二区| 国产成人亚洲综合a∨婷婷| 亚洲一级在线观看| 精品国产a毛片| 91高清在线观看| 国产乱子伦视频一区二区三区 | 蜜桃传媒麻豆第一区在线观看| 国产欧美日韩三级| 欧美日韩一区二区在线视频| 国产成人欧美日韩在线电影| 亚洲一卡二卡三卡四卡无卡久久| 久久久精品国产99久久精品芒果| 欧美中文字幕一区二区三区 | 欧美男同性恋视频网站| 丰满岳乱妇一区二区三区| 日韩av网站免费在线| 亚洲女人的天堂| 欧美国产精品中文字幕| 日韩美女天天操| 欧美视频一区二区三区| 成人免费高清在线| 激情综合色播激情啊|