見出し作成装置及び見出し作成プログラム
【課題】利便性の高い見出し作成装置を提供する。
【解決手段】複数の属性項目に対応する複数の属性データを含むアイテムを複数格納しているデータ構造の見出しを作成する見出し作成装置であって、前記データ構造が、前記複数の属性項目の中の少なくとも2つが見出し候補項目であって、前記アイテム毎に前記見出し候補項目の採否が設定されているデータ構造(例えば図2に示すデータ構造)であり、前記アイテム各々において前記見出し候補項目のうち見出しに採用されている属性項目に対応する属性データを取得し、その取得した属性データを所定の順序に並び替えた見出しを作成する見出し作成装置。
【解決手段】複数の属性項目に対応する複数の属性データを含むアイテムを複数格納しているデータ構造の見出しを作成する見出し作成装置であって、前記データ構造が、前記複数の属性項目の中の少なくとも2つが見出し候補項目であって、前記アイテム毎に前記見出し候補項目の採否が設定されているデータ構造(例えば図2に示すデータ構造)であり、前記アイテム各々において前記見出し候補項目のうち見出しに採用されている属性項目に対応する属性データを取得し、その取得した属性データを所定の順序に並び替えた見出しを作成する見出し作成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ構造の見出しを作成する見出し作成装置及び見出し作成プログラムに関する。
【背景技術】
【0002】
複数の属性項目に対応する複数の属性データを含むアイテムを複数格納しているデータ構造(以下、元帳ともいう)が、パーソナルコンピュータ、スマートフォン等の各種情報処理装置において利用されている。
【0003】
元帳の一例として、一般に電話帳と呼ばれるものがある。この電話帳と呼ばれる元帳では、個人名、会社名、電話番号、コメント等の複数の属性データを含む個人データがアイテム(個人)毎に入力(登録)されている。この電話帳の一例を図16に示す。
【0004】
元帳におけるアイテムの並び方は、通常図16に示す例のように、入力(登録)順になっており、規則性がない。そこで、情報処理装置のユーザが所望のアイテムを探し出すことを容易にするために、特定の属性項目に対応する属性データを五十音順やアルファベット順等に並び替えた見出しが作成される。
【0005】
図16に示す電話帳において個人名を五十音順で並び替えて見出しを作成すると、図17に示す見出しとなる。一方、図16に示す電話帳において会社名を五十音順で並び替えて見出しを作成すると、図18に示す見出しとなる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】実開平5−17753号公報
【特許文献2】特開2010−148076号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ここで、図16に示す電話帳の作成者にとって、アイテム番号0の特許一郎氏は、株式会社公開電気に勤めているが、友人であるので、会社名よりも個人名の方が重要であり、アイテム番号2の意匠三郎氏は、公告商事株式会社の担当者で、仕事上の関係者であるが、担当者が頻繁に変わることから、個人名よりも会社名の方が重要であるとする。
【0008】
そうすると、特許一郎氏の個人データを読み出す場合には、図18に示す見出しよりも図17に示す見出しの方が図16に示す電話帳の作成者にとって便利であり、意匠三郎氏の個人データを読み出す場合には、図17に示す見出しよりも図18に示す見出しの方が図16に示す電話帳の作成者にとって便利である。
【0009】
しかしながら、読み出したい個人データに応じて適切な見出しを切り替える作業が煩わしいという問題があった。
【0010】
本発明は、上記の状況に鑑み、利便性の高い見出し作成装置及び見出し作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために本発明に係る見出し作成装置は、複数の属性項目に対応する複数の属性データを含むアイテムを複数格納しているデータ構造の見出しを作成する見出し作成装置であって、前記データ構造が、前記複数の属性項目の中の少なくとも2つが見出し候補項目であって、前記アイテム毎に前記見出し候補項目の採否が設定されているデータ構造であり、前記アイテム各々において前記見出し候補項目のうち見出しに採用されている属性項目に対応する属性データを取得し、その取得した属性データを所定の順序に並び替えた見出しを作成する構成とする。
【0012】
このような構成によると、複数の見出しを作成し、読み出したいアイテムに応じて適切な見出しを切り替える作業を行う必要がなくなるので、利便性が向上する。
【0013】
また、上記構成の見出し作成装置において、前記データ構造が、前記アイテム毎に前記見出し候補項目を複数採用することが可能なデータ構造であるようにしてもよい。
【0014】
このような構成によると、1つのアイテムに含まれる複数の属性データを1つの見出しに同時に出すことができ、利便性がより一層向上する。
【0015】
また、上記いずれかの構成の見出し作成装置において、前記データ構造が、前記アイテム毎に前記見出し候補項目を一つも採用しないことが可能なデータ構造であるようにしてもよい。
【0016】
このような構成によると、見出しに出したくないアイテムを見出しに出さないようにすることができ、利便性がより一層向上する。
【0017】
上記目的を達成するために本発明に係る見出し作成プログラムは、コンピュータを、上記いずれかの構成の見出し作成装置として機能させるためのプログラムとする。
【発明の効果】
【0018】
本発明によると、複数の見出しを作成し、読み出したいアイテムに応じて適切な見出しを切り替える作業を行う必要がなくなるので、利便性が向上する。
【図面の簡単な説明】
【0019】
【図1】図1に示す本発明の一実施形態に係る見出し作成装置を示す図である。
【図2】図1に示す本発明の一実施形態に係る見出し作成装置で用いられる元帳の一例を示す図である。
【図3】図1に示す本発明の一実施形態に係る見出し作成装置が行う処理ルーチンを示すフローチャートである。
【図4】新規登録画面を示す図である。
【図5】新規登録のサブルーチンを示すフローチャートである。
【図6】削除のサブルーチンを示すフローチャートである。
【図7】指定アイテム表示のサブルーチンを示すフローチャートである。
【図8】リンクリスト作成のサブルーチンを示すフローチャートである。
【図9】ソート前のリンクリストの一例を示す図である。
【図10】ソートのサブルーチンを示すフローチャートである。
【図11】ソート後のリンクリストの一例を示す図である。
【図12】見出し表示のサブルーチンを示すフローチャートである。
【図13】見出し表示の一例を示す図である。
【図14】指定アイテム表示画面の一例を示す図である。
【図15】指定アイテム表示画面の他の例を示す図である。
【図16】従来の電話帳の一例を示す図である。
【図17】図16に示す電話帳において個人名を五十音順で並び替えて作成された見出しを示す図である。
【図18】図16に示す電話帳において会社名を五十音順で並び替えて作成された見出しを示す図である。
【発明を実施するための形態】
【0020】
本発明の実施形態について図面を参照して以下に説明する。
【0021】
図1に示す本発明の一実施形態に係る見出し作成装置は、パーソナルコンピュータであり、パーソナルコンピュータ全体の制御を司るCPU(Central Processing Unit)1と、CPU1の主メモリでありプログラム実行時の作業領域となるRAM(Random Access Memory)2と、パーソナルコンピュータのオペレーティングシステム(OS)や各種のアプリケーションソフトウェア等を記憶しているハードディスク装置3と、光ディスクからの読み込みや光ディスクへの読み書きが可能な光ディスク装置4と、表示用データを一時記憶する表示メモリ5と、表示メモリ5から出力される表示用データに基づく表示を行う表示装置6と、キーボード7と、ポインティングデバイス8と、ポインティングデバイス8の状態を検出して表示装置6の表示画面上のポインタ位置やポインティングデバイス8の状態等の信号をCPU1に出力するポインティングデバイスコントローラ9と、上記の各構成要素を接続するバス10とを備える。
【0022】
元帳から見出しを作成するために必要なプログラムはハードディスク装置3あるいは上記光ディスクに記憶される。同様に、元帳もハードディスク装置3あるいは上記光ディスクに記憶される。図1に示す本発明の一実施形態に係る見出し作成装置で用いられる元帳の一例を図2に示す。
【0023】
図2に示す元帳は、図16に示す従来の元帳とは異なり、アイテム(個人)毎に、個人名を見出しに採用するか否かに関する設定情報(1bitの情報)と、会社名を見出しに採用するか否かに関する設定情報(1bitの情報)とが設けられている。図2において、見出しに採用するものには○が付されている。図2に示す元帳では、個人名と会社名の2つが請求項に記載されている「見出し候補項目」に該当する。
【0024】
会社名よりも個人名の方が重要である個人データについては、例えば、図2に示す元帳におけるアイテム番号0の個人データのように個人名のみを見出しに採用すればよい。これに対して、個人名よりも会社名の方が重要である個人データについては、例えば、図2に示す元帳におけるアイテム番号2の個人データのように会社名のみを見出しに採用すればよい。また、個人名と会社名の両方が重要である個人データについては、例えば、図2に示す元帳におけるアイテム番号4の個人データのように個人名と会社名の両方を見出しに採用すればよい。なお、秘密情報であって取り扱いに特に注意が必要な個人データについては、個人名と会社名の両方を見出しに採用しないようにすることもできる。なお、個人名と会社名の両方を見出しに採用しないようにした個人データは、見出し表示されないため、見出しからの指定ができないという問題が生じる。この問題を解消するために、例えば、図17に示す見出しや図18に示す見出し等の従来の見出し(「見出し候補項目」に依存しない見出し)も作成可能とし、この従来の見出しから指定を行うようにすればよい。
【0025】
図3は、図1に示す本発明の一実施形態に係る見出し作成装置が行う処理ルーチンを示すフローチャートである。
【0026】
ステップS10では、表示装置6に新規登録画面が表示されている状態で、キーボード7によるキー入力で図4に示すように新規登録画面中の斜線部欄にデータが入力されると、その1アイテム分の入力データがEntryDataとなる。なお、図4に示す新規登録画面に表示されているアイテム番号は、新規登録が元帳に反映される前の元帳の最終アイテム番号に続く値になっている。また、新規登録画面において、見出し選択の○が、default(初期値)として個人名側につくようにしてもよい。
【0027】
ステップS10に続くステップS20では、表示装置6に元帳や見出しが表示されている状態で、或るアイテムがキーボード7によるキー入力で指定されると、その指定を示す値がItem_Selとなる。
【0028】
ステップS20に続くステップS30では、CPU1は、キーボード7やポインティングデバイス8によって新規登録の実行が指示されたかを判定する。新規登録の実行が指示されていれば(ステップS30のY)、ステップS40に移行する。一方、新規登録の実行が指示されていなければ(ステップS30のN)、ステップS50に移行する。
【0029】
ステップS50では、CPU1は、キーボード7やポインティングデバイス8によって1アイテム分のデータ削除の実行が指示されたかを判定する。1アイテム分のデータ削除の実行が指示されていれば(ステップS50のY)、ステップS60に移行する。一方、1アイテム分のデータ削除の実行が指示されていなければ(ステップS50のN)、ステップS70に移行する。
【0030】
ステップS70では、CPU1は、キーボード7やポインティングデバイス8によって1アイテム分のデータ編集の実行が指示されたかを判定する。1アイテム分のデータ編集の実行が指示されていれば(ステップS70のY)、ステップS80に移行する。一方、1アイテム分のデータ編集の実行が指示されていなければ(ステップS70のN)、ステップS90に移行する。
【0031】
ステップS90では、CPU1は、表示装置6に見出しが表示されている状態で、或るアイテムが指定されたかを判定する。或るアイテムが指定されていれば(ステップS90のY)、ステップS100に移行する。一方、或るアイテムが指定されていなければ(ステップS90のN)、ステップS10に移行する。
【0032】
ステップS40では、図5に示すサブルーチン処理が実行される。まず、パラメータiをNとする(ステップS41)。ここで、Nは元帳のアイテム数であり、図2に示す元帳の場合は8になる。続いて、i番目アイテムとして1アイテム分を元帳に追加する(ステップS42)。このように元帳のサイズが変更する場合、一般的に、動的メモリアロケーション(malloc等)を利用してそのメモリ領域を取得するが、当該処理は周知技術であって本発明の本質部分ではないため、その説明を省略する。後述するリンクリストのサイズが変更する場合も同様に動的メモリアロケーションが利用されるが、同様にその説明を省略する。
【0033】
ステップS42の後、元帳のi番目アイテムにステップS10で入力されたデータEntryDataを書き込み、現状のNに1を加えた値を新たなNとし(ステップS44)、図5に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0034】
ステップS60では、図6に示すサブルーチン処理が実行される。まず、削除を指定されたアイテムのItem_Sel(削除をすべきアイテムのアイテム番号)がNより小さいかを判定する(ステップS61)。
【0035】
元帳には0〜N−1のアイテム番号しか存在しないため、削除を指定されたアイテムのItem_Sel(削除をすべきアイテムのアイテム番号)がNより小さくなければ(ステップS61のN)、削除の指定に誤りがある旨のエラー表示を行い(ステップS64)、図6に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0036】
一方、削除を指定されたアイテムのItem_Sel(削除をすべきアイテムのアイテム番号)がNより小さければ(ステップS61のY)、パラメータiをItem_Selとする(ステップS62)。そして、i番目アイテムを元帳から削除し(ステップS63)、図6に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。なお、i番目アイテムを元帳から削除した後、i+1番目アイテムのアイテム番号を1つずつ繰り上げる。
【0037】
ステップS80では、元帳のアイテム数の増減は無く、個人データの内容を一部変更する。個人データの内容を一部変更するための編集画面は、図4に示す新規登録画面と同様の画面にするとよい。
【0038】
ステップS100では、図7に示すサブルーチン処理が実行され、指定アイテムを表示するが、当該処理については見出しについて詳細に説明した後に説明する。
【0039】
ステップS40、S60、S80、S100のいずれかの処理が終了すると、ステップS200に移行する。ステップS200では、リンクリストを作成するために図8に示すサブルーチン処理が実行される。
【0040】
なお、見出しを作成するためのアイテムの並び替え(ソート)を元帳自体で行うと、ソートに時間がかかってしまうため、本実施形態のように、リンクリストをまず作成し、そのリンクリストをソートし、そのソートしたリンクリストに基づいて見出しを作成する方法が一般的である。
【0041】
まず、パラメータiとパラメータjをともに0とする(ステップS201)。次に、パラメータiが元帳のアイテム数Nと等しいかを判定する(ステップS202)。
【0042】
パラメータiが元帳のアイテム数Nと等しければ(ステップS202のY)、リンクリストのアイテム数を示すパラメータNLをjとし(ステップS211)、図8に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。なお、リンクリストのアイテム数を示すパラメータNLは、元帳の全アイテムにおいて見出しの会社および個人に○が付かない場合は0になり、元帳の全アイテムにおいて見出しの会社および個人に○が付く場合は2Nになる。すなわち、本実施形態では、従来の元帳およびリンクリストとは異なり、元帳のアイテム数とリンクリストのアイテム数が必ずしも一致しない。このため、NLの値の数だけアイテムを有するリンクリストを作成する方法と、2Nのアイテムを有するリンクリストを作成し、使用しないアイテムにはnullを入れて対処する方法とが考えられるが、本実施形態では前者の方法を採用している。
【0043】
一方、パラメータiが元帳のアイテム数Nと等しくなければ(ステップS202のN)、元帳のi番目アイテムにおいて見出しの会社に関する属性データ(○が付いている場合は1となり、○が付いていない場合は0となる)が1であるかを判定する(ステップS203)。見出しの会社に関する属性データが1でなければ(ステップS203のN)、直ちにステップS207に移行する。一方、見出しの会社に関する属性データが1であれば(ステップS203のY)、j番目アイテムをリンクリスト(LINK_LIST)に追加し(ステップS204)、リンクリストのj番目アイテムの付帯情報(LINK_LIST(j).COMP)を「会社」にする(ステップS205)。なお、リンクリストの付帯情報は、「個人」の場合は0になり、「会社」の場合は1になる。
【0044】
そして、ステップS205の処理後、リンクリストのj番目アイテムのポインタ(LINK_LIST(j).Pointer)を元帳のi番目アイテムのアドレスにし、さらにその後、現状のjに1を加えた値を新たなjとし(ステップS206)、ステップS207に移行する。
【0045】
ステップS207では、元帳のi番目アイテムにおいて見出しの個人に関する属性データ(○が付いている場合は1となり、○が付いていない場合は0となる)が1であるかを判定する。見出しの個人に関する属性データが1でなければ(ステップS207のN)、直ちにステップS202に移行する。一方、見出しの個人に関する属性データが1であれば(ステップS207のY)、j番目アイテムをリンクリスト(LINK_LIST)に追加し(ステップS208)、リンクリストのj番目アイテムの付帯情報(LINK_LIST(j).COMP)を「個人」すなわち0にする(ステップS209)。
【0046】
そして、ステップS209の処理後、リンクリストのj番目アイテムのポインタ(LINK_LIST(j).Pointer)を元帳のi番目アイテムのアドレスにし、さらにその後、現状のjに1を加えた値を新たなjとし(ステップS210)、ステップS202に移行する。
【0047】
例えば元帳が図2に示す元帳である場合、図8に示すサブルーチン処理の終了後には、図9に示すリンクリスト(ソート前のリンクリスト)が作成されている。
【0048】
ステップS200の処理が終了すると、ステップS300に移行する。ステップS300では、リンクリストをソートするために図10に示すサブルーチン処理が実行される。
【0049】
ソートの手法は種々開発されており、本発明において用いることができるソートに特に制限はないが、図10に示すサブルーチン処理では、ソートの一例としてバブルソートを採用している。
【0050】
まず、パラメータsとパラメータExchangeをともに0とする(ステップS301)。次に、リンクリストのs番目アイテムの付帯情報(LINK_LIST(s).COMP)が「会社」であるかを判定する(ステップS302)。
【0051】
リンクリストのs番目アイテムの付帯情報が「会社」でなければ(ステップS302のN)、上データ(TempU_String)を、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている個人名ふりがなのデータとし、ステップS305に移行する。一方、リンクリストのs番目アイテムの付帯情報が「会社」であれば(ステップS302のY)、上データ(TempU_String)を、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている会社名ふりがなのデータとし、ステップS305に移行する。
【0052】
ステップS305では、リンクリストのs+1番目アイテムの付帯情報(LINK_LIST(s+1).COMP)が「会社」であるかを判定する。
【0053】
リンクリストのs+1番目アイテムの付帯情報が「会社」でなければ(ステップS305のN)、下データ(TempD_String)を、リンクリストのs+1番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている個人名ふりがなのデータとし、ステップS308に移行する。一方、リンクリストのs+1番目アイテムの付帯情報が「会社」であれば(ステップS305のY)、下データ(TempD_String)を、リンクリストのs+1番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている会社名ふりがなのデータとし、ステップS308に移行する。
【0054】
ステップS308では、上データと下データとが五十音順に並んでいるかを判定する。下データの方が上データよりも「あ」に近く上データと下データとが五十音順と逆に並んでいれば(ステップS308のY)、リンクリストのs番目アイテムとs+1番目アイテムとを入れ替え(ステップS309〜S311)、パラメータExchangeを1にし(ステップS312)、その後ステップS313に移行する。なお、リンクリストでは、アイテム毎に付帯情報とポインタが組になっているので、s番目アイテムとs+1番目アイテムとを入れ替えでは組毎に入れ替えが実行される。一方、上データの方が下データよりも「あ」に近く上データと下データとが五十音順に並んでいれば(ステップS308のN)、直ちにステップS313に移行する。
【0055】
ステップS313では、現状のsに1を加えた値を新たなsにする。ステップS313に続くステップS314において、sがリンクリストのアイテム数NLから1を引いた値になっているかを判定する。sがリンクリストのアイテム数NLから1を引いた値になっていなければ(ステップS314のN)、ステップS302に移行する。一方、sがリンクリストのアイテム数NLから1を引いた値になっていれば(ステップS314のY)、Exchangeが0であるかを判定する(ステップS315)。
【0056】
Exchangeが0でなければ(ステップS315のN)、ステップS301に移行する。一方、Exchangeが0であれば(ステップS315のY)、図10に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0057】
例えば元帳が図2に示す元帳である場合、図10に示すサブルーチン処理の終了後には、図11に示すリンクリスト(ソート後のリンクリスト)が作成されている。この作成されたソート後のリンクリストは、見出しが表示され、その見出しから指定アイテムが指定された後は削除することが可能であるが、元帳に変化がなければ再度見出しを表示する際に再利用することができるので、削除せずにハードディスク装置3あるいは上記光ディスクに記憶しておくことが望ましい。
【0058】
ステップS300の処理が終了すると、ステップS400に移行する。ステップS400では、見出しを表示するために図12に示すサブルーチン処理が実行される。
【0059】
まず、パラメータsを0としパラメータCharふりがなDを“ ”(スペース)とする(ステップS401)。次に、リンクリストのs番目アイテムの付帯情報(LINK_LIST(s).COMP)が「会社」であるかを判定する(ステップS402)。
【0060】
リンクリストのs番目アイテムの付帯情報が「会社」でなければ(ステップS402のN)、見出しデータ(Temp_String)を、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている個人名漢字名のデータとし(ステップS403)、さらに、変数CharふりがなTを、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている個人名ふりがなの一番左の文字とし(ステップS404)、ステップS407に移行する。一方、リンクリストのs番目アイテムの付帯情報が「会社」であれば(ステップS402のY)、見出しデータ(Temp_String)を、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている会社名漢字名のデータとし(ステップS405)、さらに、変数CharふりがなTを、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている会社名ふりがなの一番左の文字とし(ステップS406)、ステップS407に移行する。
【0061】
ステップS407では、パラメータCharふりがなDが変数CharふりがなTと一致するかを判定する。パラメータCharふりがなDが変数CharふりがなTと一致すれば(ステップS407のY)、“ ”(スペース)を表示装置6に表示させ(ステップS408)、ステップS411に移行する。一方、パラメータCharふりがなDが変数CharふりがなTと一致しなければ(ステップS407のN)、パラメータCharふりがなDを変数CharふりがなTとし(ステップS409)、パラメータCharふりがなDと“ ”(スペース)を表示装置6に表示させ(ステップS410)、ステップS411に移行する。
【0062】
ステップS411では、見出しデータ(Temp_String)を表示装置6に表示させ、表示開始位置を改行し、その後ステップS412に移行する。
【0063】
ステップS412では、現状のsに1を加えた値を新たなsにする。ステップS412に続くステップS413において、sがリンクリストのアイテム数NLになっているかを判定する。sがリンクリストのアイテム数NLになっていなければ(ステップS413のN)、ステップS402に移行する。一方、sがリンクリストのアイテム数NLになっていれば(ステップS413のY)、図12に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0064】
例えば元帳が図2に示す元帳である場合、図12に示すサブルーチン処理の終了後には、図13に示す見出しが表示装置6に表示される。図1に示す本発明の一実施形態に係る見出し作成装置では、図13に示す見出しのような個人名と会社名とが混在した見出しを作成することができるため、従来の見出し作成装置に比べて利便性が向上する。なお、見出し表示の際に、電話番号等の他の属性データも付随して表示されてもよい。
【0065】
ステップS400の処理が終了すると、ステップS10に移行する。
【0066】
上述したステップS100でのアイテムの指定は、見出しが表示装置6に表示されている状態で、キーボード7によるキー入力で所望のアイテムを指定することで実行される。図7に示す指定アイテム表示のサブルーチンでは、まず、まず、指定されたアイテムに対応するItem_Sel(指定されたアイテムに対応するリンクリストのアイテム番号)がNLより小さいかを判定する(ステップS101)。
【0067】
リンクリストのアイテム数はNLであり、指定されたアイテムに対応するリンクリストのアイテム番号は0〜NL−1のいずれかであるから、Item_SelがNLより小さくなければ(ステップS101のN)、指定に誤りがある旨のエラー表示を行い(ステップS105)、図7に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0068】
一方、Item_SelがNLより小さければ(ステップS101のY)、パラメータjをItem_Selとする(ステップS102)。そして、リンクリストのj番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されているデータを読み出し(ステップS103)、“個人名 会社名 電話番号 コメント”を表示装置6に表示させ、表示開始位置を改行してからステップS103で読み出したデータのうち、“個人名漢字 会社名漢字 電話番号 コメント”を表示装置6に表示させ、表示開始位置を改行し(ステップS104)、図7に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0069】
例えば元帳が図2に示す元帳であって図13に示す見出しが表示されている場合、図13に示す見出しから国際五郎を指定しても(株)抄録を指定しても、図14に示す指定アイテム表示画面が表示装置6に表示される。また、例えば、図13に示す見出しから条約八郎を指定すると、図15に示す指定アイテム表示画面が表示装置6に表示される。
【0070】
なお、上述した実施形態では、或るアイテムに関して個人名と会社名の両方を見出しに採用することや或るアイテムに関して個人名と会社名の両方とも見出しに採用しないことが可能であったが、元帳の見出しに関するデータを1bitにし、各アイテムに関して個人名と会社名のいずれか一方のみを見出しに採用するようにしてもよい。この場合、リンクリストのアイテム数は必ず元帳のアイテム数と一致することになる。
【0071】
なお、上述した実施形態では、個人名と会社名の2つの属性項目のデータが混在した見出しを作成することができる見出し作成装置について説明したが、本発明はこれに限定されるものではなく、3つ以上の属性項目のデータが混在した見出しを作成することができる見出し作成装置も含まれる。例えば、元帳にニックネームの属性項目を追加し、見出しのニックネームの項目も追加して見出しに関するデータを各アイテムで3bitのデータとすることで、個人名と会社名とニックネームの3つの属性項目のデータが混在した見出しを作成することができる。
【符号の説明】
【0072】
1 CPU
2 RAM
3 ハードディスク装置
4 光ディスク装置
5 表示メモリ
6 表示装置
7 キーボード
8 ポインティングデバイス
9 ポインティングデバイスコントローラ
10 バス
【技術分野】
【0001】
本発明は、データ構造の見出しを作成する見出し作成装置及び見出し作成プログラムに関する。
【背景技術】
【0002】
複数の属性項目に対応する複数の属性データを含むアイテムを複数格納しているデータ構造(以下、元帳ともいう)が、パーソナルコンピュータ、スマートフォン等の各種情報処理装置において利用されている。
【0003】
元帳の一例として、一般に電話帳と呼ばれるものがある。この電話帳と呼ばれる元帳では、個人名、会社名、電話番号、コメント等の複数の属性データを含む個人データがアイテム(個人)毎に入力(登録)されている。この電話帳の一例を図16に示す。
【0004】
元帳におけるアイテムの並び方は、通常図16に示す例のように、入力(登録)順になっており、規則性がない。そこで、情報処理装置のユーザが所望のアイテムを探し出すことを容易にするために、特定の属性項目に対応する属性データを五十音順やアルファベット順等に並び替えた見出しが作成される。
【0005】
図16に示す電話帳において個人名を五十音順で並び替えて見出しを作成すると、図17に示す見出しとなる。一方、図16に示す電話帳において会社名を五十音順で並び替えて見出しを作成すると、図18に示す見出しとなる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】実開平5−17753号公報
【特許文献2】特開2010−148076号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ここで、図16に示す電話帳の作成者にとって、アイテム番号0の特許一郎氏は、株式会社公開電気に勤めているが、友人であるので、会社名よりも個人名の方が重要であり、アイテム番号2の意匠三郎氏は、公告商事株式会社の担当者で、仕事上の関係者であるが、担当者が頻繁に変わることから、個人名よりも会社名の方が重要であるとする。
【0008】
そうすると、特許一郎氏の個人データを読み出す場合には、図18に示す見出しよりも図17に示す見出しの方が図16に示す電話帳の作成者にとって便利であり、意匠三郎氏の個人データを読み出す場合には、図17に示す見出しよりも図18に示す見出しの方が図16に示す電話帳の作成者にとって便利である。
【0009】
しかしながら、読み出したい個人データに応じて適切な見出しを切り替える作業が煩わしいという問題があった。
【0010】
本発明は、上記の状況に鑑み、利便性の高い見出し作成装置及び見出し作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために本発明に係る見出し作成装置は、複数の属性項目に対応する複数の属性データを含むアイテムを複数格納しているデータ構造の見出しを作成する見出し作成装置であって、前記データ構造が、前記複数の属性項目の中の少なくとも2つが見出し候補項目であって、前記アイテム毎に前記見出し候補項目の採否が設定されているデータ構造であり、前記アイテム各々において前記見出し候補項目のうち見出しに採用されている属性項目に対応する属性データを取得し、その取得した属性データを所定の順序に並び替えた見出しを作成する構成とする。
【0012】
このような構成によると、複数の見出しを作成し、読み出したいアイテムに応じて適切な見出しを切り替える作業を行う必要がなくなるので、利便性が向上する。
【0013】
また、上記構成の見出し作成装置において、前記データ構造が、前記アイテム毎に前記見出し候補項目を複数採用することが可能なデータ構造であるようにしてもよい。
【0014】
このような構成によると、1つのアイテムに含まれる複数の属性データを1つの見出しに同時に出すことができ、利便性がより一層向上する。
【0015】
また、上記いずれかの構成の見出し作成装置において、前記データ構造が、前記アイテム毎に前記見出し候補項目を一つも採用しないことが可能なデータ構造であるようにしてもよい。
【0016】
このような構成によると、見出しに出したくないアイテムを見出しに出さないようにすることができ、利便性がより一層向上する。
【0017】
上記目的を達成するために本発明に係る見出し作成プログラムは、コンピュータを、上記いずれかの構成の見出し作成装置として機能させるためのプログラムとする。
【発明の効果】
【0018】
本発明によると、複数の見出しを作成し、読み出したいアイテムに応じて適切な見出しを切り替える作業を行う必要がなくなるので、利便性が向上する。
【図面の簡単な説明】
【0019】
【図1】図1に示す本発明の一実施形態に係る見出し作成装置を示す図である。
【図2】図1に示す本発明の一実施形態に係る見出し作成装置で用いられる元帳の一例を示す図である。
【図3】図1に示す本発明の一実施形態に係る見出し作成装置が行う処理ルーチンを示すフローチャートである。
【図4】新規登録画面を示す図である。
【図5】新規登録のサブルーチンを示すフローチャートである。
【図6】削除のサブルーチンを示すフローチャートである。
【図7】指定アイテム表示のサブルーチンを示すフローチャートである。
【図8】リンクリスト作成のサブルーチンを示すフローチャートである。
【図9】ソート前のリンクリストの一例を示す図である。
【図10】ソートのサブルーチンを示すフローチャートである。
【図11】ソート後のリンクリストの一例を示す図である。
【図12】見出し表示のサブルーチンを示すフローチャートである。
【図13】見出し表示の一例を示す図である。
【図14】指定アイテム表示画面の一例を示す図である。
【図15】指定アイテム表示画面の他の例を示す図である。
【図16】従来の電話帳の一例を示す図である。
【図17】図16に示す電話帳において個人名を五十音順で並び替えて作成された見出しを示す図である。
【図18】図16に示す電話帳において会社名を五十音順で並び替えて作成された見出しを示す図である。
【発明を実施するための形態】
【0020】
本発明の実施形態について図面を参照して以下に説明する。
【0021】
図1に示す本発明の一実施形態に係る見出し作成装置は、パーソナルコンピュータであり、パーソナルコンピュータ全体の制御を司るCPU(Central Processing Unit)1と、CPU1の主メモリでありプログラム実行時の作業領域となるRAM(Random Access Memory)2と、パーソナルコンピュータのオペレーティングシステム(OS)や各種のアプリケーションソフトウェア等を記憶しているハードディスク装置3と、光ディスクからの読み込みや光ディスクへの読み書きが可能な光ディスク装置4と、表示用データを一時記憶する表示メモリ5と、表示メモリ5から出力される表示用データに基づく表示を行う表示装置6と、キーボード7と、ポインティングデバイス8と、ポインティングデバイス8の状態を検出して表示装置6の表示画面上のポインタ位置やポインティングデバイス8の状態等の信号をCPU1に出力するポインティングデバイスコントローラ9と、上記の各構成要素を接続するバス10とを備える。
【0022】
元帳から見出しを作成するために必要なプログラムはハードディスク装置3あるいは上記光ディスクに記憶される。同様に、元帳もハードディスク装置3あるいは上記光ディスクに記憶される。図1に示す本発明の一実施形態に係る見出し作成装置で用いられる元帳の一例を図2に示す。
【0023】
図2に示す元帳は、図16に示す従来の元帳とは異なり、アイテム(個人)毎に、個人名を見出しに採用するか否かに関する設定情報(1bitの情報)と、会社名を見出しに採用するか否かに関する設定情報(1bitの情報)とが設けられている。図2において、見出しに採用するものには○が付されている。図2に示す元帳では、個人名と会社名の2つが請求項に記載されている「見出し候補項目」に該当する。
【0024】
会社名よりも個人名の方が重要である個人データについては、例えば、図2に示す元帳におけるアイテム番号0の個人データのように個人名のみを見出しに採用すればよい。これに対して、個人名よりも会社名の方が重要である個人データについては、例えば、図2に示す元帳におけるアイテム番号2の個人データのように会社名のみを見出しに採用すればよい。また、個人名と会社名の両方が重要である個人データについては、例えば、図2に示す元帳におけるアイテム番号4の個人データのように個人名と会社名の両方を見出しに採用すればよい。なお、秘密情報であって取り扱いに特に注意が必要な個人データについては、個人名と会社名の両方を見出しに採用しないようにすることもできる。なお、個人名と会社名の両方を見出しに採用しないようにした個人データは、見出し表示されないため、見出しからの指定ができないという問題が生じる。この問題を解消するために、例えば、図17に示す見出しや図18に示す見出し等の従来の見出し(「見出し候補項目」に依存しない見出し)も作成可能とし、この従来の見出しから指定を行うようにすればよい。
【0025】
図3は、図1に示す本発明の一実施形態に係る見出し作成装置が行う処理ルーチンを示すフローチャートである。
【0026】
ステップS10では、表示装置6に新規登録画面が表示されている状態で、キーボード7によるキー入力で図4に示すように新規登録画面中の斜線部欄にデータが入力されると、その1アイテム分の入力データがEntryDataとなる。なお、図4に示す新規登録画面に表示されているアイテム番号は、新規登録が元帳に反映される前の元帳の最終アイテム番号に続く値になっている。また、新規登録画面において、見出し選択の○が、default(初期値)として個人名側につくようにしてもよい。
【0027】
ステップS10に続くステップS20では、表示装置6に元帳や見出しが表示されている状態で、或るアイテムがキーボード7によるキー入力で指定されると、その指定を示す値がItem_Selとなる。
【0028】
ステップS20に続くステップS30では、CPU1は、キーボード7やポインティングデバイス8によって新規登録の実行が指示されたかを判定する。新規登録の実行が指示されていれば(ステップS30のY)、ステップS40に移行する。一方、新規登録の実行が指示されていなければ(ステップS30のN)、ステップS50に移行する。
【0029】
ステップS50では、CPU1は、キーボード7やポインティングデバイス8によって1アイテム分のデータ削除の実行が指示されたかを判定する。1アイテム分のデータ削除の実行が指示されていれば(ステップS50のY)、ステップS60に移行する。一方、1アイテム分のデータ削除の実行が指示されていなければ(ステップS50のN)、ステップS70に移行する。
【0030】
ステップS70では、CPU1は、キーボード7やポインティングデバイス8によって1アイテム分のデータ編集の実行が指示されたかを判定する。1アイテム分のデータ編集の実行が指示されていれば(ステップS70のY)、ステップS80に移行する。一方、1アイテム分のデータ編集の実行が指示されていなければ(ステップS70のN)、ステップS90に移行する。
【0031】
ステップS90では、CPU1は、表示装置6に見出しが表示されている状態で、或るアイテムが指定されたかを判定する。或るアイテムが指定されていれば(ステップS90のY)、ステップS100に移行する。一方、或るアイテムが指定されていなければ(ステップS90のN)、ステップS10に移行する。
【0032】
ステップS40では、図5に示すサブルーチン処理が実行される。まず、パラメータiをNとする(ステップS41)。ここで、Nは元帳のアイテム数であり、図2に示す元帳の場合は8になる。続いて、i番目アイテムとして1アイテム分を元帳に追加する(ステップS42)。このように元帳のサイズが変更する場合、一般的に、動的メモリアロケーション(malloc等)を利用してそのメモリ領域を取得するが、当該処理は周知技術であって本発明の本質部分ではないため、その説明を省略する。後述するリンクリストのサイズが変更する場合も同様に動的メモリアロケーションが利用されるが、同様にその説明を省略する。
【0033】
ステップS42の後、元帳のi番目アイテムにステップS10で入力されたデータEntryDataを書き込み、現状のNに1を加えた値を新たなNとし(ステップS44)、図5に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0034】
ステップS60では、図6に示すサブルーチン処理が実行される。まず、削除を指定されたアイテムのItem_Sel(削除をすべきアイテムのアイテム番号)がNより小さいかを判定する(ステップS61)。
【0035】
元帳には0〜N−1のアイテム番号しか存在しないため、削除を指定されたアイテムのItem_Sel(削除をすべきアイテムのアイテム番号)がNより小さくなければ(ステップS61のN)、削除の指定に誤りがある旨のエラー表示を行い(ステップS64)、図6に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0036】
一方、削除を指定されたアイテムのItem_Sel(削除をすべきアイテムのアイテム番号)がNより小さければ(ステップS61のY)、パラメータiをItem_Selとする(ステップS62)。そして、i番目アイテムを元帳から削除し(ステップS63)、図6に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。なお、i番目アイテムを元帳から削除した後、i+1番目アイテムのアイテム番号を1つずつ繰り上げる。
【0037】
ステップS80では、元帳のアイテム数の増減は無く、個人データの内容を一部変更する。個人データの内容を一部変更するための編集画面は、図4に示す新規登録画面と同様の画面にするとよい。
【0038】
ステップS100では、図7に示すサブルーチン処理が実行され、指定アイテムを表示するが、当該処理については見出しについて詳細に説明した後に説明する。
【0039】
ステップS40、S60、S80、S100のいずれかの処理が終了すると、ステップS200に移行する。ステップS200では、リンクリストを作成するために図8に示すサブルーチン処理が実行される。
【0040】
なお、見出しを作成するためのアイテムの並び替え(ソート)を元帳自体で行うと、ソートに時間がかかってしまうため、本実施形態のように、リンクリストをまず作成し、そのリンクリストをソートし、そのソートしたリンクリストに基づいて見出しを作成する方法が一般的である。
【0041】
まず、パラメータiとパラメータjをともに0とする(ステップS201)。次に、パラメータiが元帳のアイテム数Nと等しいかを判定する(ステップS202)。
【0042】
パラメータiが元帳のアイテム数Nと等しければ(ステップS202のY)、リンクリストのアイテム数を示すパラメータNLをjとし(ステップS211)、図8に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。なお、リンクリストのアイテム数を示すパラメータNLは、元帳の全アイテムにおいて見出しの会社および個人に○が付かない場合は0になり、元帳の全アイテムにおいて見出しの会社および個人に○が付く場合は2Nになる。すなわち、本実施形態では、従来の元帳およびリンクリストとは異なり、元帳のアイテム数とリンクリストのアイテム数が必ずしも一致しない。このため、NLの値の数だけアイテムを有するリンクリストを作成する方法と、2Nのアイテムを有するリンクリストを作成し、使用しないアイテムにはnullを入れて対処する方法とが考えられるが、本実施形態では前者の方法を採用している。
【0043】
一方、パラメータiが元帳のアイテム数Nと等しくなければ(ステップS202のN)、元帳のi番目アイテムにおいて見出しの会社に関する属性データ(○が付いている場合は1となり、○が付いていない場合は0となる)が1であるかを判定する(ステップS203)。見出しの会社に関する属性データが1でなければ(ステップS203のN)、直ちにステップS207に移行する。一方、見出しの会社に関する属性データが1であれば(ステップS203のY)、j番目アイテムをリンクリスト(LINK_LIST)に追加し(ステップS204)、リンクリストのj番目アイテムの付帯情報(LINK_LIST(j).COMP)を「会社」にする(ステップS205)。なお、リンクリストの付帯情報は、「個人」の場合は0になり、「会社」の場合は1になる。
【0044】
そして、ステップS205の処理後、リンクリストのj番目アイテムのポインタ(LINK_LIST(j).Pointer)を元帳のi番目アイテムのアドレスにし、さらにその後、現状のjに1を加えた値を新たなjとし(ステップS206)、ステップS207に移行する。
【0045】
ステップS207では、元帳のi番目アイテムにおいて見出しの個人に関する属性データ(○が付いている場合は1となり、○が付いていない場合は0となる)が1であるかを判定する。見出しの個人に関する属性データが1でなければ(ステップS207のN)、直ちにステップS202に移行する。一方、見出しの個人に関する属性データが1であれば(ステップS207のY)、j番目アイテムをリンクリスト(LINK_LIST)に追加し(ステップS208)、リンクリストのj番目アイテムの付帯情報(LINK_LIST(j).COMP)を「個人」すなわち0にする(ステップS209)。
【0046】
そして、ステップS209の処理後、リンクリストのj番目アイテムのポインタ(LINK_LIST(j).Pointer)を元帳のi番目アイテムのアドレスにし、さらにその後、現状のjに1を加えた値を新たなjとし(ステップS210)、ステップS202に移行する。
【0047】
例えば元帳が図2に示す元帳である場合、図8に示すサブルーチン処理の終了後には、図9に示すリンクリスト(ソート前のリンクリスト)が作成されている。
【0048】
ステップS200の処理が終了すると、ステップS300に移行する。ステップS300では、リンクリストをソートするために図10に示すサブルーチン処理が実行される。
【0049】
ソートの手法は種々開発されており、本発明において用いることができるソートに特に制限はないが、図10に示すサブルーチン処理では、ソートの一例としてバブルソートを採用している。
【0050】
まず、パラメータsとパラメータExchangeをともに0とする(ステップS301)。次に、リンクリストのs番目アイテムの付帯情報(LINK_LIST(s).COMP)が「会社」であるかを判定する(ステップS302)。
【0051】
リンクリストのs番目アイテムの付帯情報が「会社」でなければ(ステップS302のN)、上データ(TempU_String)を、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている個人名ふりがなのデータとし、ステップS305に移行する。一方、リンクリストのs番目アイテムの付帯情報が「会社」であれば(ステップS302のY)、上データ(TempU_String)を、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている会社名ふりがなのデータとし、ステップS305に移行する。
【0052】
ステップS305では、リンクリストのs+1番目アイテムの付帯情報(LINK_LIST(s+1).COMP)が「会社」であるかを判定する。
【0053】
リンクリストのs+1番目アイテムの付帯情報が「会社」でなければ(ステップS305のN)、下データ(TempD_String)を、リンクリストのs+1番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている個人名ふりがなのデータとし、ステップS308に移行する。一方、リンクリストのs+1番目アイテムの付帯情報が「会社」であれば(ステップS305のY)、下データ(TempD_String)を、リンクリストのs+1番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている会社名ふりがなのデータとし、ステップS308に移行する。
【0054】
ステップS308では、上データと下データとが五十音順に並んでいるかを判定する。下データの方が上データよりも「あ」に近く上データと下データとが五十音順と逆に並んでいれば(ステップS308のY)、リンクリストのs番目アイテムとs+1番目アイテムとを入れ替え(ステップS309〜S311)、パラメータExchangeを1にし(ステップS312)、その後ステップS313に移行する。なお、リンクリストでは、アイテム毎に付帯情報とポインタが組になっているので、s番目アイテムとs+1番目アイテムとを入れ替えでは組毎に入れ替えが実行される。一方、上データの方が下データよりも「あ」に近く上データと下データとが五十音順に並んでいれば(ステップS308のN)、直ちにステップS313に移行する。
【0055】
ステップS313では、現状のsに1を加えた値を新たなsにする。ステップS313に続くステップS314において、sがリンクリストのアイテム数NLから1を引いた値になっているかを判定する。sがリンクリストのアイテム数NLから1を引いた値になっていなければ(ステップS314のN)、ステップS302に移行する。一方、sがリンクリストのアイテム数NLから1を引いた値になっていれば(ステップS314のY)、Exchangeが0であるかを判定する(ステップS315)。
【0056】
Exchangeが0でなければ(ステップS315のN)、ステップS301に移行する。一方、Exchangeが0であれば(ステップS315のY)、図10に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0057】
例えば元帳が図2に示す元帳である場合、図10に示すサブルーチン処理の終了後には、図11に示すリンクリスト(ソート後のリンクリスト)が作成されている。この作成されたソート後のリンクリストは、見出しが表示され、その見出しから指定アイテムが指定された後は削除することが可能であるが、元帳に変化がなければ再度見出しを表示する際に再利用することができるので、削除せずにハードディスク装置3あるいは上記光ディスクに記憶しておくことが望ましい。
【0058】
ステップS300の処理が終了すると、ステップS400に移行する。ステップS400では、見出しを表示するために図12に示すサブルーチン処理が実行される。
【0059】
まず、パラメータsを0としパラメータCharふりがなDを“ ”(スペース)とする(ステップS401)。次に、リンクリストのs番目アイテムの付帯情報(LINK_LIST(s).COMP)が「会社」であるかを判定する(ステップS402)。
【0060】
リンクリストのs番目アイテムの付帯情報が「会社」でなければ(ステップS402のN)、見出しデータ(Temp_String)を、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている個人名漢字名のデータとし(ステップS403)、さらに、変数CharふりがなTを、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている個人名ふりがなの一番左の文字とし(ステップS404)、ステップS407に移行する。一方、リンクリストのs番目アイテムの付帯情報が「会社」であれば(ステップS402のY)、見出しデータ(Temp_String)を、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている会社名漢字名のデータとし(ステップS405)、さらに、変数CharふりがなTを、リンクリストのs番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されている会社名ふりがなの一番左の文字とし(ステップS406)、ステップS407に移行する。
【0061】
ステップS407では、パラメータCharふりがなDが変数CharふりがなTと一致するかを判定する。パラメータCharふりがなDが変数CharふりがなTと一致すれば(ステップS407のY)、“ ”(スペース)を表示装置6に表示させ(ステップS408)、ステップS411に移行する。一方、パラメータCharふりがなDが変数CharふりがなTと一致しなければ(ステップS407のN)、パラメータCharふりがなDを変数CharふりがなTとし(ステップS409)、パラメータCharふりがなDと“ ”(スペース)を表示装置6に表示させ(ステップS410)、ステップS411に移行する。
【0062】
ステップS411では、見出しデータ(Temp_String)を表示装置6に表示させ、表示開始位置を改行し、その後ステップS412に移行する。
【0063】
ステップS412では、現状のsに1を加えた値を新たなsにする。ステップS412に続くステップS413において、sがリンクリストのアイテム数NLになっているかを判定する。sがリンクリストのアイテム数NLになっていなければ(ステップS413のN)、ステップS402に移行する。一方、sがリンクリストのアイテム数NLになっていれば(ステップS413のY)、図12に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0064】
例えば元帳が図2に示す元帳である場合、図12に示すサブルーチン処理の終了後には、図13に示す見出しが表示装置6に表示される。図1に示す本発明の一実施形態に係る見出し作成装置では、図13に示す見出しのような個人名と会社名とが混在した見出しを作成することができるため、従来の見出し作成装置に比べて利便性が向上する。なお、見出し表示の際に、電話番号等の他の属性データも付随して表示されてもよい。
【0065】
ステップS400の処理が終了すると、ステップS10に移行する。
【0066】
上述したステップS100でのアイテムの指定は、見出しが表示装置6に表示されている状態で、キーボード7によるキー入力で所望のアイテムを指定することで実行される。図7に示す指定アイテム表示のサブルーチンでは、まず、まず、指定されたアイテムに対応するItem_Sel(指定されたアイテムに対応するリンクリストのアイテム番号)がNLより小さいかを判定する(ステップS101)。
【0067】
リンクリストのアイテム数はNLであり、指定されたアイテムに対応するリンクリストのアイテム番号は0〜NL−1のいずれかであるから、Item_SelがNLより小さくなければ(ステップS101のN)、指定に誤りがある旨のエラー表示を行い(ステップS105)、図7に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0068】
一方、Item_SelがNLより小さければ(ステップS101のY)、パラメータjをItem_Selとする(ステップS102)。そして、リンクリストのj番目アイテムのポインタが指定するアドレスの元帳のアイテムに登録されているデータを読み出し(ステップS103)、“個人名 会社名 電話番号 コメント”を表示装置6に表示させ、表示開始位置を改行してからステップS103で読み出したデータのうち、“個人名漢字 会社名漢字 電話番号 コメント”を表示装置6に表示させ、表示開始位置を改行し(ステップS104)、図7に示すサブルーチン処理を終了し、メインルーチンすなわち図3に示すルーチンに戻る。
【0069】
例えば元帳が図2に示す元帳であって図13に示す見出しが表示されている場合、図13に示す見出しから国際五郎を指定しても(株)抄録を指定しても、図14に示す指定アイテム表示画面が表示装置6に表示される。また、例えば、図13に示す見出しから条約八郎を指定すると、図15に示す指定アイテム表示画面が表示装置6に表示される。
【0070】
なお、上述した実施形態では、或るアイテムに関して個人名と会社名の両方を見出しに採用することや或るアイテムに関して個人名と会社名の両方とも見出しに採用しないことが可能であったが、元帳の見出しに関するデータを1bitにし、各アイテムに関して個人名と会社名のいずれか一方のみを見出しに採用するようにしてもよい。この場合、リンクリストのアイテム数は必ず元帳のアイテム数と一致することになる。
【0071】
なお、上述した実施形態では、個人名と会社名の2つの属性項目のデータが混在した見出しを作成することができる見出し作成装置について説明したが、本発明はこれに限定されるものではなく、3つ以上の属性項目のデータが混在した見出しを作成することができる見出し作成装置も含まれる。例えば、元帳にニックネームの属性項目を追加し、見出しのニックネームの項目も追加して見出しに関するデータを各アイテムで3bitのデータとすることで、個人名と会社名とニックネームの3つの属性項目のデータが混在した見出しを作成することができる。
【符号の説明】
【0072】
1 CPU
2 RAM
3 ハードディスク装置
4 光ディスク装置
5 表示メモリ
6 表示装置
7 キーボード
8 ポインティングデバイス
9 ポインティングデバイスコントローラ
10 バス
【特許請求の範囲】
【請求項1】
複数の属性項目に対応する複数の属性データを含むアイテムを複数格納しているデータ構造の見出しを作成する見出し作成装置であって、
前記データ構造が、前記複数の属性項目の中の少なくとも2つが見出し候補項目であって、前記アイテム毎に前記見出し候補項目の採否が設定されているデータ構造であり、
前記アイテム各々において前記見出し候補項目のうち見出しに採用されている属性項目に対応する属性データを取得し、その取得した属性データを所定の順序に並び替えた見出しを作成することを特徴とする見出し作成装置。
【請求項2】
前記データ構造が、前記アイテム毎に前記見出し候補項目を複数採用することが可能なデータ構造である請求項1に記載の見出し作成装置。
【請求項3】
前記データ構造が、前記アイテム毎に前記見出し候補項目を一つも採用しないことが可能なデータ構造である請求項1または請求項2に記載の見出し作成装置。
【請求項4】
コンピュータを、請求項1〜3のいずれか1項に記載の見出し作成装置として機能させるための見出し作成プログラム。
【請求項1】
複数の属性項目に対応する複数の属性データを含むアイテムを複数格納しているデータ構造の見出しを作成する見出し作成装置であって、
前記データ構造が、前記複数の属性項目の中の少なくとも2つが見出し候補項目であって、前記アイテム毎に前記見出し候補項目の採否が設定されているデータ構造であり、
前記アイテム各々において前記見出し候補項目のうち見出しに採用されている属性項目に対応する属性データを取得し、その取得した属性データを所定の順序に並び替えた見出しを作成することを特徴とする見出し作成装置。
【請求項2】
前記データ構造が、前記アイテム毎に前記見出し候補項目を複数採用することが可能なデータ構造である請求項1に記載の見出し作成装置。
【請求項3】
前記データ構造が、前記アイテム毎に前記見出し候補項目を一つも採用しないことが可能なデータ構造である請求項1または請求項2に記載の見出し作成装置。
【請求項4】
コンピュータを、請求項1〜3のいずれか1項に記載の見出し作成装置として機能させるための見出し作成プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−161037(P2012−161037A)
【公開日】平成24年8月23日(2012.8.23)
【国際特許分類】
【出願番号】特願2011−21028(P2011−21028)
【出願日】平成23年2月2日(2011.2.2)
【出願人】(000134109)株式会社デジタル (224)
【Fターム(参考)】
【公開日】平成24年8月23日(2012.8.23)
【国際特許分類】
【出願日】平成23年2月2日(2011.2.2)
【出願人】(000134109)株式会社デジタル (224)
【Fターム(参考)】
[ Back to top ]