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

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

?? tech.txt

?? 中文編程語言——易語言(可視化編程
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
            CMyDWordArray aryText;

            if (nLen1 > 0 && nCount != 0)
            {
                if (nLen2 == 0)
                {
                    // 有關 CloneTextData 請參見
                    aryText.Add ((DWORD)CloneTextData (szBeSplited));
                }
                else
                {
                    LPTSTR pBegin = szBeSplited;
                    LPTSTR ps = pBegin;

                    while (nLen1 >= nLen2)
                    {
                        if (!memcmp (ps, szMark, nLen2))
                        {
                            aryText.Add ((DWORD)CloneTextData (pBegin, ps - pBegin));
                            ps += nLen2;
                            nLen1 -= nLen2;
                            pBegin = ps;
                            if (nCount != -1)
                            {
                                nCount--;
                                if (nCount == 0)  break;
                            }
                        }
                        else
                        {
                            if (IS_CC (*ps))
                            {
                                if (ps [1] == 0)  break;
                                ps++;
                                nLen1--;
                            }
                            ps++;
                            nLen1--;
                        }
                    }

                    if (*pBegin != '\0' && nCount != 0)
                        aryText.Add ((DWORD)CloneTextData (pBegin));
                }
            }

            // 建立數組數據。
            INT nSize = aryText.GetDWordCount () * sizeof (DWORD);
            LPBYTE p = (LPBYTE)MMalloc (sizeof (INT) * 2 + nSize);
            *(LPINT)p = 1;  // 數組維數。
            *(LPINT)(p + sizeof (INT)) = aryText.GetDWordCount ();
            memcpy (p + sizeof (INT) * 2, aryText.GetPtr (), nSize);

            pRetData->m_pAryData = p;  // 返回內容數組。
        }

    ///////////////////

    5、返回復合數據類型數據的命令例子:

        static CMD_INFO s_CmdInfo =
        {
        /*name*/        _T("取打印設置"),
        /*egname*/      _T("GetPrintInf"),
        /*explain*/     _T("返回打印數據源數據時所將使用的設置信息"),
        /*category*/    -1,     // -1 表示為對象的方法。
        /*state*/       NULL,
        /*ret*/         DTP_PRINT_INF,
        /*reserved*/    0,
        /*level*/       LVL_SIMPLE,
        /*bmp inx*/     0,
        /*bmp num*/     0,
        /*ArgCount*/    0,
        /*arg lp*/      NULL,
        };

        // 實現函數
        void fnGetPrintInf (PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
        {
            CUDataSource* pUDataSource = (CUDataSource*)GetWndPtr (pArgInf);

            CMPrintInfo info;
            const CMPrintInfo* pInfo = pUDataSource->m_src.GetPrintInfo ();
            if (pInfo != NULL)
                info.CopyFrom (pInfo);

            INT nPaperType = 0;
            for (INT i = 0; i < sizeof (s_shtaryPaperType) / sizeof (s_shtaryPaperType [0]); i++)
            {
                if (info.m_shtPaperType == s_shtaryPaperType [i])
                {
                    nPaperType = i;
                    break;
                }
            }

            CFreqMem mem;
            mem.AddInt (nPaperType);
            mem.AddInt (info.m_shtOrientation == DMORIENT_LANDSCAPE ? 1 : 0);
            mem.AddInt (info.m_rtMargin.left);
            mem.AddInt (info.m_rtMargin.top);
            mem.AddInt (info.m_rtMargin.right);
            mem.AddInt (info.m_rtMargin.bottom);
            mem.AddInt (info.m_nPageNumPlace);
            mem.AddInt (info.m_nPrintCopies);
            mem.AddInt (info.m_nFirstPageNO);
            mem.AddBool (info.m_blIsPrintIntoFile);
            mem.AddDWord ((DWORD)CloneTextData ((char*)(LPCTSTR)info.m_strPrintIntoFileName));
            mem.AddBool (info.m_blAutoFillLastPage);
            mem.AddBool (info.m_blAutoAddHidedSide );
            mem.AddInt (info.m_nPagePrintMode);
            mem.AddInt (info.m_nPrintRangeMode);
            mem.AddInt (info.m_nBeginIndex);
            mem.AddInt (info.m_nEndIndex);
            mem.AddInt (info.m_nLinesPrePage);
            mem.AddInt (info.GetPrintScale ());

            // 設置返回的復合數據類型數據。
            INT nSize = mem.GetSize ();
            pRetData->m_pCompoundData = MMalloc (nSize);
            memcpy (pRetData->m_pCompoundData, mem.GetPtr (), nSize);
        }

    ///////////////////

    6、返回 _SDT_ALL 數據類型的命令例子:

        // 從字節集轉換

        static ARG_INFO s_ArgInfo[] =
        {
            {
            /*name*/       _T("欲轉換的字節集"),
            /*explain*/    NULL,
            /*bmp inx*/    0,
            /*bmp num*/    0,
            /*type*/       SDT_BIN,
            /*default*/    0,
            /*state*/      NULL,
            }, {
            /*name*/       _T("欲轉換為的數據類型"),
            /*explain*/    _T("參數值可以為以下常量: 1、#字節型; 2、#短整數型; 3、#整數型; "
                      "4、#長整數型; 5、#小數型; 6、#雙精度小數型; 7、#邏輯型; 8、#日期時間型; "
                      "9、#子程序指針型; 10、#文本型。轉換后的數據將自動進行有效性校驗及轉換處理"),
            /*bmp inx*/    0,
            /*bmp num*/    0,
            /*type*/       SDT_INT,
            /*default*/    0,
            /*state*/      NULL,
            }
        };

        static CMD_INFO s_CmdInfo =
        {
        /*ccname*/        _T("從字節集轉換"),
        /*egname*/        _T("CnvFromBin"),
        /*explain*/       _T("將字節集轉換成指定數據類型的數據,返回轉換后的結果"),
        /*category*/      10,
        /*state*/         NULL,
        /*ret*/           _SDT_ALL,
        /*reserved*/      0,
        /*level*/         LVL_SIMPLE,
        /*bmp inx*/       0,
        /*bmp num*/       0,
        /*ArgCount*/      2,
        /*arg lp*/        s_ArgInfo,
        },

        // 輔助函數
        INT GetSysDataTypeDataSize (DATA_TYPE dtSysDataType)
        {
            ASSERT (sizeof (DWORD) == 4);

            switch (dtSysDataType)
            {
            case SDT_BYTE:
                ASSERT (sizeof (BYTE) == 1);
                return sizeof (BYTE);
            case SDT_SHORT:
                ASSERT (sizeof (SHORT) == 2);
                return sizeof (SHORT);
            case SDT_BOOL:
                ASSERT (sizeof (BOOL) == 4);
                return sizeof (BOOL);
            case SDT_INT:
                ASSERT (sizeof (INT) == 4);
                return sizeof (INT);
            case SDT_FLOAT:
                ASSERT (sizeof (FLOAT) == 4);
                return sizeof (FLOAT);
            case SDT_SUB_PTR:    // 記錄子程序代碼的地址指針
                return sizeof (DWORD);
            case SDT_TEXT:    // 文本型和字節集型為一個指針,因此為四個字節.
            case SDT_BIN:
                return sizeof (DWORD);
            case SDT_INT64:
                ASSERT (sizeof (INT64) == 8);
                return sizeof (INT64);
            case SDT_DOUBLE:
                ASSERT (sizeof (DOUBLE) == 8);
                return sizeof (DOUBLE);
            case SDT_DATE_TIME:
                ASSERT (sizeof (DATE) == 8);
                return sizeof (DATE);
            default:
                ASSERT (FALSE);
                return 0;
            }

            return 0;
        }

        // 輔助函數
        void SetMDataValue (PMDATA_INF pRetData, LPBYTE pData, INT nDataSize)
        {
            switch (pRetData->m_dtDataType)
            {
            case SDT_BYTE:
                pRetData->m_byte = *pData;
                break;
            case SDT_SHORT:
                pRetData->m_short = *(SHORT*)pData;
                break;
            case SDT_INT:
                pRetData->m_int = *(INT*)pData;
                break;
            case SDT_INT64:
                pRetData->m_int64 = *(INT64*)pData;
                break;
            case SDT_FLOAT:
                pRetData->m_float = *(FLOAT*)pData;
                break;
            case SDT_DOUBLE:
                pRetData->m_double = *(DOUBLE*)pData;
                break;
            case SDT_BOOL:
                pRetData->m_bool = (*(BOOL*)pData != FALSE);
                break;
            case SDT_DATE_TIME:
                pRetData->m_date = max (MIN_DATE, min (MAX_DATE, *(DATE*)pData));
                break;
            case SDT_SUB_PTR:
                pRetData->m_dwSubCodeAdr = *(LPDWORD)pData;
                break;
            case SDT_TEXT: {
                INT nEndPos = FindByte (pData, nDataSize, 0);
                pRetData->m_pText = CloneTextData ((char*)pData,
                        (nEndPos != -1 ? nEndPos : nDataSize));
                break; }
            case SDT_BIN:
                pRetData->m_pBin = CloneBinData (pData, nDataSize);
                break;
            DEFAULT_FAILD;
            }
        }

        // 命令實現函數
        void fnCnvFromBin (PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
        {
            LPBYTE pData = pArgInf [0].m_pBin + sizeof (INT) * 2;
            INT nDataSize = *(LPINT)(pData - sizeof (INT));

            INT nType = pArgInf [1].m_int;
            if (nType < 1 || nType > 10)
                GReportError ("“欲轉換為的數據類型”參數值無效");

            //!!! 如果定義為返回 _SDT_ALL 數據類型數據,則必須設置
            // pRetData->m_dtDataType 為所返回數據的 DATA_TYPE 。
            pRetData->m_dtDataType =
                    nType == 1 ? SDT_BYTE :
                    nType == 2 ? SDT_SHORT :
                    nType == 3 ? SDT_INT :
                    nType == 4 ? SDT_INT64 :
                    nType == 5 ? SDT_FLOAT :
                    nType == 6 ? SDT_DOUBLE :
                    nType == 7 ? SDT_BOOL :
                    nType == 8 ? SDT_DATE_TIME :
                    nType == 9 ? SDT_SUB_PTR :
                    SDT_TEXT;

            DWORD dwbuf [2];
            INT nNeedSize = GetSysDataTypeDataSize (pRetData->m_dtDataType);
            if (nType != 10 && nDataSize < nNeedSize)
            {
                ASSERT (nDataSize < sizeof (dwbuf));
                dwbuf [0] = dwbuf [1] = 0;
                memcpy (dwbuf, pData, nDataSize);
                pData = (LPBYTE)dwbuf;
                nDataSize = nNeedSize;
            }

            SetMDataValue (pRetData, pData, nDataSize);
        }

    ///////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91丝袜呻吟高潮美腿白嫩在线观看| 国产精品香蕉一区二区三区| 中文字幕一区av| 亚洲欧美色图小说| 午夜欧美一区二区三区在线播放| 日本色综合中文字幕| 福利一区二区在线观看| 在线这里只有精品| 日韩一区二区精品在线观看| 国产欧美一区二区精品秋霞影院| 综合久久一区二区三区| 视频一区欧美精品| 亚洲成av人片观看| 国产成人免费在线视频| 色婷婷久久久综合中文字幕| 日韩视频一区二区三区| 中文字幕在线免费不卡| 日韩制服丝袜av| 99视频有精品| 欧美一卡二卡在线观看| 亚洲欧美激情一区二区| 美女网站视频久久| 91精品办公室少妇高潮对白| 久久综合久久久久88| 亚洲成av人片在www色猫咪| 国产aⅴ综合色| 91精品国产91久久综合桃花| 日韩电影在线观看网站| 欧美亚洲图片小说| 亚洲日本丝袜连裤袜办公室| 成人亚洲一区二区一| 国产资源在线一区| 欧美精品vⅰdeose4hd| 777奇米成人网| 一个色妞综合视频在线观看| 91捆绑美女网站| 中文字幕字幕中文在线中不卡视频| 国产成a人亚洲| 国产欧美日韩精品一区| 国产精品一区二区三区四区| 久久综合九色欧美综合狠狠| 国产成人亚洲综合a∨婷婷| 久久久久久亚洲综合| 高清beeg欧美| 国产精品久久久久天堂| 99视频精品在线| 亚洲一区二区三区四区中文字幕| 色成年激情久久综合| 亚洲国产日日夜夜| 欧美日韩一区高清| 麻豆91小视频| 国产欧美精品一区| 91在线视频免费91| 亚洲成人午夜电影| 精品国精品国产尤物美女| 国产在线视频一区二区| 国产精品另类一区| 色999日韩国产欧美一区二区| 亚洲国产另类精品专区| 日韩欧美第一区| 成人高清免费在线播放| 亚洲美女电影在线| 69堂亚洲精品首页| 狠狠色丁香久久婷婷综| 亚洲日穴在线视频| 91精品视频网| 不卡一区二区中文字幕| 婷婷综合另类小说色区| 亚洲精品在线观看网站| 91亚洲国产成人精品一区二区三| 亚洲成人激情av| 久久精品欧美一区二区三区不卡| 91免费版pro下载短视频| 日韩激情在线观看| 国产精品久久久久久久第一福利| 欧美色老头old∨ideo| 国产在线国偷精品产拍免费yy| 综合久久久久久| 欧美电影免费观看高清完整版在线观看 | 国产91丝袜在线播放0| 亚洲天堂久久久久久久| 日韩欧美中文字幕精品| 91猫先生在线| 国产一区欧美日韩| 日韩一区精品视频| 亚洲欧美日韩系列| 久久蜜桃av一区二区天堂| 欧美亚洲动漫精品| 丁香婷婷综合五月| 久久国产综合精品| 亚洲1区2区3区4区| 成人欧美一区二区三区视频网页| 日韩一区二区三区免费看| 色网站国产精品| 国产精品一区二区视频| 麻豆91精品91久久久的内涵| 亚洲综合在线五月| 亚洲国产精品黑人久久久| 欧美一区二区日韩一区二区| 在线中文字幕不卡| 91小视频免费观看| 成人一级片网址| 狠狠狠色丁香婷婷综合激情| 亚洲午夜影视影院在线观看| 综合久久综合久久| 国产精品电影一区二区| 欧美国产欧美综合| 久久蜜桃av一区精品变态类天堂| 91麻豆精品国产91久久久使用方法| 91久久精品一区二区三区| 成人av先锋影音| 国产成人综合在线| 激情五月婷婷综合| 六月丁香婷婷久久| 久久99精品国产麻豆婷婷| 婷婷中文字幕综合| 亚洲成人av一区二区三区| 亚洲午夜在线视频| 亚洲国产精品久久不卡毛片 | 一本大道久久a久久综合| 成人午夜激情片| 成人一区二区在线观看| 国产成人亚洲综合色影视| 国产成人综合网站| 成人丝袜高跟foot| 成人综合激情网| 波多野结衣亚洲| 一本一道久久a久久精品| 99国产欧美久久久精品| 色欧美88888久久久久久影院| 91麻豆文化传媒在线观看| 色婷婷av一区二区三区软件| 欧美性淫爽ww久久久久无| 欧美体内she精视频| 欧美一区二区三区免费在线看| 9191成人精品久久| 精品国产精品网麻豆系列| 国产区在线观看成人精品| 国产精品国产三级国产aⅴ中文| 中文字幕佐山爱一区二区免费| 亚洲精品国产高清久久伦理二区| 亚洲成av人影院| 九九视频精品免费| 成人av影视在线观看| 欧美无砖专区一中文字| 欧美一区二区日韩| 中文av一区特黄| 一区二区三区国产豹纹内裤在线 | 制服丝袜av成人在线看| 欧美成人一区二区三区在线观看 | www国产成人| 亚洲色图欧美在线| 青青草成人在线观看| 成人听书哪个软件好| 欧美精品视频www在线观看| 精品国产乱码久久久久久夜甘婷婷 | 蜜臀av在线播放一区二区三区| 国产成人精品aa毛片| 日本韩国欧美一区| 亚洲精品一区二区三区蜜桃下载| 亚洲欧美日韩小说| 国产一区二区三区最好精华液| av福利精品导航| 日韩欧美久久一区| 亚洲乱码国产乱码精品精小说 | 91精品国产综合久久蜜臀| 亚洲成人资源网| 丰满白嫩尤物一区二区| 欧美日韩亚洲国产综合| 国产天堂亚洲国产碰碰| 肉丝袜脚交视频一区二区| 91在线视频网址| 久久精品免费在线观看| 秋霞午夜鲁丝一区二区老狼| 色综合久久六月婷婷中文字幕| 久久女同性恋中文字幕| 日韩激情视频在线观看| 91福利在线观看| 国产欧美一区二区三区在线看蜜臀 | 《视频一区视频二区| 另类中文字幕网| 欧美三级日韩在线| 亚洲人成网站精品片在线观看| 国产精品一区二区黑丝| 日韩一级在线观看| 亚洲第四色夜色| 91成人国产精品| 亚洲精品国久久99热| 成人91在线观看| 中文av一区特黄| 成人网男人的天堂| 日本一区二区三区高清不卡| 激情六月婷婷久久| 91精品国产综合久久国产大片| 亚洲在线观看免费| 在线一区二区三区四区五区| 中文字幕一区二区在线播放| 丰满岳乱妇一区二区三区| 久久久亚洲欧洲日产国码αv| 国产在线一区二区|