專利名稱:日程顯示方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過利用計算機(jī)系統(tǒng)編輯和顯示個人日程信息。用戶可以通過電子筆記本取代普通筆記本來記錄他的日程安排。
常規(guī)電子筆記本通過時間軸顯示該日程。例如,在由微軟公司所開發(fā)的“Schedule+”軟件中,一種日程顯示屏在圖2中示出,其中時間軸和日程顯示區(qū)被用于顯示日程屬性和日程內(nèi)容。日程顯示區(qū)與時間軸平行,并且日程內(nèi)容顯示在日程顯示區(qū)中與日程事件的開始和結(jié)束時間點(diǎn)相對應(yīng)的位置處。
上述現(xiàn)有技術(shù)提供一種對于記錄日程事件來說可取的功能,但是存在如下幾個問題(A)在寫入記錄時,大多數(shù)用戶通常以連續(xù)方式記錄日程事件,將時間寫在該記錄之前。時間軸被用于作為在計劃日程安排過程中的參考。顯示在計算機(jī)中的常規(guī)日程對于通常習(xí)慣來說是不方便的。整個日程時間分配可以在時間軸上顯示出,在兩個日程事件之間的空閑時間間隔仍然占用日程顯示中的一定顯示區(qū)。這導(dǎo)致過長的顯示屏,使得該日程需要通過時時卷動該屏幕而瀏覽。所有日程事件數(shù)據(jù)不能被連續(xù)顯示。該顯示空間不能夠有效地用于更多的信息。
(B)沒有設(shè)計為用于區(qū)分日程事件而作出的特殊顯示器。所有日程事件都顯示在一個日程顯示區(qū)中,這使得用戶方便地了解日程事件的屬性。
為了解決上述問題,本發(fā)明提供一種日程顯示方法,其可以通過利用計算機(jī)系統(tǒng)編輯和顯示個人日程信息,該方法包括第一步驟,用于在計算機(jī)的存儲器中構(gòu)造一個M列和N行的日程顯示表,其中一日的日程數(shù)據(jù)被記錄在日程顯示表的單元格內(nèi),每個單元格記錄一個表示一日的日程數(shù)據(jù)的暫存地址的指針、一個在工作時間之前的日程事件數(shù)、在工作時間之后的日程事件數(shù)、以及每個日程事件的開始位置、結(jié)束位置和高度值;第二步驟,用于通過判斷來自用戶的編輯或瀏覽行為以更新該日程顯示表,從而管理日程顯示表;第三步驟,用于檢查該日程顯示表中的修改部分,其可以根據(jù)來自用戶的編輯或瀏覽行為來判斷是否需要更新該日程顯示表;第四步驟,用于根據(jù)該日程顯示表中的修改部分繪制一條具有日程時間屬性的時間軸,繪制工作時間的兩個調(diào)節(jié)按鍵以及副日程顯示表的顯示開關(guān);以及第五步驟,用于根據(jù)更新的日程顯示表制備列出所有在工作時間內(nèi)的日程數(shù)據(jù)的主日程顯示區(qū),以及列出所有在工作時間之前和之后的所有日程數(shù)據(jù)的副日程顯示區(qū)。
相應(yīng)地,本發(fā)明提供一種日程顯示裝置,其可以通過利用計算機(jī)系統(tǒng)編輯和顯示個人日程信息,其中包括一個在計算機(jī)的存儲器中構(gòu)造的M列和N行的日程顯示表,其中每個單元格存儲一日的顯示記錄和一日的日程顯示表,該日的顯示記錄包括一個表示該日的日程顯示表的地址的指針、在工作時間之前和之后的日程事件數(shù)、以及一個表示日程數(shù)據(jù)的暫存位置的指針,并且該日的日程顯示表存儲每個日程事件的開始位置、結(jié)束位置和高度值的數(shù)據(jù)。
一個日程顯示表管理部分,用于通過經(jīng)輸入設(shè)備的輸入內(nèi)容判斷來自用戶的行為的類型屬于編輯、瀏覽或修改,并且用于執(zhí)行日程顯示表的相應(yīng)插入、修改、刪除、和重新加載操作;一個修改區(qū)檢查部分,用于通過經(jīng)輸入設(shè)備的輸入內(nèi)容根據(jù)特定顯示模式和來自用戶的行為搜索日程顯示表和計算在顯示區(qū)中的修改部分,以判斷時間軸以及主和副時間顯示區(qū)是否需要通過編輯和瀏覽該日程顯示表或修改工作時間而改變;一個日程顯示部分,用于根據(jù)特定的顯示模式和搜索的日程顯示位置表,獲得要被顯示的日期的日程數(shù)據(jù)的指針,通過利用該指針從一個日程日期存儲部分讀取日程數(shù)據(jù),判斷該日程事件是否在工作時間之內(nèi),檢測日程事件是否有任何重疊,并且分別在主和副日程顯示區(qū)中顯示日程事件的內(nèi)容;以及一個時間軸顯示部分,用于根據(jù)由用戶所設(shè)置的工作時間繪制時間軸,檢查修改的日程事件是否有任何重疊,以繪制一日程時間屬性,并且繪制兩個工作時間的調(diào)節(jié)按鍵和副日程顯示區(qū)的顯示開關(guān)。
根據(jù)本發(fā)明的日程顯示裝置可以提供兩種顯示模式,即,垂直模式和水平模式。在由用戶所指定的模式下,一個相應(yīng)的日程顯示表構(gòu)造在一存儲器中,以管理和顯示必要信息。在用戶編輯、瀏覽或修改該日程顯示表之后,該日程顯示表管理部分將更新一個新的日程顯示表,并且該修改區(qū)檢查分將檢查顯示區(qū)中的修改部分。具有兩個工作時間的調(diào)節(jié)按鍵的時間軸以及主和副日程顯示區(qū)被顯示,使得用戶可以瀏覽和編輯日程顯示表。
在參考如下描述和附圖之后,本發(fā)明的上述和其他目的、特點(diǎn)和優(yōu)點(diǎn)將變得更加清楚,其中
圖1為示出根據(jù)本發(fā)明一個實施例的日程顯示裝置的方框圖;圖2為示出常規(guī)日程顯示屏的示圖;圖3為示出根據(jù)本發(fā)明一個實施例的日程顯示表的數(shù)據(jù)結(jié)構(gòu)的示圖;圖4為示出根據(jù)本發(fā)明一個實施例的日程顯示表管理部分的示意流程圖;圖5為示出根據(jù)本發(fā)明一個實施例的修改區(qū)檢查部分的處理步驟的示意流程圖,其中具有分別在圖5A至圖5C中示出的不同程序模塊A、B和C;圖6為示出根據(jù)本發(fā)明一個實施例的時間軸顯示部分的處理步驟的示意流程圖;圖7為示出根據(jù)本發(fā)明一個實施例的日程顯示部分的處理步驟的示意流程圖;圖8示出本發(fā)明的一個實施例,其中以垂直模式顯示1996年8月15日的日程顯示位置表;圖9為圖8的相應(yīng)日程記錄和日程顯示位置表;圖10為示出在用戶把工作時間設(shè)為從0800AM至1700PM之后圖8的主日程顯示區(qū)的示圖11為示出圖10的主和副日程顯示區(qū)的示圖;圖12為以水平模式示出圖11的日程顯示表的示圖;圖13為示出圖12的縮小的日程顯示表的示圖;圖14為圖13的一個示圖,其中副日程顯示區(qū)的卷動軸被向下卷動;圖15為圖14的一個示圖,其中主日程顯示區(qū)的卷動軸被向下卷動;圖16為圖15中當(dāng)用戶把鼠標(biāo)移到日程事件1000-1200的位置并敲擊左鍵以編輯該日程事件1000-1200時的一個示圖;以及圖17為圖16中當(dāng)日程事件1000-1200被刪除時的一個示圖。
根據(jù)本發(fā)明的日程顯示裝置的目的是通過在一個存儲器中構(gòu)造日程顯示位置表來處理計算機(jī)系統(tǒng)中的日程數(shù)據(jù),以管理和顯示日程信息。根據(jù)本發(fā)明的日程顯示裝置可以提供垂直和水平顯示模式,使得用戶可以快速和方便地編輯和瀏覽該日程。在垂直顯示模式中,一時間軸垂直排列并與主日程顯示區(qū)相平行。在水平顯示模式中,一時間軸水平置于主日程顯示區(qū)的上方。在垂直顯示模式中,在主日程顯示區(qū)中的日程數(shù)據(jù)被顯示在對應(yīng)于日程事件的時間的部位。在水平顯示模式中,在主顯示區(qū)中的日程數(shù)據(jù)被按次序連續(xù)顯示。在垂直和水平模式中,在副日程顯示區(qū)中的日程數(shù)據(jù)被按次序連續(xù)顯示。根據(jù)由用戶所設(shè)置的工作時間,在工作時間內(nèi)的日程事件被顯示在主日程顯示區(qū)中,而在工作時間之外的日程事件被顯示在副日程顯示區(qū)中。另外,在顯示屏中有兩個工作時間調(diào)節(jié)按鍵和一個副日程顯示區(qū)的顯示開關(guān)。工作時間的一個調(diào)節(jié)按鍵被用于調(diào)節(jié)工作時間的開始時間點(diǎn),而工作時間的另一個調(diào)節(jié)按鍵被用于調(diào)節(jié)工作時間的結(jié)束時間表。副日程顯示區(qū)的顯示開關(guān)被用于控制是否顯示該副日程顯示區(qū)。
圖1為示出根據(jù)本發(fā)明一個實施例的日程顯示裝置的方框圖。在圖1中,參考標(biāo)號10表示由一鍵盤和一鼠標(biāo)所構(gòu)成的輸入設(shè)備,其中該鍵盤被用于輸入日程數(shù)據(jù),而該鼠標(biāo)被用于調(diào)節(jié)工作時間的開始和結(jié)束時間點(diǎn)、指示要被修改的日程事件以及移動該日程事件。參考標(biāo)號40表示一個日程編輯部分,其具有編輯日程事件的內(nèi)容的日程編輯器。通過利用該日程編輯器,用戶可以改變?nèi)粘淌录臅r間段、確認(rèn)該日程事件、刪除日程事件、設(shè)置響鈴提醒、選擇一組預(yù)定的日程內(nèi)容(例如,會議和旅游等)、輸入或改變該日程內(nèi)容。參考標(biāo)號31表示一個日程顯示表。該日程顯示表是一個M列和N行的陣列。在一個典型實例中,M為7,并且N為6。在該實例中,日程顯示表總共具有42個單元格。用于一日的一日顯示記錄和一日的日程顯示表被存儲在每個單元格中。該日的顯示記錄包括一個指示存儲日程數(shù)據(jù)的存儲器的暫存位置的指針,以及一個指示存儲所有日程事件數(shù)據(jù)的該日的日程顯示表。參考標(biāo)號50表示存儲日程數(shù)據(jù)的日程數(shù)據(jù)存儲區(qū)。該日的顯示記錄還包括兩個數(shù)字cLeft和cRight,分別表示工作時間之前和之后的日程事件的數(shù)目。該日的日程顯示表為每個日程事件存儲日程顯示區(qū)的開始時間點(diǎn)、結(jié)束時間點(diǎn)和高度值。參考標(biāo)號30表示用于根據(jù)鼠標(biāo)敲擊的位置判斷行為的類型的日程顯示表管理部分。如果該鼠標(biāo)移到瀏覽鍵或滾動條并敲擊其左鍵,則該行為被判斷為日程瀏覽行為。如果鼠標(biāo)移到?jīng)]有日程事件的日程顯示區(qū)并敲擊其左鍵,則該行為被判斷為日程添加行為。另一方面,如果鼠標(biāo)移到具有一個日程事件的日程顯示區(qū)并敲擊其左鍵,則該行為被判斷為一個日程修改行為或日程移動行為。如果釋放鼠標(biāo)的位置不同于敲擊鼠標(biāo)的位置,則該行為被判斷為一個日程移動行為。否則,該行為被判斷為一個日程修改行為。日程編輯部分40的日程編輯器被啟動以編輯日程事件的內(nèi)容。在編輯結(jié)束后,日程顯示表管理部分30更新該日程顯示表31。當(dāng)日程事件被移動或編輯,這個顯示區(qū)將相應(yīng)地改變。修改區(qū)檢查部分21檢查顯示區(qū)中的修改部分。接著時間軸顯示部分22和日程顯示部分23分別示出該時間軸和日程數(shù)據(jù),通過搜索在工作時間之前和之后的日程事件的數(shù)目,日程顯示區(qū)的開始時間點(diǎn)、結(jié)束時間點(diǎn)和高度值用于修改日程事件。
日程顯示表管理部分30是本發(fā)明的基本控制部分。如圖1中所示,日程顯示表管理部分30管理存儲在日程數(shù)據(jù)存儲區(qū)50中的日程顯示表31。在日程顯示表31中,記錄每個日程事件的開始時間點(diǎn)、結(jié)束時間點(diǎn)和高度值,使得日程的修改部分可以易于檢測并且該日程數(shù)據(jù)可以被直接顯示。
圖3為示出根據(jù)本發(fā)明一個實施例的日程顯示表31的數(shù)據(jù)結(jié)構(gòu)的示圖。M列和N行的日程顯示表被構(gòu)成在計算機(jī)的存儲器中。一日的顯示記錄和一日的日程顯示表被存儲在日程顯示表31的每個單元格中。該日的顯示記錄包括一個指示其中存儲一日的所有日程數(shù)據(jù)的表格的指針(ptToDayTable)、指示日程數(shù)據(jù)的暫存部位的指針(ptToDayStorage)、表示在工作時間之前的日程事件的項目數(shù)的數(shù)字(cLeft)、以及表示在工作時間之后的日程事件的項目數(shù)的數(shù)字(cRight)。該日的日程顯示表包括每個日程事件的開始時間點(diǎn)、結(jié)束時間點(diǎn)和高度值。
在一個典型實例中,該日程顯示表31具有7列和6行。在該日程顯示表31中總共有42個單元格用于存儲42天的日程數(shù)據(jù)。
圖4為示出根據(jù)本發(fā)明一個實施例的日程顯示表管理部分30的處理部分示意圖流程圖。步驟S71判斷是否有日程瀏覽行為,如果判斷結(jié)果為“否”,則該過程轉(zhuǎn)到步驟S72用于確定日程編輯行為的類型。在步驟S72中,確定日程編輯行為的類型。如果該日程編輯行為是添加,則該過程轉(zhuǎn)到步驟S73和S74用于分別在該日程顯示中搜索一個適當(dāng)?shù)奈恢貌⒉迦胍粋€新的日程事件。如果該日程編輯行為是刪除,則該過程轉(zhuǎn)到步驟S75。如果該日程編輯行為是修改,則該過程轉(zhuǎn)到步驟S76。在步驟S76中,顯示范圍的高度被改變。如果該日程編輯行為是移動,則該過程轉(zhuǎn)到步驟S77。步驟S77用于移動一個日程事件,其中一個舊的日程事件首先被刪除,然后添加一個新的日程事件。如果該行為不屬于添加、刪除、修改和移動中的一種,則該過程轉(zhuǎn)到“結(jié)束”。如果步驟S71中的結(jié)果為“是”,則該過程轉(zhuǎn)到步驟S78用于判斷要被瀏覽的數(shù)據(jù)是否在可顯示范圍中。如果要被瀏覽數(shù)據(jù)不在可顯示范圍中,則該過程轉(zhuǎn)到步驟S80用于計算一個新的可顯示范圍。在新的可顯示范圍被計算之后,該過程轉(zhuǎn)到步驟S80用于搜索每個日程數(shù)據(jù)并計算一個顯示記錄。接著該過程轉(zhuǎn)到步驟S82,所有日程顯示位置表被加載在每月日程顯示表中。接著該過程到達(dá)“結(jié)束”。如果要被瀏覽的數(shù)據(jù)在可顯示范圍內(nèi),則該過程轉(zhuǎn)到步驟S79用于判斷工作時間是否被改變。如果判斷結(jié)果為“否”,則該過程到達(dá)“結(jié)束”。如果判斷結(jié)果為“是”,則該過程轉(zhuǎn)到步驟S83用于計算在一時間軸上的工作時間的開始和結(jié)束時間點(diǎn)。接著該過程轉(zhuǎn)到步驟S84用于計算在新的工作時間之前和之后的日程事件的數(shù)目,并修改顯示記錄。
圖5為示出根據(jù)本發(fā)明一個實施例的修改區(qū)檢查部分21的處理步驟的示意流程圖。當(dāng)在工作時間內(nèi)的日程事件占用比顯示區(qū)域更大的區(qū)域,則需要利用滾動條來查看主日程顯示區(qū)中的日程。在垂直模式中,時間軸被垂直設(shè)置,并且日程事件的高度值對應(yīng)于時間段。因此,當(dāng)在垂直模式中移動滾動條時,時間軸和顯示區(qū)被同時移動。在水平模式中,時間軸被水平設(shè)置于顯示區(qū)的上方,因此當(dāng)滾動條被移動時,僅僅日程顯示列表被移動。在工作時間之前和之后日程數(shù)據(jù)被連續(xù)地顯示在副日程顯示區(qū)中。在副日程顯示區(qū)中,該日程數(shù)據(jù)被以水平模式顯示。
現(xiàn)在參見圖5,下面將描述根據(jù)本發(fā)明一個實施例的修改區(qū)檢查部分21的流程圖。步驟S90檢查是否存在修改部分。如果從日程編輯而產(chǎn)生修改部分,則該過程轉(zhuǎn)到步驟S100以執(zhí)行步驟S101-S114。如果從卷動主日程顯示區(qū)而產(chǎn)生修改部分,則該過程轉(zhuǎn)到步驟S120以執(zhí)行步驟S121-S128用于搜索該時間軸和主日程顯示區(qū)中的修改部分。如果從卷動副日程顯示區(qū)而產(chǎn)生修改部分,則該過程轉(zhuǎn)到步驟S140以執(zhí)行步驟S141-S147用于搜索該副日程顯示區(qū)中的修改部分。另外,如果不存在修改部分,則該過程轉(zhuǎn)到步驟S150以執(zhí)行其他行為。
步驟S101把日程編輯行為分為五類在垂直模式中的日程刪除/添加、在垂直模式中的日程移動、在水平模式中的日程刪除、在水平模式中的日程添加、以及在水平模式中的日程移動等等。步驟S102-S105檢查在垂直模式中的主日程顯示區(qū)的修改部分,并且步驟S106-S113檢查在水平模式中的主日程顯示區(qū)的修改部分。在水平模式中,需要執(zhí)行步驟S113用于檢查在時間軸中的修改部分。在垂直模式中,對于日程添加或刪除的修改部分被限制在一個日程事件的開始和結(jié)束位置之間。步驟S102用于為一個目標(biāo)日程事件計算在時間軸中的開始位置“s”和結(jié)束位置“e”。當(dāng)一個日程事件被移動時,步驟S103檢查該目標(biāo)日程事件和源日程事件是否在同一屏幕上。如果結(jié)果為“是”,則該過程轉(zhuǎn)到步驟S104用于計算一目標(biāo)日程事件和一源日程事件的合并的開始位置“s”和結(jié)束位置“e”。如果結(jié)果為“否”,則該過程轉(zhuǎn)到步驟S102。步驟S105把位置“s”和“e”變換為坐標(biāo)“sy”和“ey”。顯示區(qū)的左上角被設(shè)為原點(diǎn),其坐標(biāo)為(0,0)。步驟S114計算在垂直模式中主日程顯示區(qū)的修改部分的坐標(biāo)范圍(0,sy,x,ey),其中“x”是主日程顯示區(qū)的寬度,并且計算在時間軸中修改部分的坐標(biāo)范圍(0,sy,x1,ey),其中“x1”是時間軸的寬度。
另外,在水平模式中,當(dāng)一個日程事件被刪除時,該被刪除的日程事件之后的日程事件將受到影響。通過搜索日程顯示表31,步驟S106和S107分別計算在顯示區(qū)中目標(biāo)日程事件的開始位置的高度“sy”,以及目標(biāo)日程事件的結(jié)束位置的高度“ey”。該日程添加是由用戶在日程顯示列表的空白區(qū)中輸入日程數(shù)據(jù)而完成的。在水平模式下,空白區(qū)在所有的日程事件之下。因此,在水平模式中添加一個日程事件時,通過搜索該顯示位置表,步驟S108計算在顯示區(qū)中目標(biāo)日程事件的開始位置的高度“sy”。步驟S109計算在顯示區(qū)中目標(biāo)日程事件的結(jié)束位置的高度“ey”。另外,當(dāng)一個日程事件被移動時,步驟S110判斷源日程事件和目標(biāo)日程事件是否都在相同的顯示屏上。如果結(jié)果為“是”,則該過程轉(zhuǎn)到步驟S111以計算由源日程事件和目標(biāo)日程事件所占用的聯(lián)合顯示區(qū)。如果結(jié)果為“否”,與日程刪除類似,計算“sy”和“ey”。響應(yīng)用于日程事件的時間段的修改,在水平模式中的時間軸被修改。因此,在水平模式下檢測主日程顯示區(qū)中的修改部分后,步驟S113執(zhí)行類似于垂直模式的相應(yīng)編輯并檢測在時間軸中的修改部分。在水平模式下,對于主日程顯示區(qū)和時間軸中的修改,步驟S114計算主日程顯示區(qū)的修改部分的坐標(biāo)范圍(0,sy,x,ey),以及時間軸中的修改部分的坐標(biāo)范圍(sy1,0,ey1,y),其中x是主日程顯示區(qū)的寬度;y是對應(yīng)于時間軸中的時間段的高度;sy1和ey1對應(yīng)于由步驟S113所計算的“sy”和“ey”值。
當(dāng)主日程顯示區(qū)被卷動時,步驟S121-S128處理對于修改的檢查。在搜索日程顯示位置表31之后,步驟S121獲得在主日程顯示區(qū)中的第一日程事件的一個顯示記錄“i”。步驟S122判斷該顯示記錄“i”在工作時間之內(nèi),以判斷是否可以執(zhí)行卷動。如果判斷可以執(zhí)行卷動,則該過程轉(zhuǎn)到步驟S123用于判斷卷動的類型。對于在水平模式中的卷動,步驟S124判斷其是否為向下卷動。如果結(jié)果為“是”,則該過程轉(zhuǎn)到步驟S125,從“i”減1,這意味著前一個記錄。步驟S126把“n”設(shè)為由第i個顯示記錄所占用的高度。對于在垂直模式中的卷動,該顯示區(qū)由一個日程事件所卷動。步驟S127把“n”設(shè)為對應(yīng)于時間軸中時間段的高度。步驟S128獲得主日程顯示區(qū)和時間軸中的修改部分。主日程顯示區(qū)中的修改部分在該日程顯示被向下卷動時的坐標(biāo)范圍是(0,0,x,n),并且在該日程顯示被向上卷動時的坐標(biāo)范圍是(0,y-n,x,y),而時間軸中的修改部分在該日程顯示被在垂直模式中向下卷動時的坐標(biāo)范圍是(0,0,x1,n),并且在該日程顯示被在垂直模式中向上卷動時的坐標(biāo)范圍是(0,y1-n,x1,y1),其中“x”是主日程顯示區(qū)的寬度;“y”是主日程顯示區(qū)的高度;并且“y1”是對應(yīng)于時間軸中的時間段的高度。
接著,關(guān)于卷動副日程顯示區(qū)的過程,由于副日程顯示區(qū)僅能夠在垂直模式中連續(xù)顯示,因此沒有用于副日程顯示區(qū)的垂直模式卷動。參見圖5C,在搜索日程顯示表之后,步驟S131獲得副日程顯示區(qū)中所示的第一日程事件的記錄“i”。步驟S132檢查該記錄“i”是第一還是最后的顯示記錄,以判斷是否可以執(zhí)行卷動,并且檢查顯示區(qū)中的修改部分。步驟S133確定副日程顯示區(qū)的卷動類型。對于向下卷動,步驟S134判斷該記錄“i”是否為工作時間之后的第一個顯示記錄。如果結(jié)果為“是”,則向下卷動需要跳過該工作時間段。如果在工作時間之前的日程事件的數(shù)目是“cLeft”,則步驟S135把該記錄“i”設(shè)為cLeft,其表示工作時間之前的最后的日程事件。如果結(jié)果為“否”,步驟S136從“i”減1,這表示前一個記錄。步驟S137把“n”設(shè)為由第i個顯示記錄所占用的高度,并且檢查副日程顯示區(qū)中的修改部分在該日程顯示被向下卷動時的坐標(biāo)范圍是(0,0,x,n),并且在該日程顯示被向上卷動時的坐標(biāo)范圍是(0,y-n,x,y),其中“x”是副日程顯示區(qū)的寬度,并且“y”是副日程顯示區(qū)的高度。
圖6示出說明根據(jù)本發(fā)明一個實施例的時間軸顯示部分22的處理步驟的示意流程圖。在該實施例中,時間軸是在顯示屏上的長條,表示一日的時間段,其中該時間段可以根據(jù)用戶指定按5、10、15、20、30或50分鐘來劃分。時間軸的長度由L個像素顯示,對應(yīng)于0至L-1的坐標(biāo),使得可以示出從1至1440分鐘的時間段。對于時間“t”(按照分鐘),它可以位于t1=t×L/1440的位置。為了更詳細(xì)地顯示該日程,通常像素數(shù)目L大于可以由屏幕在垂直模式或水平模式中顯示的像素數(shù),因此需要卷動屏幕。在垂直模式下,有“y”個像素的屏幕被用作為一個視區(qū),并且時間單位“u”由“n”個像素繪出。如果在時間軸中,“l(fā)s”是工作時間的開始坐標(biāo),并且“rs”是工作時間的結(jié)束坐標(biāo),則ls=l×L/1440,并且rs=r×L/1440。在這種情況下,如果具有坐標(biāo)“rs”的點(diǎn)可以被卷動到視區(qū)的末端,這使得可以卷動范圍rs-ls。如果我們把左上角設(shè)為屏幕的原點(diǎn),具有坐標(biāo)(0,0),并且該原點(diǎn)由“yo”表示,則yo位于rs和ls之間,并且對于任何時間“t”在時間軸中的坐標(biāo)由(tl-ys)×n/u表達(dá)。另外,對于任何在視區(qū)中的“yi”點(diǎn),其相應(yīng)時間“yt”由yt=(yo+yi×u/n)×1440/L表達(dá)。當(dāng)時間軸顯示部分繪出一條時間軸時,時間“ti”由對于視區(qū)的左上角的時間軸中的坐標(biāo)所計算。如果時間段每次卷動一個時間單位,則ti對應(yīng)于特定的時間段。因此,時間軸可以被繪制為從視區(qū)的原點(diǎn)到視區(qū)的底部,一個時間單位由n/4個像素示出。
圖6為說明根據(jù)本發(fā)明一個實施例的時間軸顯示部分22的處理步驟的示意流程圖。首先步驟S141分別獲得時間軸中的位置“tl”和“tr”,其表示一日的工作時間。步驟S142繪出一條時間軸并把“tl”和“tr”移到一個適當(dāng)?shù)奈恢?。步驟S143繪出時間段單位的標(biāo)度,并表示該時間值。另外,步驟S144查找具有末端位置數(shù)值大于“tl”的第一顯示記錄“i”。步驟S145確定該顯示記錄“i”的開始位置“s”是否在“tl”之前。如果其結(jié)果為“是”,則該過程轉(zhuǎn)到步驟S146把“s”的值設(shè)為“tl”。如果其結(jié)果為“否”,則該過程轉(zhuǎn)到步驟S147確定顯示記錄“i”的結(jié)束位置“e”是否在“tr”之后。如果其結(jié)果為“是”,則步驟S148把“e”的數(shù)值設(shè)為“tr”。如果其結(jié)果為“否”,則步驟S149計算日程事件“i”的顯示長度為“e-s”。在該顯示長度的計算完成后,該過程轉(zhuǎn)到步驟S150在時間軸上繪出對應(yīng)于該顯示長度的時間分配。步驟S151檢查是否有下一個日程事件“i”。如果其結(jié)果為“是”,則步驟S152檢查顯示記錄“i”的開始位置“s”是否在“tl”之前,如果其結(jié)果為“是”,則該過程轉(zhuǎn)到步驟S153。如果步驟S152的結(jié)果為“否”,則重復(fù)執(zhí)行步驟S147-S151。如果步驟S151的結(jié)果為“否”,則這意味著沒有下一個日程事件,或者下一個日程事件的開始位置在“tr”之后,并且該過程轉(zhuǎn)到步驟S153檢查時間軸的兩端是否被“tl”和“tr”所覆蓋。如果其結(jié)果為“否”,則時間軸的繪制完成。如果其結(jié)果為“是”,則該過程轉(zhuǎn)到步驟S154在時間軸的兩端繪制時間結(jié)束點(diǎn)符號和副日程顯示區(qū)開關(guān)符號。另外,在水平模式下,該時間軸被橫向繪制,并且水平和垂直坐標(biāo)互換。
圖7示出說明根據(jù)本發(fā)明一個實施例的日程顯示部分23的處理步驟的示意流程圖。通過搜索日程顯示表31,步驟S162在主日程顯示區(qū)中獲得第一日程顯示記錄“i”,其具有與修改部分相重疊的開始位置。接著,步驟S163判斷是否處于水平模式。如果該顯示處于垂直模式,則該過程轉(zhuǎn)到步驟S176執(zhí)行圖6中所示的步驟S144-S152。如果該顯示處于水平模式下,則步驟S164-S167顯示主日程顯示區(qū)的日程數(shù)據(jù)。首先,步驟S164判斷顯示記錄“i”的開始位置是否與修改部分相重疊。如果其結(jié)果為“是”,則該過程轉(zhuǎn)到步驟S165示出第i個顯示記錄的日程事件數(shù)據(jù)。接著,該過程轉(zhuǎn)到步驟S166設(shè)置i=i+1。此后,該過程轉(zhuǎn)到步驟S167判斷記錄“i”是否為工作時間的右端點(diǎn)之前的最后的顯示記錄。如果其結(jié)果為“否”,則該過程轉(zhuǎn)到步驟S164重復(fù)繪制程序,直到顯示記錄“i”的開始位置與修改部分相重疊,或者顯示記錄“i”的工作時間的右端點(diǎn)之后。通過搜索日程顯示表31,步驟S169在副日程顯示區(qū)獲得第一日程顯示記錄“i”,其具有與修改部分相重疊的開始位置。接著,步驟S170判斷顯示記錄“i”的開始位置與修改部分相重疊。如果其結(jié)果為“是”,則該過程轉(zhuǎn)到步驟S171在副日程顯示區(qū)示出該顯示記錄的日程事件數(shù)據(jù)。接著,該過程轉(zhuǎn)到步驟S172設(shè)置i=i+1。此后,該過程轉(zhuǎn)到步驟S177判斷記錄“i”是否為工作時間的左端點(diǎn)之前的最后一個顯示記錄。如果其結(jié)果為“是”,則該過程轉(zhuǎn)到步驟S174把該記錄調(diào)整為在工作時間的左端點(diǎn)之后的第一日程記錄。接著,步驟S175判斷該記錄“i”是否為最后的顯示記錄。如果其結(jié)果為“否”,則步驟S170-S175重復(fù)執(zhí)行直到顯示記錄“i”的開始位置與修改部分相重疊,或者顯示記錄“i”是最后的顯示記錄。
在下文中,用一個實例說明根據(jù)本發(fā)明的日程顯示表。圖8示出根據(jù)該應(yīng)用的一個實例,其中歐陽先生在1996年8月15日的日程顯示于垂直模式中,而不設(shè)置工作時間的左和右端時間點(diǎn),時間軸的長度L被設(shè)為1440個像素,并且日程表示區(qū)的寬度被設(shè)為300個像素。圖9示出根據(jù)圖6的一日的日程顯示表和顯示數(shù)據(jù)。在工作時間被設(shè)在從0800AM到1700PM的時間段內(nèi),通過日程顯示表管理部分30的流程圖的程序,步驟S79判斷工作時間的左和右端點(diǎn)是否改變,如圖4中所示。步驟S83計算工作時間的開始點(diǎn)(左時間點(diǎn))的坐標(biāo)為s=480,并計算工作時間的結(jié)束點(diǎn)(右時間點(diǎn))的坐標(biāo)為e=1020。步驟S84計算在新的工作時間之前和之后的日程事件。在這種情況下,CLeft和CRight都為1。當(dāng)工作時間的時間段被改變時,在顯示區(qū)中的修改部分不被刪除。因此,日程顯示表包括一主日程顯示區(qū)、一副日程顯示區(qū)和一時間軸顯示區(qū)。通過圖6和7中所示的流程圖,時間軸顯示區(qū)22和日程顯示區(qū)23修改主日程顯示區(qū),如圖10中所示。當(dāng)用戶選擇工作時間之前和之后的日程事件來顯示時,通過圖7中所示的流程圖,副日程顯示區(qū)在圖11中示出,并且主日程顯示區(qū)保持不變。當(dāng)用戶把垂直模式變?yōu)樗侥J綍r,通過圖7中所示的流程圖,日程顯示列表被顯示出來,如圖12中所示。當(dāng)用戶通過選擇來減小顯示屏?xí)r,日程顯示列表被按照圖13所示顯示,其中主日程顯示區(qū)的高度值從133變?yōu)?06像素,并且副日程顯示區(qū)的高度值從76變?yōu)?4像素。如果用戶向上卷動副日程顯示區(qū),根據(jù)圖5中所示的流程圖,步驟S131獲得副日程顯示區(qū)的第一顯示記錄(i=0)的。由于在副日程顯示區(qū)中有兩個顯示記錄,步驟S132判斷該副日程顯示區(qū)被向上卷動。通過搜索日程顯示表31,步驟S137把顯示記錄“i”的顯示高度設(shè)為n=24。相應(yīng)地,修改部分的坐標(biāo)范圍由(0,y-n,x,y)=(0,52,300,76)表示,其中副日程顯示區(qū)的寬度由x=300所表示。響應(yīng)于該修改部分,通過圖7中所示的流程圖中的程序,步驟S169和S170判斷沒有顯示記錄與該修改部分相重疊,并且不執(zhí)行繪制行為。向上卷動副日程顯示區(qū)的結(jié)果在圖14中示出。當(dāng)用戶要向上卷動主日程顯示區(qū)時,通過圖5中所示的流程圖中的程序,步驟S121獲得主日程顯示區(qū)的第一顯示記錄(i=0)。步驟S122判斷可執(zhí)行的卷動。步驟S123和S124判斷該卷動的類型為水平向上。通過搜索日程顯示表,步驟S126獲得記錄“i”的顯示高度,其由n=24所表示。步驟S127在垂直顯示模式中執(zhí)行卷動,步驟S128在主日程顯示區(qū)中獲得修改部分。修改部分的坐標(biāo)范圍由(0,y-n,x,y)=(0,82,300,106)所表示。響應(yīng)該修改部分,通過圖7中所示的流程圖,向上卷動主日程顯示區(qū)的結(jié)果在圖15中示出。如果用戶要刪除1000-1200AM的日程事件,通過在所需日程事件的位置敲擊鼠標(biāo)指針,他就可以訪問日程編輯裝置以執(zhí)行刪除。其結(jié)果在圖16中示出。在所期望的日程事件被刪除之后,通過日程顯示表管理部分30的流程圖,在圖4中示出步驟S71和S72判斷該編輯的類型是垂直模式中的日程刪除。步驟S75刪除在主日程顯示區(qū)的第三日程記錄。在刪除之后,步驟S101檢測該編輯的類型是水平模式中日程刪除,并且該過程轉(zhuǎn)到步驟S106。由于要被刪除的日程事件是顯示屏上的第一日程事件,因此步驟S106計算目標(biāo)日程事件的顯示高度,其由sy=0所表示,并且步驟S107計算在顯示區(qū)中目標(biāo)日程事件的結(jié)束位置的高度,其由ey=106所表示。同時,需要在時間軸中執(zhí)行修改部分的檢測。步驟S113執(zhí)行與垂直模式相類似的刪除,以檢測該修改部分。換句話說,類似于步驟S102,在時間軸中目標(biāo)日程事件的開始和結(jié)束位置被計算,其中s=600和e=720。此后,步驟S114計算主日程顯示區(qū)的修改部分的坐標(biāo)范圍,其由(0,sy,x,ey)=(0,0,300,106)所表示,并且計算時間軸(600,0,720,y)的修改部分的坐標(biāo)范圍,其中“y”是時間軸的顯示高度。在該優(yōu)選實施例中,時間軸的顯示高度由24個像素示出,并且單位時間段(60分鐘)由48個像素示出。在計算之后,時間的修改部分的坐標(biāo)范圍是(96,0,192,24)。通過圖6和7中所示的流程圖,主日程顯示區(qū)和時間軸的最終結(jié)果在圖17中示出。
如上文所述,在日程顯示表中,其中在時間軸中記錄開始和結(jié)束時間點(diǎn)以及在日程顯示區(qū)中每個日程事件所占用的高度。利用該日程顯示表,修改區(qū)刪除部分不需要執(zhí)行重復(fù)計算,并且在時間軸中的修改部分、主日程顯示區(qū)和副日程顯示區(qū)可以按照更快和更簡單的方式刪除。因此,時間軸顯示部分可以非常快和容易地根據(jù)日程顯示表繪制具有日程時間分配的時間軸。對于一日的所有日程事件被分別顯示在主日程顯示區(qū)和副日程顯示區(qū)中。通過工作時間的開始和結(jié)束時間點(diǎn),可以區(qū)分日程事件的分布。該日程事件數(shù)據(jù)可以按照能夠明確和有效地瀏覽和編輯每個日程事件的方式管理。
權(quán)利要求
1.一種日程顯示方法,其可以通過利用計算系統(tǒng)編輯和顯示個人日程信息,其特征在于,包括第一步驟,用于在計算機(jī)的存儲器中構(gòu)造一個M列和N行的日程顯示表,其中一日的日程數(shù)據(jù)被記錄在日程顯示表的單元格內(nèi),每個單元格記錄一個表示一日的日程數(shù)據(jù)的暫存地址的指針、一個在工作時間之前的日程事件數(shù)、在工作時間之后的日程事件數(shù)、以及每個日程事件的開始位置、結(jié)束位置和高度值;第二步驟,用于通過判斷來自用戶的編輯或瀏覽行為管理日程顯示表以便更新該日程顯示表;第三步驟,用于檢查該日程顯示表中的修改部分,其可以根據(jù)來自用戶的編輯或瀏覽行為來判斷是否需要更新該日程顯示表;第四步驟,用于根據(jù)該日程顯示表中的修改部分繪制一條具有日程時間屬性的時間軸,繪制工作時間的兩個調(diào)節(jié)按鍵以及副日程顯示表的顯示開關(guān);以及第五步驟,用于根據(jù)更新的日程顯示表制備列出所有在工作時間內(nèi)的日程數(shù)據(jù)的主日程顯示區(qū),以及列出所有在工作時間之前和之后的所有日程數(shù)據(jù)的副日程顯示區(qū)。
2.一種日程顯示裝置,其適用于通過利用計算機(jī)系統(tǒng)編輯和顯示個人日程信息,其特征在于,包括一個在計算機(jī)的存儲器中構(gòu)造的M列和N行的日程顯示表,其中每個單元格存儲一日的顯示記錄和一日的日程顯示表,該日的顯示記錄包括一個表示該日的日程顯示表的地址的指針、在工作時間之前和之后的日程事件數(shù)、以及一個表示日程數(shù)據(jù)的暫存位置的指針,并且該日的日程顯示表存儲每個日程事件的開始位置、結(jié)束位置和高度值的數(shù)據(jù);一個日程顯示表管理部分,用于通過經(jīng)輸入設(shè)備的輸入內(nèi)容判斷來自用戶的行為的類型屬于編輯、瀏覽或修改,并且用于執(zhí)行日程顯示表的相應(yīng)插入、修改、刪除、和重新加載操作;一個修改區(qū)檢查部分,用于通過經(jīng)輸入設(shè)備的輸入內(nèi)容根據(jù)特定顯示模式和來自用戶的行為搜索日程顯示表和計算在顯示區(qū)中的修改部分,以判斷時間軸以及主和副時間顯示區(qū)是否需要通過編輯和瀏覽該日程顯示表或修改工作時間而改變;一個日程顯示部分,用于根據(jù)特定的顯示模式和搜索的日程顯示位置表獲得要被顯示的日期的日程數(shù)據(jù)的指針,通過利用該指針從一個日程日期存儲部分讀取日程數(shù)據(jù),判斷該日程事件是否在工作時間之內(nèi),檢測日程事件是否有任何重疊,并且分別在主和副日程顯示區(qū)中顯示日程事件的內(nèi)容;以及一個時間軸顯示部分,用于根據(jù)由用戶所設(shè)置的工作時間繪制時間軸,檢查修改的日程事件是否有任何重疊,以繪制一日程時間屬性,并且繪制兩個工作時間的調(diào)節(jié)按鍵和副日程顯示區(qū)的顯示開關(guān)。
3.根據(jù)權(quán)利要求2所述的日程顯示裝置,其特征在于,還包括可以由用戶選擇垂直或水平顯示模式的模式選擇開關(guān)。
4.根據(jù)權(quán)利要求2所述的日程顯示裝置,其特征在于,還包括一個用于副日程顯示區(qū)的顯示開關(guān),以控制是否應(yīng)當(dāng)顯示副日程顯示區(qū)。
全文摘要
一種用于顯示日程的方法和裝置,其中記錄日程顯示信息的日程顯示表被在計算機(jī)系統(tǒng)的存儲器中構(gòu)造,一日的日程事件由一日程顯示區(qū)所示出,該日程顯示區(qū)被分為主日程顯示區(qū)和副日程顯示區(qū),每個日程顯示區(qū)具有用于顯示每個日程事件的時間段的可調(diào)節(jié)時間軸,使得用戶可以通過計算機(jī)系統(tǒng)迅速和方便地編輯和瀏覽日程。
文檔編號G06Q10/00GK1252573SQ99121889
公開日2000年5月10日 申請日期1999年10月22日 優(yōu)先權(quán)日1998年10月23日
發(fā)明者侯沛霖 申請人:松下電器產(chǎn)業(yè)株式會社