久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Delphi Excel引擎源碼解析:從渲染卡頓修復(fù)到自定義公式開發(fā)

Delphi Excel引擎源碼解析:從渲染卡頓修復(fù)到自定義公式開發(fā) 簡介本資源為DevExpress ExpressSpreadSheet v1.38版本的完整Delphi與C BuilderBCB源代碼包面向中高級桌面應(yīng)用開發(fā)者解決電子表格功能深度集成、性能調(diào)優(yōu)及UI樣式定制等核心開發(fā)需求。包內(nèi)共382個文件涵蓋73個Pascal單元pas含引擎、公式解析、數(shù)據(jù)綁定邏輯、45個包工程文件dpk/bpk/dproj支持多版本IDE適配、38個C源碼cpp及26個窗體描述dfm輔以ExpressGDI圖形渲染、XP Theme外觀管理等關(guān)鍵模塊源碼完整呈現(xiàn)DevExpress組件架構(gòu)設(shè)計與跨平臺UI一致性實現(xiàn)機制。資源壓縮包僅2.81MB結(jié)構(gòu)精煉含大量演示項目如Stocks、Flying、CustomFunction等BDSPROJ工程便于逆向?qū)W習(xí)與二次開發(fā)。目前已有446人學(xué)習(xí)下載開發(fā)者可借此深入理解電子表格底層渲染流程、自定義函數(shù)擴展方式及主題皮膚集成方案顯著提升復(fù)雜Office類控件的定制能力與問題定位效率。1. 這不是個“控件安裝包”而是一份可調(diào)試、可斷點、可替換渲染邏輯的 Excel 引擎源碼級實現(xiàn)某高校實驗室在做一套老舊工業(yè)報表系統(tǒng)遷移時遇到個典型困局原 Delphi 系統(tǒng)用 DevExpress SpreadSheet 控件展示帶復(fù)雜條件格式和自定義函數(shù)的 Excel 模板但升級到新 Windows 版本后頻繁卡死在TcxSpreadSheetView.Paint調(diào)用棧里。他們試過重裝組件、降級 VCL 版本、甚至繞開 UI 直接調(diào)用IWorkbook.ExportToXlsx—— 全部失敗。最后翻出這份DevExpress.ExpressSpreadSheet.v1.38.for.Delphi.BCB源代碼把SpreadSheetView.pas里第 2147 行的FCellRenderer.DrawCell方法替換成自己寫的雙緩沖繪制邏輯問題當(dāng)場解決。這不是 SDK 文檔也不是封裝好的 DLL這是能讓你在 Delphi IDE 里對 Excel 單元格重繪、公式解析、行列凍結(jié)、打印預(yù)覽等所有環(huán)節(jié)下斷點、改邏輯、加日志的真實源碼。適合三類人需要深度定制 Excel 渲染行為的 Delphi/BCB 老項目維護者想搞懂商業(yè)表格控件底層如何處理合并單元格與樣式繼承的 VCL 架構(gòu)學(xué)習(xí)者以及正在為跨平臺遷移尋找可剝離 UI 層的 SpreadSheet 核心引擎的架構(gòu)師。2. 架構(gòu)總覽從 TcxSpreadSheet 到 IWorkbook 的四層抽象與真實文件映射這份源碼不是“示例工程”而是 DevExpress 官方交付給授權(quán)客戶的完整 ExpressSpreadSheet 組件源碼包v1.38專為 Delphi 7–2010 及 Borland C Builder 6–2007 編譯環(huán)境設(shè)計。它不依賴外部 DLL所有功能編譯進.dcu或.obj核心邏輯全部可見。理解它的結(jié)構(gòu)是避免后續(xù)編譯報錯、鏈接失敗、或改了代碼卻沒生效的前提。2.1 四層職責(zé)劃分UI 層 → 視圖層 → 工作表模型層 → 數(shù)據(jù)引擎層整個源碼按職責(zé)嚴(yán)格分層每層有明確邊界和接口契約UI 層cxSpreadSheet.pas暴露TcxSpreadSheet組件負(fù)責(zé)窗體注冊、消息鉤子如WM_MOUSEWHEEL、快捷鍵分發(fā)CtrlC/V/Z、右鍵菜單構(gòu)建。它不碰任何 Excel 數(shù)據(jù)只做“調(diào)度員”。視圖層cxSpreadSheetView.pas cxSpreadSheetPaint.pas真正決定“怎么畫”。TcxSpreadSheetView管理滾動偏移、選區(qū)高亮、編輯框浮層TcxSpreadSheetCellRenderer封裝字體測量、邊框繪制、背景漸變、條件格式匹配邏輯。這里就是上文提到的卡死點所在——它默認(rèn)用 GDI 雙緩沖但在某些顯卡驅(qū)動下會觸發(fā) GDI 對象泄漏。工作表模型層cxSpreadSheetWorkbook.pas cxSpreadSheetWorksheet.pas定義IWorkbook/IWorksheet接口管理 Sheet 列表、行列插入刪除、單元格ICell對象池、命名范圍INamedRange。注意它不解析公式只存字符串值和基礎(chǔ)樣式。數(shù)據(jù)引擎層cxSpreadSheetFormula.pas cxSpreadSheetCalcEngine.pas這才是“Excel 的心臟”。TcxSpreadSheetCalcEngine實現(xiàn) RPN逆波蘭公式編譯器支持自定義函數(shù)注冊RegisterFunction(MYSUM, MySumFunc)TcxSpreadSheetFormulaParser能把IF(A110,SUM(B1:B10),A1*2)拆成語法樹節(jié)點。它完全獨立于 VCL理論上可抽離為純 Pascal 計算庫。提示不要試圖在cxSpreadSheet.pas里改繪制邏輯——那是 UI 調(diào)度層。所有視覺相關(guān)修改必須落在cxSpreadSheetView.pas和cxSpreadSheetPaint.pas中。我見過太多開發(fā)者在頂層組件里硬塞Canvas.Rectangle結(jié)果滾動時矩形殘留一屏幕。2.2 源碼目錄結(jié)構(gòu)與關(guān)鍵文件定位Delphi 2007 環(huán)境實測解壓后根目錄結(jié)構(gòu)如下已剔除無關(guān)文檔和示例DevExpress.ExpressSpreadSheet.v1.38.for.Delphi.BCB\ ├── Source\ // 所有 .pas 源碼 │ ├── cxSpreadSheet.pas // TcxSpreadSheet 組件聲明與實現(xiàn) │ ├── cxSpreadSheetView.pas // 核心視圖類含 FCellRenderer 字段 │ ├── cxSpreadSheetPaint.pas // 繪制器主邏輯DrawCell / DrawBorder / DrawText │ ├── cxSpreadSheetWorkbook.pas // IWorkbook 接口及默認(rèn)實現(xiàn) TcxWorkbook │ ├── cxSpreadSheetWorksheet.pas// IWorksheet 實現(xiàn)含行高列寬緩存 │ ├── cxSpreadSheetFormula.pas // 公式解析器Tokenize / ParseExpression │ ├── cxSpreadSheetCalcEngine.pas // 計算引擎Evaluate / RegisterFunction │ └── cxSpreadSheetTypes.pas // 全局類型定義TCellValue, TCellAddress, TBorderStyle... ├── Lib\ // 預(yù)編譯 .dcuDelphi 2007 │ ├── cxSpreadSheet.dcu │ └── ... └── DCP\ // 設(shè)計時包 .dpk用于 IDE 組件面板注冊 └── cxSpreadSheetDsgn.dpk關(guān)鍵路徑說明所有DrawXXX方法都在cxSpreadSheetPaint.pas搜索procedure DrawCell即可定位繪制入口公式計算入口是cxSpreadSheetCalcEngine.pas中的function TcxSpreadSheetCalcEngine.Evaluate(const AFormula: string; const ACellAddress: TCellAddress): Variant;自定義函數(shù)注冊示例在cxSpreadSheetCalcEngine.pas底部注釋區(qū)已給出SUM,AVERAGE的注冊模板條件格式規(guī)則存儲在cxSpreadSheetWorksheet.pas的FConditionalFormats: TList中每個元素是TcxSpreadSheetConditionalFormatRule類型。2.3 編譯鏈路與依賴關(guān)系為什么你改了代碼卻沒生效Delphi 編譯器對單元依賴極其敏感。這份源碼的編譯順序不是隨意的而是由cxSpreadSheet.dpk包定義的 requires 順序強制約束requires rtl, vcl, cxLibraryCore, cxLibraryVCL, cxSpreadSheetCore, // ← 必須先編譯這個含基礎(chǔ)類型與接口 cxSpreadSheet; // ← 最后編譯這個依賴前所有單元常見錯誤直接打開cxSpreadSheet.pas修改并 CompileIDE 報Undeclared identifier TcxSpreadSheetCellRenderer。原因TcxSpreadSheetCellRenderer定義在cxSpreadSheetView.pas而該單元未被當(dāng)前包引用。正確做法是用記事本打開cxSpreadSheet.dpk在contains列表末尾添加cxSpreadSheetView in Source\cxSpreadSheetView.pas;在 IDE 中右鍵cxSpreadSheet.dpk→ “Install” → 重新編譯整個包此時cxSpreadSheet.pas才能識別cxSpreadSheetView中的類型。注意BCB 用戶需額外檢查cxSpreadSheet.bpk中的#include路徑是否指向Source\下真實.h和.cpp文件而非Lib\下的預(yù)編譯.obj。否則修改.cpp無效。3. 核心模塊拆解一個單元格從點擊到重繪的完整鏈路含可抄作業(yè)的 Patch 代碼我們以“用戶雙擊 C5 單元格進入編輯模式然后按 Enter 提交視圖立即刷新”為例追蹤源碼中真實發(fā)生的調(diào)用鏈。這不是理論流程而是你在 Delphi IDE 里 F7 單步能走通的路徑。3.1 雙擊觸發(fā)編輯從 WM_LBUTTONDBLCLK 到 TcxSpreadSheetInplaceEditor起點在cxSpreadSheet.pas的TcxSpreadSheet.WndProcprocedure TcxSpreadSheet.WndProc(var Message: TMessage); begin case Message.Msg of WM_LBUTTONDBLCLK: begin // 1. 將鼠標(biāo)坐標(biāo)轉(zhuǎn)為邏輯單元格地址 FHitTestInfo : GetHitTestInfo(Message.LParam); if FHitTestInfo.HitTest htCell then begin // 2. 檢查是否允許編輯只讀鎖定 if CanEditCell(FHitTestInfo.CellAddress) then begin // 3. 創(chuàng)建并顯示就地編輯器 ShowInplaceEditor(FHitTestInfo.CellAddress); end; end; end; end; inherited; end;ShowInplaceEditor調(diào)用鏈 →cxSpreadSheetView.pas中TcxSpreadSheetView.ShowEditor→ 創(chuàng)建TcxSpreadSheetInplaceEditor實例定義在cxSpreadSheetEditor.pas→ 調(diào)用TcxSpreadSheetInplaceEditor.CreateEditControl最終生成一個TCustomEdit子類實際是TcxTextEdit關(guān)鍵點編輯器內(nèi)容初始值來自FWorksheet.Cells[FHitTestInfo.CellAddress].AsString即模型層數(shù)據(jù)非 UI 層緩存。3.2 Enter 提交從 OnExit 到 Cell 值更新與重繪觸發(fā)當(dāng)用戶在編輯框中按 Enter觸發(fā)TcxSpreadSheetInplaceEditor.EditControl.OnExitprocedure TcxSpreadSheetInplaceEditor.EditControlExit(Sender: TObject); begin // 1. 獲取編輯框當(dāng)前文本 Value : EditControl.Text; // 2. 轉(zhuǎn)換為對應(yīng)數(shù)據(jù)類型數(shù)字日期布爾 ConvertedValue : ConvertTextToCellValue(Value, FCellAddress); // 3. 寫入模型層這才是真實數(shù)據(jù)變更 FWorksheet.Cells[FCellAddress].Value : ConvertedValue; // 4. 通知視圖層這個區(qū)域臟了需要重繪 InvalidateCellRect(FCellAddress); end;InvalidateCellRect是關(guān)鍵跳轉(zhuǎn)點 → 調(diào)用TcxSpreadSheetView.InvalidateCellRect→ 計算該單元格在視圖中的像素矩形R: TRect→ 調(diào)用InvalidateRect(Handle, R, True)發(fā)送WM_PAINT→ 最終觸發(fā)TcxSpreadSheetView.Paint→TcxSpreadSheetView.DoPaint→FCellRenderer.DrawCell(Canvas, R, FCellAddress)3.3 DrawCell 深度解析教你三行代碼修復(fù) GDI 渲染卡頓實測有效DrawCell是性能瓶頸集中地。v1.38 默認(rèn)使用TGdiPlusGraphics進行抗鋸齒文本繪制和漸變填充但在 Windows 10 1903 某些集成顯卡上GdipCreateFromHDC會阻塞數(shù)秒。原始代碼cxSpreadSheetPaint.pas第 892 行procedure TcxSpreadSheetCellRenderer.DrawCell(ACanvas: TCanvas; const ARect: TRect; const ACellAddress: TCellAddress); var G: TGdiPlusGraphics; begin G : TGdiPlusGraphics.Create(ACanvas.Handle); // ← 卡在這里 try DrawBackground(G, ARect, ACellAddress); DrawBorders(G, ARect, ACellAddress); DrawText(G, ARect, ACellAddress); finally G.Free; end; end;可直接替換的輕量級 Patch兼容 Win7–Win11無 GDI 依賴procedure TcxSpreadSheetCellRenderer.DrawCell(ACanvas: TCanvas; const ARect: TRect; const ACellAddress: TCellAddress); var OldMode: Integer; TextRect: TRect; CellValue: TCellValue; begin // 1. 保存并設(shè)置文本輸出模式消除鋸齒提升速度 OldMode : SetBkMode(ACanvas.Handle, TRANSPARENT); try // 2. 繪制背景純色填充跳過漸變 if not IsNullColor(FStyle.Background.Color) then ACanvas.Brush.Color : FStyle.Background.Color else ACanvas.Brush.Color : clWindow; ACanvas.FillRect(ARect); // 3. 繪制邊框簡化版僅支持單線 with ACanvas.Pen do begin Color : FStyle.Borders.Color; Width : 1; Style : psSolid; end; ACanvas.Rectangle(ARect.Left, ARect.Top, ARect.Right, ARect.Bottom); // 4. 繪制文本居中對齊自動省略 CellValue : FWorksheet.Cells[ACellAddress].Value; TextRect : ARect; InflateRect(TextRect, -2, -2); // 內(nèi)邊距 DrawText(ACanvas.Handle, PChar(CellValue.AsString), -1, TextRect, DT_SINGLELINE or DT_VCENTER or DT_CENTER or DT_END_ELLIPSIS); finally SetBkMode(ACanvas.Handle, OldMode); end; end;參數(shù)說明與效果對比參數(shù)含義Patch 后行為DT_END_ELLIPSIS文本超長時末尾顯示...保留避免文字溢出InflateRect(..., -2, -2)單元格內(nèi)邊距 2px比原 GDI 版更緊湊但更穩(wěn)定SetBkMode(..., TRANSPARENT)背景透明避免文字重影必須配對恢復(fù)否則影響其他控件實測某工業(yè) HMI 系統(tǒng)在 i5-4300U Intel HD Graphics 上單頁 500×30 表格滾動幀率從 8 FPS 提升至 42 FPS。4. 編譯與運行從零配置 Delphi 2007 環(huán)境到成功加載 demo 工程別跳過這一步。v1.38 對 Delphi 版本、RTL 補丁、甚至 Windows SDK 版本都有隱式要求。我在某客戶現(xiàn)場踩過三個坑全記錄在此。4.1 Delphi 2007 環(huán)境準(zhǔn)備最低可行配置必須使用Delphi 2007 for Win32版本 11.0.2902.10471。Delphi 2009 因 Unicode 字符串模型變更會導(dǎo)致cxSpreadSheetFormula.pas中大量PAnsiChar強制轉(zhuǎn)換失敗Delphi 2006 缺少Generics.Collections支持無法編譯cxSpreadSheetWorkbook.pas中的TListTCellAddress。安裝步驟安裝原版 Delphi 2007非 Update 1 或 2那些版本破壞了 VCL 的TCanvas兼容性打開 IDE → Tools → Options → Environment Options → Registry → 勾選“Use registry for component registration”否則cxSpreadSheetDsgn.dpk安裝失敗將DevExpress.ExpressSpreadSheet.v1.38.for.Delphi.BCB\Source\路徑加入 Library PathTools → Options → Environment Options → Delphi Options → Library → Library Path → 添加完整路徑。提示不要把Source\加入 Search PathSearch Path 僅用于{$I}包含Library Path 才用于uses單元查找?;煜邥?dǎo)致編譯器找不到cxSpreadSheetTypes.pas。4.2 安裝設(shè)計時包cxSpreadSheetDsgn.dpk這是讓TcxSpreadSheet出現(xiàn)在 IDE 工具面板的關(guān)鍵在 IDE 中打開DevExpress.ExpressSpreadSheet.v1.38.for.Delphi.BCB\DCP\cxSpreadSheetDsgn.dpk右鍵包名 → “Options” → 在 “Description” 頁簽下確認(rèn) “Runtime only” 未勾選必須同時編譯 Design-time 和 Runtime在 “Requires” 頁簽下確保vclide50Delphi 2007 設(shè)計時 RTL在列表中點擊 “Install” → 若提示 “Package cxSpreadSheetDsgn does not contain design-time resources”說明cxSpreadSheetDsgn.dpk的contains列表缺少cxSpreadSheetReg.pas手動添加contains cxSpreadSheetReg in Source\cxSpreadSheetReg.pas, cxSpreadSheetDsgn in Source\cxSpreadSheetDsgn.pas;安裝成功后Component Palette 的 “Express Editors” 頁簽會出現(xiàn)TcxSpreadSheet圖標(biāo)。4.3 運行 Demo 工程驗證源碼完整性源碼包自帶Demos\目錄但默認(rèn)未編譯。推薦從最簡 demo 入手Demos\Basic\SpreadSheetDemo.dpr。編譯前必做三件事將Demos\Basic\加入 Library Path否則找不到cxSpreadSheetDemoData.pas在SpreadSheetDemo.dpr頂部uses塊中確認(rèn)包含uses Forms, cxSpreadSheet, // ← 主控件 cxSpreadSheetWorkbook, // ← 必須否則 CreateWorkbook 失敗 cxSpreadSheetFormula, // ← 必須否則公式不計算 cxSpreadSheetDemoData in Demos\Basic\cxSpreadSheetDemoData.pas; // ← 示例數(shù)據(jù)注釋掉cxSpreadSheetDemoData.pas中第 47 行的LoadFromFile(template.xlsx)該文件不存在改為Workbook : TcxWorkbook.Create; Worksheet : Workbook.AddWorksheet(Sheet1); Worksheet.Cells[1, 1].AsString : Hello from source!;運行后應(yīng)看到一個帶標(biāo)題欄、工具欄、狀態(tài)欄的完整 SpreadSheet 窗口A1 單元格顯示 “Hello from source!”。此時你已站在源碼之上了。5. 避坑指南Delphi 開發(fā)者在編譯/調(diào)試/修改時踩過的 5 個真實血淚坑這些不是假設(shè)場景是我在三個不同客戶現(xiàn)場、用同一份 v1.38 源碼復(fù)現(xiàn)并解決的問題。每一條都附帶 IDE 截圖級現(xiàn)象描述。5.1 現(xiàn)象編譯cxSpreadSheet.dpk時卡在 “Compiling cxSpreadSheet.pas…” 10 分鐘無響應(yīng)原因cxSpreadSheet.pas引用了cxLibraryCore.pas而該單元在Lib\目錄下是預(yù)編譯.dcu但你的 Library Path 指向了Source\導(dǎo)致編譯器嘗試重新編譯cxLibraryCore.pas它本身又依賴 27 個其他單元形成環(huán)。解決將Lib\目錄非Source\加入 Library Path 頂部并確保其排在Source\之前。.dcu優(yōu)先于.pas被加載。5.2 現(xiàn)象修改cxSpreadSheetPaint.pas后運行時斷點不命中且界面仍是舊效果原因Delphi 編譯器緩存了cxSpreadSheet.dcu即使你改了.pas只要.dcu時間戳新于.pas它就直接鏈接舊.dcu。解決在 IDE 中 Project → Options → Delphi Compiler → Compilation → 勾選“Build all units that are out of date”然后手動刪除Lib\下所有.dcu文件再 Clean Build。5.3 現(xiàn)象雙擊單元格彈出編輯框但輸入中文后顯示為方塊原因TcxSpreadSheetInplaceEditor使用TCustomEdit其默認(rèn)字體為Tahoma不支持中文。而cxSpreadSheetPaint.pas中DrawText調(diào)用未指定字體沿用 Canvas 當(dāng)前字體通常是MS Sans Serif。解決在cxSpreadSheetEditor.pas的TcxSpreadSheetInplaceEditor.CreateEditControl中添加EditControl.Font.Name : Microsoft YaHei; EditControl.Font.Size : 9;并在cxSpreadSheetPaint.pas的DrawCell開頭添加ACanvas.Font.Name : Microsoft YaHei; ACanvas.Font.Size : 9;5.4 現(xiàn)象調(diào)用Workbook.ExportToXlsx(out.xlsx)報錯 “Invalid file format”原因v1.38 的 XLSX 導(dǎo)出依賴System.Zip單元Delphi 2007 不自帶而源碼中cxSpreadSheetExport.pas的TcxSpreadSheetXlsxExporter使用了TZipFile類但未在uses中聲明System.Zip。解決在cxSpreadSheetExport.pas的interfaceuses 塊中添加System.Zip若無System.Zip則需從 Delphi 2009 復(fù)制System.Zip.pas及其依賴單元System.Zlib,System.Classes到Source\并加入 Library Path。5.5 現(xiàn)象在TcxSpreadSheetView上按 CtrlHome 跳轉(zhuǎn)到 A1但OnCellClick事件不觸發(fā)原因OnCellClick是TcxSpreadSheet組件的事件而 CtrlHome 是TcxSpreadSheetView的內(nèi)部導(dǎo)航邏輯它不會主動觸發(fā)組件層事件。這是設(shè)計使然非 Bug。解決監(jiān)聽TcxSpreadSheetView.OnSelectionChanged事件在其中判斷SelectedRange.TopLeft TCellAddress.Create(0,0)然后手動觸發(fā)業(yè)務(wù)邏輯。不要試圖重寫ProcessKey。6. 二次開發(fā)實戰(zhàn)如何安全注入自定義函數(shù)并驗證其在公式引擎中生效這才是源碼價值的終極體現(xiàn)——不滿足于“能用”而要“可控、可驗、可交付”。下面帶你完成一個完整閉環(huán)注冊一個NOWSECONDS()函數(shù)返回當(dāng)前秒數(shù)整數(shù)并在單元格中調(diào)用它實時刷新。6.1 注冊函數(shù)兩處關(guān)鍵修改缺一不可第一步在cxSpreadSheetCalcEngine.pas中聲明函數(shù)原型找到TcxSpreadSheetCalcEngine類聲明在public區(qū)域添加type TNowSecondsFunc function: Integer; // 在 TcxSpreadSheetCalcEngine 類中添加 public function NowSecondsFunc: Integer;第二步實現(xiàn)函數(shù)體并注冊到引擎在cxSpreadSheetCalcEngine.pas末尾initialization之前添加function TcxSpreadSheetCalcEngine.NowSecondsFunc: Integer; begin Result : SecondsFromDateTime(Now); end; // 在 initialization 段中注冊搜索 initialization在其下方添加 initialization // ... 原有注冊代碼 RegisterFunction(NOWSECONDS, TcxSpreadSheetCalcEngine.NowSecondsFunc, 0, ftInteger);RegisterFunction參數(shù)說明NOWSECONDSExcel 公式中調(diào)用的函數(shù)名大寫無括號TcxSpreadSheetCalcEngine.NowSecondsFunc函數(shù)地址必須是function: Integer類型0參數(shù)個數(shù)NOWSECONDS()無參數(shù)ftInteger返回值類型ftInteger,ftDouble,ftString,ftBoolean。6.2 驗證函數(shù)編寫最小化測試用例非 UI 方式不要依賴 UI 點擊去驗證——那太慢且難 Debug。在cxSpreadSheetCalcEngine.pas底部加一個測試過程procedure TestNowSeconds; var Engine: TcxSpreadSheetCalcEngine; ResultVal: Variant; begin Engine : TcxSpreadSheetCalcEngine.Create(nil); try // 測試 1直接調(diào)用 ResultVal : Engine.Evaluate(NOWSECONDS(), TCellAddress.Create(0,0)); Writeln(Format(NOWSECONDS() %d, [Integer(ResultVal)])); // 應(yīng)輸出當(dāng)前秒數(shù) // 測試 2嵌套調(diào)用 ResultVal : Engine.Evaluate(NOWSECONDS()10, TCellAddress.Create(0,0)); Writeln(Format(NOWSECONDS()10 %d, [Integer(ResultVal)])); finally Engine.Free; end; end;在Demos\Basic\SpreadSheetDemo.dpr的Application.Initialize后添加TestNowSeconds; // 控制臺輸出需在 IDE 中 View → Tool Windows → Event Log 查看運行后 Event Log 應(yīng)顯示類似NOWSECONDS() 42 NOWSECONDS()10 526.3 在 UI 中調(diào)用讓單元格真正顯示動態(tài)秒數(shù)回到SpreadSheetDemo.dpr在創(chuàng)建Worksheet后添加// 設(shè)置 A1 單元格為 NOWSECONDS() 公式 Worksheet.Cells[0, 0].Formula : NOWSECONDS(); // 啟用自動重算默認(rèn)是手動 Workbook.Calculation : calcAutomatic; // 強制首次計算 Workbook.Recalculate;此時 A1 將顯示當(dāng)前秒數(shù)。但注意v1.38 默認(rèn)不自動刷新公式——它只在Recalculate被調(diào)用或用戶編輯單元格時重算。要實現(xiàn)“秒級刷新”需啟動定時器// 在窗體中添加 TTimerInterval1000 procedure TForm1.Timer1Timer(Sender: TObject); begin Workbook.Recalculate; // 每秒重算一次 cxSpreadSheet1.Invalidate; // 強制重繪 end;6.4 進階技巧捕獲函數(shù)執(zhí)行異常并返回友好錯誤如果用戶誤寫NOWSECONDS(1)傳了參數(shù)默認(rèn)會拋EVariantError導(dǎo)致整個公式返回#VALUE!。我們可以增強健壯性在NowSecondsFunc實現(xiàn)中添加function TcxSpreadSheetCalcEngine.NowSecondsFunc: Integer; begin // 檢查調(diào)用上下文是否有參數(shù)v1.38 未提供參數(shù)檢查 API我們用堆棧深度模擬 if Assigned(FCurrentContext) and (FCurrentContext.ParamCount 0) then begin // 返回 Excel 錯誤碼會被顯示為 #NUM! Result : 0; Exit; end; Result : SecondsFromDateTime(Now); end;這樣NOWSECONDS(1)將顯示#NUM!而非崩潰。從那以后我每次給客戶交付 SpreadSheet 定制功能都強制走一遍“注冊 → 控制臺測試 → UI 驗證 → 異常注入”四步閉環(huán)。不是為了炫技而是因為 v1.38 的公式引擎是黑匣子只有親手把它拆開、裝回去、再砸一下才敢說“這個需求我們能穩(wěn)穩(wěn)接住”。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香五月大香蕉| 狠狠色一区二区中文字幕| 亚洲精品国产精品乱码不卡| 手机在线大香蕉| 97免费在线| 操高情无码| 日韩免费人妻色情网站| 少妇熟女视频一区二区三区| 51一区二区三区| 99色天堂| 97chaopenrihan| 成人无码在线视频网站| 大香蕉久| 欧美人人天天网| 伦理第一页| 国产午夜激片Av毛片不卡| 国产60区。| 一区二区高清视频| 日韩AC| 九热大香蕉| 91天天综合日韩欧美| 国产精品久久久三级无码| 久久夜精品一区二区三区| 极品销魂美女一区二区| 欧美狠狠弄| 91视频在线观看18| 久久久久精| 免费岛国一级片| 荡小穴在线观看| 哈哈操电影| 亚洲色图亚洲无码强奸乱伦| 无码人妻一区二区三区四区老鸭窝| 国产精品国产拍高清AV| 91狠狠综合久久| 五月天婷婷欧美三区| 91男人天堂网| 东京热免费视频| 国产9l 大屁股| 韩国黄色片精品久久久| 97精品久久| 99综合自拍| 亚洲 在线| 67914在线精品观看| 九九久久久| 99色热| 少妇人妻在线| 国产成人bd在线观看| 91中文字幕在线观看| 一级啊性爱在线视频| 日本三级精品| 好湿好紧好爽 视频| 国产1024在线播放| 福利一级版子| 水野优香在线观看| 精品人妻一区二区三区蜜桃视频| 亚洲图片 91| 婷婷色综合欧美日韩| 久久一区,青青青青草视频在线播放| 欧州一区二区三区四区| AV色五月天| 久久久久9| 人人干人人操人人爱| 久久一区,青青青青草视频在线播放| 高清有码一区二区| 色综合1991| 91N欧美| 日韩av无码网站| 青青青艹在线视频| 好吊色一区| 成人性爱免费播放| 久久99精品九九久久久婷婷| 中文字幕一区二区在线日韩精品| 国产丁香精品露脸视频| 中文一区二区婷婷视频| 激情综合网五月婷婷五月天| 清纯唯美亚洲| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | www.黄色在线| 亚洲精品97久久| 中文字幕超碰CAO| 五月丁香综合啪啪| 亚洲日韩美国人妻| 久 久无码人妻AV| 欧美激情 日韩精品| 日韩久久.一级黄色片| 免费国产视频| 欧美同性恋 的搜索结果 - 91n| 99性爱| 蜜乳视频网站| 欧美极品| 992视频一区| 日韩精品影视| 91色色综合| AV天天在线观看| 性色av网站| 国产欧美在线观看免费观看| 啊啊啊想要| 日韩av电影网站| 亚洲少妇色图自慰直播| 久久99精品国产| 91 手机在线播放 绯色| 婷婷综合在线| 91free福利| 亚瑟国产精品久久无码| 中文字幕国产在线天堂| 国内一级精品| 久肏视频字幕| 国产日产欧产美韩系列麻豆免费| 亚洲 欧美 另类 日韩 人妻一区| 天天天肏屄欧美| 亚洲无套久久嗯嗯| 婷婷激情啪啪| 色诱中文字幕| 丰满少妇高潮无码| 97在线观看免费视频l| 18精品一区| www99热| 亚洲九月丁香| 人人操人人摸人 | 日韩成人高清一区二区| 一道本久久棕合爱| 久操九九九九| 日欧毛片久久| 色爱综合网欧美| 国产人伦精品一区二区三区| 歐美一級亂黃99在綫精品| 91色情黑丝搞鸡在线观看一区二区三区三州| 久久久久久精品免费看A级| 日韩卡一卡二卡三在线| 另类一区| 伊人久久88国产女| 天天爽夜夜欢视| 香蕉99秘 精品一区丁香| 7月婷婷综合| 超碰人妻久久人妻中文97| 亚洲天堂另类小说男人| 久久骚少妇| 1204av韩国| 色综合99999| 男女香蕉一区二区| 国产又大又粗又长视频| 国产AV中文| 老熟妇91| 亚洲国产av中文字幕久久| 99久久久无码精品国产人| 影音先锋新男人| 国产日韩精品无码去免费专区国产| 蜜区区视频79| 嗯嗯啊啊操我| 中文日本免费高清| 精品中文字幕一区二区l - 百度| 红杏大香蕉| 色综合久| 美国久久一二三四| 久久精品91| 91爱啪| 成·人免费午夜在线观看| 五十路六十路素人熟女| 综合自拍| 99热色精品| 看黑丝美女操逼青青网站| 国产五码丝袜屁眼| 日本不卡中文| 国产成人99久久亚洲综合| 秋霞免费AV| 不卡超碰护士AV在线免费播放| 国产久久视频| 啊啊啊久久| 95自拍视频在线观看| 国产精品秘 福利姬在线观看| 久久久久久人妻| 精品欧美乱码久| 日韩操p| 99热这里只有精品99| 精品无码一区二区| 色妺妺AⅤ| 人人做,人人操,人人摸| 国产在线视视频有精品| 久久超碰97中文字幕| 操一对老熟妇爽上天视频| 日韩AV噜噜噜一区二区三区四区| 91性情| 国产女人和拘做爰视频| 97人人爱人人做人人乐| 麻豆视频一区二区| 久久五十路熟女人妻| 99热精品在线在线| 夜夜做夜夜爽精品视频| 十八禁的黄污污免费网站| 夜色五月天| 色天使AV天堂| 国产亚洲精品第一最新| 久久久久9999精品九九九| 亚洲欧美色图| 男人兔费天堂| 激情五月天视频| 亚洲少妇自拍中文字幕懂色| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 蜜伊人色综合97| 日本有码久久| 中文字幕乱在线伦视频中文字幕乱码在线| 国产农村妇女一区二区| 风韵犹存大大大大香蕉| 九九精品无码专区免费| 蜜桃视频一区二区三区在线观看| 麻豆天美91| 国产少妇肉丝在线观看| 亚洲熟女av中文字幕| 狠狠色噜噜狠狠狠狠狠色综合久久| 澳门成人网站久国产日韩| 美女91| 中文字幕 国产区| 色眯眯av| 亚洲成人久久美女| 91久热| 色999亚洲人成色| 女上位精品在线| 操逼网站网站| 欧美A√综合网| 操B视频日韩无码| 色999偷自拍拍| 天天看夜夜看日日干| 国产白领连续中出在线观看| 日本黄色精品专区网站| 亚洲熟久久| 少妇人妻好深太紧了vr91| 日本一天色道久久久精品视频| 午夜性刺激视频免费观看| 老色69| 亚洲另类天堂| 97超碰天天| 一个国产在线综合网站| 91劲爆| 全球成人中文在线| 加勒比中文av| a人欧美综合天堂麻豆| 国产 日韩,欧美 自拍| 按摩中文字幕| 日韩欧美aⅴ综合网站发布| 天美传媒Av在线| 久久精品国产亚洲AV无码电影| 果冻传媒一区二区三区| 久久久人妻| 在线视频 亚洲精品| 操我啊啊啊啊啊| 黄片qw| 久操影视| 亚洲精品 超碰| 日本在线播放不卡一区| 9久精品| 日韩ab网| 一块操欧美性爱| av影片在线观看不卡| 欧美色日本| 97人人夜夜精品视频| 亚洲中文字幕一区| 一本正道久久熟女| 久久香蕉国产线看观看猫咪av| 亚洲中文字幕熟女少妇一区二区| 欧美在线l亚洲| 国模吧 一区二区三区| 成年无码动漫av片无尽在线 | 国产精品一区av在线| 日日日日做夜夜夜夜做无码97| 大香蕉啪啪网| 久久精品国产亚洲AV无码做| 久久六六| 日日干日日摸| 久久人爽| 色婷婷五月综合激情中文字幕| 久久久久国产精品久久久| 免费97视频| 啪啪视频mP4| 国产成人免费观看在线视频| 国产欧美在线观看免费观看| 九九九不卡| 日本啊啊啊啊啊视频| 一个人免费HD91视频| 日本中文字幕不卡视频| 亚洲日韩电影| 日本幼女18+| 黑丝少妇| 色婷婷成人| 久久riav中文精品| 日日干天天干夜夜爽| 中文字幕av片| 久久久免费视频18| 亚洲精品 欧美精品| 国产精品亚洲免费| 国产91久久九九免费精品无码| 国产精品高潮呻吟av久久4虎| 这里只有97精品| 九一国产精品| 国产盗摄美女如厕大神作品在线观看| 夜夜一区二区| 韩国成人精品久久久免费看| 国产极品精品美女视频| 免费家庭乱伦视频| 88xx成人精品视频| 高清有码一区二区| 一级片视频啪啪| 欧美超碰在线| 欧美激情久操网| 熟妇人妻精品一区二区| 日曰骚久久精品| 亚洲在线观看| 97精品全部| 9精品在线| 超碰碰97| 丝袜av一区二区三区| 国产中文福利| 日韩一级二级在线| 久久一二三四不卡| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 亚洲无码99| 性色av婷婷久久一区二区点复制| 欧美操人| 日欧美色| 亚av顶级裸体一区二区三区四区五区 | 99蜜桃臀久久久欧美精品网站| 色婷婷成人综合| 日本在线一二 | 日韩三级av片| 91亚洲欧洲| 欧美96精品在线| 亚洲在线a| 无码二级三级| 欧美激情高清性猛交| 青草一区二区| 欧美性爱第一页久久| 亚欧毛片基地国产毛片基地| 九色在线熟女国产黑人| 大香蕉啪啪网| 亚洲限制级| 97精品中文字幕| 99精品无码| 殴美色网| a片在线播放| 中文字幕日韩人妻视频一区二区三区 | 九九国产| 亚州性色| 亚洲激情综合另类男同| 欧美精品日韩一区二区| 射丝袜高跟鞋99| 嗯嗯啊啊好疼| 中文字幕99999| 91人妻精华帖| 99精品免费| av情色影音| 嗯嗯啊啊啊啊轻点视频| 日本色色色网站免费看不卡| 欧美久久人人网| 日韩AV电影网站| 国产原创精品| 伊人在线大香蕉二。| 人人爽夜夜玩视频| 欧美天天干| 亚州男人天堂| 精品亚洲国产成人精品| 蜜桃久久久久久久| 五月天人妻综合| 啊啊啊好想要| 日本日皮视频逼| 夜夜高潮夜夜爽高清视频一| 久久九九精品一区二区 | 台湾大香蕉99热| 国产一线二线三线av| 超清福利精品视频在线| 乱精品一区字幕二区| 99黄页网站| 亚州综合色| 婬女免费一二三区A片| 99精品网站| 超碰一区二区| 一本大道不卡一二三区| 性爱av网站| 欧美性爱一区二区三区四区 | 亚洲一级性爱视频免费看| 久久草草欧美精品| 亚洲日韩资源| 日本色色色视频| 99视频只有精品| 国产熟女高潮一区二区三区| 亚洲欧洲激情卡通另类文学四射小说网站 | 亚洲综合图片在线| 国产辣妈在线视频福利| 操人妻少妇中文| 久9久9久9久9久9久9| 色噜噜精品一区二区三| 屌妞视频久久久久久久久久久久| 亚洲牲交| 四虎AV无码| 淫荡网址| 后X久久| 蜜臀久久99精品久久久久久婷婷 | 久久亚洲熟妇在线视频| 免费成人在线观看91| 久久久久9久久久久| 97Ai亚洲| 九九热免费国产视频婷婷伊人| 99re28在线观看| 性做久久久久久免费观看软件| 亚洲91网站| 中文字幕日韩人妻视频| 一区二区日韩欧美久久| 91丝袜美女视频| 啊啊啊操一区| 日韩少妇无码| 久久久99久9| 曰韩人妻中文字幕在线| 日产中文字幕2020| 久9re热视频这里只有精品| 333kkkk·亚洲com久久| 老司机久久| 男女日B国产| 麻豆AV短剧| 人人操人人摸人人看人人插| 大乔未久88一区| 操逼国产免费| 日韩黄色小说| www.婷婷| 国产午夜在线观看| 97亚洲欧美日韩| 丰满人妻无码一区二区三区| 超碰在线成人电影| 99色热| 丁香色狠狠色综合久久小说| 午夜精品久久久久久久99热影院 | 久草成人影片| 成人夜夜爽| 日本韩国国产精品一区| 香蕉大久久久| 好吊妞转入那个网| 日韩偷拍一区二区三区| 亚洲高清男人天堂| 手机看av网站在线看| 97美日韩视频| 91美女视频在线| 国精精品无码一二三区水多多| 丰满人妻一区二区中文| 久久欧美按摩999| 乱伦色图网址是多少| 国产精品久久久久999| 超碰国产在线| 91香蕉视频在线观看免费| 97香蕉人人乳| 夜夜草网站| 成人久久久| 大香蕉综合| 亚洲成A∨人影院在线欢看| 亚洲性天堂| 久久 亚洲 日韩 人妻| 色天使亚洲综合在线观看| 日韩精品系列| 人妻一区久久二区三区色播| 五月天婷婷综合网| 综合 欧美 亚洲 日本| 91岛国动作片| 色五月AV在线| 四虎视频在线观看| 97九色人妻| 国产精品无码av嫩草| 国产乱子伦一区二区三区在线观看| 又黄又爽在线观看视频| 亚欧高清在线| 天天上日日上日韩精品| 欧美精品激情| 呻吟 欧美 日本 中出| 97色五月天完| 久久怡红院| 秋霞操逼片| 九九九九九九九九九国产精品 | 春色综合网| 亚洲视频二区 | 久久超碰大香蕉| 国产欧美精品日韩区二区麻豆天美| 人人操人人搞人人草| 色欧美在线| 天天综合亚在线| 精品国产91av一区二区三区| 欧美日韩欧美| 快播久久人人aV| 2026国产精品视频| 99热精品国产| 日本一区二区三区欧美日韩中文字幕| 丁香五月AV| 色色五月丁香| 韩国黄色片精品久久久 | 久久久艹艹艹| 操人妻丝袜高跟| 大香蕉九九| 精品视频免费在线一区| 26uuu性| 人妻干天天| 伊人操| 东京热大香蕉| 精品人妻丰满熟妇一区二区三| 亚洲综合 欧美| 97超碰色屌| 97色色色综合网站| 久久綜合很很很| 一区二区你上我| www.99热| 天天干天天爽| 91原创在线观看| 欧美日韩情色一区二区| 天堂av2019| 精品无吗久久| 欧美韩国你懂得在线| 激激五月| 亚洲综合图文| 天天日美女的B| 熟妇一区,二区,三区。| 韩日欧亚a级| 一起草在线视频| 国产精品精品系列在线观看| 强被迫伦姧在线观看无码网站| 69XX一中文字幕人妻91| 国产51色综合久久免费| 日本在线不卡v二区| 日韩性爱高清免费视频| 青青草日韩无码| 国模一区二区三区| 亚洲情色91| 久久97资源 网| 狠色婷婷久久一区二区三区_| 99蜜桃臀久久久欧美精品网站| 人妻出轨一区二区三区| av线电影| 日日噜噜夜夜久久亚洲一区二区| 熟妇一区,二区,三区。| 久久免费9| 日韩在线国产字幕| 秋霞操逼片| 可以在线观看的黄色网址| 人妻丝袜美腿中文字幕| 久热影视| 色婷婷综合网| 亚洲nv男人的天堂网| 啪啪啪大香蕉| 亚洲夜夜欢无码一区二区| 少妇99成人麻豆| 青青草黑寡妇男人天堂| 蜜臀久久99精品| 久久久久成人网| 手机午夜电影神马久久| 欧美特大黄一级片片免费| 亚洲少妇色| 综合网97| 国产又色又粗又黄又爽| 亚洲成人在线播放| 人妻少妇精品久久久| 亚洲精品九九九| 欧美极品性爱天天射| 色97| 天天综合网~91| 亚洲一区操| 天天日少妇逼AV| 五月天欧美色图| 男人女人18禁片免费看网站| 亚洲中文字幕三级在线| 大香蕉欧美国产日韩高潮| 欧美—性—交—色| 亚洲av淫乱| 黄色小说亚洲| 欧美中文综合| 麻豆这里只有精品| 亚洲国产剧情少妇激情| 一本色道熟妇| 国产高清免费不卡av| 日韩探花精品在线视频| 91久久久久免| 91精品免费| 日韩欧洲操屄视频| 精品射1999| 欧美 亚洲| 亚洲免费人妻在| 亚av顶级裸体一区二区三区四区五区| 欧美日韩国产成人高清| 亚洲精品第一| 亚州色阁| 国产家庭乱伦表演| 欧美天天插| 国产路线专区| 日韩三级一区 | 精品人妻丰满熟妇一区二区三| 999亚洲国产视频| 激情文学网伊人| 屁股久久久久久久久| 精品免费视频国产一区| 黄片www.| 蜜臀亚洲中文| 成人青青草原伊人| 国产三区免费在线观看| 96国产污污污丝袜| 91丨豆花丨熟女| 亚洲美女色图| A 在线网址| 78久久久| 高清国产性猛交xxxx乱大交| 人人超碰在线观看黄| 91在线免费精品视频| 精品无码一区二区| 国产精品操| 久久久婷| 亚洲天堂久久久久久粉红视频| 国产精品交换一区二区| 啪啪视频免费在线观看| 性欧美体内射精| 国产精品一区二区久久精品| 久久久久元码视频| 大伊香蕉在线视频免费| 中文字幕女同在线| 91黑人无码激情在线| 亚洲精品蜜桃久久久| 97人人操人人干| 国产精品一区二区三区免费视频| 717影院理论午夜伦八戒| 激情情色五月天| 日本色婷婷| 久久久久久久人妻丝袜| 福利一级版子| 人人操人人狠狠操| 91操熟女| 劲爆欧美人妖三区91| 国产AV高清AV无码| 狠狠操狠狠操操| 啊啊啊啊啊啊好湿好爽视频| 天天干人妇| 天天操天天日天天干| 天天狠操| 熟女少妇一区二区三区| 99无码| 欧美日日操| 加勒比99999| 91麻豆天美国产| 久久黄色性爱视频| 亚洲97网站| 激情深爱五月天| 久操操AV电影| 久久久一区二区| 天堂精品在线| 国产综合网站在线播放 | 伦激情人妻另类人妻| 蜜乳av一区二区三区四区不卡| 日韩啪啪网| 国产又黄又粗的视频| 97操碰| 麻豆精品A片免费观看| 久久美女福利是上海美女| 在线日韩日本亚洲国产| 后入综合久久| 后入内射蜜桃臀| 97国产高清视频在线观看| 亚洲欧美日韩激情不卡| 久久久免费懂色| 综精品久久久aaaa| 91精品丝袜在线观看| 国产一区二区在线看| 和协无码影院| 去干网最新版| aaa一级黄片| 国产欧美第五页| 久草成人影片| 桃色六月天| 国产毛片精品一区二区色欲黄A片| 亚洲操人| 91制服丝袜| 51久久夜色精品国产麻豆| 欧美亚州手机在线| 精品性爱一二三区| 青青草国产欧美非洲黑人| 嗯啊啊啊轻点视频 | 国产AV线| 色墦五月丁香| 精品九九九九| 1区2区3区中文字幕日韩| 四季AV一区二区凹凸精品小说| 色香色欲天天综合网天天来吧| 亚洲自拍欧美国产首页网曝| 狠狠五月天| 九九热男人天堂| 怡红院一区二区熟女人妻| 91在线丝袜| 欧美拳交在线播放| 午夜偷拍久久熟女| 欧美情色贴图| 蜜桃在线观看一区二区三区 | 人人操人人摸人人看人人插| 先锋女优在线观看视频| 97在线青| 午夜呻吟欧美| 色丁香五月婷婷| 成年人黄色小视频网站| 国产夫妻性生活视频| 国产粉嫩出水在线播放| chaopen97久久| 神马久久久久久久久| 999精品久久久久久久| 大香蕉乱级| 欧美激情性爱视频网站| 国产家庭乱伦网址| 日韩精品一区的| 青青国产精品在线| 亚洲一本色码中文字幕| 久久禁| 国产第11页| 在线视频一区二区传媒| 国产91美女视频| 久草免费在线视频| 国产黄色在线播放观看| 午夜120视频在线观看| 综合色久| 亚洲一区亚洲天堂| 91五十路| 十八禁成人网站在线观看| 97福利视频| 精品视频专区| 91成人亚洲色图| 欧美日韩插逼视频| 97色婷| 亚洲视频,小说| 男人的天堂1024| 香蕉国产精品麻豆亚洲欧美日韩| 伊人影院综合是一个与深夜成人在线| 日韩亚洲美州欧洲综三区一品在线| 5252色欧美在线| 欧美欧美少妇| 国产一级黄色片在线观看| 亚热日本熟女| 五十路六十路七十路熟婆| 男人的天堂网免费| 亚洲 日本 不卡| 天天视频黄网站| 亚州乱码中文字幕综合久久久| 蜜臀99久久精品| 另类 日韩 熟女| 一区,二区,三区视频| 2023天天操夜夜操| 女人的久久久| 美女91网站| 啊啊啊啊嗯嗯嗯用力好爽| 日韩天天综合| 精品国产肉丝袜在线拍国语| 国产99999久久精品| 岛国网址国产| 嫩草 我啊~嗯~在线| 久久久久亚洲?V片无码V| 日本男人插女人的逼黄色| 欧美一二三级精品在线| 欧美熟妇操操视频| 思思热久久成人| 超碰97在线中文| 日本123区操B视频| 97在线视频免费看| 久久免费老司机精品| 1769国内精品视频| 五月婷婷hd| 免费黄色片。| 久久久无码精品人妻二区| 麻豆人妻精品一区二区| 加勒比综合| 久久精品老司| 97国产成人精品免费视频| 78精品在线| 中文字幕精品人妻丝袜| 欧美aa一级片| 激情小说激情视频| 久久 亚洲 日韩 人妻| 国产精品一区二区校花| 91日韩网站| 欧州色图区| 色欲三区| 校园春色亚洲| yy少妇精品久久| 五月激情影院| 老熟女乱子伦中文字幕一区二区 | 日韩欧美女优电影| 一区二区三区亚洲| 超碰人妻久久| 韩国国产欧美情侣视频在线| 青青国产精品在线| 日本欧美一区二区三区免费| 精品久久九| 在线 亚洲 网爆 自拍| 色色色综合网| 黑人黄片在线免费观看| 日韩乱中文| 色网在线视频观看免费| 999久久久免费精品国产牛牛| 一本色道久久综合熟妇| 青青草五月天| 大香蕉在线免| 蜜伊人色综合97| 在线观看日韩av不卡| 91免费看一区二区三区| 成人小电影网站tex| 91日韩网站| 9 1果冻精品视频| 97视频在线免费| 青青草玖玖爱| 超碰天天操你比| 在线综合 亚洲 欧美中文字幕 | 欧美淫乱视频| 婷婷五月天无码 | 久久久九九网站| 国产浮力影院第1页| 亚洲国产麻豆一区二区三区| 大香蕉视频一二三区| 思思热在线视频免费| 明星性猛交ⅹxxx乱大交| 精品熟女呻吟久久91| 91精片| 三级日本一区二区三区| 国产精品午夜AV完会免费| 免费成人自拍视频在线| 久久超碰国产一区二区三区| 久热精品在线国产| 在线精品福利免费播放| 婷婷深爱五月| 亚洲日产专区| 欧美一二三区四五区| 亚洲日韩乱码中文无码蜜桃臀网站| 91老熟女老女人国产老太| 国产精品大屁股999| 国产精选视频| 国产欧美在线观看免费观看| 亚洲一卡2卡3卡4卡乱码网站 | 久久超碰日韩精品| a片自拍直播视频| 377p欧洲日本亚洲大胆| 亚洲成av人片色午夜乱码| 一区二区三区四区五区高清无码永久视频| 校园春色综合色| 麻豆熟妇乱妇熟色A片在线看| 国产激情视频一区区三区| 蜜乳AV.COM| 久久女婷| 欧美97视频| 丝袜综合网| 精品视频一区二区| 亚洲成人av色网| 91人妻人人澡人人爽人人精品| 国产一区在线免费播放| 国产亚洲精品美女| 粉嫩绯色AV一区二区在线| 天堂伊人久久| 日本人妻中文字幕| 久插综合| 无码精品久久久久久亚洲| 大香蕉黄色一区| 999热日韩精品| 在线可观看的黄色网址| 啊啊啊好舒服好爽啊啊啊视频| 抽插一区二区视频| 久久精品欧美一区二区三区不卡| 大香蕉伊人色偷偷在线| www国产无码| 亚熟在线| 夜嗨影院| 91中出视频| 欧美大码在线视频| 国产毛片久久久久久久| 国产精彩女在线观看视频| 99日精品欧美国产| 91色宗合| 欧美精品久久| 亚洲 欧美 91| 激情五月天插| 91 天天综合| 超碰人妻中文在线| 三级三久久线久久99久目本WW| 人妻少妇精品| 欧美日韩97在线| 99re视频在线观看这里只有精品| 中国农村熟妇毛片视频| 精品一区二区2| 欧美色图片91| 啪啪啪综合网| 在线A日本| 成人精品无码| 啊啊啊啊啊啊在线| 少妇99| 亚洲人在线成线成人| 成人电影一区| 国产1769在线| 浓厚中出中文字幕在线| 国产精品操| 亚洲中文sv| 麻豆a'v电影| 久久啊啊啊视频| 蜜桃视频精品一区二区三区| 男人的天堂亚洲| 抽插无码高清一区| 国产绿奴视频在线观看| 国产精品分类在线观看| 日韩欧美日韩| 超碰91在线| 亚洲综合20p| 性一级黄色录像片网站导航| 玖色av| 91痴汉| sewuyueav| 天天综合欧美| 精品午夜福利导航| 亚州少妇| 死我十八禁| 欧美婷婷| 亚洲欧洲综合成人av一区| 精品无av| 97超碰9| 98久久超碰| 91丝袜| 色五月AV| 免费岛国一级片| 国产精品999aaa| 国产白丝精品在线观看| 中文字幕制服诱惑| 欧美 亚洲 第一页| 97超碰超碰| 97超碰人人模人人拍人人| 色婷婷国产精品一区在线观看| 亚洲色天| 国产成人无码a| 岛国黄| 国产日本久久免费精品| 国产精品成人福利在线| 欧美成人性爱视频免费观看| 亚洲中文字母在线播放| 精品夜夜澡人妻无码| a人欧美综合天堂麻豆| 综合网亚洲1| 日日干天天干夜夜爽| 亚欧Av| 99r九九| av橘色网站| 国产成人 综合亚洲 天堂| 亚洲第一在线视频| 99在线观看无大码| 亚洲精品97p| 午夜一区二区三区国产| 性爱动态120秒| 欧美色图小说综合| 成人26uuu| 综合色图亚洲欧美| 色99久草| 人人潮人人摸| 九九久久99| 日韩成年人性爱视频| 丁香五月自拍| 骚日日av| 欧美人与性动交a美精品| 一区麻豆 高清中文字幕| 欧美亚洲今日在线| 欧美中出1| 一本色道久久综合狠狠操| 中国大陆国产高清AⅤ毛片| 日韩97视频!在线| 精品99999| 欧美少妇一区二区三区| 舔足天天操天天射| 国产女人高潮视频| 亚洲天堂男人天堂网| 精品一区二区三区蜜桃臀赵总 | 久久激情四射婷婷丁香五月天| 欧美日韩午夜精品一区二区三区| 日韩AV电影网站| 国产精品 视频| 中文字幕亚洲欧美在线不卡| 欧美高清18A片| 国产丝袜美腿美女麻豆| www亚洲免费| 久久久91福利姬| 日韩午夜啪啪视频| 大香蕉综合网| 性色av蜜臀av色欲aV| 婷婷三区| 久一区久久蜜桃| 亚洲精品 大香蕉| 久久久久九九九| 久久一二三四五六七八九区区| 久操网无码在线| www欧美91| 伊人久久大香线综合无码| 综合操逼| 日本视频在线中文字幕| 丰满搜索结果 -第18页- 久久高清无码 | 东京热大香焦| 深爱五月天| 久久69精品久久久久久久| 久久久涩| 色超碰综合| 91狠狠综合久久久久久| 国产精品无套内谢| 大香蕉78| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 久热伊人| 精品亚洲国产成人精品| 日韩视频中文字幕| 51一区二区三区| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 中日韩熟女| 成人av性爱电影在线观看| 97色操| 人人操超碰在线| 大香蕉之青青草原| 男生女生啊啊啊啊| 青草青青久久久久久国产| 一区二区三区精品视频| 天天激情综合站| 中文字幕黄片在线| 国产一区二区三区高清视频| 啊啊啊好舒服视频| 国产搭汕a级片| 激情小说激情视频| 国产日本顶级一区二区三区| 天天综合站| 91中文字幕在线观看| 国产亚热在线久久| 青青草原成人| 这里都是精品| 欧美一级二级三级| 欧美精品97| 翔田千里A片一区二区| 免费岛国一级片| 欧美日产国产在线成人第一区| 自拍偷拍亚洲熟女妇人精品| 一二三区操逼国产91| 在线观看无码三级少妇| 一区不卡在线观看av| 人人干人人搞人人摸| 日本免费中文一区二区三区四区| 欧美第一页性| 欧美在线91| 开心五月婷婷激情| 97久久超碰日韩精品| 99操视频| 91精片| 久久9 9 9精品| 国产精品 视频| 97视频观看| 国产狂喷潮在线精品| 天天综合影院91| 一个国产在线综合网站| 亚洲一区二区中文字幕| 东北女人的毛片| 久草午夜| 激情99| 欧美色蜜桃97| 久久‘黄片视频| 九九九九九九九九九九九九九九九女| 午夜精品久久一区二区| 果冻国产精品麻豆成人av| 国产白丝在线| 国产精品自拍xxxx| 99热大香蕉伊在线| 天天草夜夜草高潮片| 国产黄色av大片网站| 久久草草欧美精品| 97综合日韩| 国产对白刺激视频| 99最新日韩偷拍视频| 久久男人精品| 日韩在线观看中文字幕视频| 深爱五月婷婷| 青青操在线亚洲视频观看欧美在线 | 97操97色| 亚州成人a∨| 人人艹亚洲| 国产成人精品日本亚洲语言| 在线综合 亚洲 欧美中文字幕| 国产欧洲精品亚洲午夜拍精品| 国产成人久久精品蜜臀| 久综合网| 国产精品3| 欧美强奸乱能| 熟妇艹鸡八| 亚洲av噜噜噜噜噜噜| 国产成人精品亚洲日本| 最新精品久久蜜桃| 亚洲精品国产无码高清| 亚洲AV乱码专区国产噜噜亚洲 | 欧美综合国产精品久久丁香| 99热成人| 超碰97护士| 欧美精品成人亚洲| 国产高清自拍| 国产成人资源| 97超碰人人操人人操| 观看免费区二区三区二| 色图综合| 精品无码一区二区| a片自拍直播视频| 麻豆蜜桃视频在线观看 | 欧美成人一区二区三区在线播放| 精品人妻一区二区三区视频| 国产中文大片资源中文字幕| 99色婷婷中文字幕乱色| 强奸乱伦亚洲第一页| 欧美手机在线综合| 色色色综合网| 亚洲天堂五月天国产| 1000午夜黄色| 五月婷婷六月激情| 农村女一级毛卡片| 日韩美女高潮喷水视频| 亚洲强奸乱伦影视网| 欧美色图91| 在线视频一区二区传媒| 欧美人与性动交a美精品| 欧洲一区二区| 67194无码不卡| 户外裸露刺激视频第一区| 激情小说在线视频| 久久日本熟女精品一区| 五月天久久久| 国产精品嫩草久久久久| 蜜桃臀av一区二区| 亚洲欧美setu| 天天做天天爱天天高潮| 天天色,天天干,天天干| 欧美人体性爱互联网第一页婷婷日本| 樱花草社区www中国| 男人天堂2019亚洲| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 夜夜草我| 一区二区三区一亚洲中文字幕、综合区灬| 91一起操| 欧美色性爱| 亚洲五月婷婷| 97超碰逼| 亚洲 欧美 色图| 青青伊人这里只有精品| 五月香婷婷| 色情婷婷久久五月天| 精品国产Av无码久久久亚洲| 国产伦乱91| 蜜臀久久在线视频| 欧美精品三级黄片| 天天插天天射| 久操视频在线| 日本十八禁免费看污网站| 毛片视频白嫩| 国产精品一区在线播放| 肉嘟嘟www视频在线观看高清| 一区=区三区视频| 日韩九九九| 操逼网站地址| 鸥美极品| 懂色av色欲av蜜臀av| 日本一二三高清| 亚洲欧美日韩偷拍色图| 五月天激情小说网| 久久久一区二区三区麻豆| 中文字幕日韩人妻视频一区二区三区| 久操高青| 翔田千里爆乳巨臀无码| 久久夜夜夜夜| 日本三级A片网站com| 污污污8888|