日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
四虎884| 亚洲欧美清纯| 97超碰色屌| 啊啊啊免费视频| 97国伦国色| 91丝袜美腿片| 综合欧美色图| 秋霞蝌科网日本一区| 日本天天操| 精品人人| 大白逼三四级| 日韩免费a级毛片无码a∨| 精品久久久久久AV无码| 国产亚洲精品自在线亚洲情侣| 日本三级中国三级99人妇网站| 国产91精品久久久久久久网曝门| 99热国产| 九九AV| 香蕉久久AⅤ...| AA丁香综合激情| 97内射偷拍| 色天使AV天堂| 亚洲国产91精品一区二区久久| 熟女六十路| 色狠狠综合| 蜜桃不卡一区二区| 蜜桃传媒视频第一区入口在线看| 老司机午夜精品视频| 久久鲁干| 成人熟女区| 天天做天天爱| www网站黄| 欧美专区第一页| 欧美亚洲高清晰| 日韩精品在线放| 欧美一区二区亚洲天堂| 午夜精品久久久久久久99热影院| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 中日韩久久久| 99国产精品久久久久久久成人热| 夜夜嗨视频| 婷婷视频在线免费观看| 97欧美精品综合| 91国产丝袜白虎| 精品国产乱码| 精品久久久久黄少妇| 午夜视频久久久| 国产精品点击进入在线影院| 九九热免费国产视频婷婷伊人五月| 狠操91,com| 亚洲视频中文一区| 久久五月天婷婷| 九九九九九九九九九九九九九九九女| 亚洲一区二区三区春色| 日本福利社| 日本亚欧爱爱| 国产尤物AV尤物在线观看不卡| 色狠狠综合噜一二三区| 九九热AV| 人妻久久久久久久久久久久久久久 | 欧美性爱十八禁| 男人的天堂欧美| 99999精品| 日日狠狠久久偷偷色综合免费| 久久人妻一区二区三区高清| 探花一区在线| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 国产亚洲人妻综合日韩 久久| 日韩久草| 免费作爱一级视频| 欧美国产有色电影| 亚洲,日韩,欧美,成人播放| 澳门成人网站久国产日韩| 中文字幕视频在线观看| 久久久久人妻| 丰满人妻-区二区三区免费看| 最新日韩黄片| 久久精品无码不卡| 亚洲日韩国产欧美综合v| 亚洲自拍一区夜夜操| 成人97人人超碰人人| 久久天天摸| 久久69| 九九热视频在线观看| 无码二级三级| 夜夜一区二区| 国产强奸乱伦第1页| 99这里只有精品| juliaann欧美丝袜办公室| 国产这里只有精品| 96精品久久久久久久久| 97色五月天完| 肉动漫无遮挡h在线观看| 操死我干死我| 黄色高清无码无码破解免费暗网| 啊啊啊轻点在线观看| 99热只有这里有精品| 亚洲AV不卡在线观看| 亚洲熟女中文字幕在线| 国产91 丝袜在线播放 | 干B网| 丁香激情五月| 一区二区三区美女超清| 91天美传媒在线观看| caoni国产亚洲av| 亚州欧美综合| 日韩精品一区二区三区四虎影视| 性色亚洲| 99只有精品| 国产自产自拍| 78精品| 国产人妻精品久久久一区二区三区 | 国产精品农村妇女| av婷婷色网| 欧美一区二区福利在线| 精品一区二区2| 九九香蕉网| 超碰97亚洲| 久久久999网站| 秋霞免费无码视频日韩A片| 久久久久久久极品香蕉视频| 日韩综合成人免费视频| 一级免费精品| 综合网,亚洲,欧美| 免费一级黄色录像影片| 草B在线| 98一区二区精品| 日韩免费一级性爱视频| 嗯~啊~快点 死我视频免费看网站| 日本精品高清一二区一本到| 精品视频一二三中文| 97大色网| 亚洲四虎熟女精品| 国产成人久久精品蜜臀| 97久久国产精品| 丁香久久| 三男一女不戴套的A片| 色网综合网| 91精品91久久久中77777| 91色综合| 91亚洲网站| 欧美色偷拍| 无码操逼网| 91欧美亚洲| 热久日综合| 99热国产| 黄片免费久久久久久久| 免费试看60秒| 后入式999| 69AV女优男人的天堂| 2019天天干天天操 | 秋霞一级A片黄色视频| 无码二级三级| 久久AV色| 97超碰色屌| 亚洲激情综合| 精品一区二区成人| av毛片aaaaa免费看| 97超碰伊人| 蜜臀久久久国产| 男人的天堂2010| 屁屁影院一区二区三区国产| 无码久久国产| 清纯唯美激情| 四虎精品永久在线观看| 亚洲诱惑| av情色影音| 超碰免费在线| 操逼网免费无码视频| 久久精品国产99精品亚洲蜜...| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 日日摸日日碰| 无码78| 日本在线激情一区二区三区| 国产成人精品一区| 久久透逼视频| 天美一二三在线观看Av| a片自拍直播视频| 色99在线| 91白虎| 日韩成人大片在线观看| 91天堂丝袜美腿| av无码精品久久久久| 免费网站观看www在线观| 亚洲国产精品成人久久蜜臀| 91 丝袜在线| 99999re| 亚洲av无码成人精品国产| 午夜后入| 小情侣高清国产在线视频| 97欧美日韩中文| 国产无吗在线播放| 麻豆视频test| 日本操逼视频免费| 91 国产丝袜在线放观看| 大香蕉伊人75| 婷婷久久久| 久热精品在线| 99综合视频| 欧成人在线| 静品嫩模一区二区| 一区二区三区一亚洲中文字幕、综合区灬 | 沈阳熟女高潮对白视频| 99re6国产精品99re在线| 精品国产Av无码久久久伦古装 | 亚洲少妇视频| 天天弄天天操| 精品蜜乳AV免费观看| 亚洲欲色9532548967一区| 啊啊啊啊操死我| 欧美性猛交美女自慰91| 97香蕉网| 欧洲乱码一区二区| 亚洲国产ⅴ高清在线观看| 超碰夫妻97| 国产AV精久久| 亚洲激情深爱文学小说网站| 婷婷伊人| 欧美少妇色图| 最新亚洲风情电影| 99性爱在线观看| 色哟哟av| 伊人97超碰| 国产无码成人无码| 欧美国产一区二区三区麻豆传媒| 性色av蜜臀av色欲aV| 天操天操夜操夜月月年年操操| 国产一区二区三区影片| 久久超碰天天| 天天摸,夜夜摸| 国语av狠狠色丁香婷婷综合激情| 欧美国产成人在线| 色牛牛AV| www国产无码| 精品国产网站| 天天艹天天日| 淫纸中9区| 看日韩美女二区三区免费操逼视频 | 性猛交| 色女网日韩| 国产一区二区三区视频在线看| 五月天加勒比啪| 亚洲丁香花色| 肏逼福利网站| 极品后入免费视频| www.人人cao| 亚洲天天在线| 精吧天堂| 嗯啊免费视频| 青青操综合网| 超碰97丝袜| 97爱爱影院| 人人看人人摸人人色| 蜜臀AV午夜精品久| 六月丁操逼| 入口操逼网站| 午夜小电影在线插入淫高潮| 欧美性第1页| 人人手机欧洲亚洲国产人妻| 免费作爱一级视频| 午夜超碰| 超碰97导航| 婷婷日韩一区二区三区中文字幕在线| 久久久久久日韩| 91性网| 青青草在线视频欧美| 亚洲无码一区二区三区三州| 一级人妻性爱视频| 国产午夜精品一区二区三区牛牛| 亚州综合色图| 亚洲午夜免费狠狠干| 色综合久久av| 久久产精品一区二区三区电影| 操少妞在线视频| 亚洲AV无码天美传媒一区| 久久无码成人| 在线视频 亚洲精品| 任你干在线视频| 中文字幕91综合| 国产精品视频麻豆入口| 看免费一级在线播放毛片| 天美传媒AV在线播放| 91精品国产91久久福利| 120分钟婬片免费看| 亚洲精品aa久久伊人| 91欧美网| 国产成人精品一区| 九九久久国产精品怡红院| 伊人国产AV| 97色色视频| 8x福利精品第一福利视频导航| 99精品无码| 天操老女人| 亚洲日本韩国极品一区二区| 精品超碰国产| 免费亚洲黄色视频在线观看| 中文字幕精品探花视频| 96久久久精品| 五月天激情国产综合婷婷婷| 在线中文字幕极品av| 99精品国产户外露出| 91国产在线精品| 男人的天堂在线2| 国产成人无码久久精品| 国产精品自拍欧美在线| 天天干人人干天天日97| 国产又黄又粗又猛大片| 亚洲女人91| 97国产色图 | 五月天偷拍| 亚州操操穴网| 国产女同视频在线播放| 116美女午夜| 蜜臀亚洲综合一二三四区| 懂色av中文字幕| 亚洲欧美综合网站| 日韩一级二级三级免费看完整版| 天天操人人操骚逼网站| 第四色色综合91| 顶级少妇BT天堂| 91性片| 欧美v日韩v亚洲v最新在线| 久久精品成人| 人妻熟女一区二区三区视频| 狠狠操狠狠操操| 上床不卡网站| 内射中出日韩在线观看视频| 大香蕉97久久| 91第一页| 91美女精品| 亚洲做性| 欧美在线干| 风骚少妇视频中文字幕| 免费99精品国产自在在线| 亚洲色悠悠久久88| 欧美激情色婷婷花野真衣一区二区| 夜夜操av亚洲一区二区| 婷婷色一区| 一二三四日本视频高清| 超碰日本97美女人妻人人玩人人爱| 人妻少妇久久久| 色婷婷av在线观看| 伊人色综合网| 91亚洲黑人| 丰满人妻一区二区三区四| 亚洲色图91欧美日韩| 丁香五月综合| 夜夜一区二区| 日韩成人色图| 欧美熟女激情| 日日夜夜噜| 日本一天色道久久久精品视频| 神马午夜久久久| 丁香五月天久久精品视频一区二区三区| 91精品人妻一区二区三区蜜桃臀| 国产精品亚洲四五区在线观看| 一区久久久二区| 青青草视频久久久久| 伊人丝袜美腿高跟在线观看高清 | 精品国产Av无码久久久亚洲| 在线日韩精品一区二区三区| 嗯啊不要在线| 国产精品久久久久久久久久久久久久久久| 思思热一热婷婷热一热| 男女一级A片大黄,一进一出| 蜜色网色哟哟| 老熟妇一区二区三区| 少妇人妻在线| 麻豆久久久久久久久丝袜 | 久久久久久9999| 亚拍在线| 欧美精品激情| 亚洲毛片基地专区| 小视频国产| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 色老汉色| 蜜桃狠狠色伊人亚洲综合 | 欧美巨大性舒爽顶到了| 俄罗斯一区二区视频在线观看| 日韩亚洲中文字幕在线| 久久丁香五月婷婷| 95精品在线| 欧美亚洲AN| 色婷婷A V一二三四区麻豆综合| 久久精品国产亚洲av水密被窝| 综合久久97| 午夜精品久久久久久久久久蜜桃 | 性老妇一区二区三区| 色偷偷超碰亚洲| av橘色网站| 78精品| 国产精品成人AV片免费看网站| 午夜视频好爽啊| 国模精品娜娜一二三区| 久久精品亚洲东京热色播| 婷婷五月天无码| 色原狠狠天天天| 亚洲AV乱码专区国产噜噜亚洲 | 躁躁躁日日躁2020| 亚洲欧美天堂在线| 日本欧美m v精品网站加| 91热热色| 日韩无码a片| 五月丁香| 日韩美女高潮喷水视频| 97超碰超碰| 成人性爱美曰韩| 99re这里只有精品中心播放| 超碰无码五月97| 免费国产视频| 亚洲精品日韩国产欧美| 91欧美成人色站| 亚洲天天天| 国产精品麻豆免费视频| 久久女人一区二区三区| 午夜福利一区二区三区四区五区色婷婷| 久久九色| 国产67194| 久久一二三四五六七八九区区| 黄色工厂这里只有精品| 黄片色区软件| 尤物av网站| 日韩无码第3页| 99re国产精品视频| 中美日韩毛片| 美欧色综合| 亚洲成a人在线观看久| 淫色网综合| 综合色区偷拍| 国产女人成人精品视频| 欧美日本成人一区二区| 麻豆久久久久久久久丝袜 | 欧美九九爱| 欧美一区二区一级岛国大片| 影音先锋每日最新资源在线观看 | 5278欧美一区二区三区| 九九九影院| 欧美亚洲中文| 97色色视频| 色777999综合| 国产不卡免费在线视频| 大香蕉在线视频重口味毛片在线| 熟女探花啪啪| 超碰亚洲97| 人妻激情视频| 国产成人无码网站在线视频| 国产后入清纯| 欧美综合娱乐久久| 色女99一级片在线观看| 97色碰| 狠狠色色| 青青草依人大香蕉| 精品亚洲国产成人AV制服丝袜| 亚州操操穴网| 中文字幕加勒比海高清无码免费视频| 成人久久久| 动漫爆乳3D奶水一区在线观看| 亚洲免费日韩在线一区二区| 噜噜在线| 色欲三区| 无码九九九九| 97色涩| 亚洲第一男人天堂| 色网在线视频观看免费| 熟妇女伦乱视频视频| 东北女人的毛片| 台欧久久精品视频| 97青青操视频| 秋霞怕怕片| 欧美东京热精品A∨| 亚洲精品一卡二卡三卡福利视频网站| 黑人白女精品一区| 精品国产乱码久久久兰草影视| 人妻一区二区三区视频| 精品一区二区麻豆| 久久久日本电影| 91超碰碰在线| 观看视频图片一区二区三区| 亚洲美乱| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 97在线观看免费| 国产精选三级在线观看| 99热线麻豆 | 日韩欧美国产一区二区三区四区| 欧美天堂第二区| 97人妻免费中文字幕| 日韩AV无码中文一区二区| 亚洲男人天堂2013| 国产精品香蕉热久久新品| 欧美色爱综合| 日韩三级一区| 囯产精品久久久久久久久久梁医生 | 国产欧美日本亚洲精品| 亚洲吊色| 大香网站| 欧美热图99| 青青网三级视频| 中日韩一区二区三区欧美| 亚洲永久AV无码精品秋霞| 一本大道不卡一二三区| 久久网亚洲| 色情成人五月天| 欧美91在线| 久草色悠悠在线视频| 手机在线A片| 精品二区三四区五电影 | 外国免费性情大片| 一区二区三区国产精产| 99国产精品视频尤物| 亚洲欧美91√| 蜜臀久久99精品久久久老,,| 日日操免费视频| 欧洲大香蕉| 丁香六月激情| 在线中文字幕| 国产三级中文字幕粉嫩| 强奸乱伦AV一天堂网| 欧美伦乱爱| 日韩精品中文字幕二区| 蜜臀久久99精品久久久| 国产在线精品电影观看| 大香蕉520| 欧美AAAA黄片| 九九九九九九九| 精品久久視頻在线| 亚洲国产尤物yw在线观看| 啊啊啊男女| 99re6国产精品99re在线| 精品国产91av一区二区三区| 成人区人妻精品一| 高潮嗯啊性感美女久久久| 天天躁日日躁AAA片李宗瑞| 国产精品96| 激情小说亚洲图片| 天天看综合网| 免费啪啪一级视频| 操东北女人| 97超碰总站| 欧美性天天影视| 日韩激情小说一区二区| 国产精品第一页国产大屁股视频免费区 | 91社区拍啪人妻| 久久春色| 青操影院| 中文字幕视频2区| 国产AV超爽| se吧提供国产乱老熟视频胖女人| 成人资源中文字幕在线观看| 欧美se亚洲| 五月丁香六月婷综合成人综合 | 激情无码日韩| 亚洲色图综合| 一二三四区电影| 国产精品欧美激在线| 午夜婷婷| 91动漫操逼视频| 国产无码精品无码| 三四中文字幕| 无码人妻毛片丰满熟妇精品区| 欧美专利1区2区3区4区5区免费| 欧美一区二区三区日韩| 操日韩第| 十八禁啪啪视频| 亚洲少妇视频| 久久久久久少妇| 精品无吗久久| 最新欧洲欧美日本激情网站| 国产亚洲日本精品在线| 9丨亚洲一区二区在线| 日日骚中文字幕| 国产AV天美传媒一区二区三区 | 中国一级操逼视频| 亚洲欧美高清无码| 极品少妇久久久| 国产乱码精品久久久久久| 情侣开房子拍 日韩无码 女的很漂亮| 天堂8在线新版官网| 国产成人自拍视频视频| 99久久国产精品免费高潮| 大香蕉人妻久久| 欧洲大香蕉| 国产熟妇一区二区| 一区=区三区视频| 999久久久精品国产| 超碰99在线| 中文熟女五十乱码在线| 日韩精品怡红院| 午夜成人福利影视| 97青青操视频| 久久超碰爱| 激情深爱五月天| 伊人久久大香大香线蕉中文| 欧美经典一区二区三区| 影音先锋日本乱伦| 老司机午夜精品视频| 97亚洲在线| 在线洲亚线| 91综合天天看| 超碰综合97在线| 嫩草黄页| 偷拍色图| 97国产伦理| 91久久久老司机| 区二区亚洲婷| 天天综合网入口~91| 五月天久久婷婷亚洲 | 欧美色宗合| 久久久一区二区三区四区五区| 中文不卡视频| 99夜夜操| 天美传媒AV在线| 久久岛国| 91精品91久久久中77777| 久久香蕉国产线看观看亚洲女人| 亚州五月| 欲香欲色综合天天伊人| 青青草公开在线免费不卡视频| 午夜福利 成人 91| 中国91AV| 999999精品| 精…码一二三区| 亚洲激情片| 久久精品一区二区一8| 午夜小电影在线插入淫高潮| 国产精品久久久吖| 午夜a成v人电影| 午夜无遮挡男女啪啪视频| 亚欧免费| 亚洲无码一二三区| 男人精品区| 91天天爽| 97久久超碰日韩精品| 青青伊人加勒比海| 伊人97色天使| 九九亚洲视频| 亚洲黄网在哪免费看| 在线岛| 91伊人| AV天黑人| 韩日自拍| 97国产天堂岛| 日本欧美一区二区三区免费| 日韩中文字幕人妻视频| 伊人影院中文字幕| 国产18精品亚洲精品| 九九人人操| 国产精品老熟女一区二区| 精品.99999| 亚洲一本色码中文字幕| 超碰这里有精品| 国语精品对白| 天天激清| av强奸乱轮| 蜜臀操逼黄色视频操的好爽| 伊人色综合网| 九九综合久久| www.91色综合| 96精品在线| 大伊香蕉在线视频免费| 丁香五月影院| 欧美白嫩女HD| 好色美女九七第一页| 久久天天性久久伊人| 神马久久久久久久久久久久| 久久久熟女一区| 91综合熟女| 亚洲阿v天堂无码z2018| 91九色在线| 欧美天天谢综合网| 99蜜月精品久久| 人妻夜夜爽天天爽三区麻豆AV网站| 黄色片一区二区三区四区五区| 色综合久| 青青草视频在线观看一区二区| 韩日自拍| 狠狠操使劲操| 在线观看黄色电话| 大香蕉伊人网WWWn0n| 亚洲91综合| 欧美色图综合| 唐山老熟妇露脸啪啪叫| 东北黄色电影| 欧美人妻一区二区| 久久久久久亚洲Av无码精| 国产成人无码高清| 色哟哟-国产专区| 久久久一二三四区| 日婷婷| 色九区| 日欧毛片久久| 日本精品五区| 中文字幕精品资源在线| 色综合加勒比四四季| 97亚洲自在精品在线观看| 免费国产电影一区二区| 99热亚洲| 手机av亚洲丝袜美腿日韩第一页二页| 日韩欧美亚洲自拍偷拍| 高清无码国产亚洲| A啊啊在线观看| 色香综合| www欧美性爱| 欧美在线大香蕉| 夜色91| 日本国产成人亚洲精品无码| 啊操爽品善一区二区三区| 超碰九7| 亚洲Av无码成人精品国产| 天天操夜夜嗨| 久久久99久9| 亚洲天堂资源在线| 97欧美性爱| 国产亚卅97| 丰满人妻一区二区三区蜜桃视频| 爽 好舒服 无码刺激久久| 九九九九日本| 秋霞色色影院| 日本在线一二| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场| 以及麻豆国产入口在线观看免费| 国产 日韩 欧美 人妻 熟女 中文 69人妻精品一区二区绯色 | 日本性感人妻91| 在线 制服丝袜中出 人妻| 男女香蕉一区二区| 热久久国产| 亚洲情色一区综合| 屁股久久久久久| 啪啪一区| 2019男人的天堂| 色色色欧美| 国产精品熟女九九九| 色吧5亚洲| 欧美综合自拍成人自拍第二十页| 91黄射| 在线精品福利免费播放| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 人人操人人射人人干| 在线播放免费av福利片| 欧洲射精91| 免费a v| 亚洲情色电影网| 校园春色AV天堂| 综合久| 青青草在线视频美女| 国产精品探花在线| 久久久九精品| 3D污黄视频在线观看| www.高清无码诱惑一区.com | 中文字幕视频免费| 琪琪精品免费一区二区三区| 麻豆天美传媒在线视频天堂| 中日韩免费看男女操逼大全| 熟女丰满人妻一区| 日韩大香蕉| 美女刺激久久国产欧美| 欧美中日韩XXXX| 国产亚洲国产超碰| av2014 日韩在线中文字幕| 免费的黄片wwwwww| 夜夜做夜夜爽精品视频| 一级啊性爱在线视频| 激情文学小说一区二区| 凸凹视频在线观看| 国产AB视频| 国模少妇一区二区三区| 少妇人妻在线| 六十路日本| 国产嫩草精品A88AV| 日韩无码专区| 精品天堂| 极品丝袜无码| 久久性爱视频99| 自拍二页| 中文字幕丝袜国产第一页不卡| 裸体美女久久久| 大香网站| 老鸭窝在线视频播放| 91丨九色丨国产打屁股| 精品一区二区三区麻豆| 久久受www免费人成| 精品九九九九九九九| 亚洲国产精品9999在线观看| 激情五月天校园春色网| 在线观看精品国产免费| 少妇大屁屁| 丁香五月综合| TS人妖另类精品视频系列| 91精品人妻一区二区三区蜜桃臀| 啪啪啪东京| 日本免费一区二区不卡| 亚洲中文字幕av| 九月伊人中文字幕| 欧美高清性猛交| 一类av片在线看| 国产熟女高潮一区二区三区| 91chinese在线| 亚洲天天操| 老熟妇综合| 操逼片中文| 91N综合网| 东北女人av| 免费黄色片。| 欧美亚洲清纯| 熟女人妻av在线资源,黄色的资源| 人妻一区二区三区四区视频| 亚洲综合九| 黄片在线免费在线观看| 97欧美精品| 丁香婷婷激情五月天无毒不卡| 精品亚洲国产成人av网站| 69久久| 啊啊啊啊视频免费| av绯色| 九九操久久国产免费视频| 精品人妻二区三区| 淫荡熟女乱伦网| 亚洲综合在线91| 成人老鸭窝人人在线视频| 综合影视国产无码| 欧美人妻少妇| 亚州 综合 色图| 香蕉视频精品亚洲一区二区三区在线播| 日韩中文字幕熟妇人妻| 国产美女mm131爽爽爽爽| 超碰九区| 麻豆激情综合| 五月天伊人| 中文字幕一区二区日韩网| 久草精品在线| 久久中出在线| 久操热线| 情趣丝袜无码操逼视频| avav青青草久久夜| 操人妻逼91| 久久久久婷婷| 色黄污美女啪啪啪免费网站| 另类欧美综合| 中文字幕久久精品一区| 五月婷婷激情综合| 日本免费一级AAA大片器| 国产AV中文| 夜夜 中文视频rt| 97天天爽| 大香蕉免费乱伦视频| 亚洲av成人精品一区| 另类老少妇| 91伊人大香蕉| 日韩熟妇二区| 唐山老熟妇露脸啪啪叫| 亚洲日韩在线a不卡99精品| 欧美久久人体| 狠综合网| 日韩欧美麻豆大片| 国产麻豆一级精品视频| 欧美偷拍区| 久久激情婷婷| 久久久久久中文| 日韩情色AV| 精品国产乱码久久久久A| 九九九九久久久| 99久久9| 99r九九| 午夜婷婷| 人人插人人摸人人| 亚洲男人的天堂在线看| 欧美|91色综合| 福利在线黄片| 国产日韩欧美中文在线播放| 九九亚洲| 久久久涩| WWW美腿丝袜香蕉中文| 日本999精品视频| 中文字幕日韩综合| 激情看片网站| 国产高清成人mv在线观看| 国产91亚洲精品一区二区三区| 日日夜夜骑| 亚洲色图第一页| 久久日本熟妇熟色高清| 97一区二区蜜臀| 素人播放一区| 99精品在线播放| 欧美麻豆成人同性GⅤ在线| wwwxxx日本爽| 青娱乐999| 亚洲无 码A片在线观看麻豆| 国产区在线| 久久国产精品视频| 人妻少妇久久中文| 天天看高清麻豆| 亚洲欧洲精品成人| 67914在线精品观看| 亚洲 欧美 91| 久久小视频| 婷婷在线视频| 色999;丁香五月| 国产成人自拍视频在线| 亚洲欧美日韩精品久| 黄色一区二区秘书性感| 女同女同恋久久级三级| 日韩无码精品综合久久| 国产福利一区二| 91在线免费精品视频| 91日韩| 一起草在线视频| 男人的天堂一区| 91精品国产91熟女| 久久久555| 亚洲色婷婷综合久久久久中文| 超碰 欧美| 久久久久久久久9| 色欧美色交综合| 蜜臀va69| 一级AAA片一区二区三区| 99久久久| 综合五月天| 欧美天天综合网版| 天天综合网在线观看| 日日骚中文字幕| 天天综合欧美| 成·人免费午夜在线观看| 麻豆天美传媒在线视频天堂| 大香蕉天天看妹子| 青青草日本中文字幕| 性爱欧美五月| 中文字幕在线2| 欧美高潮| 亚洲色图片区| 九九九一二三| 精品国产乱码久久久久久网站入口| 九九九九精| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 乱伦强奸区日韩| 欧美中文字幕日韩在线| WWW啪啪的com| 国产高清成人mv在线观看| 探花一区在线| 超碰99在线| 亚洲AV无码天美传媒一区| 久久9亚洲| 久久一二三四不卡| 久久人妻少妇| 亚洲天堂电影网99999| 人人操人人摸超碰| 永久免费观看的毛片的网站| 97这里都是精品| 无码视频黄色网战| 大奶啊啊好爽| 国产精品久久久视频| 欧美人妻色| 伊人久久亚洲色欲综合网站 | 久久久久无码一妻区| 蜜桃AV天堂| 欧美人妻少妇| 91伊人久| av日韩在线观看电影| 99热久| 午夜呻吟欧美| 老司机免费视频在线91| 99草精| 九九九热| www.av在线视频| 久久曰曰| 人妻美腿丝袜制服诱惑综合天堂-| 九九热精彩视频| 国产一区二区精品久久久不卡蜜臀| 欧美AB在线| 久久首页| 在线国产探花| 成人精品电影| 天天综合网~91入口| 久久午夜神马| 久久双插| 欧美高清无码免费视频高清版| 加勒比无码毛片| 丝袜色综合| 九九热免费视频| 涩综合导航| 二级毛片| 伊人久久大香线综合无码| 亚洲黄色影视| 一级特级aaaa毛片免费观看 | 亚洲天堂 视频你懂的| 99少妇内射| 91丝袜激情在线| 夜夜一区二区| 久久老子无码午夜伦不卡| 国产亚洲日本精品在线| 人妻精品一区二区三区| 一区久久久二区| 大二网站亚洲| 欧美九一精品久久久熟妇| 国产视频一区二区在线| 国产AV超爽| 99久久精品无码一区二区| 免费日韩黄片| 国产强奸乱伦无码视频| 中文 人妻 制服| 97国产超碰| 欧美性暴力| 欧美熟女操屄| 久久久久亚洲Aⅴ无码| 亚洲情色第一页| 精品乱码在线观看| 超碰97久久| 国产家庭乱伦网址| 国产精品肉丝自拍| 超碰久久.com| 一本大道不卡一二三区| 嗯嗯啊中文字幕| 欧美91久久久久| 日本成a人v网站在线观看| 久久美女福利是上海美女| 欧美性,色九九| 97在线公开视频| 日韩在线一区二区| 熟女丰满人妻一区| 热久久无毒不卡| 74成人在线| 国内偷拍精品一区二区| 欧美精品999| 欧美亚洲厕所精品偷拍91| 综合久久97| 日韩另类| 91AV天美在线视频| 日本成熟少妇A∨网站| 另类视频在线| 东京热大香焦| 亚洲国产欧美一区二区潘金莲 | 欧美日韩操逼嗦吊| 日韩美女高潮喷水视频| 亚洲伊人成综合成人网| 丁香六月啪啪| 亚洲欧美91√| 国产精品无码久久久久2025| 神马视频久久久久久| 欧美亚洲天天| 国产剧情AV不卡在线观看| 日日A∨| 日韩成年人性爱视频| 五月天激情小说网| 老司机福利社视频在线观看| 中文字幕乱在线伦视频中文字幕乱码在线 | 91久久久久久久| 智利AV在线网| 可以在线观看的黄色网址| 国产av青草| 国产传媒日韩| 五月丁香六月激情综合| 精品制服美女中文一区二区三区| 隔壁邻居波多野结衣中文字幕| 伊人97色天使| 欧美97爱| 无码免费一区二区三区啪啪| 国产人妻久久精品一区二区三区| 国产欧美日韩精品中文| 好舒服视频| 日本十八禁免费看污网站| 天天弄欧美| 东北少妇高潮zzzz| 天天肏美女| 91天天看| 欧美色偷拍| 综合夜夜| 91狠婷| 91中出| 久久免费中文字幕在线观看| 精品久| 日韩在线女优天天干| 亚洲国产成人综合碰碰三级经典| 亚洲国产第一页综合视频| 久久久久女教师免费一区| 日韩av乱伦| 欧美色97| 91精品综合久久久久久五月丁香| 亚洲高潮影院| 久久9视频| 91精品导航| 五月天婷婷影院| 玖玖久久久| 深夜啪啪啪视频免费| 天天噜| 久久久久久夜夜夜夜夜| 中文字幕精品探花视频| 亚洲免费精品一区| 一区二区三区美女超清| 91国产大片| 中文字幕日韩专区精品系列| 日韩懂色网| 一类av片在线看| 欧美 综合 亚洲| 日本一区二区成人在线| 啊啊啊啊嗯嗯嗯用力好爽 | 夜夜国自区| 东京热免费视频| 天堂男人网| 日本三级日本三级三级人妇四虎| 中国农村熟妇毛片视频| 天堂在线一区二区| 93人人操人人| 亚洲日韩97| 加勒比大香蕉视频在线| dy888午夜老子影视达达兔| 国产婷婷一区| 熟女乱伦A| 天天综合站| 91无码中出人妻视频| 日韩一级二级三级免费看完整版| 亚洲人在线| 久久毛卡| 国产麻豆91欧美一区二区久久婷婷国产精品 | 久久激情五月| 亚洲日韩国产精品| 日本999精品视频| 18禁的网站在线| 超碰吊日色| 宅男午夜在线视频| 中文字幕一区二区在线日韩精品| 人妻精品一区一区三区蜜桃91| 丁香五月激情综合| av爱爱爱| 91老熟女91老女人| 日本色婷婷| 欧美18 在线观看| 久久色AV线| 小少妇| 久久中文字幕一区不卡| 2020中文字幕在线| 95精品在线| 国产av波波国产精品| 欧洲亚洲人妻无码高清久久三区四区| 天天干2019| 3d成人精品一区二区| 校园春色 亚洲| 精品免费1| 成人 日本A片无码8888| 中文字幕视频在线观看| 大香蕉国产中文自拍| 日韩av影片在线观看| 久久九色| 偷拍五区| 激情自拍 校园春色| 欧美日日操| 97久久久久| 国产二区三区粉嫩在线| 91久久久久久久| 免费久久一级毛片大黄| 97 国产精品| 一本正道久久熟女| 国产区性爱在线视频秋霞豆| 亚洲国产熟妇综合色专区| 日韩人妻精品中文字幕| 亚洲图片激情综合另类| 欧天美中出| 日本在线一二| 亚洲一曲日韩精品| 夜夜欢天天干| 国内自拍 日韩激情 99| 人妻另类 专区 欧美 制服| 久久亚州大香蕉|