日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
91 刺激在线| 99热导航| 色天堂在线观看| 男人的天堂日韩| 人妻久久一区二区三区 | 久干9操| 在线强奷到舒服的无码视频| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 亚洲乱码尤物193YW| 一区二区三区在线资源| 精品网站99999| 天久久久噜噜噜久久国产精品爽爽 | 精品一区二区三区18| 日韩人妻播放| AV色五月天| 91综合中文字幕| 人人看人人摸人人色| 色眯眯射| 欧美亚洲| 97chaopenrihan| 亚洲一区日韩精品| 日本一片一区| 日韩操逼HD| 欧美人妻色| 永久免费观看的毛片的网站| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 成人一级性爱| 欧美日韩天堂| 亚洲国产激情国产av| 国产第二页| 日韩激情无码影院| 精品无码一区二区三区| 国产麻豆一级精品视频| 日韩国产精品人妻无码久久久| 日本少妇va7777| 一个国产在线综合网站| 超碰97人人乐| 欧美页片| 亚洲综合小说另类图欧美视频激情小说色五月天 | 黄色人人| 亚洲色图片区| 97人人爱人人做人人乐| 日本操嫩b网| 伊人在线大香蕉视频久久| 国内精品久久久久影院亚洲| 国产精品美女久久久久AⅤ国产馆| 国产乱婷婷精品二区三区| 综合久久久久久久久91| 东京热伊久| 精品久久視頻在线| 人人看黄色视频| 日本九九久久99| 欧美|91色综合| 亚洲欧美国产中文视频| 97超碰人妻| 强奸熟女一区二区三区| 天天色悠悠激情| 爽 好舒服 无码刺激久久| 欧美天天性| 91狠狠狠| 中文字幕无码不卡啪啪| 日日日大屁股骚女人精品| 91一区二区| 中国国国产一级特黄毛片| 91春色| 国内一区二区三区| 久久久久96| 久久AV无码1区2区3区| 操逼天美3区| 欧美亚洲综合高清在线| 易易A毛视频| 精品久久97| 天天看片麻豆| 欧美亚洲中文字幕| 97色碰| 999色欧美中文字幕| 91插B网站| 超碰这里有精品| 91精品国| 欲香欲色| 青娱乐亚洲自拍| 草莓精品视频| www.超碰| 国产精品第二页| 欧美少妇内射| 刺激性视频黄页| 男人的天堂.com| 免費人妻夜夜爽天天爽爽一区| 久久老熟女| 亚洲 日本 国产 综合| 99热精品在线观看| 99re6国产精品99re| 欧美日韩制服| 亚洲成人美女无吗| 大香蕉宗合网在线| 蜜桃臀一区二区aV| 少妇蹲下露出大唇5| 黄色视频60分钟| 在线播放一级无码视频| 亚洲中文字幕噜噜噜久久久| 免费成人在线熟妇网| 欧美高清91| 超碰在线欧美性爱激情| 亚洲经典啪啪| 中文字幕免费看| 久草成人| 操逼免费视频无码国产| 国产免费大片| 欧美日韩1234| 久久思思热| 一区二区三区四区姦女| 极品色www影院| 久久久久久中文字幕中文字幕最新| 在线 制服丝袜中出 人妻| 日韩啪啪啪啪啪| 亚洲日韩97| 26uuu欧美日韩| 日本亚洲熟女视频| 亚洲激情欧美色图 | 亚洲欧美一区二区三区一猛片| 九九久久久九九| 日曰骚久久精品| 中国国国产一级特黄毛片| 精品国产72| 精品国产乱码久久久久久蜜臀| 五月天伊人| 天天操天天7| 中文字幕日韩电影人妻| 青青草原人妻| 精品国产丝袜一区二区三区乱码| 一二三四视频在线社区中文字幕| 日韩二级| 在线看片国产精品每日更新| 伊人操操| 激情婷婷五月天| 97在线视频免费| 毛片17S| 亚洲 欧美 制服 另类 自拍| 日韩av色图综合| 中文字幕日韩人妻视频| 搞中出视频在线观看| 国产毛片久久久久久久| 51一区二区三区| 日韩精品国产精品五码一区二区| 亚洲国产成人精品999| 色 亚洲 91| 黄色大片免费在线| 性猛交| 五月婷婷丁香六月丁香| 精品免费1| 九九九国产| 99re9在线| 色综合天天| 中文字幕一二三av| 国产女同性恋视频| 国产精品免费视频人成| www..com操老师| 色悠久久久av| 日韩精品一区二区三区四虎影视| 99这里只有精品国产| 国产欧洲精品亚洲午夜拍精品| 丁香久久| 天天日B夜夜干B时时操B| 97精品视频| AV中文字幕剧情1区2区3| 欧洲综合视频| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 97中文天堂| 免費黃色視頻觀看一| 欧美性生活免费网| 欧美人与性动交a美精品| 啊啊啊好多水| 日韩肏逼视频| 校园春色综合网| 一二三区视频在线观看| 欧美久久婷| 五月天AV资源| 色九九九综合| 夜夜骑日日| 国产麻豆一区二三区| 日韩三级在线观看mp4| 日韩偷拍色图| 91爱看| 色情亚洲日本成人| 日韩精品9区| 亚洲国产中文字幕| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 欧美一品道| 91欧美性| 久久大香蕉97| 成人资源中文字幕在线观看| 啊啊啊免费| 成人精品无码| 国产在线精品偷| www.99视频| 国产suv精品一区二区四| 九九九久千久久激情蜜桃在线看 | 久啪视频| 色呦呦国产精品免费看| 无码精品一区二区三区潘金莲| 人人摸人人叼| 国内精品999| 久久99手机免费视频| 欧美亚洲宗合色性图| 欧美日韩不卡传媒| 国产又猛又粗又爽又黄| 情趣丝袜无码操逼视频| 日本道久久综合色色| 欧美大香蕉在线观看| 精久久久91| 色色色综合网| 久久久久久久六六| 青春草莓视频在线观看网址| 国产小黄片在线免费观看| 国产九月婷婷| 易易A毛视频| 天天谢天天干| 日韩资源网| 日逼97| 成人综合久久精品色婷婷| 久/久精品99看9| 日本精品国产视频| 91亚洲人| 亚洲另类综合欧美| 色欧洲| 美中日韩无码| 亚洲第二页| 国模不卡| 加勒比海成人视频网| 中文字幕熟女人妻丝袜| 性欧美另类高清| 天天夜夜久久| 9丨亚洲一区二区在线| 人妻在线臀日韩| 精品黄色电影| 蜜臀少妇一区二区| 91久久久亚洲| 久久一本大香蕉 | 男女性扦B| 大香蕉视频一二三区| 久久伊人青青草| 东京热男人的天堂精品| 9美女超碰在线免费观看| 亚洲综合中文字幕有码| 七月婷婷综合| 99啪啪视频| 九九热三级片| 欧美综合骚| 青草精品视频日本久久久久网站在线| 97频视在线| 综合久久欧美| 特色a在线上| 91艹逼精品| 浪人综合网| 亚洲乱熟女一区二区| 天天日日夜夜| 日韩美女操b| 成人精品视频一区二区| 97综合在线| 不卡av在线中文字幕| 美女黑人91神马| 免费黄色片子| 在线免费观看日韩一区| 精品视频一区二区| 夜夜福利| 九月AV| 黄色高清无码无码破解免费暗网 | 欧美91精彩| 另类小说欧美激情校园春色| 天美传媒Av在线| 又大又黄国产| 亚洲国产成人综合碰碰三级经典| 可以免费观看的AV| 亚洲日韩精品在线播放| 美女尤物人人操| 强奸乱伦免费网站| 日本欧美不卡| 日日躁夜夜躁狠狠躁超爽| 亚洲色图欧美视频| 久久精品中文字幕观看| 黑人白女精品一区| 亚洲无吗在线视频| 色香色欲天天综合网天天来吧 | 99久久久无码国产精品性啊聊| 91在线丝袜视频| 国产天天骚| 99在线精品观看99| 超碰79人人乐| 久久综合女优| 久久久久久九九九九-美女久久久久久久-成人AV | 国产女人9999| 国产怡红院在线| 日韩操啪| 久久性爱网站| 美女刺激久久国产欧美| 国产人伦精品一区二区三区| 美女AV一区二区| 在线观看午夜婷婷久久久久清性观看| 九九九九九九九九九九精品视频| 粉嫩国产精品久久粉嫩| 91网站视频在线观看| 精品然女一区二区| 亚洲中文字幕一区| 九九热精品在线| 一级日本牲交大片好爽在线看| xxx亚洲午夜天堂| 亚洲成人激情小说视频| 亚洲国产无码精品首页久久久| 99热精品在线观看| 欧美BT 亚洲色图| 九九九九九九九九九国产精品| 久久午夜伦| 欧美成va视频网站| 欧美亚洲91| 97在线视频观看免费| 高树玛利亚无码流出| 一级黄碟| 91天堂| 青青11操操操操操操操操| 欧美综合加勒比在线| 亚洲成人精品久久久| 黄污污污污| 嗯啊不要在线观看嗯啊| 岛国AB视频| 日韩精品一区,二区 九九...老司机| 日韩BBN| 国产熟女精品一区二区| 黄色免费网| 久久久久久久久久精| 久久久久久亚洲精品中文字幕人妻| 欧美熟女激情| 九一综合网| 欧美亚洲国产日本在线,久久精品国产| 另类一区| 午夜乱轮操逼视频免费看| 97超碰9| 欧美丰满少妇交换91欧美精品| 中美日韩毛片| 久久久久久性爱视频| 国产精品午夜福利| 中国的操老妇女| 国模不卡一本二本三电影| 精品久久人妻成人网| 国产AV激情无码久久无码| 国产精品无码成人精品| 午夜小电影在线插入淫高潮| 精品久| 超碰97在线中文| 四虎视频在线观看| 久久同城AV| 99精品伊人| 日韩精品人妻中文字幕久久久| 东北黄色电影| 夜夜狼人妻| 人妻夜夜爽天天爽麻豆三区网站| 好湿好紧好爽 视频| 欧美毛片在线网| 亚洲精品 大香蕉| 91成人精品在线播放| 日韩人妻 中文字幕| 久久精品国产AV一区二区三区| 肏逼视频日本| 国产在线播放成人免费| 日本中文字幕不卡视频| 资源新线在线天堂| 久久二| 色臀AV| 加勒比海色香蕉婷婷| 91老熟妇| 久久久久久综合久久伊人蜜月| 欧美春色| 久久啊啊啊| 日本91白丝| 大香蕉十区| 亚洲综合小视频小说在线观看| 美腿丝袜偷拍亚洲欧美| 校园春色中文字幕AV| 成人一区二区三区四区| 伊人96在线| 亚洲偷91色| 日本免费一区二区不卡| 九九人妻| 亚洲高清自拍| 亚洲精品国语在线播放| 亚洲欧美综合区自拍另类| www.av在线观看| 九九人人操| 人妻在线臀日韩| 自拍亚洲综合| 日本高清视频在线观看黄已三辽| 丁香六月婷婷| 色淫网站优优视频| 大香蕉啪啪啪| 大学生美女口爆| 久久精品国产亚洲粉嫩| 九九九九热| 8x福利精品第一福利视频导航| 久久精品国产亚洲AV清纯| 精品国产乱码| 五月丁香综合啪啪| 黄片在线免费在线观看| 在线日韩视频| 黑丝91视频| 青青草精品| 97精品久久久久久久| 超碰这里只有精品| 另类欧美综合| 91被操| 日韩操逼HD| www久久久| 国产和美国毛片| 一区二区三区免费岛国片| 亚洲国产精品久久久久久久久久| 五月天色电影| 乱日视频| 亚洲91射| 偷拍 欧美 日韩| 亚洲第一无码播放立川理惠| 日韩免费性爱视频在线观看| 欧亚不卡| 色噜噜国产精品视频一区二区| 久久精品午夜国产亚洲AV无码| 人人透人人操| 爱妻综合网| 97欧美精品| 97人妻免费中文字幕| 天美麻豆精品视频99| 偷拍新久久| 眼镜人妻101.com| 超碰97起碰| 久久久精| 久久 国产 无码| 五月天婷婷色| 欧美色图99| 高清国产成人无码| 美女久久久久久久| 97se综合| 十八禁av无码免费网站APP| 日韩人妻操B| 日韩本不卡视频在线观看| 精品午夜福利国产一区二区在线观看 | 93人人操人人| 青娱乐亚洲自拍| 5月婷婷6月六月丁香| 午夜天堂网| 一卡二卡三卡| 97香蕉碰碰人妻国产欧美| 婷婷四五区| 爱丝福利| 久久精品店| 国精综合一二三区影视| a片偷拍视频| 亚洲九九九九| 国产在线视视频有精品| 国产熟女高潮一区二区三区| 国产精品久久99日日| 丝袜天堂| 国产精品视频91久久| 丁香五月av| 午夜亚洲| 91啪啪视频| 肉丝无码中文高清| 户外裸露刺激视频第一区| 日日干男人的天堂| 欧美十八禁在线看| 97中文综合| 亚洲图片欧美在线视频| 最新制服中文第一页| 亚洲高清在线| 91亚洲狠狠色| 超碰99在线观看| 91n处女在线观看| 乱色视频中文字幕| 欧美97在线欧| 久九九九九九九热| 18啪啪手机免费性爱| 曰本熟女视频| 啪啪免费| 欧美性少妇| 激情深爱五月天| 综合大香蕉美。| 欧美日韩国产高清在线一二三区| 国产第11页| 怡红院一区二区熟女人妻| 中文字幕国产| 欧美熟爽综合| 亚洲国产奇米影视久久| 美国三级日本三级久久99| 2018色综合天天操| 九热中文字幕| 狠狠夜色午夜久久综合在线| 欧美强奸乱能| 夜夜躁狠狠躁日日躁av| 日韩99神马视频播放| 亚洲免费在线探花| 亚洲精品乱码久久久久久蜜桃麻豆| 久久九九国产精品| 搡老女人老熟女91| 桃色人妻在线视频| 91超级碰| 亚洲天堂五月天国产| 国产第二页| 99久久久99久久91熟女| 久久成年片色大黄全免费网站| baiduhicn.com。| www.人人cao| 亚洲综合另类| 大香蕉在线SuP| 亚洲日本成人动漫| 欧美日韩一区二区三区四区蜜桃| 日本幼女18+| 看黑丝美女操逼青青网站| 精品亚洲国产成人精品| 熟女人妻精品一区二区视频| 久久超碰98| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 欧美色视频在线| 少妇九九九九| 99re69| 欧美性生活综合| 操b在线观看| 大香蕉日亚洲日本亚大 | 麻豆久久精品亚洲精品88| 日韩少妇无吗| 校园春色制服丝袜中文字亚洲| av一区二区三区四区| 久久久久久久久久久久97| 日本一区二区三区精品| 熟女视频久久| 人妻中文字幕精品无码| 亚洲一区二区三区婷婷| 欧美激色| 97人亚洲综合字幕| 欧美性天天影视| JIZZJIZZ国产精品喷水| 欧美中文字幕日韩在线| 欧美加勒比| 91网站在线播放| 啊啊啊好舒服好爽啊啊啊视频| 久久女婷| 亚洲偷拍自拍在线视频| 狠狠色狠狠色狠狠五月| 高清无码久操视频| 伊人久久蜜月| 中文字幕老熟妇黄色视频| 成人日韩3| 国产精品久久久 | 久久99草| 久草新免费| 天天看天天综合成人网| 可以免费观看的av| 欧亚性爱视频免费看| 精品久久久久久无码| 97综合国产| 性欧美91| 麻豆天天躁天天揉揉AV| 91色人| 久久动漫精品视频这里只有精品| 欧美大香蕉97| 国产一区麻豆免费观看| 人人手机欧洲亚洲国产人妻| 日韩国语字幕| 97香焦色区| 亚洲少妇色| 色婷婷电影网| 欧美亚洲日韩人妻在线观看| 丁香九月激情| 国模少妇一区二区三区| 日本国产欧美高清在线| 黄色欧美性爱视频| 欧美特大黄一级片片免费| 无码日韩人妻av一| 人人摸人人添人人操| 凹凸视频在线观看伊人| 丰满岳乱妇一区二区三区| 欧美日韩国产另类综合| 一线黄色免费性爱片| 精品国产91av一区二区三区| 日韩精品在线观看观看| 日本操大逼| 天天综合欧美| 欧美999| 少妇熟女1区2区3区| 极品色综合| 日韩专区久久久| 欧美日韩中国x| 91天天美女| 老熟女综合网| 精品在线蜜臀| 亚洲学生妹高清av| 久久精品日韩| 国产欧美日韩精品中文| 五月激情视频| 九九九九九九亚洲| 久草精品国产蜜臀| 伊人少妇久久久| 国产又粗又长的视频| 97国产|免费| 国产一区二区二区按摩精品啪视频| 日韩欧美性吧婷婷乱伦大香蕉| 粉嫩av平台| 亚洲综合首页| 久草久日| 久久国产精品m码| 日韩在线观看三级电影| 国产精品99精品视频网站| 欧美强奸乱能| 中文字幕一区av| 欧美最婬乱婬爆婬性视频| 不卡一区视频| 黑人性欧美| 91丨国产丨白浆秘 洗澡动漫| 日韩精品一区二区高清 | 18禁美女裸体无遮挡啪啪| 日韩一级片在线看| 女人天堂AV五区在线| 无码欧美有限公司| 无码操逼天堂| 日韩无码极品| 约操熟妇| 白嫩嫩一区| 亚洲熟女乱色一区二区三区久久久 | 欧美熟爽综合| 国产在线精品电影观看| 久久久久无码一妻区| 伊人九九九| 欧美福利视频啊啊啊啊| 亚洲综合中文字幕有码| 久久精品人体| 久久九九一区二区三区成人| 久久精品28| 少妇天堂| 日韩无码三级影院| 亚洲熟妇极品| 欧美在线视频播放| 国产成人亚洲精品无| 亚洲成A∨人影院在线欢看| 91人妻人人妻| 中日韩久久久免费看| 午夜男女爽爽大片免费观看| 曰韩av中文字幕专区| 九九热超碰97亚洲最新香蕉| 人人摸人人舔一区二区| 激情五月天中文字幕色| 亚洲四虎熟女精品| 欧美中文狠| 超碰91在线| 欧美精品自慰系列寂寞少妇| 国产丝袜美腿美女麻豆| 夜色综合| 精品国产片亚洲一区| 北京美女一区二区| 国产一国产一级毛片古装| 乱色视频中文字幕| 亭亭在线资源| gogogo免费高清看中国国语| 超碰久久性爱| 天堂成人网| 久草福利在线资源站| 粉嫩AV一区夜夜嗨| yaouchengrenav| 久久五月份| 偷拍亚洲视频一区二区三区四区| 中文字幕奈奈美被公侵犯| 老鸭窝亚洲毛片| 干美女人妻| 欧美日韩国产另类综合| 少妇国产不卡| 69麻豆天美| 99婷婷| 亚洲狠狠入| 亚洲 欧美日韩 另类| 色www精品视频在线观看| 人人干人人操人人爱| 青青草密桃在线播放| 少妇熟女一区二区三区| 成人精品在线| 日韩精品亚洲一二三| 嫖老熟女A片一二三区| 精品中文一区二区| 精品中文字幕一区二区l - 百度| 日韩精品9区| 久操com| 亚洲综合九| jk白丝没脱就开始啪啪| 亚洲欧洲无码一区夜| 国产精品网址| 无码男人天堂| 一区操逼日比视频| 综合大香蕉美。| 国产一区二区啪啪视频| 丁香7月婷婷| 国语av最新自产拍在线观看| 超碰综合97在线| 国产精品免费视频人成| 成人情色综合网| 欧美十八禁在线看| 友优传媒精品在线一区二区| 日本大片日本一区二区免费高清| 久久久人妻| 激情五月天网| 欧美色狠| 1区2区3区中文字幕日韩| 自拍偷拍草一草| 亚洲熟女国产综合另类| 韩国免费播放一级毛片| 操逼精品视频| 约操熟妇| 欧美综合色综合| 色九区| 天天综合91| 久久久久久久久久久久黄色| 欧美一级黄片免费播放| 中文字幕视频2区| 乱伦色图网址是多少| 91亚洲丝袜| 丁香激情网| 人妻一区二区三区四区视频| av麻豆啪啪| 中文字幕在线高清男人的天堂| 99热精品在线观看| 神马视频久久久久久| 成人av福利在线观看| 日韩精品电影| 欧美日综合| 中文AV制服乱伦| 久久精品国产精品| 日本中文字幕在线电影| 99无码视频| 久久久999国产精品| 天天欧美色| 中文字幕国产| 91N综合网| 97超碰热线| 久草视频分类在线| 精品无码一区二区三区| 欧美极品少妇| 精品免费一区二区三区在线亚洲人成| 大香蕉www.超碰| 久久岛国| 色眯眯射| 欧美大香蕉专区网| 欧美熟妇色| 91 丝袜在线| 人人操人人色人人摸| 日韩天天本| 99色综合| 日韩欧美午夜一区二区| 欧美成人综合| 骚货| 中国大陆国产高清AⅤ毛片| 九九九只有精品| 亚洲91少妇| 97人人操人人摸人人爱| 美女黄页网站| 亚洲免费97免费| 亚洲精品美女久久久久久久久| 亚洲精品久久久久毛片A片拉屎 | 猛猛干| 日韩欧美中文字| 久久国产精品91| 久操热线| 岛国片国产成人亚洲播放| 97超碰香蕉| 久久熟女精品不卡一区| 吉田爱美AV在线| 激情一区二区三区在线观看| 日韩亚洲Av人人夜夜澡人人爽| 狠狠久久手机视频精品| 国产精品丝袜在线| 老司机午夜精品福利视频一区二区| 国产精品久久久久久夜夜夜| 五月丁香啪啪网| 一线黄色免费性爱片| 欧美视频一| 亚洲精品97久久| 麻豆尤物视频网| 97超碰免费生活| 91久久18禁| 欧洲Au麻豆| AV 少妇 人妻 偷拍| 国模吧 一区二区三区| 亚洲精品三区在线观看| 人人操人人爽人人操人人| 在线天堂资源亚洲| 蜜桃传媒视频第一区入口在线看| 亚洲国产丝袜在线观看| 色五月第四色| 婷婷五月天久久精品视频一区二区三区 | 欧美大色交| 另类av综合久久| 亚洲91网站| 超碰97玖玖爱| 成人情色一区二区| 91高清无码下载| 萌白酱自拍视频| 国产操逼视频在线观看| 奇米四色网| 国产极品粉嫩馒头一线天av| 国产精品人妻无码久久久互動交流| 男人的天堂久久久| 啊啊啊啊免费视频| 91亚洲欧美激情| 欧美日韩狠狠爱| 久区视频| 啊啊啊啊好爽好舒服一区二区易域| 婷婷人妻激情| 精品人妻少妇| 精品免费一区| 九九九九热| 国产一国产一级毛片古装| 啊啊啊啊啊啊好多水| 91日韩国产欧美亚洲另类精盘州至城都| 东京热,男人的天堂| 男同专区一区二区三区在线| 国色综合天| 久操免费视频| 亚洲综合 欧美| 欧美精品欧美精品系列| 人妻人妻天天碰| 啊啊啊97视频| 麻豆传媒一区二区在线观看| 精产国品一区二三产品| 亚洲和欧美裸体美女双飞视频| 五月黑AⅤ| 欧美精品第3页| 欧亚乱色熟一区二区三四区| 91色图片| 亚洲欧美综合网站| 超碰久久精品| 男人的天堂kva| 亚洲精品欧洲色| 成人久久久| 操屄日韩| 思思热久久成人| 欧美操逼一二三区| 99热免费| 欧美亚洲玖玖玖| 人妻一区久久二区三区色播| 99xav| 天天综合站| 日本媚薬中文字幕在线| 一区二区乱码福利| 青娱乐国产盛宴视频| 综合自拍| 性感女人网页在线观看视频| 欧美中字二区| 东京热伊久| 夜夜嗨视频| 乱伦图av| 亚洲天堂,男人| 麻豆国产av网| 精品国产72| 91天美免费| 欧美日韩午夜精品一区二区三区| 欧美性生活男人的天堂| 亚洲性爱乱操x| 麻豆啪啪啪视频| 天天干人人干天天日97| 一级久久久久久久久久久 | 亚洲 欧美 制服 另类 自拍| 蜜桃无码AV一区二区| 久久久久国产亚洲一区欧美色图日韩| s片在线观看| 91色婷婷综合久久中文字幕二区| 亚洲AV成人无码一二三久久| 乱老女人一区二区视频| 麻豆乱码久久精| 超碰98综合网| 欧美综合网A| 91人妻素女| 嗯嗯啊啊操死我| 日本不卡一区二区三区| 精品熟女呻吟久久91| 丰满人妻区一区二区三| 黄色在线网站| 67914亚洲精品| 欧美丝袜美女电影一二三四区| 精品黄色电影| 亚洲AV成人无码一区二区三区在线观看| 亚洲色9| 啊啊啊好大好深| 国产精品免费日韩| 人妻天天爽夜夜爽精品2| 91美女视频。| 377p欧洲日本亚洲大胆| 夜夜夜久久| 啊啊在线| 黄色片,com| 精品人妻一区二区三区-国产| AV天黑人| 国产特级毛片AAAAAA高潮流水| 女同在线视频一区| 九草九九九| 伊人精品久久网站| 99热这里只有精| 四虎影视永久在线观看精品免费网站| 99999精品| 强奸乱伦日韩AV| 色欲色香天天天综合网www-亚洲综合国| 中文字幕少妇色| 欧美激情综合网| 综合激情五月天| 91在线国产后入风骚翘臀美女素人| 91成人高清在线观看| 手机av天堂久久久久| 青女偷拍网| 亚洲性爱无码乱伦av| 欧美精品久久| 农村女一级毛卡片| 婷婷五月天伊人| 四虎884| 2020久久免费视频| 天堂а√在线最新版在线 | 啊啊啊啊好大好硬啊啊啊啊啊| av一区二区三区四区| 伊人久久蜜月| 两女互慰AV高潮喷水在线观看| 人人色人人射人人妻| 无遮挡一级毛片视频免费的| 97在线无精品| 999亚洲国产视频| 校园春色欧美| 蜜乳AV一区| 四季av一区二区凹凸精品小说| 国产精品青草综合久久| 91在线丝袜| 九九热免费视频| 欧美色图20P| 婷婷香蕉欧美在线一区二区三区 | 国产极品久久久| 久久久久久国产精品免费网站| 夜夜嗨TV| 日韩伦理久 久久 清纯| 欧美日韩另类在线播放| 亚洲男人天堂视频| 色99在线| 天天干天天舔| 91强在线播放| 青青伊人这里只有精品| 992视频一区| 精品国产91av一区二区三区| 天天性射网| 北条麻妃性愛视频| 国产亚洲综合欧美一区| 亚洲日韩在线a不卡99精品| 国产乱子伦一区二区三区免看| 久久久久人妻| 人人艹亚洲| 亚洲?V高清一区二区三区尤物| 欧美夜夜狠| 黄片www.| 性爱视频啪啪啪啪| 亚洲丝袜二区在线| 久久九七| 亚洲精品蜜桃久久久一区二区三区| 黄片不用下载在线观看| 国产无码三级视频在线观看| 男人的天堂免费| 亚洲伊人久久精品影院| 久久久久久久久久久久久9999| 欧美一级A片在线看视频性色| 日本人妻伦在线中文字幕| 久久久久女教师免费一区| 国产人妻一区二区三区欧美毛片| 天天流夜夜操| 亚洲另类久操网| 无码9区| 久热无码| 91丨九色丨大屁股| 激情五月天丁香社区| 男人天堂免费| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 蜜臀久久99精品久久久久久无删减| 青青草原香蕉日本Ap| 五月天亚洲网| 成熟熟女国产精品一区二区| 国产久久久久影院老熟女| 四虎永久在线精品免费网址| 夜夜一区二区| 日韩另类色图| 日韩15p| 97天天摸天天爽| 欧美丝袜中文字幕07在线| 97久久超碰亚洲| 91国产丝袜美女| 国产精品对白自产拍| 91爱看| 婷婷香网站| 狠狠干2020| 天天操福利视频综合网站| 亚洲综合图片在线| 精品国产乱码久久久影院| 日韩十八禁| 成人av福利在线观看| 色欲av一区二区三区蜜芽| 色天使亚洲综合在线观看| 中文字幕 码精品视频网站| 亚洲色图久久成人| 日本久久999| 国产精品乱码久久| 大香网站| 精品在线观看视频在线| 欧亚乱色熟一区二区三四区| 青青伊人久久| 欧美激情久操网| 久久中文字幕一区不卡| 日本污ww视频网站| 久久这里| 舔人妻中文免费视频| 在线视频免费观看午夜| 丁香五月激情综合国产| 91精品成人| 欧美色乱| 天天日天天搞天天干| 九九碰九九爱97| 日韩人妻一二三区视频| 亚洲成人美女无吗| 日韩中文字幕熟妇人妻| 一本大道久| 国产精品无码AV网站| 夜夜人妻爽| 自拍偷拍草一草| 日韩熟女精一区二区三区不卡| 中文字幕精品一区二区精| 超碰国产情侣自拍网| 日韩欧视频| 久干9操| 久久riav中文精品| 天堂涩涩| 少妇熟女1区2区3区| 精品区国产区一区二区三区| 女生自91网站| 亚洲无码国产探花在线观看| 亚欧成人中文字幕一区| 99精品热| 人妻天堂三区| 日韩av一级黄片| 欧美 日韩 另类 亚洲| 美女被啪到深处抽搐视频| 国产丝袜高跟美女av免费观看| 日韩高清黄片| 日本超碰97日韩精品人妻| 17c嫩草51久久91嫩草| 91色艳| 国产精品ww久久| 亚洲情色一区三区| 啊啊啊好多水| 人妻社区男人天堂| 成人精品一区二区91毛片不卡 | 欧美永久激情一区二区| 亚洲欧美综合| 自拍二页| 国产精品人人爽人人做可爱福利| 美骚妇av高清在线| 韩国黄片aaaa| 日韩97超碰| 超碰日本97美女人妻人人玩人人爱| 9久精品| 欧美白嫩在线放| 日韩免费福利在线观看| 一牛影视久久久一区二区三区| 日本黄色精品专区网站| B049AV在线播放| 91日韩在线| 亚洲日韩电影| 曰韩香蕉97| 欧美97色| 人妻超碰青青草98| 久久99网站| 大香蕉www.超碰| 久久久偷拍| 2003天天干夜夜操| 九九九久久久久| 熟妇人妻精品一区二区视频色欲| 老司机射| 国产精品久久久久久久AV大片| 天天综合色图| 亚洲天堂久| 91欧美另类| 色综合91| 强奸乱伦亚洲第一页| 蜜桃狠狠色伊人亚洲综合网站| 丰满人妻一区| 爱干爱射网啊啊啊| 婷婷伊人网| 亚洲欧美综合区自拍另类| 日韩在线观看三级电影| 玖玖97综合 | 亚州欧美色图| 在线亚洲丝袜视频网站| 区一在线观看| 天天日日舔舔| 五月丁香亭亭| 金莲网址| 无码137片内射在线影院| 97综合激情| 99超碰网| 蜜臀亚洲综合一二三四区| 欧美爆操91| 欧美日韩性感| 91久久国产综合久久| 国产白嫩漂亮KTV在线| 巨爆乳一区二区爆乳区| 日韩福利综合一区| 日本性感人妻91| 东京热毛片177b2viP| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 亚洲日韩青青草色月| 国产精品久久9| 性色中出| 夜草欧美| 国产蜜臀在线| 婷婷20月天青娱乐| 国产在线观看一区二区三区| 午夜精品久久久久久久99| 久久精品人妻一区二区| 欧洲亚洲人人爽爽视频| 色97欧美| 超碰成人人人爽人人爽| 精品一级毛片在线观看| 一级日本牲交大片好爽在线看| 日本日皮视频逼| 欧美亚洲性爱一区二区| 欧美少妇性乱| 中文字幕乱亚洲美女精品一区| 久久久91| 一,爱啪啪,在线免费视频| 国产久久一区二区午夜| 无毛精品| 中英熟女操女| 丁香五月天视频| 精人妻无码一区二区三区伊人直播| 色综合天天| 本道在线| 欧美午夜视频免费观看| 97视频观看| 超碰久久.com| 国产又黄又粗的视频| 男人的天堂啪啪啪啪啪蜜桃不卡| 玖玖久久久| 香蕉99秘 一区精品蜜桃臀| 中文字幕交换人妻| 蜜桃视频一区二区三区在线观看| 91丰满| 欧美一级A片在线看视频性色| 久久99精品国产| 伊人热综合| 91 手机在线播放 绯色| 欧美日韩亚洲少妇寂寞影院正在播放 | 久久婷婷六月综合| 欧美亚男人的天堂| 91丨人妻丨国产丨丝袜| 九九黄色网| 国产9l 大屁股| 精品国产乱码久久久久久口爆网站| 性色中出| a一区二区三区乱码在线| 99啪啪| 午夜一级免费毛片|