JP2002269103A - マルチメディア解析システム及びその方法 - Google Patents

マルチメディア解析システム及びその方法

Info

Publication number
JP2002269103A
JP2002269103A JP2001069711A JP2001069711A JP2002269103A JP 2002269103 A JP2002269103 A JP 2002269103A JP 2001069711 A JP2001069711 A JP 2001069711A JP 2001069711 A JP2001069711 A JP 2001069711A JP 2002269103 A JP2002269103 A JP 2002269103A
Authority
JP
Japan
Prior art keywords
fgrid1
row
multimedia
column
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2001069711A
Other languages
English (en)
Inventor
Akira Ichikawa
熹 市川
Kazuyuki Kanda
和幸 神田
Isao Watanabe
勇夫 渡邉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chiba University NUC
Original Assignee
Chiba University NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chiba University NUC filed Critical Chiba University NUC
Priority to JP2001069711A priority Critical patent/JP2002269103A/ja
Publication of JP2002269103A publication Critical patent/JP2002269103A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 従来のマルチメディアの解析システムとして
は、手話の解析システムがあるが、マルチメディア情報
を相互に関連付けて細かく解析するシステムであり、即
ち機能が細分化されており、解析時間が多大にかかる等
の問題点があった。 【解決手段】 動画、静止画、音波形のいすれかのマル
チメディア情報のうち少なくとも1つを表示するマルチ
メディア表示手段と、前記マルチメディア表示手段の表
示内容を操作するマルチメディア制御手段と、前記マル
チメディア情報に基づき、これに関連する内容を所定の
データベースから抽出し表示するリファレンス手段と、
行或いは列の項目名と、解析対象及び各フレームの番号
とから構成され、各セルには各フレームの時点における
解析対象の内容を、行と列とを含む表形式で記述する記
述手段と、を具えることを特徴とするマルチメディア解
析システムを提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチメディアの
解析システム、特に動画像、音声の内容を表記し解析す
る際に用いられるシステムに関するものである。
【0002】
【従来の技術】従来のマルチメディアの解析システムと
しては、手話の解析システムがあるが、マルチメディア
情報を相互に関連付けて細かく解析するシステムであ
り、即ち機能が細分化されており、解析時間が多大にか
かる等の問題点があった。
【0003】
【発明が解決しようとする課題】本明細書においては、
動画を適当な時間間隔で表現したものをフレームと呼
び、各フレームに対応して音声などの他のメディア情報
が対応付けらているものをマルチメディア情報と呼ぶこ
ととする。マルチメディア情報には、多数の情報が含ま
れている。例えば、画像、音声などである。従って、画
像、音声などの情報を総合的に解析する必要がある。例
えば、音声では「はい」と肯定しているが、同時に動画
では、顔で「否定の表情」を浮かべるなどの例から理解
できるように、マルチメディアを扱うシステムを構築す
るためには、マルチメディアを構成する各メディアの持
つ情報を総合して解析するなどの機能が重要となる。そ
のためには、情報をフレーム同期に基づき、様々な情報
を対応付け解析することが必要であるが、このようなシ
ステムはいまだ提供されていない。従って、各情報を個
別にではなく、関連付けて解析することができるシステ
ムが期待されていた。。
【0004】また、従来の解析システムでは、フレーム
に同期させて様々な項目をシステムに入力するが、その
際に繰り返し使う内容に関しては、予め定められたラベ
ル付けをしておくのが普通である。しかし、ラベルの種
類が多様な場合、このラベルを憶える事が煩雑なだけで
なく、誤記述も非常に多くなる。また、これにより動画
解析の作業が非常に効率の悪いものとなってしまってい
る。本発明は上述した問題点を解決し、マルチメディア
情報の解析を簡便化、効率化することを目的とする。
【0005】
【課題を解決するための手段】本発明によるマルチメデ
ィア解析システムは、動画、静止画、音波形のいすれか
のマルチメディア情報のうち少なくとも1つを表示する
マルチメディア表示手段と、前記マルチメディア表示手
段の表示内容を操作するマルチメディア制御手段と、前
記マルチメディア情報に基づき、これに関連する内容を
所定のデータベースから抽出し表示するリファレンス手
段と、行或いは列の項目名と、解析対象及び各フレーム
の番号とから構成され、各セルには各フレームの時点に
おける解析対象の内容を、行と列とを含む表形式で記述
する記述手段と、を具えることを特徴とするものであ
る。
【0006】また、本発明によるマルチメディア解析シ
ステムは、前記マルチメディア表示手段は、表示エリア
のサイズを任意に変更できることを特徴とするものであ
る。
【0007】また、本発明によるマルチメディア解析シ
ステムは、前記マルチメディア制御手段は、再生、停
止、一時停止、頭出し、巻き戻し、早送り、1コマ送
り、1コマ戻し、スロー再生、スロー再生速度の切り替
え、フレーム検索、現在再生位置の表示、現在再生位置
の時間表示とフレーム表示の切り替え、再生ファイル名
の表示、再生ファイル長の表示、のいずれかの機能のう
ち少なくとも1つを具えることを特徴とするものであ
る。
【0008】また、本発明によるマルチメディア解析シ
ステムは、前記リファレンス手段は、前記関連の内容
を、ローカルに格納されたデータベース、或いはネット
ワークを介して接続される外部データベースから抽出し
表示する、或いは、予め関連情報を抽出し格納したファ
イルから表示し、このファイルは必要に応じて追加、削
除することができる、ことを特徴とするものである。
【0009】また、本発明によるマルチメディア解析シ
ステムは、前記記述手段は、前記リファレンス手段で抽
出された内容の各セルへの記入、外部入力手段を用いる
内容の記述、記述内容の切り取り、コピー、貼り付け、
削除、行の挿入、行の削除、列の挿入、列の削除、元に
戻す、やり直し、内容の新規作成、既存ファイルを開
く、内容の保存、内容の上書き保存、表の固定行及び列
の数の変更、記述内容の詳細表示、のいずれかのうち少
なくとも1つの機能を具える、ことを特徴とするもので
ある。
【0010】また、本発明によるマルチメディア解析シ
ステムは、前記記述手段は、前記の固定行及び固定列の
表示形態を変化させる、ことを特徴とするものである。
【0011】また、本発明によるマルチメディア解析シ
ステムは、前記記述手段は、任意のセルを指示選択す
る、或いは所定の記号をセルに記述することにより、指
示選択されたセル、或いはこの記号が記述されたセルの
表示形態を変化させる、ことを特徴とするものである。
【0012】また、本発明によるマルチメディア解析シ
ステムは、前記記述手段は、1行目或いは1列目を固定
された行或いは列にでき、この固定された行或いは列に
は前記マルチメディア表示部で表示されている各フレー
ムの番号を自動的に記入する機能、或いは、この固定さ
れた行或いは列の各セルには、現在のフレーム番号の値
と、既に入力されているフレーム番号の値とを比較し、
左から順に昇順で挿入し、この場合既に入力済みの各フ
レーム番号の値も必要に応じて再計算して表示すること
ができる機能、のいずれかのうち少なくとも1つの機能
を具える、ことを特徴とするものである。
【0013】また、本発明によるマルチメディア解析シ
ステムは、前記記述手段は、範囲選択をすることによ
り、選択した範囲のフレームのみを再生する機能を具え
る、ことを特徴とするものである。
【0014】また、本発明によるマルチメディア解析シ
ステムは、前記記述手段は、1行目或いは1列目を固定
された行或いは列にでき、この固定された行或いは列の
各セルには、所定の項目名を予め表示する機能を具え、
前記リファレンス部は、前記表示された項目名或いはそ
れに対応する行または列を指示選択することにより、指
示選択した項目名に対応する内容を自動的に抽出し、対
応する行或いは列の各セルに記入する機能を具える、こ
とを特徴とするものである。
【0015】また、本発明によるマルチメディア解析シ
ステムは、前記記述手段において前記行或いは列に項目
名を新たに追加する機能、前記リファレンス手段におい
て表示した内容を保存する機能、前記記述手段において
前記の所定の項目が表示された固定された行或いは列を
選択したときに、以前変更した項目名を表示する機能、
のいずれかのうち少なくとも1つの機能を具える、こと
を特徴とするものである。なお、上述したように本発明
の解決手段をシステムの形態で説明したが、本発明に
は、これらに対応する方法、プログラム、プログラムを
格納した記憶媒体なども含まれるのはもちろんである。
【0016】
【発明の実施の形態】以下、添付の図面を参照しながら
本発明の実施例を説明する。図1は、本発明によるマル
チメディア解析システム全体を説明するブロック図であ
る。本マルチメディア解析システムは、動画、静止画、
音波形のいすれかのマルチメディア情報のうち少なくと
も1つを表示するマルチメディア表示手段11と、前記
マルチメディア表示手段の表示内容を操作するマルチメ
ディア制御手段12、前記マルチメディア情報に基づ
き、これに関連する内容を所定のデータベースから抽出
し表示するリファレンス手段13と、行或いは列の項目
名と、解析対象及び各フレームの番号とから構成され、
各セルには各フレームの時点における解析対象の内容
を、行と列とを含む表形式で記述する記述手段14と、
を具える。各手段から出力された結果は、例えば図のよ
うにCRTなどの表示装置に表示される。
【0017】図2は、本マルチメディア解析システムに
よって提供される画面構成図である。図2において、2
1はマルチメディア表示手段により人物を動画表示した
マルチメディア表示部の例であり、22は音波形を表示
した例である。また、図2において23はマルチメディ
ア制御手段12を操作してマルチメディア表示部の表示
内容を変更するための画面インターフェイスであるマル
チメディア制御部であり、再生、停止、一時停止、頭出
し、巻き戻し、早送り、1コマ送り、1コマ戻し、スロ
ー再生、スロー再生速度の切り替え、フレーム検索、現
在再生位置の表示、現在再生位置の時間表示とフレーム
表示の切り替え、再生ファイル名の表示、再生ファイル
長の表示などができるように構成した。また、図2にお
いて、24はリファレンス手段により表示されたリファ
レンス部であり、このリファレンス部24には任意の内
容を表示することができ、内容は必要に応じて追加、削
除することができるように構成した。これにより、リフ
ァレンス部24には任意の内容を表示することができ
る。図2において、25は記述手段により表示された記
述部であり、この記述部25は表形式になっており、外
部入力手段を用いて内容を記述することが可能で記述内
容の切り取り、コピー、貼り付け、削除、行の挿入、行
の削除、列の挿入、列の削除、元に戻す、やり直し、内
容の新規作成、既存ファイルを開く、内容の保存、内容
の上書き保存、表示行列の固定行列数の変更、記述内容
の詳細表示などができるように構成した。これにより、
記述部25に任意の内容を記述することができる。
【0018】図3は、前述したマルチメディア表示手段
により表示されたマルチメディア表示部の表示例であ
る。図3において、31は動画表示部、32は音波形表
示部である。この例では、マルチメディア表示部に、動
画像及び音波形を表示したが、もちろん他のマルチメデ
ィア情報を表示させることもできる。このマルチメディ
ア表示部は任意に大きさを変更できるように構成した。
これにより「画面が小さくて見えにくい」とか「画面が
大きすぎてはみ出してしまう」といった問題を解決でき
る。
【0019】図4は、前述したマルチメディア制御手段
を操作するためのマルチメディア制御部40の表示例で
ある。図4において、41はスロー再生ボタン、42は
巻き戻しボタン、43は早送りボタン、44は再生ボタ
ン、45はコマ戻しボタン、46はコマ送りボタン、4
7は停止ボタン、48は現在のフレーム番号の表示、4
9はスロー再生スピードの表示、49Aは現在のフレー
ム番号のスライダーバー表示、49Bはスライダーバ
ー、49Cはタイトルバーである。このマルチメディア
制御部40は、前記マルチメディア表示部の内容を制御
することができるように構成した。ビデオデッキのよう
に再生、停止、一時停止、頭出し、巻き戻し、早送り、
1コマ送り、1コマ戻し等ができ、さらに、スロー再
生、スロー再生速度の切り替え、フレーム検索、現在再
生位置の表示、現在再生位置の時間表示とフレーム表示
の切り替え、再生ファイル名の表示、再生ファイル長の
表示ができるように構成した。タイトルバーには名称、
再生しているマルチメディアファイルの表示、再生マル
チメディアの総フレーム長の表示ができるように構成し
た。これにより、再生中のマルチメディアファイルの様
々な情報を取得することができる。
【0020】図5は、リファレンス手段により提供され
るリファレンス部50の画面構成図である。図におい
て、51は記号の表示であり、ここではサインデックス
(sIGNDEX)を表示してあるが、もちろん他の内容を表
示することも可能である。また、52は記号の解説表示
であり、ここではサインデックスの解説を表示してある
が、もちろん他の内容を表示することも可能である。こ
こで、サインデックス(sIGNDEX)とは、手話に文字が
ないこと、また音韻表記法が定まっていない現状を鑑
み、特定の手話形に一定のラベルを貼ったリストとその
具体的動画像を提示することで、手話研究者が共通に利
用できるように情報を提供しようとするものである。ま
た、sIGNDEXは手話単語(sign)とインデックス(inde
x)の合成語であり、詳細は、神田和幸,長嶋祐二,市川
熹らによる「サインデックス試案:手話のラベリング化
の概念」(電子情報通信学会教育工学研究会、pp.47-5
2、1996年11月22日)を参照されたい。53、54、5
5、56はサインデックス記述用に記号を付加するため
のラジオボタンである。もちろんこの部分も他の内容を
付加するように変更することもできる。この画面構成は
例示であって、任意の内容を表示することができ、内容
は必要に応じて追加、削除することができるように構成
した。これにより全く違う内容を解析することになって
も、表示内容を変更することによって柔軟に対応するこ
とができるように構成した。
【0021】図6は、記述手段により提供される記述部
60の画面構成図である。図において、61は固定列、
62は固定行、63はセル、64は自動挿入ボタン、6
5はセル内容表示枠である。この記述部60は、表形式
で、外部入力装置などを用いることによって内容を記述
することが可能で、記述内容の切り取り、コピー、貼り
付け、削除、行の挿入、行の削除、列の挿入、列の削
除、元に戻す、やり直し、内容の新規作成、既存ファイ
ルを開く、内容の保存、内容の上書き保存、表示行列の
固定行列数の変更、記述内容の詳細表示をすることがで
きるように構成した。本実施例においては、CSV形式
のファイルを開いているが、もちろん他の形式のファイ
ルを扱うことが可能である。
【0022】図7は、記述手段により提供される記述部
70の画面構成図の一例である。図において、71は選
択セルに対応した固定列の1項目、72は選択セル、7
3は選択セルに対応した固定行の1項目である。図のよ
うに、セルを選択することによって選択セル72に対応
する固定列の1項目71と固定行の1項目73との色や
模様などの形態が自動的に変化する。即ち、選択部分が
一目で理解できるように構成したものである。
【0023】図8は、記述手段により提供される記述部
80の画面構成図の一例である。図において、81はセ
ルに記号を書き込むことにより、色を変更したセルであ
る。これは、記述内容を後で調べたい場合に、予め定め
た特定の記号を用いることによって枠の色、背景の模
様、文字自体の色、またはフォントなどの形態を変更す
ることができるように構成した。本画面構成例では、
「*」を記入することによって枠の色を変更している
が、もちろん設定すれば他の記号「#、%」などでも変
更することができる。これによって、チェックした箇所
を探す手間を省くことができるように構成した。
【0024】図9は、記述手段により提供される記述部
90の画面構成図の一例であり、列を挿入する前後を表
示したものである。90はフレーム番号を自動挿入する
前の表示例、91はフレーム番号を自動挿入した後の表
示例である。92はフレーム番号を自動挿入した箇所で
ある。この表示例では、1行目が固定行になっており、
固定行にはマルチメディア表示部で表示されているフレ
ーム番号を自動的に記入するようになっている。記入時
には、現在のフレーム番号の値とすでに入力されている
フレーム番号の値とを比較し、左から順に自動的に昇順
で自動挿入することができる。本構成によれば、フレー
ム番号を一々意識することなく、現在のフレーム番号の
値と入力されているフレーム番号の値とを比較し、左か
ら順に自動的に昇順で自動挿入することができるように
なる。
【0025】図10は、記述手段により提供される記述
部の画面構成図の一例であり、既に入力済みの値を変更
する前後を表示したものである。図において、100は
フレーム番号変更前の画面構成、101はフレーム番号
変更入力ダイアログボックス、102はフレーム番号変
更後の画面構成であり、103は変更を受けるフレーム
番号の表示部、104はフレーム番号入力ボックス、1
05はフレーム番号が変更された箇所である。本構成に
よれば、後でフレーム番号を変更したい場合に、既に入
力済みの値を必要に応じて変更することができるように
なる。
【0026】図11は、記述手段により提供される記述
部110の画面構成図の一例であり、セルの範囲選択を
行った状況を示すものでる。図において111は選択さ
れた3つのセルである。従って、この選択範囲に対応す
るフレーム番号25〜34までがマルチメディア表示部
(図示しない)に表示されることとなる。本構成によれ
ば、フレーム番号がいくつか入力してある場合、この記
述部において範囲選択することにより、選択した範囲だ
けを再生することができるようになる。
【0027】図12は、記述手段により提供される記述
部121、123及びリファレンス手段により提供され
るリファレンス部122、124の画面構成図の一例で
ある。記述部121、123において選択しているセル
に対応して、リファレンス部122、124が表示され
る。記述部121、123においては、1列目が固定列
になっており、固定列には列タイトルが予め表示されて
いる。タイトルに対応するセルを選択すると、それに対
応してリファレンス部122、124の表示内容が自動
的に変更されるように構成した。図のように、記述部1
21ではタイトル「指差し」を選択すると、リファレン
ス部122では「指差し」に関する内容が表示されるよ
うになっている。
【0028】図13は、記述手段により提供される変更
前後の記述部131、133及びリファレンス手段によ
り提供されるリファレンス部132の画面構成図の一例
であり、リファレンス部132の項目を選択することに
より記述部に項目を自動的に追加している図である。記
述部131の項目「指差し」に対応するセル134をマ
ウスなどで指示選択すると、リファレンス部132が表
示される。このリファレンス部132の項目135を指
示選択することにより、変更後の記述部133のセル1
36へ「+pT1」という内容が記入される。本構成に
より、誤記入を防止することができる。ここで「+」記
号の意味であるが、これは同一フレームに記述されるセ
ルの内容が同時並行的に生じるという意味である。この
記号の付加により、一次元的に情報を展開するときに利
用することができる。ここで、一次元的という意味は、
表の形式(二次元)を、縦方向に進んで行く順序で一次
元に展開すると言う意味である。即ち、「+」の付いて
いるものは縦方向に並んでいることがわかる、言いかえ
れば同時に生じた現象である、と言うことがわかる。加
えて、このリファレンス部132は、内容を変更した場
合、それを自動的に保存することができるように構成し
た。これにより、リファレンス部132の内容を変更し
てもそれを保存することができるように構成した。また
図において、「@」及び「@@」を、編集時に選択する
ことにより、例えば「+mOP@」「+mOP@@」などのよう
に「@」を追加することができる。これらの意味は、
「@」の付いたフレームから「@@」の付いたフレーム
までその状態が継続するというものである。なお、この
記号「@」は単なる例示であり、他の記号であってもか
まわない。
【0029】図14は、本発明による記述手段により提
供される記述部141,143の固定行に列タイトルを
新たに追加する過程を示す図である。図において、追加
前の記述部141における空の項目142に対応するセ
ルを指示選択することにより、列タイトル入力用ウィン
ドウ143が表示され、この中の入力用ボックス144
へ項目「test」を記入する。この入力が終わると、記述
部145には、空の項目146へ項目「test」が自動的
に記入される。本構成により列タイトルを簡単に追加で
きるようになる。もちろん、新たに加えた列タイトルに
対応した内容を、リファレンス部に連動させ、リファレ
ンス分の内容をそれに合わせて変更することもできるよ
うに構成することもできる。これにより新たに列タイト
ルを追加し、それに関する内容を解析することになって
も、柔軟に対応することができるようになる。
【0030】以上の機能を実装したプログラムリストを
明細書の最後部に掲げる。リスト1-1はマルチメディア
制御部において設定を実装する部分、リスト1-2はマル
チメディア制御部において記述部にフレームNo.自動
挿入を実装する部分、リスト1-3はマルチメディア制御
部において初期設定を行う部分、リスト1-4はマルチメ
ディア制御部において終了処理を行う部分、リスト1-5
はマルチメディア制御部においてマルチメディアをフレ
ームNo.からの検索を実装する部分、リスト1-6はマル
チメディア制御部においてスロー再生の速度変更を実装
する部分、リスト1-7はマルチメディア制御部において
表示形式をフレーム単位に変更する機能を実装する部
分、リスト1-8はマルチメディア制御部において記述部
の値の近い所に移動する機能を実装する部分、リスト1-
9はマルチメディア制御部においてマルチメディアファ
イルを開く機能を実装する部分、リスト1-10はマルチメ
ディア制御部においてシステムの終了機能を実装する部
分、リスト1-11はマルチメディア制御部において表示形
式を時間単位に変更する機能を実装する部分、リスト1-
12はマルチメディア制御部において一時停止ボタンを押
したときに、マルチメディア表示部の表示を停止し、一
時停止ボタンを非表示にし、代わりに再生ボタンを表示
する機能を実装する部分、リスト1-13はマルチメディア
制御部において再生ボタンを押したときに、マルチメデ
ィア表示部の表示を再生し、再生ボタンを非表示にし、
代わりに一時停止ボタンを表示する機能、再生が最後ま
で行われていたら、巻き戻しボタンを押さなくても再生
ボタンを押したときに自動的に頭出しを行う機能を実装
する部分、リスト1-14はマルチメディア制御部において
現在の再生位置表示をある時間ごとに書き換える機能を
実装する部分、リスト1-15はマルチメディア制御部にお
いてスロー再生機能を実装する部分、リスト1-16はマル
チメディア制御部においてスライダーバーを動かしたと
きに、スライダーバーに対応した箇所を再生する機能を
実装する部分、リスト1-17はマルチメディア制御部にお
いて停止ボタンを押したとき、マルチメディア表示部の
表示を停止し、一時停止ボタンを非表示にし、再生ボタ
ンを表示する機能を実装する部分、リスト1-18はマルチ
メディア制御部においてスロー再生を実際にタイマーを
用いて行う機能を実装する部分、リスト1-19は マルチ
メディア制御部において現在位置の時間表示を行う機能
を実装する部分、リスト1-20はマルチメディア制御部に
おいて再生中のマルチメディアのフレーム長を時間単位
で表示する機能を実装する部分、リスト1-21はマルチメ
ディア制御部において再生中のマルチメディアの位置を
フレーム単位で表示する機能を実装する部分、である。
【0031】さらに、リスト2-1はマルチメディア表示
部において音声波形を表示する機能を実装する部分、リ
スト2-2はマルチメディア表示部において音声波形を計
算する機能を実装する部分、である。この部分のプログ
ラムを理解するためには、インプレス刊の「Windows98
プログラミングバイブル」を参照されたい。
【0032】さらに、リスト3-1はリファレンス部にお
いて各種設定を行う部分、リスト3-2はリファレンス部
において初期設定を行う部分、リスト3-3はリファレン
ス部において大きさを変更した際にある程度以上には小
さくならないようにする機能を実装する部分、リスト3-
4はリファレンス部において終了処理を行う部分、リス
ト3-5はリファレンス部において項目を削除する機能を
実装する部分、リスト3-6はリファレンス部において項
目を追加する機能を実装する部分、リスト3-7はリファ
レンス部において記述部の選択行によって、リファレン
ス部の内容表示が変化する機能を実装する部分、リスト
3-8はリファレンス部において項目をダブルクリックし
た際に記述部の選択セルに自動的に項目が記入される機
能を実装する部分、である。
【0033】さらに、リスト4-1は記述部において各種
設定を行う部分、リスト4-2は記述部において「自動挿
入」ボタンの機能、具体的には現在のフレームNo.の値
とすでに入力されているフレーム番号の大きさとを比較
し、左から順に自動的に昇順で自動挿入する機能を実装
する部分、リスト4-3は記述部においてセルをダブルク
リックした際、固定列にフレームNo.が記入されていた
ら、マルチメディア表示部が対応する位置を表示する機
能を実装する部分、リスト4-4は記述部においてセルに
項目を入力している際にスクロールバーを入力されたと
きにデータをセルに書き込んで終了する機能を実装する
部分、リスト4-5は記述部においてセルを選択した際の
各種設定を行う部分、リスト4-6は記述部においてセル
を選択した際に、選択セルの固定列、固定行の色を変更
することによって現在位置を確認しやすくする機能を実
装する部分、リスト4-7は記述部においてF5キーを押し
たときにフレームNo.自動記入を行う機能を実装する部
分、リスト4-8は記述部において初期設定を行う部分、
リスト4-9は記述部において右マウスボタンをクリック
した際にポップアップメニューを表示、左マウスボタン
をクリックした際にはマウスポインタの重なっているセ
ルを選択する機能を実装する部分、リスト4-10は記述部
においてシステムの終了処理を行う部分、リスト4-11は
記述部においてサイズ変更をしたときに、大きさをある
程度以上には小さくしない機能を実装する部分、リスト
4-12は記述部においてメニューの「編集」―「元に戻
す」の項目が使用可能であるか否かを判別する機能を実
装する部分、リスト4-13は記述部においてメニューの
「編集」―「クリア」の機能、具体的には範囲選択した
部分の内容を消去する機能を実装する部分、リスト4-14
は記述部においてメニューの「編集」―「列の削除」の
機能、具体的には記述部から選択した列を一列削除する
機能を実装する部分、リスト4-15は記述部においてメニ
ューの「編集」―「列の挿入」の機能、具体的には記述
部に一列挿入する機能を実装する部分、リスト4-16は記
述部においてメニューの「編集」―「コピー」の機能、
具体的には記述部で範囲選択をした部分をメモリに記憶
しておく機能を実装する部分、リスト4-17は記述部にお
いてメニューの「編集」―「切り取り」の機能、具体的
には記述部で範囲選択をした部分をメモリに記憶してお
き、選択部分はクリアされる機能を実装する部分、リス
ト4-18は記述部においてメニューの「編集」―「貼り付
け」の機能、具体的にはメモリに記憶された部分を記述
部に貼り付ける機能を実装する部分、リスト4-19は記述
部においてメニューの「編集」―「やり直し」の機能、
具体的には元に戻した内容をやり直す機能を実装する部
分、リスト4-20は記述部においてメニューの「編集」―
「行の削除」の機能、具体的には記述部から選択した行
を一行削除する機能、削除前に内容を確認する機能を実
装する部分、リスト4-21は記述部においてメニューの
「編集」―「行の挿入」の機能、具体的には記述部に一
行挿入する機能を実装する部分、リスト4-22は記述部に
おいてメニューの「フレーム記入」―「自動挿入」の機
能、具体的には現在のフレームNo.の値とすでに入力さ
れているフレーム番号の大きさとを比較し、左から順に
自動的に昇順で自動挿入する機能を実装する部分、記述
部においてメニューの「フレーム記入」―「No変更」の
機能、具体的には現在すでに入力されているフレームN
o.の値を変更する機能を実装する部分、リスト4-23は記
述部においてヘルプファイルの目次を表示する機能を実
装する部分、リスト4-24は記述部においてヘルプファイ
ルのキーワードを表示する機能を実装する部分、リスト
4-25は記述部においてバージョン情報を表示する機能を
実装する部分、リスト4-26は記述部において固定行の数
を変更する機能を実装する部分、リスト4-27は記述部に
おいて内容を一次元形式で保存する機能を実装する部
分、リスト4-28は記述部において固定行の数を元に戻す
機能を実装する部分、リスト4-29は記述部において選択
された範囲を再生する機能を実装する部分、リスト4-30
は記述部においてポップアップメニューの列削除の機能
を実装する部分、リスト4-31は記述部においてポップア
ップメニューの列挿入の機能を実装する部分、リスト4-
32は記述部においてポップアップメニューのコピーの機
能を実装する部分、リスト4-33は記述部においてポップ
アップメニューの切り取りの機能を実装する部分、リス
ト4-34は記述部においてポップアップメニューのクリア
の機能を実装する部分、リスト4-35は記述部においてポ
ップアップメニューの貼り付けの機能を実装する部分、
リスト4-36は記述部においてメニューの「編集」―「項
目の追加」の機能、具体的には行タイトルに新たに項目
を記入する機能を実装する部分、リスト4-37は記述部に
おいてメニューの「編集」―「元に戻す」の機能、具体
的には行った作業を一つ前の状態に戻す機能を実装する
部分、リスト4-38は記述部においてメニューの「ファイ
ル」―「新規作成」の機能、具体的には記述部をすべて
クリアし、初期状態に戻す機能を実装する部分、リスト
4-39は記述部においてメニューの「ファイル」―「開
く」の機能、具体的には既存のファイルを選択して記述
部に表示する機能を実装する部分、リスト4-40は記述部
においてメニューの「ファイル」―「上書き保存」の機
能、具体的には現在使用中のファイルを更新して保存す
る機能を実装する部分、リスト4-41は記述部においてメ
ニューの「ファイル」―「名前を付けて保存」の機能、
具体的には現在使用中のファイルに名前を付けて保存す
る機能を実装する部分、リスト4-42は記述部においてメ
ニューの「ファイル」―「終了」の機能、具体的にはシ
ステム全体を終了する機能を実装する部分、リスト4-43
は記述部において初期の設定をする部分、リスト4-44は
記述部において既存のファイルを開く機能を実装する部
分、リスト4-45は記述部においてCSVファイルを配列と
して解釈する機能を実装する部分、リスト4-46は記述部
においてファイルの保存の機能を実装する部分、リスト
4-47は記述部においてシステム全体の終了時にファイル
に変更点が合った場合それを保存する機能を実装する部
分、リスト4-48は記述部において行タイトルが新たに入
力された際、対応するファイルを新たに作成する機能を
実装する部分、リスト4-49は記述部において列同士の交
換をする機能を実装する部分、リスト4-50は記述部にお
いて列の挿入をする機能を実装する部分、リスト4-51は
記述部においてメモリに保存する領域を設定する機能を
実装する部分、リスト4-51-1は記述部においてキー入力
を行ったとき、入力を受け付ける状態になる機能を実装
する部分、リスト4-52は記述部においてキー入力の種類
によって入力受け付け状態を変化させる機能を実装する
部分リスト4-53は記述部においてキー入力を行ったと
き、入力を受け付ける状態になる機能を実装する部分、
リスト4-54は記述部においてポップアップメニューの
「削除」―「行」を実行する機能を実装する部分、リス
ト4-55は記述部においてポップアップメニューの「挿
入」―「行」を実行する機能を実装する部分、リスト4-
56は記述部においてメニューの「表示」―「日本語訳」
の機能、具体的には以前書き込まれた日本語訳を表示す
る機能を実装する部分、リスト4-57は記述部においてメ
ニューの「表示」―「制御パネル」の機能、具体的には
マルチメディア制御部が表示されていない場合、画面に
表示する機能を実装する部分、リスト4-58は記述部にお
いてメニューの「表示」−「リファレンス」の機能、具
体的にはリファレンス部が表示されていない場合、画面
に表示する機能を実装する部分、リスト4-59は記述部に
おいてメニューの「フレーム記入」―「自動挿入」の機
能、具体的には現在のフレームNo.の値とすでに入力さ
れているフレーム番号の大きさとを比較し、左から順に
自動的に昇順で自動挿入する機能を実装する部分、リス
ト4-60は記述部においてメニューの「フレーム記入」―
「No変更」の機能、具体的には現在すでに入力されてい
るフレームNo.の値を変更する機能を実装する部分、リ
スト4-61は記述部においてセル内容が変更されたときに
内容確認をし、内容表示部分を即座に変更する機能を実
装する部分、リスト4-62は記述部においてキー入力の種
類によって入力受け付け状態を変化させる機能を実装す
る部分リスト4-63は記述部において入力を受け付ける状
態になる機能を実装する部分、リスト4-64は記述部にお
いてキー入力の種類によって入力受け付け状態を変化さ
せる機能を実装する部分、リスト4-65は記述部において
キー入力の種類によって入力受け付け状態を変化させる
機能を実装する部分、リスト4-66は記述部において記述
部全体をメモリーに保存する機能を実装する部分、リス
ト4-67は記述部においてファイルに対応する日本語訳を
自動で表示する機能を実装する部分、リスト4-68は記述
部において現在のフレームNo.の値とすでに入力されて
いるフレーム番号の大きさとを比較し、左から順に自動
的に昇順で自動挿入する機能を実装する部分、リスト4-
69は記述部においてセル内容に予め定めた記号があった
ときには自動で色を変更する機能を実装する部分、リス
ト4-70は記述部において行った作業を一つ前の状態に戻
す機能を実装する部分、リスト4-71は記述部において内
容表示部分が、セル内容に特殊文字があってもきちんと
表示する機能を実装する部分である。
【0034】さらに、リスト5-1はシステムにおいて使
用される設定を定義している部分、リスト5-2はファイ
ルの名前を取得する機能を実装する部分、リスト5-3は
保存するファイルの名前を取得する機能を実装する部
分、リスト5-4はファイル内容から空白文字を削除する
機能を実装する部分、リスト5-5はダイアログボックス
で「はい」「いいえ」を表示し、どちらが選択されたか
を調べる機能を実装する部分、リスト5-6はダイアログ
ボックスで「はい」「いいえ」「キャンセル」を表示
し、どちらが選択されたかを調べる機能を実装する部
分、リスト5-7はシステム起動時に読み込まれる関数、
である。
【0035】さらに、リスト6-1はシステムで使用する
設定を定義する部分、リスト6-2はCSVファイルを読み込
む機能を実装する部分、である。
【0036】
【発明の効果】本発明によるマルチメディア解析システ
ムでは、マルチメディア表示部、マルチメディア制御
部、リファレンス部、記述部の4つの要素を用いること
により、マルチメディア解析作業の効率化が可能であ
る。各部は独立しているが、各部位を連動させることも
可能であり、これにより解析作業のより一層の効率化が
可能である。即ち、本発明により、マルチメディアから
内容を解析する際の不便さは解決されるものと考える。
本発明が利用されているものとして前述した手話の解析
があるが、手話に限らずマルチメディアから何かを解析
する際に本発明は広く利用できる。例えば映画などから
絵コンテを起こすなどと云ったことである。マルチメデ
ィアデータをデジタルデータにすることにより、巻き戻
し、早送りが一瞬にして行える。ビデオデッキでは難し
い「再生箇所の指定」も簡便に行える。同じ箇所を繰り
返し再生することも簡便に行える。これらは皆、既存の
ビデオデッキでは実現することが非常に困難となってい
る。また、前記マルチメディア表示部は大きさを変更で
きるので、「画面が小さくて見にくい」とか「画面が大
きすぎてはみ出てしまう」といった問題を解決できる。
加えて、図6のように前記記述部の固定行、固定列の色
が自動的に変わる。これは現在の選択場所がわかりやす
いようにするための処置である。また、記述内容を後に
調べたい場合には、図7に示すように*をつけることに
よって枠の色を変更することができる。
【0037】さらに、従来のマルチメディア解析では多
数の機器を操作しなければならなかった。しかし、本発
明により汎用パソコンさえ有ればマルチメディア解析作
業は可能となる。更にマルチメディア解析作業に際して
使用される記号なども逐一憶える必要はなく、前記リフ
ァレンス部を使用すれば記入ミスを減らすこともでき
る。汎用パソコンのマルチメディア機能強化や、マルチ
メディア周辺機器の充実により昔に比べて格段に簡単
に、安く汎用パソコン上にマルチメディアデータを取り
込むことは出来るようになったが、いままで解析作業用
のものは存在していなかった。従って、本発明により、
マルチメディア解析作業の効率化が可能となった。本発
明を実施態様に基づき詳細に説明してきたが、これらは
例示に過ぎず本発明は幾多の変形、修正を加えることが
できることに留意されたい。例えば、以下のプログラム
はウィンドウズ(登録商標)上で動作するものである
が、UNIX(登録商標)上などで本発明を動作させる
ようなプログラムを記述することももちろん可能であ
る。
【0038】 リスト1−1 Option Explicit Dim AVIFile As String Dim TimeView As Boolean '時間表示とフレーム表示の決定 Dim TimeMax As String Dim f As Boolean
【0039】 リスト1−2 ------------------------------------------------------------------------ -------- Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyF5 If Form1.IDMWriteAuto.Enabled = False Then Exit Sub Form1.WriteAuto (MMControl1.Position) End Select Form3.SetFocus End Sub
【0040】 リスト1−3 ------------------------------------------------------------------------ -------- Private Sub Form_Load() MMControl1.Notify = False MMControl1.UpdateInterval = 55 MMControl1.FileName = "" 'フォーム MAX表示の変更 MMControl1.Shareable = False TimeView = False ColorCell = 0 Command1.Enabled = False StopButton.Enabled = False IDMWriteAuto.Enabled = False f = False End Sub
【0041】 リスト1−4 ------------------------------------------------------------------------ -------- Private Sub Form_Unload(Cancel As Integer) MMControl1.Command = "Close" Form1.IDMView.Enabled = True Form1.IDMViewMediaControl.Enabled = True End Sub
【0042】 リスト1−5 ------------------------------------------------------------------------ -------- Private Sub IDMViewSearch_Click() Dim FrameNo As Integer Dim Dammy As Integer On Error Resume Next FrameNo = InputBox("フレームNo.を入力してください", "フレーム移動") If FrameNo = 0 Then Exit Sub 'キャンセル処理 If Err.Number <> 0 Then Dammy = MsgBox("値が不正です", vbCritical, "警告") Err.Clear Exit Sub ElseIf FrameNo > MMControl1.Length Then Dammy = MsgBox("最大値を超えています", vbCritical, "警告") End If MMControl1.To = FrameNo MMControl1.Command = "Seek" End Sub
【0043】 リスト1−6 ------------------------------------------------------------------------ -------- Private Sub IDMViewSlowChange_Click(index As Integer) Dim i As Integer Select Case index Case 1 Timer1.Interval = 55 Label3.Caption = "1/2" Case 2 Timer1.Interval = 110 Label3.Caption = "1/4" Case 3 Timer1.Interval = 250 Label3.Caption = "1/8" Case 4 Timer1.Interval = 500 Label3.Caption = "1/15" Case 5 Timer1.Interval = 1000 Label3.Caption = "1/30" End Select For i = 1 To 5 IDMViewSlowChange(i).Checked = False 'チェックマークを消去 Next IDMViewSlowChange(index).Checked = True End Sub
【0044】 リスト1−7 ------------------------------------------------------------------------ -------- Private Sub IDMFrame_Click() TimeView = False IDMFrame.Checked = True IDMTime.Checked = False End Sub
【0045】 リスト1−8 ------------------------------------------------------------------------ -------- Private Sub IDMMove_Click() 'FlexGridの値の近いところに移動 Dim i As Integer For i = 1 To Form1.FGrid1.Cols - 1 Step 1 On Error Resume Next If Form1.FGrid1.TextMatrix(0, i) > MMControl1.Position Then Debug.Print Form1.FGrid1.TextMatrix(0, i); i If Err.Number <> 0 Then Exit Sub 'エラーだったときは終了 If i = 1 Then Form1.FGrid1.LeftCol = 1 'もし1列目が該当した ら1列目に飛んで Exit For Else Form1.FGrid1.Col = i Form1.FGrid1.LeftCol = i - 2 Exit For End If Next End Sub
【0046】 リスト1−9 ------------------------------------------------------------------------ -------- Private Sub IDMOpen_Click() On Error Resume Next CommonDialog1.Filter = "動画ファイル(*.avi)|*.avi|" CommonDialog1.FilterIndex = 1 CommonDialog1.Flags = cdlOFNFileMustExist CommonDialog1.ShowOpen If CommonDialog1.FileName = "" Then Exit Sub AVIFile = CommonDialog1.FileTitle MMControl1.Command = "Close" MMControl1.DeviceType = "AVIVideo" 'MMControl1.hWndDisplay = Form5.PictAVI.hWnd MMControl1.FileName = CommonDialog1.FileName MMControl1.Notify = False MMControl1.Wait = True MMControl1.Shareable = False MMControl1.Command = "Open" Slider1.Max = MMControl1.Length If Err.Number <> 0 Then MsgBox ("その動画は再生できません") Err.Clear Exit Sub End If Debug.Print Form3.Caption, MMControl1.FileName Time_Max '最大値の取得 '画面の表示 MMControl1.Frames = 0 MMControl1.Command = "Play" MMControl1.Command = "Stop" MMControl1.Frames = 1 Command1.Enabled = True StopButton.Enabled = True Form1.IDMWriteAuto.Enabled = True IDMViewSearch.Enabled = True End Sub
【0047】 リスト1−10 ------------------------------------------------------------------------ -------- Private Sub IDMExit_Click() End End Sub
【0048】 リスト1−11 ------------------------------------------------------------------------ -------- Private Sub IDMTime_Click() TimeView = True IDMFrame.Checked = False IDMTime.Checked = True End Sub
【0049】 リスト1−12 ------------------------------------------------------------------------ -------- Private Sub MMControl1_PauseClick(Cancel As Integer) MMControl1.PauseVisible = False MMControl1.PlayVisible = True End Sub
【0050】 リスト1−13 ------------------------------------------------------------------------ -------- Private Sub MMControl1_PlayClick(Cancel As Integer) MMControl1.PlayVisible = False MMControl1.PauseVisible = True If MMControl1.Position = MMControl1.Length Then MMControl1.Command = "Prev" '最後まで行ってたら頭出し End If If StopButton.Enabled = False Then StopButton.Enabled = True End If End Sub
【0051】 リスト1−14 ------------------------------------------------------------------------ -------- Private Sub MMControl1_StatusUpdate() If TimeView = True Then Time_View If TimeView = False Then Frame_View If MMControl1.Position = MMControl1.Length Then MMControl1.PauseVisible = False MMControl1.PlayVisible = True End If End Sub
【0052】 リスト1−15 ------------------------------------------------------------------------ -------- Private Sub Command1_Click() Timer1.Enabled = True Command1.Enabled = False ' MMControl1.PlayEnabled = False StopButton.Enabled = True End Sub
【0053】 リスト1−16 ------------------------------------------------------------------------ -------- Private Sub Slider1_Scroll() MMControl1.To = Slider1.Value MMControl1.Command = "Seek" Label1.Caption = MMControl1.Position MMControl1.PauseVisible = False 'ポーズボタンを消す MMControl1.PlayVisible = True '実行ボタンを有効にする End Sub
【0054】 リスト1−17 ------------------------------------------------------------------------ -------- Private Sub StopButton_Click() MMControl1.Command = "Stop" MMControl1.PlayEnabled = True StopButton.Enabled = False Timer1.Enabled = False Command1.Enabled = True MMControl1.PauseVisible = False MMControl1.PlayVisible = True End Sub
【0055】 リスト1−18 ------------------------------------------------------------------------ -------- Private Sub Timer1_Timer() Dim d1 As Long MMControl1.To = MMControl1.Position + 1 MMControl1.Command = "Seek" ' MMControl1.Frames = 1 ' MMControl1.Command = "Step" ' End Sub
【0056】 リスト1−19 ------------------------------------------------------------------------ -------- Private Sub Time_View() Dim d1, d2, d3, d4, MoviePosition As Integer Dim TimeFrame As String MoviePosition = MMControl1.Position d4 = (MoviePosition Mod 30) 'フレーム(30フレーム/秒) d3 = Int(MoviePosition / 30) Mod 60 '秒 d2 = Int(MoviePosition / 1800) Mod 60 '分 d1 = Int(MoviePosition / 240000) '時 Label1.FontSize = 10 Label1.Caption = Format(d1, "00:") & Format(d2, "00:") & _ Format(d3, "00:") & Format(d4, "00") 'フォーム MAX表示の変更 Label2.Caption = "MAX " & TimeMax Form3.Caption = "動画制御パネル" & " " & "[" & AVIFile & "]" _ & " " & Label2.Caption Slider1.Max = MMControl1.Length Slider1.Value = MMControl1.Position End Sub
【0057】 リスト1−20 ------------------------------------------------------------------------ -------- Private Sub Time_Max() Dim d1, d2, d3, d4, MovieLength As Integer 'MAXの時間表示 MovieLength = MMControl1.Length d4 = (MovieLength Mod 30) 'フレーム(30フレーム/秒) d3 = Int(MovieLength / 30) Mod 60 '秒 d2 = Int(MovieLength / 1800) Mod 60 '分 d1 = Int(MovieLength / 240000) '時 TimeMax = Format(d1, "00:") & Format(d2, "00:") & _ Format(d3, "00:") & Format(d4, "00") End Sub
【0058】 リスト1−21 ------------------------------------------------------------------------ -------- Private Sub Frame_View() Label1.FontSize = 14 Label1.Caption = MMControl1.Position Slider1.Value = MMControl1.Position 'フォーム MAX表示の変更 Label2.Caption = "MAX " & MMControl1.Length '最初に ”MAX 0”と表示されるのはこの部分が原因(何とかしないとな ・・・) Form3.Caption = "動画制御パネル" & " " & "[" & AVIFile & "]" _ & " " & Label2.Caption End Sub
【0059】 リスト2−1 Option Explicit ------------------------------------------------------------------------ -------- Private Sub Command1_Click() Dim t As Double Dim Xmin As Double, Xmax As Double, Ymin As Double, Ymax As Doubl e Dim Xpixels As Integer Ymin = 1E+101 Ymax = -1E+101 Xmin = 2 Xmax = 10 Picture1.Cls Picture1.ScaleMode = 3 Xpixels = Picture1.ScaleWidth - 1 ' Calculate min and max for y axis For i = 1 To Xpixels t = Xmin + (Xmax - Xmin) * i / Xpixels functionval = FunctionEval1(t) If functionval > Ymax Then Ymax = functionval If functionval < Ymin Then Ymin = functionval Next 'Set up a user defined scale mode Picture1.Scale (Xmin, Ymin)-(Xmax, Ymax) Picture1.ForeColor = RGB(0, 0, 0) 'moce to first point Picture1.PSet (Xmin, FunctionEval1(Xmin)) For i = 0 To Xpixels t = Xmin + (Xmax - Xmin) * i / Xpixels Picture1.Line (0, 0)-(520, 40) 'FunctionEval1(t) Next End Sub
【0060】 リスト2−2 ------------------------------------------------------------------------ -------- Function FunctionEval1(ByVal x As Double) As Double FunctionEval1 = Exp(2 / x) * Cos(2 * x) End Function
【0061】 リスト4−1 '------------------------- vbgrid.frm ------------------------- Option Explicit Dim Cel_X As Integer, Cel_Y As Integer Dim DataFile As String Dim 更新flg As Boolean Dim 保存文字列 As String, 保存行数 As Integer, 保存列数 As Integer Dim FromLine As Integer, ToLine As Integer Dim MainDir1 As String Dim ColLength As Integer, RowLength As Integer '保存した行と列の長さを 確保 Const ColSize = 30, RowSize = 30 Const FormTitle = "sIGNDEX記入" Const OrgFormWidth = 5025, OrgFormHeight = 2000 Const OrgGridWidth = 4905, OrgGridHeight = 1000
【0062】 リスト3−1 Option Explicit Dim NewFlag As Boolean '内容更新確認フラグ Dim RefFile As String Dim MainDir As String
【0063】 リスト3−2 ------------------------------------------------------------------------ -------- Private Sub Form_Load() Dim ItemX As ListItem Dim ItemY As ListItem Dim headX As ColumnHeader NewFlag = False MainDir = App.Path Set headX = ListView1.ColumnHeaders.Add(1, , "sIGNDEX", ListView1.Wi dth / 3, 0) Set headX = ListView1.ColumnHeaders.Add(2, , "内容", ListView1.Width * 2 / 3, 0) ListView1.View = lvwReport Form2.Caption = "リファレンス" Option3.Value = True End Sub
【0064】 リスト3−3 ------------------------------------------------------------------------ -------- Private Sub Form_Resize() If WindowState = 1 Then Exit Sub '最小化対策 If Form2.Width < 3200 Then 'これ以上横サイズを小さくしない Form2.Width = 3200: Exit Sub End If If Form2.Height < 2000 Then Form2.Height = 2000: Exit Sub End If ListView1.Width = Form2.Width - 100 ListView1.Height = Form2.Height - 1000 End Sub
【0065】 リスト3−4 ------------------------------------------------------------------------ -------- Private Sub Form_Unload(Cancel As Integer) Form1.IDMView.Enabled = True Form1.IDMViewRefarence.Enabled = True End Sub
【0066】 リスト3−5 ------------------------------------------------------------------------ -------- Private Sub IDMEditDelete_Click() '項目の削除 Dim Ret As Integer Dim i As Integer Dim ItemX As Object Ret = MsgBox("項目を削除してよろしいですか", vbYesNo, "削除の確認") If Ret = vbYes Then ListView1.ListItems.Remove (ListView1.SelectedItem.index) Else: Exit Sub End If Open RefFile For Output As #6 For i = 1 To ListView1.ListItems.Count Step 1 'EOFまで実行 Set ItemX = ListView1.ListItems(i) Write #6, ItemX, ItemX.SubItems(1) '変更した内容の更新 Next Close #6 Debug.Print ListView1.ListItems.Count End Sub
【0067】 リスト3−6 ------------------------------------------------------------------------ -------- Private Sub IDMEditWrite_Click() '項目の追加 Dim Ret1 As String Dim Ret2 As String Dim ItemX As ListItem Dim Msg As String Close '念のためファイルを閉じる Msg = "sIGNDEXを入力してください" Ret1 = InputBox(Msg, "sIGNDEXの追加", "") If Ret1 = "" Then Exit Sub 'リストボックスに新項目を入力 Msg = "説明内容を入力してください" Ret2 = InputBox(Msg, "説明内容の追加", "") If Ret2 = "" Then Exit Sub Set ItemX = ListView1.ListItems.Add(ListView1.ListItems.Count + 1, , Ret1) ItemX.SubItems(1) = Ret2 Debug.Print RefFile Open RefFile For Append As #5 '追加された項目をファイルに記入 Write #5, Ret1, Ret2 Close End Sub
【0068】 リスト3−7 ------------------------------------------------------------------------ -------- Public Sub SignRef(RefName As String) '辞書内容を変更する関数 RefName は項目名 ListView1.ListItems.Clear 'リストビュー内容消去 If RefName = "" Then Exit Sub If RefName = "最終行" Then Exit Sub Dim i As Integer Dim ListBuf As String Dim SignBuf As String Dim ItemX As Object i = 1 Form2.Caption = "リファレンス " & RefName RefFile = MainDir & "\signdex\" & RefName & ".csv" 'sIGNDEXファイル 名を取得 On Error Resume Next 'エラー発生時は下の処理 Open RefFile For Input As #1 If Err.Number <> 0 Then 'ファイルが無かった時のエラー処 理 Close Err.Clear Exit Sub 'そして終了 End If Do Until EOF(1) 'EOFまで実行 Input #1, ListBuf, SignBuf Set ItemX = ListView1.ListItems.Add(i, , ListBuf) ItemX.SubItems(1) = SignBuf Debug.Print i, ListBuf, SignBuf i = i + 1 Loop Close #1 End Sub
【0069】 リスト3−8 ------------------------------------------------------------------------ -------- Private Sub ListView1_DblClick() '選択内容を表記部に追加 Dim StringOld As Variant '内容が既にある場合、それを保存しておく 変数 On Error GoTo ERR1 ' 項目のないときはエラーとなるのでその処理 Form1.UndoGet If Check1.Value = vbChecked Then '内容追加モード StringOld = Form1.FGrid1.TextMatrix(Form1.FGrid1.Row, Form1.FGri d1.Col) 'StringOld に内容を保持 If Option1.Value = True Then '@追加 StringOld = StringOld & " +@" & ListView1.SelectedItem Form1.FGrid1.TextMatrix(Form1.FGrid1.Row, Form1.FGrid1.Col) _ = StringOld Check1.Value = vbUnchecked ElseIf Option2.Value = True Then ' @@追加 StringOld = StringOld & " +@@" & ListView1.SelectedItem Form1.FGrid1.TextMatrix(Form1.FGrid1.Row, Form1.FGrid1.Col) _ = StringOld Check1.Value = vbUnchecked Else StringOld = StringOld & " +" & ListView1.SelectedItem 'なし Form1.FGrid1.TextMatrix(Form1.FGrid1.Row, Form1.FGrid1.Col) _ = StringOld Check1.Value = vbUnchecked End If ElseIf Check1.Value = vbUnchecked Then '内容変更モード If Option1.Value = True Then '@追加 Form1.FGrid1.TextMatrix(Form1.FGrid1.Row, Form1.FGrid1.Col) _ = " +@" & ListView1.SelectedItem ElseIf Option2.Value = True Then '@@追加 Form1.FGrid1.TextMatrix(Form1.FGrid1.Row, Form1.FGrid1.Col) _ = " +@@" & ListView1.SelectedItem Else 'なし Form1.FGrid1.TextMatrix(Form1.FGrid1.Row, Form1.FGrid1.Col) _ = " +" & ListView1.SelectedItem End If Option3.Value = True ' "なし" に戻す End If Form1.Label1.Caption = Form1.FGrid1.TextMatrix(Form1.FGrid1.Row, For m1.FGrid1.Col) '内容コピー Form1.CellColorChange ERR1: Exit Sub 'エラーだったときは終了 End Sub
【0070】 リスト4−1 '------------------------- vbgrid.frm ------------------------- Option Explicit Dim Cel_X As Integer, Cel_Y As Integer Dim DataFile As String Dim 更新flg As Boolean Dim 保存文字列 As String, 保存行数 As Integer, 保存列数 As Integer Dim FromLine As Integer, ToLine As Integer Dim MainDir1 As String Dim ColLength As Integer, RowLength As Integer '保存した行と列の長さを 確保 Const ColSize = 30, RowSize = 30 Const FormTitle = "sIGNDEX記入" Const OrgFormWidth = 5025, OrgFormHeight = 2000 Const OrgGridWidth = 4905, OrgGridHeight = 1000
【0071】 リスト4−2 ------------------------------------------------------------------------ ------- Private Sub Autowrite_Click() WriteAuto (Form3.MMControl1.Position) End Sub
【0072】 リスト4−3 ------------------------------------------------------------------------ ------- Private Sub FGrid1_DblClick() 'フレーム数へジャンプ If FGrid1.TextMatrix(0, FGrid1.Col) = "" Then Exit Sub Form3.MMControl1.To = FGrid1.TextMatrix(0, FGrid1.Col) Form3.MMControl1.Command = "Seek" End Sub ------------------------------------------------------------------------ -------
【0073】 リスト4−4 Private Sub FGrid1_Scroll() '入力中に水平スクロールハ゛ーが入力されたときの対策 If txtForEdit.Visible = True Then FGrid1.SetFocus 'これでテ゛ータをセルにコヒ゜ーして終了する End If End Sub
【0074】 リスト4−5 ------------------------------------------------------------------------ ------- Private Sub FGrid1_SelChange() Dim ColNumber As Integer, RowNumber As Integer Dim dummy As Integer Dim i As Integer Dim ColSel As Integer, RowSel As Integer Dim Compare As Integer ColNumber = FGrid1.Col RowNumber = FGrid1.Row ColSel = FGrid1.ColSel RowSel = FGrid1.RowSel Close
【0075】 リスト4−6 '------選択セルの色を変えて見やすくする--------------------------------- ----------------- FGrid1.ScrollBars = 0: FGrid1.Visible = False '画面揺らぎがなく読み 込みが速くなる FGrid1.Col = 0 For i = 0 To FGrid1.Rows - 1 Step 1 FGrid1.Row = i 'セル選択処理 FGrid1.CellBackColor = &H8000000A 'セルの色を一旦元に戻す FGrid1.CellForeColor = &H0 Next FGrid1.Row = RowNumber FGrid1.CellBackColor = &HA5FF00 FGrid1.Row = 0 For i = 0 To FGrid1.Cols - 1 Step 1 FGrid1.Col = i 'セル選択処理 FGrid1.CellBackColor = &H8000000A 'セルの色を一旦元に戻す FGrid1.CellForeColor = &H0 Next FGrid1.Col = ColNumber FGrid1.CellBackColor = &HA5FF00 ' FGrid1.CellForeColor = &HFFFFFF FGrid1.Row = RowNumber FGrid1.ColSel = ColSel FGrid1.RowSel = RowSel FGrid1.ScrollBars = 3: FGrid1.Visible = True FGrid1.SetFocus '------選択セルの色を変えて見やすくする_ここまで----------------------- ------------- On Error GoTo ERR1: Form2.SignRef (FGrid1.TextMatrix(FGrid1.Row, 0)) AndCompare (FGrid1.Text) Exit Sub ERR1: dummy = MsgBox("エラー#$$", vbCritical, "ERROR!!!!!!!!") Err.Clear End Sub
【0076】 リスト4−7 ------------------------------------------------------------------------ -------- Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyF5: If IDMWriteAuto.Enabled = False Then Exit Sub IDMWriteAuto_Click End Select End Sub
【0077】 リスト4−8 ------------------------------------------------------------------------ -------- Private Sub Form_Load() Dim MyTime, MyDate, MyStr IDMViewRefarence.Enabled = False IDMViewMediaControl.Enabled = False MainDir1 = App.Path TextName = "" JapaneseText = "" NewSet Kazu = 0 'Undo数の設定 End Sub
【0078】 リスト4−9 ------------------------------------------------------------------------ ------- Private Sub Fgrid1_MouseDown(Button As Integer, Shift As Integer, x As S ingle, y As Single) If Button = vbRightButton Then PopupMenu IDMPopup 'ポップアップメニュー ElseIf Button = vbLeftButton Then FGrid1_SelChange End If End Sub
【0079】 リスト4−10 ------------------------------------------------------------------------ ------- Private Sub Form_Unload(Cancel As Integer) Cancel = True '終了処理は [終了]ホ゛タンにまかせる Go_End End Sub
【0080】 リスト4−11 ------------------------------------------------------------------------ -------- Private Sub Form_Resize() 'なんかうまく行ってないぞ・・・サイズ変更した ときに If Form1.WindowState = 1 Then '記入部が最小化されたら Form2.WindowState = 1 'すべてのウィンドウを最小化する Form3.WindowState = 1 Form4.WindowState = 1 Exit Sub 'そして抜ける ElseIf Form1.WindowState = 0 Then Form2.WindowState = 0 '記入部を普通に戻したら Form3.WindowState = 0 'ほかのところも元に戻す Form4.WindowState = 0 End If If Form1.Height < OrgFormHeight Then Form1.Height = OrgFormHeight ' 最小縦サイス゛ If Form1.Width < OrgFormWidth Then Form1.Width = OrgFormWidth '最小 横サイス゛ FGrid1.Width = Form1.Width - (OrgFormWidth - OrgGridWidth) FGrid1.Height = Form1.Height - (OrgFormHeight - OrgGridHeight) Label1.Width = Form1.Width - (OrgFormWidth - OrgGridWidth) End Sub
【0081】 リスト4−12 ------------------------------------------------------------------------ -------- Private Sub IDMEdit_Click() 'Undo使用可能か否か If Kazu = 0 Then IDMEditUndo.Enabled = False ElseIf Kazu > 0 Then IDMEditUndo.Enabled = True End If If KazuMax = Kazu Then IDMEditRedo.Enabled = False Else IDMEditRedo.Enabled = True End If End Sub
【0082】 リスト4−13 ------------------------------------------------------------------------ -------- Private Sub IDMEditClear_Click() Dim i As Integer Dim j As Integer ColLength = FGrid1.ColSel - FGrid1.Col '列の長さを確保 RowLength = FGrid1.RowSel - FGrid1.Row '行の長さを確保 UndoGet For i = FGrid1.Row To FGrid1.Row + RowLength Step 1 For j = FGrid1.Col To FGrid1.Col + ColLength Step 1 FGrid1.TextMatrix(i, j) = "" Next Next Label1.Caption = "" 'ラベルの中身を消去 CellColorChange FGrid1.SetFocus 'これやらないとボタンにフォーカスが移動する End Sub
【0083】 リスト4−14 ------------------------------------------------------------------------ -------- Private Sub IDMEditColDelete_Click() Dim i As Integer Dim j As Integer Dim CheckStr As String Dim ColEnd As Integer Dim NowRow As Integer Dim NowCol As Integer Dim Ret As Integer ' Dim CheckStrDelSpc j = 1 UndoGet ColEnd = FGrid1.Cols - 1 NowRow = FGrid1.Row NowCol = FGrid1.Col FGrid1.ScrollBars = 0 FGrid1.Visible = False For i = 1 To FGrid1.Rows - 1 'セルの内容を確認 If FGrid1.TextMatrix(i, NowCol) <> "" Then 'セルに内容があった ら CellDataCheck(j).Number = i CellDataCheck(j).CellData = FGrid1.TextMatrix(i, NowCol) CellDataCheck(j).CellTitle = FGrid1.TextMatrix(i, 0) j = j + 1 End If Next If j >= 2 Then For i = 1 To j - 1 CheckStr = CheckStr & CellDataCheck(i).CellTitle & " " & CellDataCheck(i).CellData & Chr(13) Next FGrid1.ScrollBars = 3: FGrid1.Visible = True Ret = MsgBox("列を削除してよろしいですか?" & Chr(13) & CheckStr , vbYesNo, "列の削除") If Ret = vbNo Then Exit Sub End If FGrid1.ScrollBars = 0: FGrid1.Visible = False '画面揺らぎがなく読み 込みが速くなる '選択列以降の列をすべて左に移動する ColDelete: For i = FGrid1.Col + 1 To ColEnd Step 1 列交換 i - 1, i Next FGrid1.Row = 0: FGrid1.Col = ColorCell FGrid1.CellBackColor = &H8000000F FGrid1.Row = NowRow: FGrid1.Col = NowCol 更新flg = True FGrid1.Cols = FGrid1.Cols - 1 'そして列数をひとつ減らす CellColorChange FGrid1.ScrollBars = 3 FGrid1.Visible = True Form2.SignRef (FGrid1.TextMatrix(FGrid1.Row, 0)) FGrid1_SelChange FGrid1.SetFocus End Sub
【0084】 リスト4−15 ------------------------------------------------------------------------ -------- Private Sub IDMEditColInsert_Click() Dim NowRow As Integer Dim NowCol As Integer UndoGet With FGrid1 NowRow = .Row NowCol = .Col ColInsert .Col + 1 '列の挿入 CellColorChange .ColWidth(.Cols - 1) = 1700 '追加列幅設定1700 .FixedAlignment(.Cols - 1) = flexAlignCenterCenter '列タイトル(フレーム 数)は中央寄せ .ScrollBars = 3: .Visible = True .Row = NowRow: .Col = NowCol End With Form2.SignRef (FGrid1.TextMatrix(FGrid1.Row, 0)) FGrid1_SelChange FGrid1.SetFocus End Sub
【0085】 リスト4−16 ------------------------------------------------------------------------ -------- Private Sub IDMEditCopy_Click() ColLength = FGrid1.ColSel - FGrid1.Col '保存した列の長さを確保 RowLength = FGrid1.RowSel - FGrid1.Row '保存した行の長さを確保 保存文字列 = FGrid1.Clip IDMEditPaste.Enabled = True IDMPopupPaste.Enabled = True FGrid1.SetFocus 'これやらないとボタンにフォーカスが移動する End Sub
【0086】 リスト4−17 ------------------------------------------------------------------------ -------- Private Sub IDMEditCut_Click() Dim i As Integer Dim j As Integer ColLength = FGrid1.ColSel - FGrid1.Col '保存した列の長さを確保 RowLength = FGrid1.RowSel - FGrid1.Row '保存した行の長さを確保 保存文字列 = FGrid1.Clip UndoGet For i = FGrid1.Row To FGrid1.Row + RowLength Step 1 For j = FGrid1.Col To FGrid1.Col + ColLength Step 1 FGrid1.TextMatrix(i, j) = "" Next Next IDMEditPaste.Enabled = True IDMPopupPaste.Enabled = True FGrid1.SetFocus 'これやらないとボタンにフォーカスが移動する End Sub
【0087】 リスト4−18 ------------------------------------------------------------------------ -------- Private Sub IDMEditPaste_Click() Dim dummy As Integer On Error Resume Next UndoGet FGrid1.ColSel = FGrid1.Col + ColLength: FGrid1.RowSel = FGrid1.Row + RowLength If Err.Number <> 0 Then dummy = MsgBox("行または列の範囲を超えています", vbCritical, "エ ラー") Err.Clear Exit Sub End If FGrid1.Clip = 保存文字列 CellColorChange FGrid1.SetFocus 'これやらないとボタンにフォーカスが移動する End Sub
【0088】 リスト4−19 Private Sub IDMEditPaste_Click() Dim dummy As Integer On Error Resume Next UndoGet FGrid1.ColSel = FGrid1.Col + ColLength: FGrid1.RowSel = FGrid1.Row + RowLength If Err.Number <> 0 Then dummy = MsgBox("行または列の範囲を超えています", vbCritical, "エ ラー") Err.Clear Exit Sub End If FGrid1.Clip = 保存文字列 CellColorChange FGrid1.SetFocus 'これやらないとボタンにフォーカスが移動する End Sub
【0089】 リスト4−20 ------------------------------------------------------------------------ -------- Private Sub IDMEditRedo_Click() 'やり直し(問題あり) Dim xx As Integer Dim NowRow As Integer If IDMEditRedo.Enabled = False Then Exit Sub 'やり直しができなかっ たら抜ける Kazu = Kazu + 1 If Kazu = KazuX Then Kazu = 0 FGrid1.SetFocus FGrid1.ScrollBars = 0: FGrid1.Visible = False '画面揺らぎがなく読み 込みが速くなる ClipSaveGet 0, FGrid1.Cols - 1, 0, FGrid1.Rows - 1, Undo(Kazu).UndoS tring, _ Undo(Kazu).ColCount, Undo(Kazu).RowCount, 2 FGrid1.ColWidth(-1) = 1700 '全列幅設定1700 FGrid1.ColWidth(0) = 1800 '0列目だけ1800設定直し NowRow = FGrid1.Row FGrid1.Row = 0 For xx = 1 To FGrid1.Cols - 1 FGrid1.FixedAlignment(xx) = flexAlignCenterCenter '列タイトル(フレ ーム数)は中央寄せ Next FGrid1.Row = NowRow FGrid1.ScrollBars = 3: FGrid1.Visible = True '画面揺らぎがなく読 み込みが速くなる AndCompare (FGrid1.Text) CellColorChange FGrid1.SetFocus 'これやらないとボタンにフォーカスが移動する End Sub
【0090】 リスト4−21 ------------------------------------------------------------------------ ------- Prvate Sub IDMEditRowCut_Click() Dim yy As Integer Fgrid1.SetFocus If 行範囲取得()=false Then Exit Sub RowCopy ‘行コピー For yy = FromLine To ToLine Fgrid1.RemoveItem FromLine ‘行範囲を削除 Next 更新flg=True End Sub
【0091】 リスト4−22 ------------------------------------------------------------------------ -------- Private Sub IDMEditRowDelete_Click() Dim NowRow As Integer, NowCol As Integer Dim Ret As Integer Dim i As Integer, j As Integer Dim CheckStr As String j = 1 NowRow = FGrid1.Row UndoGet For i = 1 To FGrid1.Cols - 1 'セルの内容を確認 If FGrid1.TextMatrix(NowRow, i) <> "" Then 'セルに内容があった ら CellDataCheck(j).Number = i CellDataCheck(j).CellData = FGrid1.TextMatrix(NowRow, i) CellDataCheck(j).CellTitle = FGrid1.TextMatrix(0, i) j = j + 1 End If Next Debug.Print "$JJJ", j If j >= 2 Then For i = 1 To j - 1 CheckStr = CheckStr & CellDataCheck(i).CellTitle & " " & CellDataCheck(i).CellData & Chr(13) Next Ret = MsgBox("行を削除してよろしいですか?" & Chr(13) & CheckStr , vbYesNo, "行の削除") If Ret = vbNo Then Exit Sub End If FGrid1.RemoveItem (FGrid1.Row) FGrid1.Row = NowRow FGrid1_SelChange FGrid1.SetFocus 更新flg = True Form2.SignRef (FGrid1.TextMatrix(FGrid1.Row, 0)) End Sub
【0092】 リスト4−23 ------------------------------------------------------------------------ -------- Private Sub IDMEditRowInsert_Click() UndoGet 更新flg = True FGrid1_SelChange FGrid1.SetFocus End Sub
【0093】 リスト4−24 ------------------------------------------------------------------------ -------- Private Sub IDMEditRowPaste_Click() Dim yy As Integer, y1 As Integer, y2 As Integer Fgrid1.SetFocus If 保存文字列 =‘’‘Then MsgBox ”保存されている文字列はありません“ Exit Sub End If Y1 = Fgrid1.Row: y2 =Fgrid1.Row + 保存行数−1 For yy =y1 to y2 Fgrid1.AddItem ‘’’, Fgrid1.Row ‘復活行数確保 Next ClipSaveRowCol 0, Fgrid1.Cols ■1, y1,y2, 保存文字列, 保存行数, 2 更新flg= True End Sub
【0094】 リスト4−25 ------------------------------------------------------------------------ -------- Private Sub IDMFrameAuto_Click() WriteAuto (Form3.MMControl1.Position) End Sub Private Sub IDMFrameSelect_Click() FGrid1.TextMatrix(0, Form1.FGrid1.Col) = Form3.MMControl1.Position End Sub
【0095】 リスト4−26 ------------------------------------------------------------------------ -------- Private Sub IDMHelpIndex_Click() ' CancelError に真 (True) を設定します。 CommonDialog1.CancelError = True On Error GoTo ErrHandler ' HelpCommand プロパティを設定します。 CommonDialog1.HelpCommand = &HB Or cdlHelpSetContents 'こうしないと目 次がうまく出ない ' ヘルプ ファイルを指定します。 CommonDialog1.HelpFile = App.Path & "\" & "help01.hlp" ' Windows ヘルプ エンジンを表示します。 CommonDialog1.ShowHelp Exit Sub ErrHandler: ' ユーザーが [キャンセル] ボタンをクリックしました。 Exit Sub End Sub
【0096】 リスト4−27 ------------------------------------------------------------------------ -------- Private Sub IDMFileLine_Click() '一次元形式で保存 Dim xx As Integer, yy As Integer, Fname As String, FileNumber As Int eger Dim FlatData As String Dim Ret As Integer Dim dummy As Integer On Error Resume Next 'エラー対策 Ret = InputBox("sIGNDEXが始まる行を指定してください", "1次元形式で 保存", 2) 'キャンセルをすると値が不正になってしまう・・・ If Err.Number <> 0 Then dummy = MsgBox("値が不正です", vbCritical, "警告") Err.Clear Exit Sub End If FGrid1.ScrollBars = 0: FGrid1.Visible = False '画面揺らぎがなく読み 込みが速くなる For xx = 1 To FGrid1.Cols - 1 Step 1 For yy = Ret To FGrid1.Rows - 1 Step 1 'フレーム数を保存 するための措置 FlatData = FlatData + FGrid1.TextMatrix(yy, xx) Next Next FGrid1.ScrollBars = 3: FGrid1.Visible = True FlatData = DelSpc(FlatData, 0) 'テ゛ータを1次元形式として保存するプロセス Debug.Print "yes" CommonDialog1.FileName = "" GetSaveAsFileName CommonDialog1, "テキストファイル(*.txt)|*.txt" If CommonDialog1.FileName = "" Then Exit Sub Fname = CommonDialog1.FileName TextName = Fname 'テ゛ータを1次元形式として保存する On Error GoTo ERR2 FileNumber = FreeFile ' 未使用のファイル番号を取得しま す。 Close '念のため ファイルを閉じる。 Open Fname For Output As #FileNumber 'ファイルを開く Print #FileNumber, FlatData Close #FileNumber ' ファイルを閉じる Debug.Print FlatData Exit Sub ERR2: MsgBox DataFile & Error(Err.Number), , "エラー!!!" Err.Clear End Sub
【0097】 リスト4−28 ------------------------------------------------------------------------ -------- Private Sub IDMkoteiCancel_Click() Dim NowRow As Integer Dim NowCol As Integer NowRow = FGrid1.Row NowCol = FGrid1.Col FGrid1.FixedCols = 1: FGrid1.FixedRows = 1 Form1.IDMkoteiCancel.Visible = False Form1.IDMkotei.Visible = True FGrid1.Row = NowRow FGrid1.Col = NowCol End Sub
【0098】 リスト4−29 ------------------------------------------------------------------------ -------- Private Sub IDMPlay_Click() Dim Dammy As Integer On Error Resume Next 'エラー対策 Form3.MMControl1.From = FGrid1.TextMatrix(0, FGrid1.Col) If Err.Number <> 0 Then Dammy = MsgBox("値が不正です", vbCritical, "警告") Err.Clear Exit Sub End If Form3.MMControl1.To = FGrid1.TextMatrix(0, FGrid1.ColSel) Form3.MMControl1.From = FGrid1.TextMatrix(0, FGrid1.Col) If Err.Number <> 0 Then Dammy = MsgBox("値が不正です", vbCritical, "警告") Err.Clear Exit Sub End If Form3.MMControl1.Command = "Play" End Sub
【0099】 リスト4−30 ------------------------------------------------------------------------ -------- Private Sub IDMPopupColDelete_Click() IDMEditColDelete_Click End Sub
【0100】 リスト4−31 ------------------------------------------------------------------------ -------- Private Sub IDMPopupColInsert_Click() IDMEditColInsert_Click End Sub
【0101】 リスト4−32 ------------------------------------------------------------------------ -------- Private Sub IDMPopupCopy_Click() ColLength = FGrid1.ColSel - FGrid1.Col '保存した列の長さを確保 RowLength = FGrid1.RowSel - FGrid1.Row '保存した行の長さを確保 保存文字列 = FGrid1.Clip IDMEditPaste.Enabled = True IDMPopupPaste.Enabled = True End Sub
【0102】 リスト4−33 ------------------------------------------------------------------------ -------- Private Sub IDMPopupCut_Click() IDMEditCut_Click '「編集」−「切り取り」 End Sub
【0103】 リスト4−34 ------------------------------------------------------------------------ -------- Private Sub IDMPopupDelete_Click() IDMEditClear_Click '「編集」−「削除」 End Sub
【0104】 リスト4−35 ------------------------------------------------------------------------ -------- Private Sub IDMPopupPaste_Click() IDMEditPaste_Click '「編集」―「貼り付け」 End Sub
【0105】 リスト4−36 ------------------------------------------------------------------------ -------- Private Sub IDMEditTitleAdd_Click() Dim Ret As String Dim RefFile As String Dim SelectRow As Integer '行番号の保持 Dim dummy As Integer Dim NowCol As Integer, NowRow As Integer NowCol = FGrid1.Col: NowRow = FGrid1.Row If (FGrid1.TextMatrix(FGrid1.Row, 0)) = "" Then '項目が未入力なら新 規追加 Ret = InputBox("項目名を入力してください", "新規項目の追加") Else dummy = MsgBox("既に項目名があリます。項目名のない行を選択してく ださい", vbCritical, "項目の追加") Exit Sub 'それ以外は終了 End If UndoGet SelectRow = FGrid1.Row '行番号の確保 FGrid1.Row = 0 '行数を1に設定 '既に存在する項目と新規項目が被らないかチェック If Ret = "" Then Exit Sub 'キャンセルに対応 Do Until FGrid1.Row + 1 = RowSize '最終行までチェック If Ret = FGrid1.TextMatrix(FGrid1.Row, 0) Then '同じ項目が あったら MsgBox ("既に同じ項目があります") '終了 Exit Sub End If FGrid1.Row = FGrid1.Row + 1 '列数をふやす Loop FGrid1.Col = NowCol: FGrid1.Row = NowRow FGrid1.TextMatrix(SelectRow, 0) = Ret RefFile = MainDir1 & "\signdex\" & Ret & ".csv" 'RefFile ファイル名 CreateAfile (RefFile) 'ファイル作成関数 Close Form2.SignRef (Ret) '関数の起動 End Sub
【0106】 リスト4−37 ------------------------------------------------------------------------ -------- Private Sub IDMEditUndo_Click() '元に戻す Dim NowRow As Integer Dim NowCol As Integer Dim xx As Integer '繰り返し用 NowRow = FGrid1.Row: NowCol = FGrid1.Col FGrid1.HighLight = flexHighlightNever UndoGet FGrid1.ScrollBars = 0: FGrid1.Visible = False '画面揺らぎがなく 読み込みが速くなる Kazu = Kazu - 1 If Kazu = 0 And KOver = True Then Kazu = 9 '保持してある1つ前の内容を復活 ClipSaveGet 0, FGrid1.Cols - 1, 0, FGrid1.Rows - 1, Undo(Kazu).UndoS tring, _ Undo(Kazu).ColCount, Undo(Kazu).RowCount, 2 AndCompare (FGrid1.Text) If IDMEditRedo.Enabled = False Then IDMEditRedo.Enabled = True 'もし やり直しが使えなかったら有効にする If ColorCell <> 0 Then FGrid1.Row = 0: FGrid1.Col = ColorCell: FGrid1.CellBackColor = & H8000000F End If CellColorChange FGrid1.ColWidth(-1) = 1700 '全列幅設定1700 FGrid1.ColWidth(0) = 1800 '0列目だけ1800設定直し FGrid1.Row = 0 For xx = 1 To FGrid1.Cols - 1 FGrid1.FixedAlignment(xx) = flexAlignCenterCenter '列タイトル(フレ ーム数)は中央寄せ Next FGrid1.Row = NowRow: FGrid1.Col = NowCol FGrid1.ScrollBars = 3: FGrid1.Visible = True '画面揺らぎがなく読 み込みが速くなる_終了 FGrid1.HighLight = flexHighlightAlways AndCompare (FGrid1.Text) FGrid1.SetFocus 'これやらないとボタンにフォーカスが移動する End Sub
【0107】 リスト4−38 ------------------------------------------------------------------------ -------- Private Sub IDMNewFile_Click() '[新規作成] Dim Ret As Integer If 更新flg Then Ret = MsgBox("内容が変更されています。このまま新規作成に移ります か?", _ vbYesNo Or vbDefaultButton2 Or vbExclamation, "注意") If Ret = vbNo Then Exit Sub End If End If Kazu = 0 'Undo数の設定 KazuMax = Kazu 'Redo数の設定 If ColorCell <> 0 Then FGrid1.Row = 0: FGrid1.Col = ColorCell FGrid1.CellBackColor = &H8000000F ColorCell = 0 FGrid1.Row = 1: FGrid1.Col = 1 End If FGrid1.SetFocus NewSet CellColorChange FGrid1.Row = 1: FGrid1.Col = 1 'セルの場所を一番左上に移す FGrid1.LeftCol = 1: FGrid1.TopRow = 1 'そして表示する FGrid1.SetFocus End Sub
【0108】 リスト4−39 ------------------------------------------------------------------------ -------- Private Sub IDMFileOpen_Click() '[開く] Kazu = 0 'Undo数の設定 KazuMax = Kazu 'Redo数の設定 If ColorCell <> 0 Then FGrid1.Row = 0: FGrid1.Col = ColorCell FGrid1.CellBackColor = &H8000000F ColorCell = 0 FGrid1.Row = 1: FGrid1.Col = 1 End If go_Open End Sub
【0109】 リスト4−40 ------------------------------------------------------------------------ -------- Private Sub IDMFileOverWrite_Click() '[上書保存] Go_Save 1 End Sub
【0110】 リスト4−41 ------------------------------------------------------------------------ -------- Private Sub IDMFileSaveAs_Click() '[名前を付けて保存] Go_Save 2 End Sub
【0111】 リスト4−42 ------------------------------------------------------------------------ -------- Private Sub IDMFileEnd_Click() '[終了] Go_End End Sub
【0112】 リスト4−43 ------------------------------------------------------------------------ -------- Private Sub NewSet() Dim xx As Integer '標準の列数、行数、列幅、配置などを設定する FGrid1.Cols = ColSize: FGrid1.Rows = RowSize FGrid1.FixedCols = 1: FGrid1.FixedRows = 1 '固定行列の設定 FGrid1.Clear FGrid1.ColWidth(-1) = 1700 '全列幅設定1700 FGrid1.ColWidth(0) = 1800 '0列目だけ1800設定直し FGrid1.RowHeight(-1) = -1 '文字サイズに応じた標準高さに設定 DataFile = "" FGrid1.HighLight = flexHighlightAlways '選択されたセル範囲を強調表示 しない FGrid1.ColAlignment(0) = 0 '行タイトルは左寄せ FGrid1.Row = 0 For xx = 1 To FGrid1.Cols - 1 FGrid1.FixedAlignment(xx) = flexAlignCenterCenter '列タイトル(フレ ーム数)は中央寄せ Next FGrid1.Width = Form1.Width - (OrgFormWidth - OrgGridWidth) FGrid1.Height = Form1.Height - (OrgFormHeight - OrgGridHeight) Label1.Width = Form1.Width - (OrgFormWidth - OrgGridWidth) Label1.Caption = "" FGrid1.Row = 0: FGrid1.Col = 0 FGrid1.RowSel = 15 FGrid1.Clip = "フレームNo." & Chr(13) & "意味" & Chr(13) & "sIGNDEX" & Chr(13) & _ "指差し" & Chr(13) & "首" & Chr(13) & _ "眉動作" & Chr(13) & "眼" & Chr(13) & "目線" & Chr(1 3) & "口形" & Chr(13) & _ "口角" & Chr(13) & _ "頬" & Chr(13) & "舌" & Chr(13) & "顎" & Chr(13) & _ "肩" & Chr(13) & "姿勢" 'タイトルハ゛ーへの設定などを行う FGrid1.Col = 1: FGrid1.Row = 1 更新flg = False DataFile = "" Form1.Caption = FormTitle End Sub
【0113】 リスト4−44 ------------------------------------------------------------------------ -------- Private Sub go_Open() Dim Ret As Integer Dim xx As Integer If 更新flg Then Ret = YesNoBox("内容が変更されています。このまま次のファイルを開きま すか?", "注意") If Ret = vbNo Then Exit Sub End If 'ファイル名を取得する GetOpenFileName CommonDialog1, "CSVファイル (*.CSV)|*.CSV" If CommonDialog1.FileName = "" Then Exit Sub 'テ゛ータを読み込む FGrid1.ScrollBars = 0: FGrid1.Visible = False '画面揺らぎがなく読み 込みが速くなる go_FileRead (CommonDialog1.FileName) FGrid1.ColWidth(-1) = 1700 '全列幅設定1700 FGrid1.ColWidth(0) = 1800 '0列目だけ1800設定直し FGrid1.Row = 0 For xx = 1 To FGrid1.Cols - 1 FGrid1.FixedAlignment(xx) = flexAlignCenterCenter '列タイトル(フレ ーム数)は中央寄せ Next FGrid1.Row = 1 FGrid1.Col = 1 FGrid1.ScrollBars = 3: FGrid1.Visible = True 'カレントセルを設定しフォーカスを移す FGrid1.LeftCol = 1: FGrid1.Col = 1: FGrid1.Row = 1 FGrid1.FixedCols = 1: FGrid1.FixedRows = 1 '固定行列の設定 更新flg = False CellColorChange Unload Form4 Japanese (CommonDialog1.FileName) '日本語訳関数呼び出し FGrid1.SetFocus End Sub
【0114】 リスト4−45 ------------------------------------------------------------------------ -------- Private Sub go_FileRead(Fname As String) Dim Table() As Variant On Error GoTo ERR1 Open Fname For Binary As #1 'ファイルを読み込む MyCSV$ = Input(LOF(1), #1) 'CSVを一気に読む Close #1 '配列に変換する Call chrParamArrayEx(MyCSV$, Table()) 'CSVを配列として解釈する nRec = chrParamArrayEx(MyCSV$, Table()) 'CSVを配列として解釈する If UBound(Table, 1) > ColSize Then FGrid1.Cols = UBound(Table, 1) If nRec > RowSize Then FGrid1.Rows = nRec + 1 For NowRec = 1 To nRec For NowIndex = 1 To UBound(Table, 1) FGrid1.TextMatrix(NowRec - 1, NowIndex - 1) = Table(NowIndex , NowRec) 'グリッドにデータ挿入 Next Next '列番号付与とファイル名保存とタイトルハ゛ー設定 DataFile = Fname Form1.Caption = FormTitle & " " & DataFile IDMViewJapanese.Enabled = True Exit Sub ERR1: MsgBox Error(Err.Number) Err.Clear End Sub
【0115】 リスト4−46 ------------------------------------------------------------------------ -------- 'Mode 1:上書保存 2:名前を付けて保存 Private Sub Go_Save(Mode As Integer) '保存 Dim yy As Integer, xx As Integer, Fname As String '上書保存なら現在のファイル名、名前を付けて保存なら新しいファイル名を取得す る If Mode = 1 Then '上書保存 If DataFile = "" Then MsgBox "ファイル名がありません。[名前を付けて保存]を実行してくだ さい." Exit Sub End If Fname = DataFile ElseIf Mode = 2 Then '名前を付けて保存 CommonDialog1.FileName = "" GetSaveAsFileName CommonDialog1, "CSVファイル(*.CSV)|*.CSV" If CommonDialog1.FileName = "" Then Exit Sub Fname = CommonDialog1.FileName End If '1行(複数列)のテ゛ータを1行の文字列(カンマ区切り)として保存する On Error GoTo ERR1 Open Fname For Output As #1 FGrid1.ScrollBars = 0: FGrid1.Visible = False '画面揺らぎがなく読み 込みが速くなる For yy = 0 To FGrid1.Rows - 1 Step 1 'フレーム数を保存するた めの措置 If FGrid1.TextMatrix(yy, 0) = "" Then Exit For '無駄なデータは 保存しない For xx = 0 To FGrid1.Cols - 2 Step 1 '項目名を保存するための 措置 Write #1, FGrid1.TextMatrix(yy, xx), Next Write #1, " " & FGrid1.TextMatrix(yy, xx) Next FGrid1.ScrollBars = 3: FGrid1.Visible = True Close #1 TextName = Fname Unload Form4 更新flg = False DataFile = Fname Form1.Caption = FormTitle & " " & DataFile Exit Sub ERR1: MsgBox DataFile & Error(Err.Number), , "エラー!!!" Err.Clear End Sub
【0116】 リスト4−47 ------------------------------------------------------------------------ -------- Private Sub Go_End() '終了 Dim Ret As Integer If 更新flg Then Ret = YesNoCanBox("テキストが変更されています。保存しますか ?", "終 了") If Ret = vbYes Then Go_Save 2 ElseIf Ret = vbNo Then End Else Exit Sub End If End If Unload Form4 End End Sub
【0117】 リスト4−48 ------------------------------------------------------------------------ -------- 'ここでファイルが作成されると既存の同名ファイルは破棄される(当然だな) Private Sub CreateAfile(FileName As String) Dim fs As Object Dim a As Object Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile(FileName, True) 'ファイルを作成して a.Close '閉じる End Sub
【0118】 リスト4−49 ------------------------------------------------------------------------ -------- Private Sub 列交換(n1 As Integer, n2 As Integer) Dim yy As Integer, FRows As Integer, wkss As String With FGrid1 FRows = .Rows - 1 For yy = 0 To FRows Step 1 wkss = .TextMatrix(yy, n1) .TextMatrix(yy, n1) = .TextMatrix(yy, n2) .TextMatrix(yy, n2) = wkss Next End With End Sub
【0119】 リスト4−50 ------------------------------------------------------------------------ -------- Public Sub ColInsert(ColEnd As Integer) Dim i As Integer FGrid1.Cols = FGrid1.Cols + 1 'まず列数をひとつ増やす 'そして選択列以降の列をすべて右に移動する For i = FGrid1.Cols - 1 To ColEnd Step -1 列交換 i, i - 1 Next 更新flg = True With FGrid1 .ColWidth(.Cols - 1) = 1700 '追加列幅設定1700 .FixedAlignment(.Cols - 1) = flexAlignCenterCenter '列タイトル(フレ ーム数)は中央寄せ End With End Sub
【0120】 リスト4−51 ------------------------------------------------------------------------ -------- 'mode 1:保存 2:取出 '指定された矩形領域をSaveStrに保存または取り出しする '保存のときは保存行数をColCountに入れる Public Sub ClipSaveGet(Col1 As Integer, Col2 As Integer, _ Row1 As Integer, Row2 As Integer, _ SaveStr As Variant, ColCount As Integer, RowCoun t As Integer, _ Mode As Integer) Dim SaveCol As Integer, SaveRow As Integer '保存または取出する矩形領域を設定する With FGrid1 ' .HighLight = 0 '反転表示のチラツキを避ける SaveCol = .Col: SaveRow = .Row '現在のCol,Rowを保存 .Col = Col1: .Row = Row1 '範囲設定 .ColSel = Col2: .RowSel = Row2 '保存または取出をする If Mode = 1 Then '保存する SaveStr = .Clip ColCount = Col2 - Col1 + 1 RowCount = Row2 - Row1 + 1 Else '保存テ゛ータを取り出す .Cols = ColCount: .Rows = RowCount .Col = 0: .Row = 0 .ColSel = .Cols - 1: .RowSel = .Rows - 1 .Clip = SaveStr End If .Col = SaveCol: .Row = SaveRow '保存Col,Rowを戻す ' .HighLight = 1 End With End Sub
【0121】 リスト4−51−1 '---------------------------------------■FGrid1編集プログラムここから Private Sub FGrid1_KeyPress(KeyAscii As Integer) FGridEdit FGrid1, txtForEdit, KeyAscii End Sub
【0122】 リスト4−52 ------------------------------------------------------------------------ -------- Private Sub FGrid1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF2 Then FGridEdit FGrid1, txtForEdit, vbKeyReturn 'F2をEnterと同じ処理に する ElseIf KeyCode > 127 Then FGridEdit FGrid1, txtForEdit, vbKeySpace '最初に漢字が入力された ときの対策 End If End Sub
【0123】 リスト4−53 ------------------------------------------------------------------------ -------- Private Sub FGridEdit(argFGrid As Control, EditBox As Control, KeyAscii As Integer) AndCompare (txtForEdit.Text) Select Case KeyAscii Case 0 To 31 If KeyAscii = vbKeyReturn Then 'Enterならセル編集 EditBox.Text = argFGrid.Text EditBox.SelStart = 1000 ElseIf KeyAscii = vbKeyBack Then 'BSならセルクリア EditBox.Text = "" EditBox.SelStart = 1000 Else Exit Sub End If Case vbKeySpace 'Spaceならセル編集(カーソル先頭) EditBox.Text = argFGrid.Text EditBox.SelStart = 0 Case Else '新しい入力 EditBox.Text = Chr(KeyAscii) EditBox.SelStart = 1 ' Text1.SelStart = 1000 'te帰すとボックス入力時のみ、追加モードに したい End Select 'カレントセルにテキストホ゛ックスをヒ゜ッタリ配置する EditBox.Move argFGrid.Left + argFGrid.CellLeft, argFGrid.Top + argFG rid.CellTop, argFGrid.CellWidth, argFGrid.CellHeight EditBox.Visible = True EditBox.SetFocus 更新flg = True Cel_X = argFGrid.Row Cel_Y = argFGrid.Col Debug.Print Cel_X, Cel_Y AndCompare (EditBox.Text) CellColorChange End Sub
【0124】 リスト4−54 ------------------------------------------------------------------------ -------- Private Sub IDMPopupRowDelete_Click() IDMEditRowDelete_Click End Sub
【0125】 リスト4−55 ------------------------------------------------------------------------ -------- Private Sub IDMPopupRowInsert_Click() IDMEditRowInsert_Click End Sub
【0126】 リスト4−56 ------------------------------------------------------------------------ -------- Private Sub IDMViewJapanese_Click() Form4.Text1.Text = JapaneseText '日本語訳 Form4.Show End Sub
【0127】 リスト4−57 ------------------------------------------------------------------------ -------- Private Sub IDMViewMediaControl_Click() If Form3.Visible = False Then Form3.Show IDMViewMediaControl.Enabled = False End Sub
【0128】 リスト4−58 ------------------------------------------------------------------------ -------- Private Sub IDMViewRefarence_Click() If Form2.Visible = False Then Form2.Show IDMViewRefarence.Enabled = False End Sub
【0129】 リスト4−59 ------------------------------------------------------------------------ -------- Private Sub IDMWriteAuto_Click() WriteAuto (Form3.MMControl1.Position) FGrid1.SetFocus End Sub
【0130】 リスト4−60 ------------------------------------------------------------------------ -------- Private Sub IDMWriteSelect_Click() Dim Ret As Integer UndoGet On Error Resume Next Ret = InputBox("フレームNo.を入力してください", "No.変更", Form3.MMC ontrol1.Position) If Err.Number <> 0 Then Err.Clear Exit Sub End If FGrid1.TextMatrix(0, FGrid1.Col) = Ret End Sub
【0131】 リスト4−61 ------------------------------------------------------------------------ -------- Private Sub txtForEdit_Change() 'テキストが変更されたときに即座に対 応 ' AndCompare (txtForEdit.Text) Label1.Caption = txtForEdit.Text End Sub
【0132】 リスト4−62 ------------------------------------------------------------------------ -------- 'テキストホ゛ックスへのテ゛ータ更新機能の追加 Private Sub txtForEdit_KeyPress(KeyAscii As Integer) '改行とESCの警告音を抑止 If KeyAscii = vbKeyReturn Then KeyAscii = 0 If KeyAscii = vbKeyEscape Then KeyAscii = 0 End Sub ──────────────────────────────────── ─
【0133】 リスト4−63 Private Sub txtForEdit_KeyDown(KeyCode As Integer, Shift As Integer) DoEditBoxKeyDown FGrid1, txtForEdit, KeyCode, Shift End Sub
【0134】 リスト4−64 ------------------------------------------------------------------------ -------- Private Sub DoEditBoxKeyDown(argFGrid As Control, EditBox As Control, Ke yCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyEscape ' Escなら編集を元に戻す EditBox.Visible = False '先にFalseにするとFGrid1_GotFocusでテ゛ータコヒ゜ー をしない argFGrid.SetFocus Case vbKeyReturn ' Enter argFGrid.SetFocus Case vbKeyUp ' ↑キー argFGrid.SetFocus DoEvents '注意 If argFGrid.Row > argFGrid.FixedRows Then argFGrid.Row = argFGri d.Row - 1 If Not FGrid1.RowIsVisible(FGrid1.Row) Then FGrid1.TopRow = FGri d1.TopRow - 1 Case vbKeyDown ' ↓キー argFGrid.SetFocus DoEvents '注意 If argFGrid.Row < argFGrid.Rows - 1 Then argFGrid.Row = argFGrid .Row + 1 If Not FGrid1.RowIsVisible(FGrid1.Row) Then FGrid1.TopRow = FGri d1.TopRow + 1 End Select End Sub
【0135】 リスト−4−65 ------------------------------------------------------------------------ -------- 'セル入力中に他のボタンなどを操作したときの処理 Private Sub txtForEdit_LostFocus() If txtForEdit.Visible = False Then Exit Sub UndoGet FGrid1.TextMatrix(Cel_X, Cel_Y) = txtForEdit.Text 'テキストコヒ゜ーして txtForEdit.Visible = False '非表示にする CellColorChange AndCompare (FGrid1.Text) FGrid1.SetFocus End Sub
【0136】 リスト4−66 '---------------------------------------FGrid1編集プログラムここまで '行&列保存モード 'mode 1:保存 2:取出 '指定された矩形領域をSaveStrに保存または取り出しする '保存のときは保存行数をLineCtに入れる Private Sub ClipSaveRowCol(Col1 As Integer, Col2 As Integer, _ Row1 As Integer, Row2 As Integer, _ SaveStr As String, LineCt As Integer, Mode As In teger) Dim SaveCol As Integer, SaveRow As Integer '保存または取出する矩形領域を設定する FGrid1.HighLight = 0 '反転表示のチラツキを避ける SaveCol = FGrid1.Col: SaveRow = FGrid1.Row '現在のCol,Rowを保存 FGrid1.Col = Col1: FGrid1.Row = Row1 '範囲設定 FGrid1.ColSel = Col2: FGrid1.RowSel = Row2 '保存または取出をする If Mode = 0 Then '列を保存する SaveStr = FGrid1.Clip LineCt = Col2 - Col1 + 1 ElseIf Mode = 1 Then '行を保存する SaveStr = FGrid1.Clip LineCt = Row2 - Row1 + 1 ElseIf Mode = 2 Then FGrid1.Clip = SaveStr '保存テ゛ータを取り出す End If FGrid1.Col = SaveCol: FGrid1.Row = SaveRow '保存Col,Rowを戻す FGrid1.HighLight = 1 End Sub
【0137】 リスト4−67 ------------------------------------------------------------------------ -------- Private Sub Japanese(Fname As String) '日本語訳を呼び出す関数 Dim i As Integer Dim LinesFromFile As String, NextLine As String On Error Resume Next ' 日本語訳のテキストがある場合と無い場合で場合分けをする必要があるな ・・・ TextName = Replace(Fname, ".csv", ".txt", , , vbTextCompare) Open TextName For Input As #10 If Err.Number <> 0 Then Debug.Print "errrrrrrrrrrrrrr" Err.Clear Exit Sub End If Do Until EOF(10) Line Input #10, NextLine LinesFromFile = LinesFromFile + NextLine + vbCrLf Loop Close #10 JapaneseText = LinesFromFile End Sub
【0138】 リスト4−68 ------------------------------------------------------------------------ ------- Public Sub WriteAuto(MoviePosition As Integer) Dim NullSel As Integer '空白行の番号 Dim i As Integer, j As Integer Dim RowNumber As Integer '行番号と列番号を記録 Dim ColNumber As Integer Dim ColEnd As Integer On Error Resume Next With FGrid1 .ScrollBars = 0: .Visible = False '画面揺らぎがなく読み込みが速くな る RowNumber = .Row ColNumber = .Col For i = 1 To .Cols - 1 Step 1 'フレーム行の列を 移動 If .TextMatrix(0, i) = "" Then '未入力セルを見つけたら Exit For '抜ける ElseIf MoviePosition = .TextMatrix(0, i) Then '既に同じ値が入力 されていたら .ScrollBars = 3: .Visible = True Form3.MMControl1.Command = "Stop" .Row = 0: .Col = ColorCell '色がついていたら .CellBackColor = &H8000000F '元に戻す .Col = i: ColorCell = i 'セル番号を記録 .CellBackColor = &HFFFFAA '色をつける If .ColIsVisible(i + 2) = False Then '列が見えなくなったら If Err.Number <> 0 Then Err.Clear Exit Sub End If If i - 5 < 1 Then .LeftCol = 1 'もし1列目より左なら一列目に移動 Else .LeftCol = i - 5 '見えるところに移動 End If End If .Row = RowNumber 'そして選択セルに戻す .Col = ColNumber Exit Sub '抜ける ElseIf .TextMatrix(0, i) > MoviePosition Then ' 現在値よりも大きい値がすでにあったら列を挿入 Exit For End If Next If i = .Cols - 1 Then .ScrollBars = 3: .Visible = True MsgBox ("その列には書き込めません。列を挿入してください") .Row = RowNumber + 1 'そして選択セルに戻す .Col = ColNumber Exit Sub End If UndoGet 'アンドウ ColInsert i + 1 '挿入モード .TextMatrix(0, i) = MoviePosition '値を書き込む .Row = 0: .Col = ColorCell '色がついていたら .CellBackColor = &H8000000F '元に戻す .Col = i: ColorCell = i 'セル番号を記録 .CellBackColor = &HFFFFAA '色をつける If .Cols < i Then .Cols = .Cols - 1 ElseIf i + 2 >= .Cols Then .Row = RowNumber 'そして選択セルに戻す .Col = ColNumber Exit Sub ElseIf .ColIsVisible(i + 2) = False Then '列が見えなくなったら If i - 5 < 1 Then .LeftCol = 1 'もし1列目より左なら一列目に移動 Else .LeftCol = i - 5 '見えるところに移動 End If End If .Row = RowNumber 'そして選択セルに戻す .Col = ColNumber CellColorChange .ScrollBars = 3: .Visible = True 更新flg = True Exit Sub '終了 MsgBox ("未入力セルが見つかりません") 'もし全てのセルにデータが入力 されていたときの処理 End With End Sub
【0139】 リスト4−69 ------------------------------------------------------------------------ -------- Public Sub CellColorChange() Dim i As Integer, j As Integer Dim NowRow As Integer, NowCol As Integer Dim Compare As Integer FGrid1.ScrollBars = 0: FGrid1.Visible = False '画面揺らぎがなく読み 込みが速くなる NowRow = FGrid1.Row: NowCol = FGrid1.Col For i = FGrid1.FixedRows To FGrid1.Rows - 1 FGrid1.Row = i For j = FGrid1.FixedCols To FGrid1.Cols - 1 FGrid1.Col = j FGrid1.CellBackColor = &HFFFFFF Next Next For i = FGrid1.FixedRows To FGrid1.Rows - 1 FGrid1.Row = i For j = FGrid1.FixedCols To FGrid1.Cols - 1 FGrid1.Col = j Compare = InStr(1, FGrid1.Text, "*", vbTextCompare) '色を変 える If Compare <> 0 Then FGrid1.CellBackColor = &H8080FF Next Next FGrid1.Row = NowRow: FGrid1.Col = NowCol FGrid1.ScrollBars = 3: FGrid1.Visible = True End Sub
【0140】 リスト4−70 ------------------------------------------------------------------------ -------- Public Sub UndoGet() FGrid1.ScrollBars = 0: FGrid1.Visible = False '画面揺らぎがなく読み 込みが速くなる ClipSaveGet 0, FGrid1.Cols - 1, 0, FGrid1.Rows - 1, Undo(Kazu).UndoS tring, _ Undo(Kazu).ColCount, Undo(Kazu).RowCount, 1 FGrid1.ScrollBars = 3: FGrid1.Visible = True Kazu = Kazu + 1 'Kazu数設定 If Kazu = KazuX Then Kazu = 0 KOver = True End If KazuMax = Kazu End Sub
【0141】 リスト4−71 ------------------------------------------------------------------------ -------- Public Sub AndCompare(Str As String) 'fgrid1.textに&があるかどうかの検 討 Dim Compare As Integer Dim TotalStr As String Compare = InStr(1, FGrid1.Text, "&", vbTextCompare) '比較検討 If Compare <> 0 Then TotalStr = Replace(Str, "&", "&&") Label1.Caption = TotalStr Exit Sub End If If IDMEditUndo.Enabled = False Then '最初は出来ねーんだから当然だ・ ・・ Label1.Caption = FGrid1.Text Exit Sub 'アンドウできない場合は抜ける End If Label1.Caption = Str End Sub
【0142】 リスト5−1 Option Explicit Public Const KazuX = 1000 Public ColorCell As Integer 'どのセルに色がついているのかの判定 Public ss As Variant Public KOver As Boolean 'Undo数が1000を超えたかどうかの判定 Public TextName As String Public Formshow As Boolean Public JapaneseText As String '日本語訳を保存しておく Public ChangeFlag As Boolean '更新フラグ Public SaveCheck As Boolean '日本語訳保存の確認 Public Type SavedClip 'Undo用配列 ColCount As Integer RowCount As Integer UndoString As Variant 'Undo用文字列 End Type Public Type CellDataCheck Number As Integer CellTitle As String CellData As Variant End Type Public Kazu As Integer 'Undo配列用 Public KazuMax As Integer 'Redo判定用 Public Undo(KazuX) As SavedClip Public CellDataCheck(KazuX) As CellDataCheck
【0143】 リスト5−2 ------------------------------------------------------------------------ -------- Sub GetOpenFileName(CmnDialog As Control, myFilter As String) On Error GoTo ERR1 If myFilter = "" Then CmnDialog.Filter = "全てのファイル(*.*)|*.*" Else CmnDialog.Filter = myFilter End If CmnDialog.CancelError = True 'キャンセルホ゛タンを有効にする CmnDialog.Flags = cdlOFNFileMustExist '既存のファイルしか選択できなくす る CmnDialog.ShowOpen Exit Sub ERR1: CmnDialog.FileName = "" 'キャンセル(またはエラー)のときはファイル名を空白にして 戻す Exit Sub End Sub
【0144】 リスト5−3 ------------------------------------------------------------------------ -------- Sub GetSaveAsFileName(CmnDialog As Control, myFilter As String) On Error GoTo ERR1 If myFilter = "" Then CmnDialog.Filter = "全てのファイル(*.*)|*.*" Else CmnDialog.Filter = myFilter End If CmnDialog.CancelError = True 'キャンセルホ゛タンを有効にする CmnDialog.Flags = cdlOFNCreatePrompt Or cdlOFNOverwritePrompt '書込 可能性チェック/上書注意表示 CmnDialog.ShowSave Exit Sub ERR1: CmnDialog.FileName = "" 'キャンセル(またはエラー)のときはファイル名を空白にして 戻す Exit Sub End Sub
【0145】 リスト5−4 ------------------------------------------------------------------------ -------- 'Mode 0:全ての空白を取る 1:空白を1個に圧縮する ' 2:両端空白削除 3:先行空白削除 4:後続空白削除 Function DelSpc(ss As String, Mode As Integer) As String Dim i As Integer, SpcCt As Integer If Mode = 2 Then DelSpc = Trim(ss): Exit Function If Mode = 3 Then DelSpc = LTrim(ss): Exit Function If Mode = 4 Then DelSpc = RTrim(ss): Exit Function SpcCt = 0: DelSpc = "" For i = 1 To Len(ss) If Mid(ss, i, 1) = " " Then SpcCt = SpcCt + 1 If Mode = 1 And SpcCt = 1 Then DelSpc = DelSpc & " " Else DelSpc = DelSpc & Mid(ss, i, 1) SpcCt = 0 End If Next End Function
【0146】 リスト5−5 ------------------------------------------------------------------------ -------- '[はい]ならvbYes(=6),[いいえ]ならvbNo(=7)を返す Function YesNoBox(Msg As String, Optional Title) As Integer Dim Btn As Integer Btn = vbExclamation Or vbYesNo If IsMissing(Title) Then YesNoBox = MsgBox(Msg, Btn) Else YesNoBox = MsgBox(Msg, Btn, Title) End If End Function
【0147】 リスト5−6 ------------------------------------------------------------------------ -------- '[はい]ならvbYes(=6),[いいえ]ならvbNo(=7),[キャンセル]ならvbCancel(=2)を返す Function YesNoCanBox(Msg As String, Optional Title) As Integer Dim Btn As Integer Btn = vbExclamation Or vbYesNoCancel If IsMissing(Title) Then YesNoCanBox = MsgBox(Msg, Btn) Else YesNoCanBox = MsgBox(Msg, Btn, Title) End If End Function
【0148】 リスト5−7 ------------------------------------------------------------------------ -------- Sub main() frmSplash.Show Graph.Show End Sub
【0149】 リスト6−1 Option Explicit Public nRec&, NowRec&, NowIndex& Public NowItem As ListItem Public MyCSV$ ------------------------------------------------------------------------ -------- Function chrParamArrayEx(Inp$, Word(), Optional Dev$ = ",", Optional Ret $ = vbCrLf, Optional Quote$ = """") As Long 'CSV形式のテキストを改行や"を含めて正しく解釈 'input :Dev$ (省略可)区切り記号 [","] ' :Ret$ (省略可)レコード区切り [vbCRLF] ' :Quote$ (省略可)引用符 [ " ] ' :Word() 内容を受け取る動的配列 ' :FieldとRecordの2次元:あらかじめFiledの数でReDimし ておくこと ' :ReDimしていない場合は、Fieldの数でReDimした配列(レ コード数0)を返す 'output :関数 解釈したレコードの数 ' chrParamArrayEx = False Const Field = 1 '要素識別子 Const Rec = 2 Dim L_FIELD&, U_FIELD& 'フィールドの下限,上限 Dim L_REC& 'レコードの下限 Dim ct&, nct&, gct&, ngct&, wk$, lClip&, IP$, lIP& Dim NowRec&, NowField& Dim LEN_RET% Dim fNeedDim As Boolean ' LEN_RET = Len(Ret$) On Error Resume Next L_FIELD = LBound(Word, Field): U_FIELD = UBound(Word, Field) L_REC = LBound(Word, Rec) If Err Then fNeedDim = True: L_FIELD = 1: U_FIELD = 1: L_REC = 1 On Error GoTo 0 '----------入力した文字列を解釈 '初期化 NowRec& = 1 ct& = 1: gct& = 1 lClip& = Len(Inp$) '解釈ループ Do Until gct& >= lClip& ngct& = InStr(gct&, Inp$, Ret$) '1レコード分 をInp$から切り出す If ngct& > 0 Then IP$ = Mid$(Inp$, gct&, ngct& - gct&) gct& = ngct& + LEN_RET Else IP$ = Mid$(Inp$, gct&) gct& = lClip& End If lIP& = Len(IP$) ReDim Preserve Word(L_FIELD To U_FIELD, L_REC To NowRec&) 'データ ベースを1レコード分拡張 NowField& = L_FIELD - 1 Do '1レコ ード読み込み NowField& = NowField& + 1 If Mid$(IP$, ct&, 1) = Quote Then ' " を含んだフィールド ct& = ct& + 1 Do nct& = InStr(ct&, IP$, Quote) If nct& > 0 Then wk$ = wk$ & Mid$(IP$, ct&, nct& - ct&) ct& = nct& + 1 If ct& >= lIP& Then Exit Do If Mid$(IP$, ct&, 1) = Dev$ Then Exit Do If Mid$(IP$, ct&, 1) = Quote Then ct& = ct& + 1 wk$ = wk$ & Quote ' " 文字を追 加 End If Else wk$ = wk$ & Mid$(IP$, ct&) & Ret$ '2行にまたが る ngct& = InStr(gct&, Inp$, Ret$) 'もう1レコー ド分をInp$から切り出す If ngct& > 0 Then IP$ = Mid$(Inp$, gct&, ngct& - gct&) gct& = ngct& + LEN_RET Else IP$ = Mid$(Inp$, gct&) gct& = lClip& If InStr(IP$, Dev$) = 0 Then '"が見つか らなくて無限ループに陥るのを防ぐ wk$ = wk$ & IP$ Exit Do End If End If lIP& = Len(IP$) ct& = 1 End If Loop Else ' " を含まないフィールド nct& = InStr(ct&, IP$, Dev$) If nct& > 0 Then '一行の最後に達した か? wk$ = Mid$(IP$, ct&, nct& - ct&) ct& = nct& Else wk$ = Mid$(IP$, ct&) ct& = lIP& End If End If '配列に登録 If NowField& <= U_FIELD Then '多すぎるデータは切 り捨て Word(NowField&, NowRec&) = wk$ End If ct& = ct& + 1 '区切りの次の文字か ら検索を始める wk$ = "" Loop Until nct& = 0 ct& = 1 NowRec& = NowRec& + 1 '未初期化の配列の場合はここで再初期化 If fNeedDim Then ReDim Word(1 To NowField, 1 To 1) NowRec& = 1 ct& = 1: gct& = 1 lClip& = Len(Inp$) L_FIELD = LBound(Word, Field): U_FIELD = UBound(Word, Field) L_REC = LBound(Word, Rec) fNeedDim = False End If Loop chrParamArrayEx = UBound(Word, Rec) End Function
【図面の簡単な説明】
【図1】 本発明によるマルチメディア解析システム全
体のブロック図である。
【図2】 本発明のマルチメディア解析システムによっ
て提供される画面構成図である。
【図3】 本発明によるマルチメディア表示手段により
表示されたマルチメディア表示部の表示例である。
【図4】 本発明によるマルチメディア制御手段を操作
するためのマルチメディア制御部40の表示例である。
【図5】 本発明によるリファレンス手段により提供さ
れるリファレンス部50の画面構成図である。
【図6】 本発明による記述手段により提供される記述
部60の画面構成図である。
【図7】 本発明による記述手段により提供される記述
部70の画面構成図の一例である。
【図8】 本発明による記述手段により提供される記述
部80の画面構成図の一例である。
【図9】 本発明による記述手段により提供される記述
部90の画面構成図の一例である。
【図10】 本発明による記述手段により提供される記
述部100の画面構成図の一例である。
【図11】 本発明による記述手段により提供される記
述部110の画面構成図の一例である。
【図12】 図12は、記述手段により提供される記述
部121、123及びリファレンス手段により提供され
るリファレンス部122、124の画面構成図の一例で
ある。
【図13】 本発明による記述手段により提供される変
更前後の記述部131、133及びリファレンス手段に
より提供されるリファレンス部132の画面構成図の一
例である。
【図14】 図14は、本発明による記述手段により提
供される記述部141,143の固定行に列タイトルを
新たに追加する過程を示す図である。
【符号の説明】 11 マルチメディア表示手段 12 マルチメディア制御手段 13 リファレンス手段 14 記述手段 21 マルチメディア表示部 22 音波形を表示した例 23 マルチメディア制御部 24 リファレンス部 25 記述部 31 動画表示部 32 音波形表示部 40 マルチメディア制御部 42 巻き戻しボタン 43 早送りボタン 44 再生ボタン 45 コマ戻しボタン 46 コマ送りボタン 47 停止ボタン 48 現在のフレーム番号の表示 49 スロー再生スピードの表示 49A 現在のフレーム番号のスライダーバー表示 49B スライダーバー 49C タイトルバー 50 リファレンス部 51 記号の表示 52 記号の解説表示 53、54、55、56 ラジオボタン 60 記述部 61 固定列 62 固定行 63 セル 64 自動挿入ボタン 65 セル内容表示枠 70 記述部 71 固定列の1項目 72 選択セル 73 固定行の1項目 80 記述部 81 色を変更したセル 90 記述部 91 フレーム番号を自動挿入した後の表示例 92 フレーム番号を自動挿入した箇所 100 フレーム番号変更前の画面構成 101はフレーム番号変更入力ダイアログボックス 102 フレーム番号変更後の画面構成 103 変更を受けるフレーム番号の表示部 104 フレーム番号入力ボックス 105 フレーム番号が変更された箇所 110 記述部110 111 選択された3つのセル 121、123 記述部 122、124 リファレンス部 131,133 記述部 132 リファレンス部 135 項目 141,143 記述部 142 空の項目 144 入力用ボックス 145 記述部 146 空の項目
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B069 AA01 CA02 CA06 CA12 5B075 ND06 ND12 ND14 ND16 NK06 UU40

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 動画、静止画、音波形のいすれかのマル
    チメディア情報のうち少なくとも1つを表示するマルチ
    メディア表示手段と、 前記マルチメディア表示手段の表示内容を操作するマル
    チメディア制御手段と、 前記マルチメディア情報に基づき、これに関連する内容
    を所定のデータベースから抽出し表示するリファレンス
    手段と、 行或いは列の項目名と、解析対象及び各フレームの番号
    とから構成され、各セルには各フレームの時点における
    解析対象の内容を、行と列とを含む表形式で記述する記
    述手段と、を具えることを特徴とするマルチメディア解
    析システム。
  2. 【請求項2】 請求項1に記載のマルチメディア解析シ
    ステムにおいて、 前記マルチメディア表示手段は、表示エリアのサイズを
    任意に変更できることを特徴とするシステム。
  3. 【請求項3】 請求項1また2に記載のマルチメディア
    解析システムにおいて、 前記マルチメディア制御手段は、 再生、停止、一時停止、頭出し、巻き戻し、早送り、1
    コマ送り、1コマ戻し、スロー再生、スロー再生速度の
    切り替え、フレーム検索、現在再生位置の表示、現在再
    生位置の時間表示とフレーム表示の切り替え、再生ファ
    イル名の表示、再生ファイル長の表示、のいずれかの機
    能のうち少なくとも1つを具えることを特徴とするシス
    テム。
  4. 【請求項4】 請求項1〜3のいずれか1項に記載のマ
    ルチメディア解析システムにおいて、 前記リファレンス手段は、 前記関連の内容を、ローカルに格納されたデータベー
    ス、或いはネットワークを介して接続される外部データ
    ベースから抽出し表示する、 或いは、予め関連情報を抽出し格納したファイルから表
    示し、このファイルは必要に応じて追加、削除すること
    ができる、ことを特徴とするシステム。
  5. 【請求項5】 請求項1〜4のいずれか1項に記載のマ
    ルチメディア解析システムにおいて、 前記記述手段は、 前記リファレンス手段で抽出された内容の各セルへの記
    入、外部入力手段を用いる内容の記述、記述内容の切り
    取り、コピー、貼り付け、削除、行の挿入、行の削除、
    列の挿入、列の削除、元に戻す、やり直し、内容の新規
    作成、既存ファイルを開く、内容の保存、内容の上書き
    保存、表の固定行及び列の数の変更、記述内容の詳細表
    示、のいずれかのうち少なくとも1つの機能を具える、
    ことを特徴とするシステム。
  6. 【請求項6】 請求項5に記載のマルチメディア解析シ
    ステムにおいて、 前記記述手段は、 前記の固定行及び固定列の表示形態を変化させる、こと
    を特徴とするシステム。
  7. 【請求項7】 請求項5または6に記載のマルチメディ
    ア解析システムにおいて、 前記記述手段は、 任意のセルを指示選択する、或いは所定の記号をセルに
    記述することにより、指示選択されたセル、或いはこの
    記号が記述されたセルの表示形態を変化させる、ことを
    特徴とするシステム。
  8. 【請求項8】 請求項5〜7のいずれか1項に記載のマ
    ルチメディア解析システムにおいて、 前記記述手段は、 1行目或いは1列目を固定された行或いは列にでき、こ
    の固定された行或いは列には前記マルチメディア表示部
    で表示されている各フレームの番号を自動的に記入する
    機能、 或いは、この固定された行或いは列の各セルには、現在
    のフレーム番号の値と、既に入力されているフレーム番
    号の値とを比較し、左から順に昇順で挿入し、この場合
    既に入力済みの各フレーム番号の値も必要に応じて再計
    算して表示することができる機能、のいずれかのうち少
    なくとも1つの機能を具える、ことを特徴とするシステ
    ム。
  9. 【請求項9】 請求項5〜8のいずれか1項に記載のマ
    ルチメディア解析システムにおいて、 前記記述手段は、 範囲選択をすることにより、選択した範囲のフレームの
    みを再生する機能を具える、ことを特徴とするシステ
    ム。
  10. 【請求項10】 請求項5〜9のいずれか1項に記載の
    マルチメディア解析システムにおいて、 前記記述手段は、 1行目或いは1列目を固定された行或いは列にでき、こ
    の固定された行或いは列の各セルには、所定の項目名を
    予め表示する機能を具え、 前記リファレンス部は、前記表示された項目名或いはそ
    れに対応する行または列を指示選択することにより、指
    示選択した項目名に対応する内容を自動的に抽出し、対
    応する行或いは列の各セルに記入する機能を具える、こ
    とを特徴とするシステム。
  11. 【請求項11】 請求項5〜10のいずれか1項に記載
    のマルチメディア解析システムにおいて、 前記記述手段において前記行或いは列に項目名を新たに
    追加する機能、 前記リファレンス手段において表示した内容を保存する
    機能、 前記記述手段において前記の所定の項目が表示された固
    定された行或いは列を選択したときに、以前変更した項
    目名を表示する機能、のいずれかのうち少なくとも1つ
    の機能を具える、ことを特徴とするシステム。
  12. 【請求項12】 動画、静止画、音波形のいすれかのマ
    ルチメディア情報のうち少なくとも1つを表示するマル
    チメディア表示ステップと、 前記マルチメディア表示手段の表示内容を操作するマル
    チメディア制御ステップと、 前記マルチメディア情報に基づき、これに関連する内容
    を所定のデータベースから抽出し表示するリファレンス
    ステップと、 行或いは列の項目名と、解析対象及び各フレームの番号
    とから構成され、各セルには各フレームの時点における
    解析対象の内容を、行と列とを含む表形式で記述する記
    述ステップと、を含むことを特徴とするマルチメディア
    解析方法。
  13. 【請求項13】 請求項12に記載のマルチメディア解
    析方法において、 前記マルチメディア表示ステップは、表示エリアのサイ
    ズを任意に変更できることを特徴とする方法。
  14. 【請求項14】 請求項12また13に記載のマルチメ
    ディア解析方法において、 前記マルチメディア制御ステップは、 再生、停止、一時停止、頭出し、巻き戻し、早送り、1
    コマ送り、1コマ戻し、スロー再生、スロー再生速度の
    切り替え、フレーム検索、現在再生位置の表示、現在再
    生位置の時間表示とフレーム表示の切り替え、再生ファ
    イル名の表示、再生ファイル長の表示、のいずれかの機
    能のうち少なくとも1つを含むことを特徴とする方法。
  15. 【請求項15】 請求項12〜14のいずれか1項に記
    載のマルチメディア解析方法において、 前記リファレンスステップは、 前記関連の内容を、ローカルに格納されたデータベー
    ス、或いはネットワークを介して接続される外部データ
    ベースから抽出し表示する、 或いは、予め関連情報を抽出し格納したファイルから表
    示し、このファイルは必要に応じて追加、削除すること
    ができる、ことを特徴とする方法。
  16. 【請求項16】 請求項12〜15のいずれか1項に記
    載のマルチメディア解析方法において、 前記記述ステップは、 前記リファレンスステップで抽出された内容の各セルへ
    の記入、外部入力手段を用いる内容の記述、記述内容の
    切り取り、コピー、貼り付け、削除、行の挿入、行の削
    除、列の挿入、列の削除、元に戻す、やり直し、内容の
    新規作成、既存ファイルを開く、内容の保存、内容の上
    書き保存、表の固定行及び列の数の変更、記述内容の詳
    細表示、のいずれかのうち少なくとも1つの機能を含
    む、ことを特徴とするシステム。
  17. 【請求項17】 請求項16に記載のマルチメディア解
    析方法において、 前記記述ステップは、 前記の固定行及び固定列の表示形態を変化させる、こと
    を特徴とする方法。
  18. 【請求項18】 請求項16または17に記載のマルチ
    メディア解析方法において、 前記記述ステップは、 任意のセルを指示選択する、或いは所定の記号をセルに
    記述することにより、指示選択されたセル、或いはこの
    記号が記述されたセルの表示形態を変化させる、ことを
    特徴とする方法。
  19. 【請求項19】 請求項16〜18のいずれか1項に記
    載のマルチメディア解析方法において、 前記記述ステップは、 1行目或いは1列目を固定された行或いは列にでき、こ
    の固定された行或いは列には前記マルチメディア表示部
    で表示されている各フレームの番号を自動的に記入する
    機能、 或いは、この固定された行或いは列の各セルには、現在
    のフレーム番号の値と、既に入力されているフレーム番
    号の値とを比較し、左から順に昇順で挿入し、この場合
    既に入力済みの各フレーム番号の値も必要に応じて再計
    算して表示することができる機能、のいずれかのうち少
    なくとも1つの機能を含む、ことを特徴とする方法。
  20. 【請求項20】 請求項16〜19のいずれか1項に記
    載のマルチメディア解析方法において、 前記記述ステップは、 範囲選択をすることにより、選択した範囲のフレームの
    みを再生する機能を含む、ことを特徴とする方法。
  21. 【請求項21】 請求項16〜20のいずれか1項に記
    載のマルチメディア解析方法において、 前記記述ステップは、 1行目或いは1列目を固定された行或いは列にでき、こ
    の固定された行或いは列の各セルには、所定の項目名を
    予め表示する機能を含み、 前記リファレンスステップは、前記表示された項目名或
    いはそれに対応する行または列を指示選択することによ
    り、指示選択した項目名に対応する内容を自動的に抽出
    し、対応する行或いは列の各セルに記入する機能を含
    む、ことを特徴とする方法。
  22. 【請求項22】 請求項16〜21のいずれか1項に記
    載のマルチメディア解析方法において、 前記記述ステップにおいて前記行或いは列に項目名を新
    たに追加する機能、 前記リファレンスステップにおいて表示した内容を保存
    する機能、 前記記述ステップにおいて前記の所定の項目が表示され
    た固定された行或いは列を選択したときに、以前変更し
    た項目名を表示する機能、のいずれかのうち少なくとも
    1つの機能を含む、ことを特徴とする方法。
JP2001069711A 2001-03-13 2001-03-13 マルチメディア解析システム及びその方法 Withdrawn JP2002269103A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001069711A JP2002269103A (ja) 2001-03-13 2001-03-13 マルチメディア解析システム及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001069711A JP2002269103A (ja) 2001-03-13 2001-03-13 マルチメディア解析システム及びその方法

Publications (1)

Publication Number Publication Date
JP2002269103A true JP2002269103A (ja) 2002-09-20

Family

ID=18927710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001069711A Withdrawn JP2002269103A (ja) 2001-03-13 2001-03-13 マルチメディア解析システム及びその方法

Country Status (1)

Country Link
JP (1) JP2002269103A (ja)

Similar Documents

Publication Publication Date Title
US6571054B1 (en) Method for creating and utilizing electronic image book and recording medium having recorded therein a program for implementing the method
US5119474A (en) Computer-based, audio/visual creation and presentation system and method
US5274758A (en) Computer-based, audio/visual creation and presentation system and method
US6072479A (en) Multimedia scenario editor calculating estimated size and cost
US7836389B2 (en) Editing system for audiovisual works and corresponding text for television news
US6469711B2 (en) Graphical user interface for a video editing system
US6710785B1 (en) Digital video editing method and system
US6400378B1 (en) Home movie maker
US8204750B2 (en) Multipurpose media players
JP3751314B2 (ja) 時間ベースのスクリプトシーケンスを巻き戻すための方法および装置
US8006192B1 (en) Layered graphical user interface
WO2001093206A1 (fr) Dispositif de montage d&#39;animation, procede de montage d&#39;animation, programme de montage d&#39;animation, et support enregistre contenant un programme informatique de montage d&#39;animation
EP0403118B1 (en) Audio/visual compilation in a data processing system
US20050235198A1 (en) Editing system for audiovisual works and corresponding text for television news
Brenneis Final Cut Pro 3 for Macintosh
EP0916136B1 (en) Graphical user interface for a motion video planning and editing system for a computer
JP3096280B2 (ja) 電子映像文書作成利用方法及びプログラム格納媒体
JP4404172B2 (ja) メディアシーン情報表示編集装置、方法、および該方法に係るプログラムを記憶した記憶媒体
JP2003037806A (ja) ノンリニア編集方法、ノンリニア編集装置、プログラム及びそのプログラムを格納した記録媒体
JP2002269103A (ja) マルチメディア解析システム及びその方法
JP2002344849A (ja) 動画像処理装置、動画像処理方法、記録媒体、及び制御プログラム
JP4660824B2 (ja) メディアシーンの属性情報を格納する情報格納装置、情報表示装置、および情報格納方法
JP2000050204A (ja) 映像表示編集処理方法および装置並びに記録媒体
JP2003099424A (ja) 文書のデータ構造、記憶媒体及び情報処理装置
JPH0375699A (ja) 音声編集方法及び装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20040625

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080513