色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

用Delphi打造本地日程管理工具:JSON存儲(chǔ)與提醒機(jī)制實(shí)現(xiàn)全解析

用Delphi打造本地日程管理工具:JSON存儲(chǔ)與提醒機(jī)制實(shí)現(xiàn)全解析 簡(jiǎn)介一套基于Delphi FMX框架的Android日程管理APP示例工程面向移動(dòng)開發(fā)入門者及跨平臺(tái)實(shí)踐者覆蓋日程數(shù)據(jù)管理場(chǎng)景下的界面交互與存儲(chǔ)實(shí)現(xiàn)。壓縮包共27個(gè)文件類型包含pas源代碼、fmx窗體、vlb可視布局、SQLite數(shù)據(jù)庫(kù)文件.db及配套SQL腳本同時(shí)包括項(xiàng)目配置、部署文件與自定義ListView外觀包整體僅46KB輕量緊湊、模塊清晰。目前已有474人學(xué)習(xí)/下載。工程完整演示了SQLite數(shù)據(jù)庫(kù)建表與增刪改查、FMX自定義ListView樣式與滑動(dòng)/長(zhǎng)按手勢(shì)、調(diào)用Android系統(tǒng)分享組件、半透明背景提示框設(shè)計(jì)等關(guān)鍵技術(shù)附帶vkbdhelper虛擬鍵盤輔助單元和ListView外觀增強(qiáng)包目錄按窗體、數(shù)據(jù)層與工具單元?jiǎng)澐挚芍苯訉?dǎo)入Delphi IDE運(yùn)行。借助完整的工程文件與SQL初始化腳本讀者能快速掌握Delphi移動(dòng)開發(fā)中數(shù)據(jù)持久化、控件定制及系統(tǒng)能力調(diào)用的常見方法適合作為課程設(shè)計(jì)或入職練手項(xiàng)目參考。 事情是這樣的我手頭有一堆零散日程——會(huì)議、截稿日期、給客戶回電話、周末去保養(yǎng)車之前一直用手機(jī)日歷但坐在電腦前寫代碼的時(shí)候切到手機(jī)去記一筆總覺(jué)得別扭一來(lái)打斷思路二來(lái)手機(jī)日歷的重復(fù)提醒設(shè)置得越細(xì)越麻煩。網(wǎng)上找了幾款桌面日歷要么捆綁安裝要么強(qiáng)制登錄要么日歷視圖花里胡哨但連基礎(chǔ)提醒都做不好。一怒之下我決定用 DELPHI 自己寫一個(gè)日程管理 APP目標(biāo)是雙擊就能跑、數(shù)據(jù)本地存、提醒不漏、改起來(lái)順手。這篇文章就把整個(gè)開發(fā)過(guò)程、關(guān)鍵代碼和踩過(guò)的坑完整記錄下來(lái)。這個(gè)工具適合誰(shuí)如果你也是 Delphi 開發(fā)者或者你手里有個(gè)舊工具需要維護(hù)又或者你只是想找一個(gè)可以完全掌控?cái)?shù)據(jù)的桌面日程方案那這篇筆記應(yīng)該能幫你省不少時(shí)間。我不會(huì)只貼成品代碼而是把每一處設(shè)計(jì)決策的“為什么”也講清楚這樣你拿到之后可以按自己的習(xí)慣改。1. 為什么這個(gè)年頭我還在用Delphi寫日程管理1.1 一個(gè)老Delphi開發(fā)者的真實(shí)場(chǎng)景我平時(shí)的主要工作還是圍繞 Windows 桌面端的業(yè)務(wù)系統(tǒng)開發(fā)Delphi 對(duì)我來(lái)說(shuō)不是“上古傳說(shuō)”而是每天都在用的生產(chǎn)力工具。項(xiàng)目里有大量現(xiàn)成的 VCL 組件、公司內(nèi)部封裝好的公共庫(kù)、還有跑了好多年的業(yè)務(wù)邏輯——這些東西用其他語(yǔ)言重寫一遍成本極高也不劃算。日程管理這個(gè)需求本質(zhì)上就是一個(gè)“輕量工具類”應(yīng)用界面要簡(jiǎn)單、啟動(dòng)要快、數(shù)據(jù)要可控、提醒要穩(wěn)定。用 Delphi 寫這種工具編譯出來(lái)的 exe 通常只有幾 MB不需要依賴幾十 MB 的運(yùn)行時(shí)環(huán)境雙擊就跑發(fā)給同事也能直接用。這個(gè)優(yōu)勢(shì)在工具類軟件開發(fā)里非常實(shí)際尤其當(dāng)你需要在多臺(tái)電腦上快速部署的時(shí)候。另外還有一層原因我想把日程數(shù)據(jù)完全握在自己手里不依賴某個(gè)云服務(wù)的賬號(hào)體系。我的日程就是我的本地文件格式自己定備份直接拷文件換電腦把文件帶過(guò)去就行不存在“服務(wù)商哪天調(diào)整策略導(dǎo)致數(shù)據(jù)遷移麻煩”的問(wèn)題。1.2 用桌面版而非手機(jī)APP的三個(gè)理由這個(gè)項(xiàng)目標(biāo)題里雖然有“APP”三個(gè)字但我的第一落點(diǎn)選擇了 Windows 桌面版而不是手機(jī)端。原因有三個(gè)。第一我的絕大多數(shù)日程都產(chǎn)生在辦公場(chǎng)景人坐在電腦前的時(shí)間最長(zhǎng)桌面端常駐右下角托盤比掏手機(jī)快得多。日程提醒彈出時(shí)我正在寫代碼一個(gè)氣泡提示就夠了不需要拿起手機(jī)解鎖、查看、再放下。第二桌面端的數(shù)據(jù)管理更透明。手機(jī) APP 的沙箱機(jī)制導(dǎo)致數(shù)據(jù)文件不好直接訪問(wèn)而桌面應(yīng)用的數(shù)據(jù)就是一個(gè) JSON 文件放在 exe 同目錄或者%APPDATA%下面我自己能隨時(shí)查看、修改、備份。對(duì)于“簡(jiǎn)單日程管理”這個(gè)量級(jí)的需求這已經(jīng)是天花板級(jí)別的可控性。第三Delphi 在桌面開發(fā)上的效率仍然很高。VCL 組件成熟穩(wěn)定SQLite、JSON、網(wǎng)絡(luò)通信都有現(xiàn)成庫(kù)我一個(gè)晚上就能把核心功能搓出來(lái)。如果后續(xù)真要做移動(dòng)端FireMonkeyFMX可以復(fù)用大部分?jǐn)?shù)據(jù)層代碼這個(gè)后面再展開。2. 數(shù)據(jù)怎么存我選JSON文件而不是SQLite2.1 日程數(shù)據(jù)模型設(shè)計(jì)夠用就好第一版的時(shí)候我猶豫過(guò)要不要上 SQLite后來(lái)想明白了日程管理這種量級(jí)的數(shù)據(jù)一個(gè) JSON 文件完全足夠。SQLite 的查詢、索引、事務(wù)這些能力在這個(gè)場(chǎng)景里用不上反而引入了一個(gè)額外的 DLL 依賴。如果你的日程數(shù)量到幾萬(wàn)條再考慮 SQLite 也不遲但“簡(jiǎn)單 APP”的核心價(jià)值就是簡(jiǎn)單。我設(shè)計(jì)的日程字段如下刻意保持最小集合type TScheduleItem record ID: Integer; Title: string; // 日程標(biāo)題 StartTime: TDateTime; // 開始時(shí)間 Duration: Integer; // 持續(xù)分鐘數(shù) Category: string; // 分類工作、生活、其他 Priority: Integer; // 優(yōu)先級(jí)1高、2中、3低 Remark: string; // 備注 Done: Boolean; // 是否完成 Remind: Boolean; // 是否開啟提醒 end;StartTime用了TDateTime而不是字符串存儲(chǔ)這是一個(gè)很重要的決定。Delphi 的TDateTime本質(zhì)上是 double整數(shù)部分是日期小數(shù)部分是時(shí)間計(jì)算“距離提醒還有多少分鐘”只需要做減法不需要解析字符串效率高而且不容易出錯(cuò)。JSON 文件的結(jié)構(gòu)也很直白{ items: [ { id: 1, title: 項(xiàng)目周會(huì), startTime: 2025-06-16T10:00:00, duration: 60, category: 工作, priority: 1, remark: , done: false, remind: true } ] }文件我放在 exe 同目錄下的schedule.json簡(jiǎn)單粗暴。啟動(dòng)時(shí)如果文件不存在就自動(dòng)創(chuàng)建空數(shù)據(jù)退出時(shí)保存。為了防止寫壞文件我用了“先寫臨時(shí)文件再覆蓋原文件”的策略這個(gè)習(xí)慣能從根上避免斷電或程序崩潰導(dǎo)致數(shù)據(jù)丟失。2.2 基于TJSONObject的增刪改查代碼Delphi 從 XE 系列開始就內(nèi)置了System.JSON單元讀取和生成 JSON 非常方便不需要引第三方庫(kù)。我的加載函數(shù)核心邏輯是這樣的function LoadScheduleFromFile(const AFileName: string): TArrayTScheduleItem; var LJson: TJSONObject; LArr: TJSONArray; LObj: TJSONObject; I: Integer; begin SetLength(Result, 0); if not FileExists(AFileName) then Exit; LJson : TJSONObject.Create; try LJson.Parse(TFile.ReadAllText(AFileName, TEncoding.UTF8), False); if not LJson.TryGetValueTJSONArray(items, LArr) then Exit; SetLength(Result, LArr.Count); for I : 0 to LArr.Count - 1 do begin LObj : LArr.Items[I] as TJSONObject; Result[I].ID : LObj.GetValueInteger(id); Result[I].Title : LObj.GetValuestring(title); Result[I].StartTime : ISO8601ToDate(LObj.GetValuestring(startTime)); Result[I].Duration : LObj.GetValueInteger(duration); Result[I].Category : LObj.GetValuestring(category); Result[I].Priority : LObj.GetValueInteger(priority); Result[I].Remark : LObj.GetValuestring(remark); Result[I].Done : LObj.GetValueBoolean(done); Result[I].Remind : LObj.GetValueBoolean(remind); end; finally LJson.Free; end; end;保存的代碼反過(guò)來(lái)遍歷數(shù)組然后生成 JSON。這里有兩個(gè)容易踩的坑。第一個(gè)坑是TJsonObject.Parse的第二個(gè)參數(shù)傳False表示“不嚴(yán)格檢查”遇到未知字段直接跳過(guò)。這樣以后我要在 JSON 里加新字段舊程序讀新文件也不會(huì)崩兼容性會(huì)好很多。第二個(gè)坑是編碼。TFile.ReadAllText一定要指定TEncoding.UTF8否則在中文 Windows 上默認(rèn)會(huì)按 ANSI 解析中文日程標(biāo)題就亂碼了。寫入的時(shí)候用TFile.WriteAllText(AFileName, LJson.ToJSON, TEncoding.UTF8)兩頭都鎖死 UTF-8就再也不會(huì)出現(xiàn)“在我電腦上正??降酵码娔X上亂碼”的問(wèn)題。新增和刪除就沒(méi)什么好說(shuō)的了。新增就是SetLength擴(kuò)容然后賦值 ID用TStopwatch.GetTimestamp或者簡(jiǎn)單的遞增計(jì)數(shù)器生成。刪除我用的是“標(biāo)記刪除”——不真正從數(shù)組里移除而是把Done置為True。一個(gè)是保留歷史記錄另一個(gè)是避免刪除操作引發(fā)的數(shù)組元素整體搬移數(shù)據(jù)量小的時(shí)候其實(shí)無(wú)所謂但習(xí)慣養(yǎng)好了將來(lái)數(shù)據(jù)量上來(lái)了也不會(huì)手忙腳亂。3. 核心交互與提醒機(jī)制的實(shí)現(xiàn)細(xì)節(jié)3.1 日期處理三件套今天、本周、周六日判斷日程管理離不開日期判斷尤其是“今天有哪些日程”“本周有哪些日程”以及熱詞里有人問(wèn)過(guò)的“Delphi如何判斷是周六日”。這三個(gè)場(chǎng)景我拆成了三個(gè)獨(dú)立函數(shù)各有各的注意點(diǎn)。判斷“今天”不能用FormatDateTime(yyyy-mm-dd, ADate) FormatDateTime(yyyy-mm-dd, Now)這種字符串比較雖然能用但每次比較都要格式化循環(huán)幾萬(wàn)次就能感覺(jué)到慢。更優(yōu)雅的方式是直接用YearOf、MonthOf、DayOf三個(gè)函數(shù)function IsToday(const ADateTime: TDateTime): Boolean; begin Result : (YearOf(ADateTime) YearOf(Now)) and (MonthOf(ADateTime) MonthOf(Now)) and (DayOf(ADateTime) DayOf(Now)); end;判斷“本周”稍微有點(diǎn)講究。一個(gè)自然周是從周一開始還是周日開始在不同的業(yè)務(wù)場(chǎng)景里結(jié)論不同。Delphi 的DayOfWeek返回 1 到 7其中 1 代表周日7 代表周六這一點(diǎn)很容易搞錯(cuò)。如果你要讓周一作為一周的開始判斷代碼要這樣寫function IsThisWeek(const ADateTime: TDateTime): Boolean; var LToday, LTarget: TDateTime; LOffset: Integer; begin LToday : DateOf(Now); LOffset : DayOfWeek(LToday) - 2; // 周一偏移為0 if LOffset 0 then LOffset : 6; LTarget : DateOf(ADateTime); Result : (LTarget LToday - LOffset) and (LTarget LToday - LOffset 7); end;這段代碼的原理是先算出“本周一”是哪一天然后判斷目標(biāo)日期是否落在[本周一, 下周一)的區(qū)間內(nèi)。寫成和而不是和是為了避免跨周時(shí)的邊界錯(cuò)誤。判斷周六日則是熱詞“delphi如何判斷是周六日”的直接答案function IsWeekend(const ADateTime: TDateTime): Boolean; var LDay: Integer; begin LDay : DayOfWeek(ADateTime); Result : (LDay 1) or (LDay 7); // 1周日, 7周六 end;3.2 提醒輪詢TTimer的間隔、去重和誤觸發(fā)處理提醒是日程管理最核心的功能沒(méi)有之一。我的方案是主窗體放一個(gè)TTimer每秒或者每 30 秒觸發(fā)一次掃描所有開啟提醒且未完成的日程如果當(dāng)前時(shí)間落在“提醒時(shí)間窗口”內(nèi)就彈一個(gè)系統(tǒng)托盤氣泡。procedure TMainForm.Timer1Timer(Sender: TObject); var LNow: TDateTime; begin LNow : Now; for var LItem in FItems do begin if LItem.Remind and (not LItem.Done) and (LItem.StartTime LNow) and (LItem.StartTime - LNow 30 / 1440) and (not FReminded.ContainsKey(LItem.ID)) then begin FReminded.Add(LItem.ID, True); ShowNotification(LItem.Title 將于30分鐘內(nèi)開始); end; end; end;這里有幾個(gè)設(shè)計(jì)細(xì)節(jié)值得展開說(shuō)。第一30 / 1440是把 30 分鐘轉(zhuǎn)換成TDateTime的小數(shù)形式。因?yàn)橐惶焓?1.0所以 1 小時(shí)就是1/241 分鐘就是1/1440。這個(gè)換算容易錯(cuò)我一開始直接寫成0.5結(jié)果程序把“提前 12 小時(shí)提醒”當(dāng)成了“提前 30 分鐘提醒”調(diào)試了半天才發(fā)現(xiàn)問(wèn)題。第二FReminded是一個(gè)TDictionaryInteger, Boolean用來(lái)記錄哪些日程已經(jīng)提醒過(guò)了。這個(gè)去重設(shè)計(jì)很重要否則每隔 30 秒就會(huì)重復(fù)彈一次能把人煩死。但要注意程序重啟后FReminded會(huì)被清空如果日程還沒(méi)過(guò)期再次啟動(dòng)時(shí)又會(huì)提醒一次。我的處理方式是在加載日程數(shù)據(jù)時(shí)把所有StartTime Now的提醒日程重新加入待提醒集合這樣重啟后也只會(huì)提醒一次不會(huì)反復(fù)轟炸。第三TTimer 的觸發(fā)精度問(wèn)題。Windows 的TTimer默認(rèn)基于WM_TIMER消息優(yōu)先級(jí)比較低如果 CPU 忙可能延遲幾百毫秒甚至幾秒。對(duì)于日程提醒這種場(chǎng)景這個(gè)誤差完全可以接受沒(méi)必要上高精度的多媒體定時(shí)器。但如果你的系統(tǒng)經(jīng)常休眠或睡眠TTimer在喚醒后可能會(huì)連續(xù)觸發(fā)多次。我的處理是在Application.OnRestore事件里重置FReminded并刷新一次列表確保睡眠期間錯(cuò)過(guò)的提醒不會(huì)在喚醒后集中爆發(fā)。4. 界面布局與用戶體驗(yàn)的小心思4.1 主界面三欄布局日歷縮略、日程列表、詳情編輯界面我用的是 VCL 經(jīng)典三欄布局左側(cè)一個(gè)TMonthCalendar日歷縮略組件中間一個(gè)TListView顯示日程列表右側(cè)一個(gè)TPanel放詳情和編輯控件。這個(gè)布局參考了 Outlook 的經(jīng)典樣式用戶上手零成本。TMonthCalendar選日期后中間的TListView就刷新成當(dāng)天的日程列表。每次切換日期時(shí)我用前面寫的IsToday邏輯判斷一下如果是今天列表標(biāo)題前加一個(gè)藍(lán)色的“今天”標(biāo)記這個(gè)小小的視覺(jué)提示非常實(shí)用。詳情編輯區(qū)的內(nèi)容很直接TEdit輸入標(biāo)題TDateTimePicker選擇開始日期和時(shí)間TEdit輸入持續(xù)分鐘數(shù)TComboBox選擇分類TComboBox選擇優(yōu)先級(jí)TMemo輸入備注兩個(gè)TCheckBox分別控制“已完成”和“開啟提醒”這個(gè)編輯區(qū)一次只對(duì)應(yīng)一個(gè)選中日程不搞復(fù)雜的多行編輯表格。簡(jiǎn)單工具就是要讓用戶一眼看懂當(dāng)前在編輯什么數(shù)據(jù)綁定我用的是最原始的控件賦值和讀取完全沒(méi)用 LiveBindings因?yàn)樵谶@個(gè)場(chǎng)景里 LiveBindings 的模板配置成本比手寫賦值高不少。4.2 列表排序、顏色標(biāo)識(shí)與雙擊編輯的交互閉環(huán)TListView在 VCL 里的表現(xiàn)力比TStringGrid強(qiáng)很多我設(shè)置了ViewStyle : vsReport列依次是時(shí)間、標(biāo)題、分類、優(yōu)先級(jí)、狀態(tài)。排序邏輯只有一條規(guī)則未完成的排前面完成的排后面同組內(nèi)按開始時(shí)間升序。這個(gè)排序不在界面里做而是在刷新列表前對(duì)FItems數(shù)組做一次排序TArray.SortTScheduleItem(FItems, TComparerTScheduleItem.Construct( function(const A, B: TScheduleItem): Integer begin if A.Done B.Done then begin if A.Done then Result : 1 else Result : -1; Exit; end; Result : CompareValue(A.StartTime, B.StartTime, 0.000001); end));顏色標(biāo)識(shí)也很重要。我在TListView.OnAdvancedCustomDrawItem事件里根據(jù)優(yōu)先級(jí)上色高優(yōu)先級(jí)紅色、中優(yōu)先級(jí)橙色、低優(yōu)先級(jí)默認(rèn)色。這個(gè)視覺(jué)層級(jí)能讓你在一堆日程里迅速找到最緊急的事。交互閉環(huán)我做得比較完整單擊列表項(xiàng)右側(cè)詳情面板加載數(shù)據(jù)可以就地編輯雙擊列表項(xiàng)彈出獨(dú)立的編輯窗口右鍵彈出菜單新增日程、編輯、標(biāo)記完成、刪除這里有一個(gè)容易忽略的細(xì)節(jié)標(biāo)記完成和刪除一定要分開。我見過(guò)很多工具把“刪除”放在“完成”旁邊用戶本想勾選完成結(jié)果手滑點(diǎn)成刪除數(shù)據(jù)就沒(méi)了。我的做法是刪除操作必須彈確認(rèn)框并且要輸入“確認(rèn)刪除”四個(gè)字才能刪。這個(gè)門檻雖然看起來(lái)有點(diǎn)反人性但實(shí)際用下來(lái)它真的把誤刪的概率降到了零。5. 編譯發(fā)布與踩坑實(shí)錄5.1 發(fā)布配置靜態(tài)編譯、圖標(biāo)和版本信息Delphi 開發(fā)工具類應(yīng)用最爽的一點(diǎn)就是發(fā)布簡(jiǎn)單但簡(jiǎn)單不等于不用配置。我每次發(fā)布前都要檢查三個(gè)地方。第一Project Options - Runtime Packages里的“Build with runtime packages”一定要取消勾選。如果不取消生成的 exe 會(huì)依賴一堆rtl260.bpl、vcl260.bpl之類的動(dòng)態(tài)庫(kù)換臺(tái)電腦就報(bào)“找不到 bpl”。取消勾選后默認(rèn)靜態(tài)鏈接exe 體積會(huì)從幾百 KB 漲到幾 MB但換來(lái)的是雙擊即用、拷貝即用。第二Project Options - Application - Icon設(shè)置應(yīng)用圖標(biāo)。默認(rèn)的 Delphi 圖標(biāo)一看就是沒(méi)用心日程工具屬于辦公軟件建議自己做一個(gè)簡(jiǎn)單的日歷圖標(biāo)。用 16x16 和 32x32 兩套尺寸保存為.ico文件再在項(xiàng)目設(shè)置里指定。第三Project Options - Version Info里填寫版本號(hào)和產(chǎn)品名稱。沒(méi)有版本信息的 exe 在 Windows 的 UAC 彈窗里會(huì)顯示“未知發(fā)布者”雖然不影響使用但看起來(lái)不專業(yè)而且后續(xù)做自動(dòng)更新時(shí)版本號(hào)是判斷是否需要更新的基礎(chǔ)。5.2 我踩過(guò)的三個(gè)坑字體模糊、DPI縮放和JSON解析亂碼第一個(gè)坑是高 DPI 縮放導(dǎo)致的字體模糊。現(xiàn)在很多筆記本默認(rèn)縮放是 150% 甚至 200%如果程序沒(méi)有聲明支持 DPI 感知Windows 會(huì)做位圖拉伸界面字體會(huì)發(fā)虛。解決辦法是在項(xiàng)目源文件.dpr最開頭加上一行procedure SetDPIAware; begin SetProcessDPIAware; end;或者在項(xiàng)目設(shè)置里把DPI Awareness設(shè)為Per Monitor V2。Delphi 10.4 之后的版本默認(rèn)配置已經(jīng)處理得不錯(cuò)但如果你還在維護(hù)老項(xiàng)目這個(gè)坑幾乎必踩。第二個(gè)坑是 JSON 解析亂碼前面提到過(guò)編碼問(wèn)題這里再說(shuō)一個(gè)具體現(xiàn)象在 IDE 里運(yùn)行程序一切正常發(fā)布后到別的電腦上中文變成一堆問(wèn)號(hào)。原因是我在保存 JSON 時(shí)使用了TFile.WriteAllText的默認(rèn)編碼ANSI而讀取時(shí)卻按 UTF-8 讀?,F(xiàn)在我的代碼里所有文件讀寫都顯式指定TEncoding.UTF8再也沒(méi)有出過(guò)亂碼。第三個(gè)坑是TTimer的Interval設(shè)置成了 1000毫秒也就是 1 秒觸發(fā)一次??雌饋?lái)沒(méi)問(wèn)題但每次觸發(fā)都要遍歷全部日程數(shù)組如果數(shù)組里有一萬(wàn)條數(shù)據(jù)每秒遍歷一次也不是什么大事問(wèn)題不大??扇绻谶@個(gè)事件里又做了界面刷新性能就急劇下降。我的經(jīng)驗(yàn)是提醒邏輯和界面刷新邏輯一定要拆開提醒輪詢只做數(shù)據(jù)判斷發(fā)現(xiàn)需要提醒了再調(diào)TThread.Queue去更新界面避免在 Timer 事件里直接操作控件。6. 后續(xù)擴(kuò)展方向別小看這個(gè)小工具6.1 用SendMessage把日程提醒推到局域網(wǎng)內(nèi)其他電腦日程管理做到這個(gè)程度已經(jīng)能覆蓋日常使用了。但作為一個(gè)愛折騰的人我還想讓它和團(tuán)隊(duì)協(xié)作場(chǎng)景打通。熱詞里有人搜過(guò)“delphi 局域網(wǎng) 從一個(gè)程序 發(fā)消息給 另一個(gè)程序 sendmessage”這其實(shí)是一個(gè)很實(shí)用的擴(kuò)展方向。Windows 原生提供了一個(gè)SendMessageAPI通過(guò)窗口消息機(jī)制在兩個(gè)進(jìn)程之間傳遞數(shù)據(jù)。我計(jì)劃給日程工具加一個(gè)“局域網(wǎng)提醒廣播”功能當(dāng)本機(jī)日程提醒觸發(fā)時(shí)同時(shí)對(duì)局域網(wǎng)內(nèi)其他同款工具發(fā)送一條自定義窗口消息。接收方收到消息后在托盤區(qū)彈一條“來(lái)自XX電腦的日程提醒”。這樣一個(gè)小團(tuán)隊(duì)在辦公室各用各的電腦也能實(shí)現(xiàn)輕量級(jí)的日程互通不需要搭服務(wù)器不需要數(shù)據(jù)庫(kù)同步純消息通知一條WM_COPYDATA就搞定了。具體做法是定義一個(gè)自定義消息 ID比如WM_APP 100發(fā)送方用SendMessage(FindWindow(TScheduleMainForm, nil), WM_APP 100, 0, LPARAM(DataStruct))發(fā)送接收方在WndProc里攔截并處理。注意WM_COPYDATA傳字符串是最穩(wěn)的因?yàn)樗膬?nèi)存由系統(tǒng)管理不會(huì)出現(xiàn)指針失效問(wèn)題。6.2 從Excel批量導(dǎo)入排班表/課表的思路另一個(gè)高頻需求是批量導(dǎo)入。比如老師拿到一張課表 Excel想一次性導(dǎo)入日程工具手工錄入 30 條記錄容易出錯(cuò)。Delphi 里讀 Excel 的成熟方案是 TMS FlexCel 或者老牌的TExcelApplication但如果你只是導(dǎo)入xlsx文件還有一個(gè)輕量思路用zip解壓xl/worksheets/sheet1.xml然后用IXMLDocument解析。這個(gè)方法聽起來(lái)很繞但好處是不依賴 Excel 組件不需要安裝 Office也不用引入大的第三方庫(kù)。xlsx本質(zhì)上就是一個(gè) zip 包里面的 XML 文件存儲(chǔ)了單元格數(shù)據(jù)。只要你知道每個(gè)單元格的行列坐標(biāo)讀出來(lái)并不難。當(dāng)然如果你不想折騰 XML最省事的方式是讓用戶先另存為 CSV然后用TStringList逐行解析5 分鐘就能搞定導(dǎo)入功能。這個(gè)擴(kuò)展方向的價(jià)值在于它把一個(gè)“個(gè)人日程工具”升級(jí)成了“能銜接已有工作流”的入口。排班表、課程表、項(xiàng)目里程碑這些數(shù)據(jù)往往已經(jīng)在 Excel 里了能自動(dòng)導(dǎo)入工具的使用意愿會(huì)大幅提升。我在實(shí)際使用這個(gè)日程管理 APP 時(shí)最大的體會(huì)是不要一上來(lái)就想著功能大而全先把“新建日程”“準(zhǔn)點(diǎn)提醒”“不會(huì)重復(fù)打擾”這三個(gè)核心體驗(yàn)做到位比堆砌任何花哨功能都管用。Delphi 開發(fā)這種輕量工具仍然非常高效我現(xiàn)在每天開機(jī)的第一件事就是打開它雙擊、看今天、處理日程整個(gè)過(guò)程不到十秒。如果你也想動(dòng)手寫一個(gè)建議直接從 JSON 存儲(chǔ) TTimer 輪詢 ListView 展示這種最簡(jiǎn)架構(gòu)開始跑通之后再按自己的習(xí)慣慢慢加功能。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久啊啊| 搞中出视频在线观看| 加勒比东京热五月天天堂网| 成人网站 免费观看| 久久AV无码1区2区3区| 日韩在线电影| 午夜男女爽爽爽在线视频| 在线观看A啊啊啊| 欧美懂色综合网| 涩五月婷婷| 死我十八禁| 岛国片国产成人亚洲播放| 欧美另类自拍 | 探花一区在线| 狠狠操狠狠燥| 免费操逼视频下载| 91爱啪| 五月婷婷爱六月丁香色| 人澡逼| 国产精品婬乱一级毛片彝族| 亚洲精品不卡一二三区| 狠狠中文字幕| 97天天插| 92福利社视频| 91视频综合网| 人妻插插人妻人| 成人免费视瓶| 骚熟女吞| 国产偷拍自拍在线视频| 久操电影| 狠色婷婷久久一区二区三区_| 午夜一区二区三区国产| 四虎精品永久在线观看| 欧美另类色图片| 欧美色青| 欧美日韩青操| 日韩乱伦视频| 中文字幕一二三| 男人天堂站| 国产乱伦亚洲| 欧美天天综合在线| 色综合99999| 91强奸乱轮| 日本三级精品| 亚洲成人一二三区| 中文字幕aⅴ在线视频| 麻豆天天躁天天揉揉AV| 天天操av懂色| 狠日操| 中文字幕国产| 东京热一区二区三区四区五区六区| 欧美自拍偷拍综合图片| 搡老熟女国产1000部| 91丝袜美女国产| 飘花国产午夜精品不卡| 午夜操一操| 亚州色阁| 2020视频1区2区3区| 人妻精品视频一区二区三区| 97视频www| 天天做天天爱天天爽| 秋霞 色色| 九九九九免费视频| 麻豆天美国美国产| 亚洲高清无码在线桃色| 操逼逼一区视频| 国产一线二线三线av| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 男人的天堂在线有码| 隔壁邻居波多野结衣中文字幕| 欧美亚洲韩国视频十五区| AV 少妇 人妻 偷拍| 精品人成视频在线观看| 综合亚洲网| 午夜天堂网| 免费毛片在线播放| 国产精品久久久久久久免牛肉蒲团 | 91视频观看网站| 日韩中文字幕二区| 亚洲国产尤物yw在线观看| 国产精品白丝www| 91色五月俺来也| 99精品在线| 精品一啪| 激情视屏国产乱伦强奸| 综合久久久久久久综合网| 国语精品av| 男人的天堂日本东京热| 人妻精品4K4K4K4K4| 免费AV播放| 国产精品激情久久久久久久| 一区二区免费电影久久| 久久 精品| 欧美洲精品一级| 天天看特黄的免费网站| 丰满人妻一区二区三区四| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲日本成人动漫| 国产精品无码论坛| 免费强奸av| 日韩亚洲国产视频| 欧美日韩国产三级黄色| 黄色片,com| AⅤ片水多多| 91日韩| 99AV| 97欧美日韩综合| 一区超碰一区| 狠狠干妹子| 激情综合av| 亚洲欧美爆| 青青草视频这里只有精品| 我爱大香蕉| 日本性爱不卡视频| 操屄不卡视频| 丁香五月天激情| 天天操天天舔| 欧美精品另类人妖xxxx| 国产伦精品免编号公布| 日韩在线视频1234| 啪啪91| 色妺妺在线视频| 日韩精品一二三四| 黄页大片在线观看| 99热超碰| 一区二区三区四区久久视1| 人人妻人人操人人乐| 婷婷五月天av| 日韩美女高潮喷水视频| 国产白丝在线| 骚女高跟AV在线| 美女91色黄18| 人人妻天天做天天爽| 日韩亚洲97| 久艹视频在线| 美女诱惑久久| 亚洲麻豆av一区二区| 老熟女乱伦片| 人人操人人插人人摸人人干| 日本高清_区二区三区| 欧美黄色片在线播放| 精品欧美А∨无码黑人大荫蒂 | 日韩A优精品在线观看| 国产精品视频麻豆入口| 日韩精品国产精品五码一区二区| 人妻少妇一区二区| 国产精品2020| 亚州高清色综合| 狠狠干妹子| 欧美激情 亚洲色图| 夜夜爽夜夜| 五月天我淫我色av| 午夜高清成人在线视频| 欧美有码激情视频一区二区三区| 嗯阿好爽好紧| 亚洲少妇免费视频\| 久久久一区二区三区麻豆| 94色色电影网| 亚洲春色欧美激情自拍| 91丨九色丨国产打屁股| 欧美熟妇人体| 五月天精品| 一区二区高清视频| 日本成人A片免费看| 懂色AV蜜臀无码精品APP| 激情五月综合网| 蜜桃不卡一区二区| 加勒比海人人操超碰在线| 国产视频人人网| 太久视频| 色一射色一射| 婷婷五月天色网| 色婷婷国产精品一区在线观看| 亚洲精品国产专区在线观看| 精品一区二区3区| 欧美 牲| 人爽不卡视频| A片 AV一级在线播放观看免费| 欧美后进式| 999九九精品| 狠日欧美| 午夜精品探花| 亚洲色图a| 91高清日| 中文字幕一二区二三区人妻专区| 欧美 亚洲 综合 制服| 少妇内射www在线观看视频| 婷婷爽人人婷婷爽视频| 99久久精品无码一区二区| 久久久影院| 51一区二区三区| 黄色激情电影在线观看| 一二三四日本视频高清| 午夜福利合集| 天堂8在线新版官网| 999 久久久| 国产在线综合网| 中文字幕在线免费观看视频| 国产精品久久久久久久久久久久久久久久| 天天上日日上日韩精品| 亚洲熟妇乱女区二区三区| 久久久涩| hd成人一区二区在线| 嗯~啊~快点 死我视频| 久久久久久久久久久久97| 3P乱轮视频| 91网18| 操逼网站网站| 精品国产肉丝袜在线拍国语| 久久久内射良家| 国产91亚洲精品一区二区三区| 日本三级日本三级99| 国产精品久久久999| 久久久96| 农村妇女一级二级三级视频| 91成人亚洲色图| 久久中文字幕不卡人妻| 蜜臀精品1区2区| juliaann丝袜| 色啪网| 999国产精品999久久久久久| 操逼操网| 一级黄碟在线看| 一个国产在线综合网站| 91jk色拍| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 色综合久久久久| #NAME?| 欧美顶级黄色大片免费| 天天看人人操屄犊摸阴| 强奸乱伦大香蕉| 亚洲揄拍网| 欧美性爱第一页久久| 神马精品视频| 亚洲图片欧美色| 丁香六月婷婷综合| 亚洲se91| 啊啊啊啊啊操我视频| 五月亭亭六月丁香| 狠狠搞 亚洲91| 日韩 国产 欧美自拍| 久久一区无码| 日韩无码视频黄色| 99啪啪| 精品午夜福利国产一区二区在线观看 | 嗯~啊~快点 死我视频| 亚洲天堂欧美| 欧美性色综合网| av网站在线看| 五十路熟女工口| 亚洲精品毛片在线观看| 欧美日韩人妻精品一区二区三区| av一区二区三区 中文| 99精品无码| 九九色精品| 91丝袜| 97久久资源| 啪啪啪精品| a片亚洲一本通视频| www.91理论| 欧亚韩国999| 色婷婷电影网| 一二三区操逼国产91| 亚洲视频小说| 日韩中文字幕二区| 啊啊啊在线观看| 亚洲一区二区三区麻豆传媒| 国产亚州高清国产拍精| 国产精品日日摸天天碰| 精品射1999| 久久首页| 91中文字幕在线观看| 天天干,天天日| 99久久精品国产系列| 久久久久亚洲精品| 五月天激情综合网| 国产欧美日本亚洲精品| 色亚洲欧美| 久久久久久中文字幕中文字幕最新| 黄页av| 亚州色站 日韩电影| 18禁中文字幕| 性欧美| 白丝1区2区3区| 国产精品干干干| 好湿好紧视频| 无码久| 色色色综合网| 无码操逼视频一下| 亚洲欧美综合图片| 嗯嗯嗯嗯啊啊啊好紧好大| 中文字幕日韩人妻视频| 欧色网址| 精彩久久中文| 后入 亚洲 美女 射| 亚洲码专区| 无码不卡亚洲成?人片| 亚洲 综合 第一页| 伊人国产av| 色婷视频| 婷婷午夜成人色中色| 久久久久久久| 色眯眯av| 久久综合日韩亚洲欧美| 操逼视频免费日韩无码| 极品综合| 97干在线| 国产日韩中文字幕欧美| 美女诱惑在线一区| 久久超碰久| 夜间福利片1000无码| 97在线观看免费视频| 无码精品啪啪啪一区二区三区三州| 1024久久高清视频| ?亚洲伊人伊成久久人综合网| 麻豆久久精品亚洲精品88| 18+91网站| 中国熟女网站| 久久超碰97中文字幕| 五月丁香六月| 午夜福利成人免费视频| 亚洲精品毛片在线观看| 一级AV性爱| 久热热| 青青草五月份天| 久久日本熟女精品一区| 东京热一区二区三区四区五区六区| 五月天啪啪| 91人妻素女| 日本免费一级AAA大片器| 五月亭亭六月丁香| 91另类| 中文字幕福利视频一区二区三区在线观看| 97视频900| 麻豆性爱视频在线播放| 亚洲自拍欧美国产首页网曝| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 女人被添高潮免费视频| 51一区二区三区| 嫩草在线视频| 成年人黄色| 成年人黄色| 青娱乐妇女性生活| 久久区| 欧美宗合色| 久久精品国产亚洲粉嫩| 99re6在线视频播放免费精品| 色噜噜狠狠色综无码久久| 韩日精品福利视频一区不卡在线免| 中文字日本乱码| 强上我不卡卡| 草伊人高潮喷水超碰| a人欧美综合天堂麻豆| 色女99一级片在线观看| 中出789在线视频| 懂色AV中文| 高跟伊人julia ann| 91中文精品日韩欧美在线| 九一精品牛牛一区二区| WWW美腿丝袜香蕉中文| 久久久久久久六六| 日韩欧美久久婷婷网站| 亚洲丝袜诱惑| av无线看| 最新日产中文在线麻豆| 亚洲精品亚洲人成人网| 久久久久免费少妇| 67194无码不卡| 青青草视频久久久久| 色第一页| 亚洲怡春院| 香蕉精品二区二区 | 亚洲综合另类小说色区亚洲成av人片在www| 日韩黄片影院| 中日韩久久久| 色婷婷影视| 97人妻色| 最新精品久久蜜桃 | 99热91| 青青11操操操操操操操操| 欧美少妇一区二区三区| 最新9久久久9免费视频| 国产白丝网站| 四虎午夜影院| 韩国一级做A片免费的| 久草婷婷| 亚州熟妇精品| 中文字幕视频二区| www.色吧5.com| 国产精品一区二区 尿失禁| 天天做天天爱| 熟妇国产免费一区| 大奶的诱惑| 三级精品三级在线观看| av天堂5| 欧美亚洲综合色| 97视频在线观看高清资源| 亚洲熟女一区二区| 日韩欧美大片免费高清啪啪| 无码免费精品高清| 夜夜狼人妻| 少妇激情AV| 91AV入口| 97久久视频| 欧美97日韩| 玖玖爱视频网站| 国产综合在线视频网站| 91在线页| 国产自偷| 八戒午夜福利理论片| www.色操逼| 精品国产一区二区三区久久久蜜臀| 插插综合网天天影视网| 欧美日韩一干二干| 免费观看性欧美一级| 久久春色| 亚洲天堂在线怕怕视频 | 久久久无码av精| 激情露脸爱| 78m成人视线| 亚洲蜜乳av| 91狠婷| 久久久久久裸体| 九九精品99| 天天日老熟妇| 91欧美www| 精品人体无圣光凹凸| 国产精品老熟女一区二区| 淫穴高潮色图| 超碰成人公开| 欧美日韩大陆黑人少妇99| 男人天堂新在线| 性爱乱伦一区| 蜜桃午夜视频一区二区| 欧美成人性爱视频免费观看| 九九热视频这里只有精品| 日本二三四区| 一区二区娱乐网站| 99热这里都是精品| 欧美黄色片AAAAA| 九九九精品一区二区无码| 国产亚洲色停停久久99精品91| 色5月婷婷| 熟女熟妇伦久久影院毛片一区二区 | 欧美少妇熟女| 亚洲欧美97| 在线观看国产黄色| 婷婷激情五月综合| 91足交| 国产第二页| 日韩人妻制服丝袜av| 欧美亚洲丝袜美女电影| 亚洲高清视频在线免费观看| 91在线视频免费中出| 国产精品ww久久| 91超碰人人| 爱爱啊啊啊| 一区二区三区精品黑丝白丝酒店对鸡| 久久久九九| 午夜精品视频777| 9.1小视频| 久久肏大逼| 日韩人人精品| 嗯啊视频免费在线观看| 美女网站黄页| 无码自拍SM| 欧美亚洲中文字幕| 六月丁香五月婷婷| 国产精品另类| 性站| 乱伦一二三区| 中文字幕女同在线| 嫩草影院在线观看精品| 中文三一区| 天天操狠狠日夜夜干超碰撸com视频在线观看| 老熟乱一区二区三区四区| 五月天激情婷婷| 欧美天天射| 嗯嗯嗯啊啊啊在线免费观看| 国产精品又黄又猛又粗| 青青色综合| 久久激情亚洲精品无码?V| 国产精品久久久久999| 另类 日韩 熟女| 蜜汁欧美| 夜夜一区二区| 国产成久久综合片| 99热大香蕉伊在线| 五月婷婷综合在线| 欧美欧美啪啪视频| 俺也射| 亚洲宅男天堂| 欧美黄色片在线播放| 午夜无码熟妇丰满人妻| 天天影视色香色欲| 福利社区午夜一区二区| 亚洲人精品久久久| www.四虎在线| 91成人久久| 久久春色| 插入粉嫩少妇视频| 欧美亚洲激情小说| 国产AV久久野战精品| 94色色电影网| 久久久久密臀视频| 69人妻精品一区二区绯色| 亚洲一区日韩精品中文字幕| 99福利社| 亚洲综合888| 夜嗨影院| 小说区 图片区色 综合区| 动漫av中文| 国产欧美伊人| h无码动漫在线观看| 91九色丨风韵犹存| 91精品免费| 涩爱AV在线| 亚洲Av无码成人精品国产| 91美女在线观看| 精国久久一区二区三区98| AV色天香在线| 蜜乳av首页| 亚川综合视频| 中文字幕99999| 十八禁黄色成人网站观看| 激情综合网激情五月天| 亚洲精品国产熟女| 国产美女高潮| 日本黄色精品| 欧美熟女丝袜| 欧美狠狠弄| 激情文学网伊人| 国产Aα| 精品九九九九| 天天干人人乐| 国产日韩中文字幕欧美| 亚洲人91| 欧美色图偷拍另类| 人人操天天爽| 人妻少妇精品一区二区三区| 亚洲 欧美 手机在线观看| 亚洲国产成人7777| jazzjazz国产精品麻豆| 99re久久| 情色大香蕉| 国产后入清纯| 天天干1区2区在线| 精品国产国产AV| 九九久久久久久爱| 天综合网| 97干日韩| 男人的天堂网免费| 九九热精品| 91在线无码精品秘 软件| 国产小黄片在线免费观看 | 97在线观看| 亚洲欧美日韩不卡人妻| 91麻豆天美国产欧美高潮| 国产精品不卡一区二区三区| 18一区二区三区| 射 色综合| 五月丁香综合| 色婷婷丁香五月| 亚洲精品成人| 91精品丝袜在线观看| 日韩AV无码中文一区二区| 在线强奷到舒服的无码视频| 在线强奷到舒服的无码视频| 噜噜瑟| 骚日日av| 狼人狠干| 国产激情视频一区区三区| 啊啊啊啊啊啊好多水| 国产精品乱码久久久| 97国产超碰| 91伊人| 思思热一热婷婷热一热| 亚洲第一精品在线视频| 国产精品无套内谢| 亚洲黄网在哪免费看| 国产精品久久久久久片| 久久精品三级影视| 国产免费一区二区在线A片视频| 亚洲性爱无码乱伦av| 激情AV| 无码9区| 精品久久久av| 蜜屁Av| 91劲爆| 麻豆一区二区AV天美| 国产97av| 凹凸精品熟女在线观看| 精品无码一区二区三区| 懂色av色欲av蜜臀av| 秋霞蝌科网日本一区| av在线资源| 97超碰色五月| 超碰97最新人妻| 女人天堂网| 亚洲啪啪综合?v一区综合精品区| 国产精品久久天天干| 国产高清26uuu| 日日碰狠狠添天天爽超| 久久久久密| 无码人妻精品一区二区三区九九| 亚洲日韩97| 好爽免费视频| 亚洲 日韩 丝袜 熟女 变态| 男人久久天堂| 日韩无码三级影院| 丝袜剧情| 天天看天天综合成人网| 日日摸日日碰| 色逼综合| 国产精品久久久久久久毛片1| 五月丁香激情综合| 日日橹狠狠爱欧美超碰| 人妻人久久精品中文字幕| 国产午夜精品理论片a大结局| 国产传媒操逼视频| 综合网欧美在线| 国产天天看| 精精品人妻一区二区三区| 97精品一区二区视频| 深夜激情无码| 亚洲AV乱码专区国产噜噜亚洲| 亚洲drav色图| 天天草天天日| 欧亚免费视频| 亚洲精品一区二区免费在线观看| 久久久久久999| 三级特黄60分钟播放| 99热91| 内射卯月麻衣| 绯色一区二区三区不卡少妇| 深夜激情无码| 日韩欧美偷拍美女视频| 午夜精品久久99蜜桃的功能章节| 激情无码日韩| 亚洲中文字幕乱码无码一区二区 | 99久国产精品午夜性色福利| 天天综合精品| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 热无码中文亚洲H一道本一区二区| 桃花色涩综合影院| 99色婷婷中文字幕乱色| 国产农村妇女毛片精品久久| 婷婷精品久久av影视| 欧美性爱日韩高清| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 视频黄色国产一级| 91超碰人人| 91少妇高潮| 亚卅熟女乱色| 亚洲综合骚逼| 亚洲无码太久| 久久最新视频免费观看| 国产精品国产精品国产| 一块操欧美性爱| AV中文字幕剧情1区2区3| 欧美的性爱网站免费| 91蜜臀熟女| 又黄又硬又粗又长国产视频| 中文字幕精品资源在线| 色制服丝袜夫妻av一区| 人人操 欧美| 久jiu久神马影院| 狠狠爱大香蕉| 99综合视频一体| 偷拍亚洲视频一区二区三区四区| 熟女视频久久| 亚洲天堂一区二区| 日本韩欧美在线播放a| 欧美天堂亚洲电影院一区在线播放| 韩国手机不卡无码三级视频| 色999偷自拍拍| 尤物av网站免费在线播放| 91色综| 国产乱子伦久久精品综合一区二区三| 操碰97| 97碰碰色| 91天天日| 被操高清无码视频| 中文字幕片| 国产乱色国产精品免费视| 色第一页| 国产精品人人爽人人做可爱福利| 成人五月天色网| 亚洲暴力强奸AV| 是还免费视频1727我| 丰满人妻一区二区三区四区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 日本中文字幕一区| 久久av成人无码免费| 亚洲性综合| 婷婷五月天av| 99999re| 久久手机好看网站| 成人免费视瓶| 亚洲图片 激情小说| 中国一区二区亚洲人妻| 99在线精品观看视频中文| 色情五月综合婷婷| 1区2区3区视频| 欧美大香蕉97| 成人三一级一片aaa| 加勒比久久av| 97久精品| 大学生口爆吞精| 青操影院| 日本午夜久久电影| 午夜爽爽爽| 久久久穴999| 成人性爱美曰韩| 久 久无码人妻AV| 婷婷五月天久久精品视频一区二区三区 | 成人a级高清视频在线观看| 国产偷人妻精品一区二区在线| 91美女精品| 久久久啊啊| 日韩一性一交一A片俄罗斯| 白嫩91在线亚洲| 玖玖视频在线资源一区二区三区| 亚洲日韩视频二区| 淫穴高潮色图| 久久久久性熟视频| 欧美一级特黄淫片在线观看| 超碰色美女| 久久久久久性爱片| 国产网站在线播放| 啊啊啊啊啊啊在线观看| 久久久久久久六六| 欧美视频在线第3页| 国产黄片在线免费观看| 欧美情色亚洲| 婷婷美人网| 欧美精品另类人妖xxxx| 亚州操逼图| 人人妻人人玩人人澡人人爽| 激情小说亚洲视频| 97中文超碰| 免费啪啪一级视频| 东北女人性交| 男人把坤坤插入女人的下体| 超碰人人乐97| 亚洲乱码国产乱码精网站| 中国熟女老妇仑乱一区二区三区| 丝袜色综合| 啊啊啊用力在线观看| 亚洲av强奸乱伦| 伦激情人妻另类人妻| 亚洲天天自拍| 人人九九精| 欧美午夜色妇色鬼| 久久综合五月天| 亚洲国产一区二区入口| 9久久精品| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 十八禁av无码免费网站APP| 无码人妻丰满熟妇区毛片| 精品97精品97| 婷婷久草一区二区三区| 亚洲成熟国产精品美女| 超碰色男人操熟女| 午夜啊啊| 久久久精品一区二区| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV | 麻豆一区在线| 国产视频一区二区在线| 色色综合网站| 亚洲精品美女久久久久久久久| 一级做a爰片久久毛片图片| 91色狼| 天天色欧美| 67914在线兔费成人视频| 美性中文综合网| 97国产亚洲中文在线| 日本91白丝| 综合网色| 99热啪啪| 日本久久精品| 性爱1区| 激情专区综合| 亚洲日韩国产欧美综合v| 欧美激情另类一区二区| av在线观看不卡网站| www久久国产精品| 欧美色图片| 国产女大学生AV| 不卡在线观看视频| v91av| 爱爱啊啊啊| 精品欧美乱码久| 人人操人人摸超碰| 久久久一区二区三区四区五区| 欧洲亚洲综合| 男女性扦B| 97操综合| 男人的天堂三级| 亚洲系列欧美| 亚欧美色图| 偷拍亚洲视频一区二区三区四区| 新91视频.cmp| 怡春院久久| 欧美 亚洲精品首页| 欧美97在线欧| 青青色在线观看| 97欧美视频| 亚洲日韩视频二区| 免费黄色片。| 高清成年美女黄网站免费大全| 91人妻中文| 国产色呦呦| 人妻人人操| 国产精品天美传媒| 日韩久久超碰色| 91中文精品日韩欧美在线 | 麻豆一区在线| 亚洲drav色图| 亚洲双插| 天美精品原创av片国产| 婷婷av在线中文字幕| 日本国产欧美一区三区二区| 伊人精品久久网站| 人人人人插| 欧美疯狂做爰xxxx| 久久精品国产精品亚洲艾通辽熟妇 | 婷婷综合久久| 动漫片子网站3黄| 搞中出视频在线观看| 久草精品一区| 殴美性天天| 精品一区二区三区国产| 久久久久人妻二区精品叶可怜| 岛园激情| 久久超碰爱| 色噜噜人妻丝袜AV资源| yazhouzaixian| 激情欧美97| 中国农村熟妇毛片视频| 亚洲一本大道中文字幕无码在线| 丁香五月色| 久久久99久9| 啊啊啊啊在线播放| 欧美综合第一页| 欧美日韩国产三级黄色| 午夜色婷婷| 九一综合精品视品av| 久久中久文96| 日韩兔费看黄片| 国产精品999zyz| 国产一区二区三区中文字幕| 亚洲第一二区另类图| 色欧美在线| 国产一级内射无挡观看| 久久女婷| 精品国产网站| 97操B| 免费久久一级毛片大黄| 五月天婷婷色| 91美女在线视频| 日本 情色 1区| 中日韩久久久| 99re这里只有精品中心播放| 青青草日韩免费观看高清在线| 人妻一区二区三区熟女| 欧美一级黄片视频在线| 欧美亚洲玖玖玖| 后入式999| 白丝被操91| 日本色婷婷| 日本中文字幕一区| 国产高清成人免费视频| 性爱Av免费| 久久女人视频| 久伊人网78| 蜜乳AV一区二区三区四| 欧美中文字幕男人天堂久久精品 | 夜夜嗨一区二区三区三州加勒比| 精品人妻1区| 嗯嗯啊操我| 天天欧美97| 蜜乳Av成人片网站| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 精品一区二区三区国产| 超碰免费在线| 人人摸人人舔一区二区| 74成人在线| 日韩精品高清资源在线| 人妻精品一区二区| 免费亚洲黄色视频在线观看 | 国产av激情无码久久天堂| 水野优香在线观看| 超碰九九| 亚洲五码一区二区三区| 日欧毛片久久| 桃花色综合影院| 日本一区三级韩国| 青青久久艹| 综合网色| 欧美日韩97在线| 久久91视频| 91久久久视| 看免费的黄片| 宅男91视频在线播放| 久久久999国产精品| 日本亚洲熟女视频| 日韩大香蕉精品在线视频| www.大香| 日本久久综合| 国产操逼视频在线观看| 天天干天天日天天射黄色片| 亚洲婷婷丁香在线| 日韩一999精品| 国内外内射高清视频| 精品国产一区二区三区av在线资源| 欧美性性性| 色情综合网| 啊啊啊轻点在线观看| 精品久久人妻成人网| 黑人与人妻| 国产精品毛片?v一区二区三区| 美女黑人91神马| 国产精品嫩草久久久久| 欧美 熟女 日韩| 亚洲无码?第一页| 97超碰超欧美。| 5月婷婷6月六月丁香| 天天综合网亚洲综合网| 久久免费精品视频免一| 亚洲高潮影院| 99久热| 黄色大片视频在线免费看| 啊啊啊啊啊啊在线看| 黄片www视频免费| 亚洲男人的天堂AV| 亚洲欧美在线观看免费| 蜜臀99久久精品| 丁香九月激情啪| 亚洲激情在线| 亚洲AV乱码专区国产噜噜亚洲| 边做饭边操逼逼| 欧美青青视频| 牛牛aV| 97久久国产亚洲精品超碰热| 日韩成人电影AV| 亚洲一区二区AV| 东北女人| 国产精品久久久久久片| 91色插| 欧美九九99久久精品| 欧美亚洲第一页| 日韩黄色小说| 色婷婷丁香五月天| 欧美一区二区三区互相| 超碰午夜| 精品区9| 欧美大波激情xxxx| 91亚.色| 91亚·色| 波多野结衣被操50分钟免费视频| 91在线一起| 一品道视频一区二区三区| 超碰人人操97碰| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 亚洲精品白丝| 亚洲人成网www| 日韩无码操逼片| 九九超碰综合网| 熟妇人妻一区二区三区| 强奸乱伦大香蕉| 国产精品视频在线观看| 91国产大片| 亚洲国产日韩欧美熟妇在线| 久96热在线观看视频| 亚洲日韩少妇一道本视频| 91校园春色长篇| 精品国产无码中文| 91人妻人人澡人人爽人人精品| 精品国产99| 色嗨嗨在线| 中文字幕在线免费观看2| 超碰精品人妻狠狠干| 台湾佬中文娱乐自偷自拍| 国产浮力影院第1页| 亚洲国产精品久久AV| 超碰97久久国| 亚洲欧洲偷拍一区| 亚洲天堂7777| 国产精品人妻无码久久久互動交流 | 国产粉嫩蜜臀av一区二区三区| 91女优在线观看| 久久黄黄| 人妻精品一区二区在线| AAAA级日本片免费视频| 久久精品人妻一区二区三区| 午夜欧美J进J出白浆流出久久久| 日本午夜久久电影| 91精品微拍福利| 国产60页| 亚洲天堂少妇| 国产亚洲精品美女| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 18禁看网站一区| 99精品无码| 一区二区蜜臀| 少妇被玩视频二三区| 国产激情久久久| 日本色色色视频| 国产亚洲福利第一页丝袜| 亚洲美女精品九九视频| 91无码人妻| 亚洲区限制级| 97精品一二区| 亚洲AV无码成人精品久久| 日韩精品一区二区日韩| 日日夜夜精品视频| 久久久精精精| 久久久免费视频18| 欧美大色交| 91美女视频在线| 欧美色图中文字幕| 91在线页| 久久人妻丝袜一区二区三| 日韩激情啪啪| 日韩av不卡在线看| 青娱乐淫乱1314| 97免费视频在线| 人妻熟女一区二区三区视频| 免费草草草草草视频| 国产成人天堂| 双插在线| 91熟女综合| 操美女人妻| 中日韩久久人妻一区二区| 日韩丝袜人妻AV| 毛片视频白嫩| 91neishe| 欧美最婬乱婬爆婬性视频 | 久久久久久久久久8888| 桃花色涩综合影院| 欧美特大黄一级片片免费| 国产精品视频白浆免费| 99久久久久久久久| 艹比视频国产精品| 日本国产欧美高清在线| 一级性爱aaaa| 在线人人人人人人精品超| 探花一区在线| 激情久久av一区av二区av| 极品色www影院| 欧美做爰无码A片视频| 久久99综合| 五月天婷婷久久| 天天影视网综合少妇| 亚洲天天艹| 亚洲熟女综合| 精品亚洲俞拍视频一区| 一本久久精品中文字| 欧美影音在线| 激情婷婷丁香网| 日本黄色精品| 97干97色| 偷拍偷窥与盗摄视频专区| 高清国产精品无码| 国产宅男宅女在线观看| 熟女乱伦A| 国产精品一级片在线看| 高清在线偷拍自拍视频| 丁香五月成人| 色丁香五月婷婷| 99超碰色| 亚洲 图片 综合91| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 日韩国产十八禁| 天天影视网色欲色香| 国产精品69久久久久久久 | 人人操人人插人人摸人人干| 一区操逼日比视频| 超碰av在线| oumeisetu综合| 动漫区日韩区欧美区| 欧美激色| 欧美啪啪色吧在线| 国产精品白领在线观看 | 少妇精品久久久八区九区| 青草一区二区| 热99这里有精品综合久久 | 国产高清午夜成人在线观看| 国产AV色黄看到爽| 久久露脸国产老熟女| 丝袜AV一二三区| 亚洲一二三| 国产9熟妇视频网站| 国产精品96| 青娱乐国产精品| 被体育老师抱着c到高潮| 国产精品交换一区二区| 蜜屁Av| 嗯嗯不要 视频| 亚洲精品一区二区精品| 国产人妻天天干精品| 久久色一区| 久久久国产精品亚洲精品| 欧美97超碰| 国产av强奸美女| 久久久一区二区三区四曲免费听 | 最新日日夜夜天天干干| 亚洲中文字幕精品久久久久久直播| AV天堂丝袜| 久久九九精品一区二区| 97久久超碰| 国产亚洲精品自在线亚洲情侣| 99热超碰| 精品国产乱码久久久久久免费| 污色区网站| 色色色99| 大香网伊人久久综合网eew| 麻豆91熟妇人妻中文字幕茄子| 黑人精品一区二区在线播放| 亚洲综合在线视频| 污到发麻的视频 国产| 清纯唯美综合亚洲| 蜜乳AV免费观看| 狠狠色综合网| 操91| AVE乱伦| 素人播放一区| 人妻少妇久久中文| 国产亚洲精品精AV.| 95人妻爽爽人人做人人澡| 99国内熟女露脸视频| 热99这里有精品综合久久| 91粉嫩萝控精品福利网站_精品影音先锋国| 五月天色图| 超碰免费人妻在线| 日韩欧美中文| 四虎免费看黄| 四虎国产精品永久在线囯在线| 97最新在线播放视频| 精品无码久久久久| 家庭乱伦麻豆| 欧苏综合色综合| 欧美,亚洲,日韩,v,天堂,手机在线观看| 免费日韩黄片| 亚洲欧美一区二区三区在钱蜜桃| 夜夜久久久| 亚洲va有码在线天堂| 久久綜合很很很| 老熟女乱伦片| 美女黄色一级A视频| 欧美性高潮| 综合久久97| 久久精品一区二区三区四区五区| 成人免费福利网站国产| 99蜜桃臀久久久欧美精品网站| 欧美日本成人一区二区| 国产剧情一区在线观看| 夜夜黄| 日本日逼视频网|