==================================================================================================                   JaneView Scripting Reference ================================================================================================== Ver 0.1 2009/09/11 Ver 0.11 2009/09/21 Ver 0.2 2009/11/05 Ver 0.21 2009/11/12 Ver 0.22 2009/11/15 Ver 0.23 2010/01/24 Ver 0.24 2010/02/20 Ver 0.3 2010/04/26 Ver 0.31 2010/04/30 Ver 0.32 2010/06/06 Ver 0.33 2010/08/15 Ver 0.34 2010/08/24 Ver 0.35 2010/12/31 Ver 0.36 2011/02/08 Ver 0.4 2011/03/06 Ver 0.41 2011/03/15 Ver 0.50 2011/05/21 Ver 0.60 2011/08/16 Ver 0.61 2011/08/27 Ver 0.62 2011/08/28 ==================================================================================================   ■■■ スクリプトの設定、操作 ■■■ ================================================================================================== □ スクリプトの仕様  スクリプトの処理系は、Microsoft Active Scripting上のJScript (動作検証はJScript 8.0で実施)  言語仕様は以下のURLを参照 JScirptリファレンス  http://msdn.microsoft.com/ja-jp/library/x85xxsf4(VS.80).aspx  ※Active Scriptの仕様の上ではVisual Basic ScriptやActive Ruby、Active Perlなど他の言語も   実行できる可能性があるが、現時点のJaneViewではそれらを読み込むためのインターフェイスを   解放していない。 □ スクリプトの読み込み  Jane2ch.exeが置かれたフォルダの下位にScriptフォルダを作成し、その中にスクリプトファイルを置く。  同じくScriptフォルダにScriptIndex.txtという名前でテキストファイルを作成し、読み込みたい  スクリプトのファイル名を記述すると、Janeの起動時にそのスクリプトが読み込まれる。  読み込まれたスクリプトの、関数ではないグローバルスコープ部分に記述されたコードは読み込みの  時点で実行される(初期化パート)  同一のアクション関数が複数のスクリプトにある場合、ScriptIndex.txtに記述された順番に実行される。 □ エラー発生時  スクリプトの実行時エラーが発生した場合、特殊な形式のエラーダイアログが表示される。  ダイアログからは、スクリプトの無効化とファイルの参照(後述)を行うことができる。  このエラーダイアログが表示されている間はJaneが正しいメッセージ処理を行えないため、Janeの  ウィンドウをクリックしても最前面に出てこないなどの問題を生じたり、ダイアログが正常に動作しない  ことがある。(通常のダイアログを表示するとメモリの内容の整合性がとれなくなる可能性があるため、  それを防ぐための処置)Janeが別のウィンドウの背面にあるとこの状態に気がつかないことがあるので、  スクリプトを利用していてJaneがフリーズして最前面に出ない状態になった場合、タスクバーのJaneの  タイトルをクリックしてみる。また、タスクバー右クリックから「デスクトップを表示」を実行すると  強制的にダイアログを閉じる。 □ エディタの設定  設定-パス-「エディタのパス」にエディタを登録すると、スクリプトでエラーが発生した場合に  エラーダイアログに「ジャンプ」ボタンが表示され、クリックするとエラーが発生したスクリプトを  エディタで開くことができる。  エディタのパス指定で使用できるメタ文字列  ・ $FILE 開くファイルのパス  ・ $LINE ファイルを開いた後にジャンプする行番号  ・ $COLUMN ファイルを開いた後にジャンプする列位置  例:デフォルト設定でインストールされたEmEditor(x64)で開く設定    C:\Program Files\EmEditor\EmEditor.exe "$FILE" /l $LINE /cl $COLUMN ==================================================================================================
  ■■■ 関数・オブジェクト一覧 ■■■ ================================================================================================== ■ function AppActionClosing ■ function AppActionConfigured ■ function BoardActionCreatedNewThread ■ function BoardActionDownloadComplete ■ function BoardActionLoaded ■ function BoardActionRefreshed ■ function LinkActionBrowserNavigate ■ function LinkActionBrowserStatusTextChange ■ function ResActionPrepare ■ function ResActionTxt ■ function ResActionDispControl ■ function ResActionWriteSkin ■ function ResActionCancel ■ function ResActionFinish ■ function TabActionActiveListTabChanged ■ function TabActionActiveTabChanged ■ function TabActionListDrawTab ■ function TabActionViewDrawTab ■ function ThreadActionDownloadComplete ■ function ThreadActionReloading ■ function ThreadActionRemoveLog ■ function ViewerActionImageTabClosing ■ function ViewerActionImageTabCompleted ■ function WriteActionButtonWriteClick ■ function WriteActionFormShow ■ function WriteActionFormClose ■ function WriteActionWriteSuccess ■ function Finalize ■ JaneScript オブジェクト □ JaneScript.ActiveView □ JaneScript.AddNgName □ JaneScript.AddNgMail □ JaneScript.AddNgId □ JaneScript.AddNgWord □ JaneScript.AddressBar □ JaneScript.BeginFavoriteUpdate □ JaneScript.BoardList □ JaneScript.BoardSearchBar □ JaneScript.CategoryList □ JaneScript.ClipboardAsText □ JaneScript.Close □ JaneScript.CreateCosSimObject □ JaneScript.CreateHttpRequest □ JaneScript.CreateList □ JaneScript.CurrentBoard □ JaneScript.CursorPos □ JaneScript.DeleteSqlDatabase □ JaneScript.EndFavoriteUpdate  □ JaneScript.ExecuteCommand  □ JaneScript.ExecuteMenu □ JaneScript.ExeName □ JaneScript.ExportObject □ JaneScript.ExtractURLs □ JaneScript.Favorites  □ JaneScript.GetAutoHistory □ JaneScript.GetFavoriteViewSelected □ JaneScript.GetFavoriteViewSelectedCount □ JaneScript.GetImageViewConfig □ JaneScript.GetJaneConfig □ JaneScript.GetKeyState  □ JaneScript.GetListViewSelected  □ JaneScript.GetListViewSelectedCount  □ JaneScript.GetRangesFromText □ JaneScript.GetScriptConfig □ JaneScript.GetVersionInfo □ JaneScript.ImageViewer □ JaneScript.ImportObject □ JaneScript.InputBox □ JaneScript.InsertMenu  □ JaneScript.IsImageURL □ JaneScript.HandleMessages  □ JaneScript.HtmlToText □ JaneScript.LateCall □ JaneScript.Log □ JaneScript.MciSendString □ JaneScript.MenuIndex □ JaneScript.Open □ JaneScript.OpenSqlConnection □ JaneScript.ProcessMessages □ JaneScript.RefreshControl □ JaneScript.SaveFavorites □ JaneScript.SetThreadAbone □ JaneScript.ShellExecute □ JaneScript.ShowMessage □ JaneScript.ShowTextHint □ JaneScript.Sleep □ JaneScript.Terminated □ JaneScript.ThreadSearchBar □ JaneScript.TimeGetTime □ JaneScript.UpdateListView □ JaneScript.UrlDecode □ JaneScript.UrlEncode □ JaneScript.ViewList □ JaneScript.WriteForm ■ Board オブジェクト □ Board.Bbs □ Board.BoardType □ Board.Category □ Board.Connected □ Board.Count □ Board.DatSizeAlert □ Board.Downloading □ Board.FindThread □ Board.GetThread □ Board.LastModified □ Board.Load □ Board.LogDir □ Board.MaxResNum □ Board.Name □ Board.Obj □ Board.SelectInTree □ Board.Url ■ BoardList オブジェクト □ BoardList.Connected □ BoardList.Count □ BoardList.Items ■ Category オブジェクト □ Category.CategoryList □ Category.Connected □ Category.Count □ Category.FindBoard □ Category.Items □ Category.LogDir □ Category.Name □ Category.Obj □ Category.SelectInTree ■ CategoryList オブジェクト □ CategoryList.AddBoard  □ CategoryList.AddCategory □ CategoryList.CreateThreadFinder □ CategoryList.Connected □ CategoryList.Count  □ CategoryList.FindCategory □ CategoryList.Items □ CategoryList.LogDir □ CategoryList.Obj ■ CosSim オブジェクト □ CosSim.Subject □ CosSim.Evaluate ■ DatOut オブジェクト □ DatOut.Flush □ DatOut.WriteBR □ DatOut.WriteHTML  □ DatOut.WriteImage □ DatOut.WriteText □ DatOut.WriteThread ■ Edit オブジェクト □ Edit.Text □ Edit.SelText ■ FavBase オブジェクト □ FavBase.Connected □ FavBase.FavType □ FavBase.Name □ FavBase.Obj □ FavBase.Parent □ FavBase.Remove □ FavBase.SelectInTree ■ FavFolder オブジェクト □ FavBaseオブジェクトに存在するメンバすべて  □ FavFolder.CheckUpdate □ FavFolder.Clear □ FavFolder.Count □ FavFolder.Expanded □ FavFolder.Find  □ FavFolder.GetAsBoard □ FavFolder.Insert □ FavFolder.Items □ FavFolder.NewFolder □ FavFolder.NewItem ■ FavItem オブジェクト □ FavBaseオブジェクトに存在するメンバすべて □ FavItem.Bbs □ FavItem.DatName □ FavItem.GetItem □ FavItem.Host □ FavItem.ItemType ■ HttpRequest オブジェクト □ HttpRequest.Abort □ HttpRequest.Blocking □ HttpRequest.CharSet □ HttpRequest.GetAllResponseHeaders □ HttpRequest.GetResponseHeader □ HttpRequest.OnComplete □ HttpRequest.ReadyState □ HttpRequest.ResponseStream □ HttpRequest.ResponseText □ HttpRequest.Send □ HttpRequest.SetRequestHeader □ HttpRequest.Status □ HttpRequest.StatusText ■ ImageTab オブジェクト □ ImageTab.ActivePage □ ImageTab.ActivePageIndex □ ImageTab.Close □ ImageTab.CacheProtected □ ImageTab.Completed □ ImageTab.Connected □ ImageTab.ContentClass □ ImageTab.ContentFileSize □ ImageTab.ContentHeight □ ImageTab.ContentWidth □ ImageTab.CreateTempFile □ ImageTab.Encrypted □ ImageTab.GetContentHash □ ImageTab.GetContentString □ ImageTab.GetContentType □ ImageTab.GetResponseCode □ ImageTab.GetStatus □ ImageTab.GetStatusText □ ImageTab.GetViewItem □ ImageTab.Highlighted □ ImageTab.Obj □ ImageTab.PageCount □ ImageTab.Pages □ ImageTab.Password □ ImageTab.RefererThread □ ImageTab.RegisterBrowserCrasher □ ImageTab.RegisterNGFile □ ImageTab.Reload □ ImageTab.Save □ ImageTab.Scale □ ImageTab.SubUrl □ ImageTab.Trusted □ ImageTab.Url ■ ImageViewer オブジェクト □ ImageViewer.ActivePage □ ImageViewer.ActivePageIndex □ ImageViewer.CacheExists □ ImageViewer.DeleteCache □ ImageViewer.GetCacheFileName □ ImageViewer.Hide □ ImageViewer.PageCount □ ImageViewer.Pages □ ImageViewer.RegisterBrowserCrasher □ ImageViewer.SetCacheProtect □ ImageViewer.Show □ ImageViewer.TrustImage □ ImageViewer.Visible ■ Inifile オブジェクト □ Inifile.Clear □ Inifile.Read □ Inifile.UpdateFile □ Inifile.Write ■ List オブジェクト □ List.Add □ List.Clear □ List.Count □ List.Delete □ List.Insert □ List.Items □ List.SetItems ■ MenuItem オブジェクト □ MenuItem.Add □ MenuItem.Caption □ MenuItem.Checked □ MenuItem.Connected □ MenuItem.Count □ MenuItem.Disconnect □ MenuItem.Enabled □ MenuItem.GestureName □ MenuItem.Insert □ MenuItem.Items □ MenuItem.MenuIndex □ MenuItem.OnBeforeShow □ MenuItem.OnClick □ MenuItem.ParentMenu □ MenuItem.ShortCut □ MenuItem.Visible ■ NamedVariant オブジェクト □ NamedVariant.Clear □ NamedVariant.Items ■ PopupTargetInfo オブジェクト □ PopupTargetInfo.InfoText □ PopupTargetInfo.Number □ PopupTargetInfo.ObjectName □ PopupTargetInfo.PopupObject ■ RangeList オブジェクト □ RangeList.RangeBegin □ RangeList.RangeEnd □ RangeList.Count □ RangeList.Connected □ RangeList.WholeRangeWidth ■ ReferredList オブジェクト □ ReferredList.Lines □ ReferredList.RefCount □ ReferredList.ReferencedFrom ■ ResItem オブジェクト □ ResItem.Connected □ ResItem.Date □ ResItem.DateValue □ ResItem.Id □ ResItem.Mail □ ResItem.Msg □ ResItem.Name □ ResItem.Number □ ResItem.Title □ ResItem.URL ■ SqlConnection オブジェクト □ SqlConnection.BeginTransaction □ SqlConnection.Close □ SqlConnection.CommitTransaction □ SqlConnection.CreateStatement □ SqlConnection.EndTransaction □ SqlConnection.Exec □ SqlConnection.RollbackTransaction □ SqlConnection.Vacuum ■ SqlStatement オブジェクト □ SqlStatement.Bind □ SqlStatement.Column □ SqlStatement.ColumnCount □ SqlStatement.ColumnName □ SqlStatement.Finalize □ SqlStatement.Reset □ SqlStatement.Step ■ Strings オブジェクト □ Strings.Items □ Strings.Count □ Strings.Text ■ TabDrawingSetting オブジェクト □ TabDrawingSetting.BackGroundColor □ TabDrawingSetting.FlagColor □ TabDrawingSetting.FontColor ■ ThreadFinder オブジェクト □ ThreadFinder.Find □ ThreadFinder.FindCreate □ ThreadFinder.Board □ ThreadFinder.DatName □ ThreadFinder.Ranges □ ThreadFinder.Thread ■ ThreadItem オブジェクト □ ThreadItem.Board □ ThreadItem.Connected □ ThreadItem.DatExist □ ThreadItem.DatName □ ThreadItem.DatSize □ ThreadItem.DatText  □ ThreadItem.DeltaRes  □ ThreadItem.Downloading  □ ThreadItem.FinalRes □ ThreadItem.GetAbone □ ThreadItem.GetIndexedUrl □ ThreadItem.GetNumberLinks □ ThreadItem.GetReferredList □ ThreadItem.GetRes □ ThreadItem.GetUrlList □ ThreadItem.InjectDat □ ThreadItem.ItemCount □ ThreadItem.ItemDelta  □ ThreadItem.LastGot □ ThreadItem.LastModified  □ ThreadItem.LastWrote □ ThreadItem.Lines □ ThreadItem.LocalReload □ ThreadItem.Mark □ ThreadItem.Number □ ThreadItem.Obj □ ThreadItem.OldLines □ ThreadItem.SetAbone □ ThreadItem.ThreadAboned □ ThreadItem.Title □ ThreadItem.URL □ ThreadItem.UsedWriteMail □ ThreadItem.UsedWriteName ■ ViewItem オブジェクト □ viewItem.AboneLevel □ viewItem.Activate □ viewItem.Clear □ viewItem.Connected □ viewItem.EndDatOut □ viewItem.ExtraTitle □ viewItem.FocusedLink □ viewItem.HintText □ viewItem.NewPopupView □ viewItem.Obj □ viewItem.Popup □ viewItem.PopupView □ viewItem.QueryDatOut □ viewItem.SelectedLinks □ viewItem.SelectedResNumbers □ viewItem.Selection □ viewItem.TabText □ viewItem.Thread □ viewItem.Trim □ viewItem.ViewType □ viewItem.WriteSkin ■ ViewList オブジェクト □ viewList.Connected □ viewList.Count □ viewList.Items □ viewList.NewView ■ WriteForm オブジェクト □ WriteForm.Board □ WriteForm.Close □ WriteForm.FileBox □ WriteForm.MailBox □ WriteForm.MsgBody □ WriteForm.NameBox □ WriteForm.Open □ WriteForm.PageIndex □ WriteForm.PassBox □ WriteForm.SageChecked □ WriteForm.SettingText □ WriteForm.Showing □ WriteForm.StatusBarText □ WriteForm.SubjectBox □ WriteForm.Thread □ WriteForm.WriteResult
==================================================================================================   ■■■ エラーコード一覧 ■■■ ==================================================================================================  スクリプトからのJaneのオブジェクトの関数の呼び出し中に発生したエラーで例外オブジェクトのnumber  プロパティに設定される値。try catch finallyでエラーの状況に合わせた処理を行う場合に参照する。  なお実際のエラーコードは下位16byteなので、コードの判定は0xffffとのandを取ったWORD値の比較で  行う。  例 try { viewItem.ExtraTitle = "test"; } catch(e) { if ((e.number & 0xffff) = 0x8001) JaneScript.Log("対象のスレビューは削除されました") else throw(e); }; □ 0x80048000 (E_JaneScript)   Janeのオブジェクトが関数の引数などスクリプトから渡された値に問題があると判断した場合に   発生する例外。 □ 0x80048001 (E_JaneScriptObjectDisconnected)   参照先のデータが破棄され、参照が切断されたJaneのオブジェクトを操作した場合に発生する例外。 □ 0x80048001 (E_JaneScriptContext)   Actionの中からのJaneScript.ShowMessageなど、呼び出し不可能なタイミングでの関数呼び出しで   発生する例外。 □ 0x80048002 (E_JaneScriptImageTabNotCompleted)   ImageTabオブジェクトで、コンテンツが取得されていない状態で、その状態ではアクセスできない   関数やプロパティへにアクセスした場合に発生する例外。 □ 0x80040100〜0x800401ff (E_SQLite)   SQLiteの処理で発生したエラー。下二桁はSQLiteが返すエラーコード。   SQLiteの定義済みエラーコードは以下。   (例えば、SQLITE_CORRUPT:データベースファイル破損の場合、実際に返る例外オブジェクトは    number & 0xffff == 0x010b) SQLITE_ERROR 0x01 /* SQL error or missing database */ SQLITE_INTERNAL 0x02 /* An internal logic error in SQLite */ SQLITE_PERM 0x03 /* Access permission denied */ SQLITE_ABORT 0x04 /* Callback routine requested an abort */ SQLITE_BUSY 0x05 /* The database file is locked */ SQLITE_LOCKED 0x06 /* A table in the database is locked */ SQLITE_NOMEM 0x07 /* A malloc() failed */ SQLITE_READONLY 0x08 /* Attempt to write a readonly database */ SQLITE_INTERRUPT 0x09 /* Operation terminated by sqlite_interrupt() */ SQLITE_IOERR 0x0a /* Some kind of disk I/O error occurred */ SQLITE_CORRUPT 0x0b /* The database disk image is malformed */ SQLITE_NOTFOUND 0x0c /* (Internal Only) Table or record not found */ SQLITE_FULL 0x0d /* Insertion failed because database is full */ SQLITE_CANTOPEN 0x0e /* Unable to open the database file */ SQLITE_PROTOCOL 0x0f /* Database lock protocol error */ SQLITE_EMPTY 0x10 /* (Internal Only) Database table is empty */ SQLITE_SCHEMA 0x11 /* The database schema changed */ SQLITE_TOOBIG 0x12 /* Too much data for one row of a table */ SQLITE_CONSTRAINT 0x13 /* Abort due to constraint violation */ SQLITE_MISMATCH 0x14 /* Data type mismatch */ SQLITE_MISUSE 0x15 /* Library used incorrectly */ SQLITE_NOLFS 0x16 /* Uses OS features not supported on host */ SQLITE_AUTH 0x17 /* Authorization denied */ □ 0x80004005 (E_Failed)   上記以外のVCLが発生させた例外。 ==================================================================================================   ■■■ 関数リファレンス凡例 ■■■ ================================================================================================== -------------------------------------------------------------------------------------------------- ■ パラメータ、戻り値の型情報  各関数のパラメータ、戻り値の型はそれぞれの名前の後に:を付けて記載  オブジェクトリファレンスで、メンバ名の後ろに()でパラメータリストが付くのが関数メンバ。  パラメータを保たない関数もJaneScript.ExeName()のように空の括弧が付き、  ()が付かないものはプロパティメンバ。  ・Bool 論理型  ・Float 浮動小数点型  ・Integer 整数値  ・String 文字列  ・UTC 日付シリアル値(UTC(世界標準時)1970/01/01 0:00からのミリ秒単位での経過時間)       DateオブジェクトにsetTime関数を用いて直接代入できる  ・Variant 任意の型  ・Void (戻り値なし)  ・その他 Janeの定義するオブジェクト(オブジェクトリファレンス参照)   プロパティのうち[代]となっているものは代入式の左辺に置いて代入が可能 ==================================================================================================   ■■■ 制限事項 ■■■ ================================================================================================== -------------------------------------------------------------------------------------------------- ■ 実行可能情報 (例: Action:× LateCall:○ Command:○)   リファレンスで実行可能情報が×となっている場所からはその関数は呼び出せない  (例えば、ResActionの中からレスの出力を行うとその中で再度ResActionが呼び出されるため無限ループに   入ってしまう、Actionの処理中にWindowsのメッセージ処理が割り込み、ユーザーの操作が反映されて   処理中のデータが破棄されてしまう、などシステムの安定性を毀損する可能性がある処理が×の対象)  ・Action アクション関数からの呼び出しの可否(アクションの種類で異なる場合は{}内に追記)  ・LateCall JaneScript.LateCallによる遅延呼び出し関数内での呼び出しの可否  ・Command ユーザー設定メニューのOnClick, OnBeforeShowで呼び出した関数内からの呼び出しの可否  ※チェックは関数の置かれた場所ではなくシステムからの呼び出しコンテキストに対して行われる。   アクション関数として定義された関数であっても、メニュー関数から呼び出した場合はその中での   関数呼び出し許可はCommandの○×に従い、逆にOnClick, OnBeforeShowに設定した関数であっても   アクションの中から呼び出されればその中での関数呼び出し許可はActionの○×に従う -------------------------------------------------------------------------------------------------- ■ リモートアクセスの制限  ・ActionまたはLateCallの処理から通信を伴う処理を行った場合、その通信は遮断される   例:LateCallの中からのJaneScript.Openなど  ・Commandからの2chとの通信を伴う処理は、スクリプトが呼び出されてからその呼び出しが終了するまでの   間に2回までに制限される。スクリプトの途中のメッセージ処理などによりさらに別のスクリプトが   呼び出された場合、それらのスクリプトの通信の合計回数に対して制限が適用される -------------------------------------------------------------------------------------------------- ==================================================================================================   ■■■ アクション関数リファレンス ■■■ (以下の名前の関数を定義すると、名前に応じて必要時にJane側から呼び出される)  ※引数の名前は任意に変更可 ================================================================================================== -------------------------------------------------------------------------------------------------- ■ function AppActionClosing(): Void  Janeを終了する時、各種リソースを解放する前に呼び出される。  終了時のJaneの状態を次回起動時に反映させるスクリプトを作成する場合などに使用する。  Finalizeと異なり、JaneScriptのアクション時に有効な全ての関数が利用可能。 ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function AppActionConfigured(): Void  Janeの起動時に、各種リソースの設定が完了しメインウィンドウを表示する直前に呼び出される。  スクリプトの初期化パートの時点ではまだJaneのシステム設定が終了しておらず、  一部の機能が利用できない。それらの機能が必要な処理はAppActionConfiguredで行う。  基本的に、スクリプト自体の設定ではない、Janeの起動時の状態を操作する処理はAppActionConfiguredで  行うのが好ましい。  ※初期化パートではJaneScript.CategoryList、JaneScript.ViewList、JaneScript.CreateHttpRequest   などが実行できない ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function BoardActionCreatedNewThread(Item: ThreadItem): Void  板のローカルで読み込み以外のタイミングで板にスレを追加する処理が行われた後に呼び出される。  例として、未取得の過去ログのURLをアドレスバーにURLを入力して取得する場合など。  このようなスレはBoardActionLoaded、BoardActionRefreshedの処理を通過していないため、  それらのActionと同等の処理が新規スレにも必要な場合はこのアクションで実行する。  ※BoardActionCreatedNewThreadが実行されるのは板へスレが追加された直後で、この時点では   リモート取得などは行われていない。従って、BoardActionCreatedNewThreadの時点で   スレタイは空白、レス数は0など初期状態である事に注意。 ・Item   板に追加されたスレを参照するThreadItemオブジェクト。追加先の板はItem.Boardで取得する ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function BoardActionDownloadComplete(Item: Board): Void   板の更新でサーバへのアクセスが完了した時に呼び出される。 ・Item   サーバにアクセスしていた板を参照するBoardオブジェクト ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function BoardActionLoaded(Item: Board): Void  板をローカルで読み込んだ直後に呼び出される。板の全てのスレに何らかの処理を行いたい時に使う。  例えばNGスレッドと同等の処理を行う場合は、BoardActionLoaded、BoardActionRefreshed、  (場合によってはBoardActionCreatedNewThread)でスレをスレッドあぼーんする  ※板の読み込みはスレ一覧の表示以外にも、スレッドの読み込みの準備などで行われる事に注意。 ・Item   読み込まれた板を参照するBoardオブジェクト ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function BoardActionRefreshed(Item: Board): Void  板のsubject.txtをリモート取得し、それを解析して板をリフレッシュした直後に呼び出される。  板の全てのスレに何らかの処理を行いたい時に使う。  例えばNGスレッドと同等の処理を行う場合は、BoardActionLoaded、BoardActionRefreshed、  (場合によってはBoardActionCreatedNewThread)でスレをスレッドあぼーんする ・Item   リフレッシュされた板を参照するBoardオブジェクト ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function LinkActionBrowserNavigate(Item: viewItem, Url: String, X: Integer, Y: Integer): String   スレビューのリンククリックの処理をフックする。Jane標準のリンククリック動作の置き換えや追加処理   に利用する。戻り値を設定することにより、それ以降の処理で用いるUrlの置き換えが可能。   戻り値が""(空白文字列)の場合はそれ以降の処理がキャンセルされる。   ◆重要◆ LinkActionBrowserNavigateは実行可能情報でAction権限ではなくCommand権限とみなされる ・Item   クリックされたリンクが表示されているビューのviewItemオブジェクト。   スレビューに限らず、多段ポップアップ、ビューアの簡易HTML表示、書き込みプレビューなどの   リンククリックからも呼び出される点に注意。 ・Url   クリックされたリンクのhrefの文字列。複数のスクリプトにLinkActionBrowserNavigateがある場合、   より優先順位の高いスクリプトにより書き換えられている可能性がある。 ・X   リンクがクリックされた時のマウスカーソルのX座標 ・Y   リンクがクリックされた時のマウスカーソルのY座標 ・戻り値   戻り値を設定した場合、その文字列がそれ以降の優先順位が低いスクリプトやJane標準のリンククリック   処理でリンクのhref文字列として利用される。戻り値として""(空白文字列)を返すとそれ以降の処理が   キャンセルされる。 -------------------------------------------------------------------------------------------------- ■ function LinkActionBrowserStatusTextChange(Item: viewItem, Url: String, X: Integer, Y: Integer): String   スレビューのリンクマウスオーバーの処理をフックする。(リンクの上にマウスカーソルが乗る/外れる   などの、カーソル下のリンク文字列が変化するタイミングで呼び出される)   Jane標準のリンクマウスオーバー動作の置き換えや追加処理に利用する。戻り値を設定することにより、   それ以降の処理で用いるUrlの置き換えが可能。戻り値が""(空白文字列)の場合はそれ以降の処理が   キャンセルされる。戻り値を設定するとそれ以降の処理でUrlがその文字列に置き換えられる。戻り値が   ""(空白文字列)の場合はそれ以降の処理がキャンセルされる。   ◆重要◆ LinkActionBrowserStatusTextChangeは実行可能情報でAction権限ではなく        LateCall権限とみなされる ・Item   マウスオーバーされたリンクが表示されているビューのviewItemオブジェクト。   スレビューに限らず、多段ポップアップ、ビューアの簡易HTML表示、書き込みプレビューなどの   リンクマウスオーバーからも呼び出される点に注意。 ・Url   マウスオーバーされたリンクのhrefの文字列。複数のスクリプトにLinkActionBrowserNavigateが   ある場合、より優先順位の高いスクリプトにより書き換えられている可能性がある。 ・X   リンクがマウスオーバーされた時のマウスカーソルのX座標 ・Y   リンクがマウスオーバーされた時のマウスカーソルのY座標 ・戻り値   戻り値を設定した場合、その文字列がそれ以降の優先順位が低いスクリプトやJane標準のリンクマウス   オーバー処理でリンクのhref文字列として利用される。戻り値として""(空白文字列)を返すとそれ以降の   処理がキャンセルされる。 -------------------------------------------------------------------------------------------------- ■ function ResActionPrepare(thread: ThreadItem, sessionType: String): Variant  スレ表示のレス内容を出力する処理の先頭で呼び出される。  以後のResActionセッションに必要なデータを保持するためのsessionObjectを定義し、  戻り値として返す。  ※ResActionPrepareはレスアクションのスクリプトには必ず必要。   ResActionPrepareがないスクリプトでは、他のResAction〜が定義されていても   一切呼び出されない ・thread   表示処理を行う対象のスレオブジェクト(オブジェクトリファレンス参照) ・sessionType: セッションの種類   "ThreadView" : スレ表示   "ExtractionView": ポップアップ、レス抽出など、補助的な表示   "Undefined" : 内部の検索処理、文字列生成など表示以外の処理 ・戻り値   以後のセッションで参照するためのデータ。典型的には必要なメンバを追加した   objectを返す。戻り値を返さないまたはundefinedにした場合、そのセッションでは   ResActionTxt, ResActionDispControlは呼び出されない -------------------------------------------------------------------------------------------------- ■ function ResActionTxt(resItem: ResItem, callIndex: Integer, sessionObject: Variant): Bool  ResAction.Txtで、Item=Scriptとなっているアクションから呼び出される。 ・ResItem   ResItemオブジェクト。各プロパティによりレスの内容を取得したり、代入して表示内容を変更可能   (プロパティはオブジェクトリファレンス参照)   ※ResActionTxtの引数として渡されるResItemは高速化のため特殊な扱いになっており、    全てのスクリプトの全てのResActionTxtの呼び出しでただ一つの同じオブジェクトを共用する。    このため、これをグローバル変数などに代入して保持しても各メンバのデータはその後で    ResActionTxtが呼び出されるたびに変化してしまう。    従って、ResItemのデータを保持しておきたい場合は個別のメンバを別の変数にコピーする必要あり。 ・callIndex:   ResAction.txtでアクションのItemに定義されたScriptCallIndexの値。   必要に応じてこの数字を元に処理を分岐させる ・sessionObject:   セッションの開始時にPreparaResActionで戻り値として設定した値/オブジェクト -------------------------------------------------------------------------------------------------- ■ function ResActionDispControl(number: Integer, LinkList: RangeList, Abone: Integer, sessionObject: Variant): Integer  スレ表示で表示対象レスのJane標準のNG処理が確定した時点で呼び出される。  ここで戻り値を返すことで、そのレスの表示を本来のあぼーん状態から変えることができる  (変更は表示に対してのみ行われ、レスのNGの判定結果やあぼーんの値が変更されるのではない) ・number   そのレスのレス番 ・LinkList   そのレスがレス番リンクしている先を保持するRangeListオブジェクト。    例    >>4 >>1-2 >>6-8 というリンクを持ったレスでは、次の内容のRangeListがLinkListとして渡される    RangeList.Count == 3    RangeList.RangeBegin(0) == 1, RangeList.RangeEnd(0) == 2    RangeList.RangeBegin(1) == 4, RangeList.RangeEnd(1) == -1    RangeList.RangeBegin(2) == 6, RangeList.RangeEnd(2) == 8    RangeList.WholeRangeWidth == 6   ただし、得られたRangeはソートされ、参照先の範囲が連続したものは結合、重複は削除されるので、   元のレス番参照が例えば>>1,2 >>4 >>6-7 >>7-8であっても同じ結果になり、区別できない   ※ResActionDispControlの引数として渡されるRangeListは高速化のため特殊な扱いになっており、    全てのスクリプトの全ての全てのResActionDispControlの呼び出しでただ一つの同じオブジェクトを    共用する。このため、これをグローバル変数などに代入して保持しても各メンバのデータはその後で    ResActionDispControlが呼び出されるたびに変化してしまう。    従って、LinkListのデータを保持しておきたい場合は個別のメンバを別の変数にコピーする必要あり。 ・Abone   Janeのシステムが決定したそのレスの表示方法   0=通常表示, 1=あぼーん, 2=透明あぼーん, 4=レスチェック ・sessionObject   セッションの開始時にPreparaResActionで戻り値として設定した値/オブジェクト ・戻り値   変更するレス表示方法   0=通常表示, 1=あぼーん, 2=透明あぼーん, 4=レスチェック, -1=非表示    ※非表示は、あぼーん表示方法がさぼりでも表示されない。フィルタなどで使用する。   戻り値を設定しない場合は初期値(パラメータAbone)で処理する  ※複数のスクリプトが異なる戻り値を設定した場合の処理は、それぞれの値の   優先度で決まる。優先度が高い順に -1, 4, 2, 1, 0。 -------------------------------------------------------------------------------------------------- ■ function ResActionWriteSkin(datOut: Datout, resItem: ResItem, Abone: Integer, info: String, sessionObject: Variant): Integer   レス表示の際に、レス用スキン(Res.Html, NewRes.Htmlなど)のタグにより呼び出される。   第一引数のdatOutに対してwriteHTML, writeTextなどでレスに関連するカスタム表示を行う事ができる。   また、さらに戻り値を設定する事で他のスキンタグと同様の出力を追加する事ができる。   スキンでのタグの書式は以下の通り      スクリプト全部が順に実行されるのではなく、nameで指定したスクリプトのResActionWriteSkinだけが   呼び出される。infoは文字列で、Janeのシステムでは特に使用しない。 ・DatOut   レスを出力する先のviewItemから取得したDatOutオブジェクト。ResActionWriteSkinの最中は、   アクション権限であってもこの引数のDatOutにはWriteHTMLやDatOut.WriteTextが可能。   WriteResに限って実行不可。 ・resItem   出力するレスを保持したオブジェクト ・Abone   出力するレスのあぼーん状態 ・Info   呼び出し元のタグで設定されたinfoアトリビュートの値。処理の分岐や出力に使用できる ・sessionObject   セッションの開始時にPreparaResActionで戻り値として設定した値/オブジェクト ・戻り値   戻り値により、タグの部分にスクリプト自身の出力以外に一般のスキンタグと同等の   出力を追加する事ができる。   1:   2:   3:   4:   5:   6:   7:   8:   9:  10:  11:  12:  13:  14:    その他or戻り値なし:なにもしない -------------------------------------------------------------------------------------------------- ■ function ResActionCancel(sessionObject: Variant): Void  スレビューのスレ表示セッション(sessionType == "ThreadView")が途中で中断された場合に呼び出される。  セッションが中断されるのは、表示処理中のスレビューが閉じられた場合、表示処理中のスレビューに  別のスレが読み込まれた場合など。  ResActionCancelが呼び出された場合はResActionFinishは呼び出されないので、セッションで使うリソー  スをResActionFinishで解放している場合はResActionCancelにも同様の記述を行う必要がある。  セッションオブジェクトはResActionCancelから処理が戻った後で解放される。  ※スレ表示セッション以外のセッションは、中断された場合でもResActionFinishが呼び出される ・sessionObject   セッションの開始時にPreparaResActionで戻り値として設定した値/オブジェクト ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function ResActionFinish(sessionObject: Variant): Bool  スレの表示や出力の処理が完了した時点で呼び出される  システム側から要求する作業は特になし。スレ表示ごとに一度だけ実行する処理はここで  行うのが適切。また、ResActionの結果を他のコマンドなどで利用する場合もこの関数で  必要な項目をグローバルオブジェクトやThreadのストレージオブジェクトなどに記録する  セッションオブジェクトはこの処理の後で解放される  戻り値にtrueに設定すると、スクリプト終了後にスレがローカルリロードされる。  ※セッションがスレビューの表示処理の場合(ResActionPrepareのsessionType=="ThreadView")のみ有効。   それ以外のセッションでは戻り値は無視される  ※複数のスクリプトにResActionFinishがある場合、そのうち一つでもtrueを返すとリロードされる ・sessionObject   セッションの開始時にPreparaResActionで戻り値として設定した値/オブジェクト ・戻り値   スレをローカルリロードしたい場合はtrueを返す。falseまたは値を返さない場合はリロードされない -------------------------------------------------------------------------------------------------- ■ function TabActionActiveListTabChanged(Item: Board): Void  アクティブな板タブが変更された直後に呼び出される。 ・Item   アクティブになった板タブを参照するBoardオブジェクト。板タブが全て閉じられてアクティブタブが   空白になって呼び出された場合はundefined。 ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function TabActionActiveTabChanged(Item: ViewItem): Void  アクティブなスレタブが変更された直後に呼び出される。  変更前にアクティブだったスレでヒント表示のためのリモートアクセスを行っていた場合などはここで  キャンセルする。 ・Item   アクティブになったスレタブを参照するViewItemオブジェクト。スレが全て閉じられてアクティブタブが   空白になって呼び出された場合はundefined。 ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function TabActionListDrawTab(Setting: TabDrawingSetting, Item: Board, Active: Bool, Index: Integer): Void  板タブの表示を行う前に呼び出される。Settingの内容を変更することでタブの要素の色を変更できる。  (変更可能な要素:フラッグ色、文字色、背景色)  ※TabActionListDrawTabが呼び出される条件は、「スレタブにマークを表示する」がオンで、   スレ覧タブの形式が「タブ」以外かつアイコン表示の「タブ」がオフであること ・Setting   対象の板タブの表示色を保持するTabDrawingSettingオブジェクト(オブジェクトリファレンス参照) ・Item   対象の板タブで表示される板を参照するBoardオブジェクト。 ・Active   trueならば板タブが選択状態 ・Index   対象の板タブのインデックス ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function TabActionViewDrawTab(Setting: TabDrawingSetting, Item: ViewItem, Active: Bool, Index: Integer): Void  スレタブの表示を行う前に呼び出される。Settingの内容を変更することでタブの要素の色を変更できる。  (変更可能な要素:フラッグ色、文字色、背景色)  ※TabActionViewDrawTabが呼び出される条件は、「スレタブにマークを表示する」がオンで、   スレタブの形式が「タブ」以外であること ・Setting   対象のスレタブの表示色を保持するTabDrawingSettingオブジェクト(オブジェクトリファレンス参照) ・Item   対象のスレタブで表示されるスレビューを参照するViewItemオブジェクト。 ・Active   trueならばスレタブが選択状態 ・Index   対象のスレタブのインデックス ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function ThreadActionDownloadComplete(Item: ThreadItem): Void   スレの更新や再読込などでサーバへのアクセスが完了した時に呼び出される。 ・Item   サーバにアクセスしていたスレを参照するThreadItemオブジェクト ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function ThreadActionReloading(Thread: ThreadItem): Void  スレビューで再読み込みβを実行したときに呼び出される。  スクリプトが引数Threadのスレ内容に基づいたデータをグローバルオブジェクトやThreadのストレージなどに  持っている場合、この関数が呼び出されたとき必要に応じて初期化するとよい。 ・Thread   再読み込みが実行されたスレへの参照を保持するThreadItemオブジェクト ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function ThreadActionRemoveLog(Thread: ThreadItem): Void  スレッドのログ(dat)を削除した後で呼び出される。  ログに関するデータを別途保管、管理している場合、この関数が呼び出された時に削除するとよい。 ・Thread   ログが削除されたスレへの参照を保持するThreadItemオブジェクト ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function ViewerActionImageTabClosing(ImageTab: ImageTab): Void  ビューアで画像タブが閉じられる直前に呼び出される。  開いているコンテンツに対するユーザーの操作、設定を保存しておきたい場合はこの関数が呼び出された  時に処理するとよい。 ・ImageTab   閉じられようとしている画像タブを参照するImageTabオブジェクト ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function ViewerActionImageTabCompleted(ImageTab: ImageTab): Void  ビューアで画像タブがデータ取得を完了した時(ホストとの通信が正常に完了した時、エラーで終了した時、  ユーザーがタブを閉じて通信を中断した時、キャッシュを開いた時)に呼び出される。  書庫を開いた場合、その内部の個別のタブごとにもViewerActionImageTabCompletedが呼び出される。  取得した画像やHTML、またはエラーの内容に対応した処理を行いたい場合はこの関数が呼び出された時に  処理するとよい。 ・ImageTab   読み込みが完了した画像タブを参照するImageTabオブジェクト ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function WriteActionButtonWriteClick: Bool  書き込みダイアログで書き込みボタンが押された時に呼び出される。  戻り値にtrueを返すと、これ以降の別のスクリプトのWriteActionButtonWriteClickを含めて書き込みの  処理が中止される。値を返さない、またはtrue以外の値を返した場合は通常通り継続。 ・戻り値   true : これ以降の書き込み処理を行わない   その他: 処理を継続する -------------------------------------------------------------------------------------------------- ■ function WriteActionFormShow: Void  書き込みダイアログを開く時に呼び出される。 ・戻り値   なし -------------------------------------------------------------------------------------------------- ■ function WriteActionFormClose: Bool  書き込みダイアログを閉じる前に呼び出される。  戻り値にtrueを返すと、これ以降の別のスクリプトのWriteActionFormCloseを含めて閉じる処理が  中止される。値を返さない、またはtrue以外の値を返した場合は通常通り継続。 ・戻り値   true : これ以降の閉じる処理を中止し、ダイアログを開いたままにする。   その他: 処理を継続する -------------------------------------------------------------------------------------------------- ■ function WriteActionWriteSuccess: Void  書き込みダイアログで、書き込みを正常に完了したと推定される時に呼び出される。 ・戻り値   なし ==================================================================================================   ■■■アクション以外のシステムからの呼び出し関数リファレンス■■■ ================================================================================================== -------------------------------------------------------------------------------------------------- ■ function Finalize: Void  アプリケーション終了時、スクリプトが解放される前に呼び出される。  終了時にスクリプトの設定データを保存しておきたい場合の処理はここに記述する。  ※Janeの一部のリソースはFinalizeの時点で解放されている場合があり、そのようなリソースへの   アクセスはエラーを発生させる。終了時にそのようなリソースにアクセスしたい場合は、Finalizeでは   なくアクションのAppClosingに処理を記述する。 ・戻り値   なし -------------------------------------------------------------------------------------------------- ==================================================================================================   ■■■ 組み込みグローバルオブジェクトリファレンス ■■■ ================================================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ JaneScript オブジェクト  WSHでのWScriptオブジェクトに対応するグローバルの組み込みオブジェクト。  システム全般へのアクセスや各種の出力、UIのコントロールなどを担当する。 -------------------------------------------------------------------------------------------------- □ JaneScript.ActiveView(): ViewItem  Action:○ LateCall:○ Command:○   現在アクティブなスレビューのアイテムを取得する ・戻り値   アクティブなViewItemのオブジェクト(オブジェクトリファレンス参照) -------------------------------------------------------------------------------------------------- □ JaneScript.AddNgName(Item: String, AboneType, LifeSpan: Integer): Bool □ JaneScript.AddNgMail(Item: String, AboneType, LifeSpan: Integer): Bool □ JaneScript.AddNgId(Item: String, AboneType, LifeSpan: Integer): Bool □ JaneScript.AddNgWord(Item: String, AboneType, LifeSpan: Integer): Bool  Action:○ LateCall:○ Command:○  NGに新しいアイテムを登録する。  ※アクティブなスレビューの再読込によるNGの反映は自動では行われない。   そのような動作をさせたい場合は、これらの関数を実行した後でNGを反映させたいスレに対して   スクリプトでthread.LocalReloadを実行する。 ・AboneType   登録するNGのあぼーんの種別    0: 通常あぼーん    2: 透明あぼーん    4: 重要キーワード ・LifeSpan   アイテムの寿命   -1: アイテムの種類ごとの設定値に従う     0: 寿命を管理されず、自動では削除されない    その他: その日数だけ新たなレスがなければ自動消去 ・戻り値   正常に登録された場合はtrue   すでに登録されていたり、空白文字列を登録しようとした場合はfalse -------------------------------------------------------------------------------------------------- □ JaneScript.AddressBar: Edit  Action:○ LateCall:○ Command:○   アドレスバーを参照するEditオブジェクト(オブジェクトリファレンス参照) -------------------------------------------------------------------------------------------------- □ JaneScript.BeginFavoriteUpdate(): Void  Action:○ LateCall:○ Command:○   お気に入りの変更を開始する。BeginFavoriteUpdateを実行すると、スクリプトによるお気に入りの変更   のツリーへの反映が、EndFavoriteUpdateを実行されるまで保留される。これにより、お気に入りに多数の   変更を一括で加える際に画面更新のため遅くなったりツリーがちらつくのを抑止できる。   BeginFavoriteUpdateの呼び出し回数は内部でカウントされ、複数回BeginFavoriteUpdateが呼び出された   場合には、変更を終了するために同じ回数だけEndFavoriteUpdateを呼び出す必要がある。  ※BeginFavoriteUpdateのカウントは全てのスクリプトで共有されているため、仮にどれか一つのスクリプト   がBeginFavoriteUpdateを呼び出し、EndFavoriteUpdateを呼び出さなかった場合、他の全てのスクリプト   からのお気に入りの変更がツリーに反映されなくなる。逆に、BeginFavoriteUpdateを呼び出さずに   EndFavoriteUpdateを呼び出した場合、他のスクリプトが呼び出したBeginFavoriteUpdateの効力を   失わせてしまう可能性がある。そのため、BeginFavoriteUpdate/EndFavoriteUpdateを利用する場合は   try finally節などを適切に用いて互いが確実に対で実行されるようコーディングする必要がある。   参照: JaneScript.EndFavoriteUpdate ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.BoardList(): Board  Action:○ LateCall:○ Command:○  板一覧タブで開いている板を参照するBoardListオブジェクトを取得する。  参照: BoardListオブジェクト ・戻り値   板一覧タブで開いている板を参照するBoardListオブジェクト -------------------------------------------------------------------------------------------------- □ JaneScript.BoardSearchBar: Edit  Action:○ LateCall:○ Command:○   板一覧検索バーを参照するEditオブジェクト(オブジェクトリファレンス参照) -------------------------------------------------------------------------------------------------- □ JaneScript.CategoryList(): CategoryList  Action:○ LateCall:○ Command:○  Janeの板一覧を格納したオブジェクトを取得する。取得したCategoryListにより、  すべての板の列挙やURLからの板、スレの検索が可能。 ・戻り値   板一覧(オブジェクトリファレンスのCategoryList参照) -------------------------------------------------------------------------------------------------- □ JaneScript.ClipboardAsText: String [代]  Action:○ LateCall:○ Command:○  クリップボードの文字列(取得、代入が可能) -------------------------------------------------------------------------------------------------- □ JaneScript.Close(Item: ThreadItem/ViewItem/Board/ImageTab): Void  Action:× LateCall:○ Command:○  板またはスレまたはビューアのタブを閉じる ・Item   閉じる対象の板(Boardオブジェクト)またはスレ(ThreadItemオブジェクトまたはViewItemオブジェクト   またはImageTabオブジェクト) ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.CreateCosSimObject(): CosSim  Action:○ LateCall:○ Command:○   文字列のCosine Similarityに基づく比較を行うためのCosSimオブジェクトを作成する ・戻り値   作成されたCosSimオブジェクト(オブジェクトリファレンス参照) -------------------------------------------------------------------------------------------------- □ JaneScript.CreateHttpRequest(RequestType: String, Url: String): HttpRequest  Action:× LateCall:× Command:○   http通信を行うためのHttpRequestオブジェクトを作成する ・RequestType   HttpRequestオブジェクトの通信メソッドを指定する文字列。以下の3種のいずれかを選択。   "GET", "POST", "HEAD" ・Url   HttpRequestオブジェクトがリクエストする対象のURL ・戻り値   作成されたHttpRequestオブジェクト(オブジェクトリファレンス参照) -------------------------------------------------------------------------------------------------- □ JaneScript.CreateList(): List  Action:○ LateCall:○ Command:○   空のListオブジェクトを作成する。 ・戻り値   作成されたListオブジェクト -------------------------------------------------------------------------------------------------- □ JaneScript.CurrentBoard(): Board  Action:○ LateCall:○ Command:○   スレ一覧で開いている板を返す。 ・戻り値   スレ一覧で開いている板を参照するBoardオブジェクト -------------------------------------------------------------------------------------------------- □ JaneScript.CursorPos(): NamedVariant  Action:○ LateCall:○ Command:○   グローバル座標系でのマウスカーソルの位置を取得する ・戻り値   カーソル位置情報を格納したNamedVariant(オブジェクトリファレンス参照)   NamedVariant.X カーソルのX座標   NamedVariant.Y カーソルのY座標 -------------------------------------------------------------------------------------------------- □ JaneScript.DeleteSqlDatabase(): Void  Action:○ LateCall:○ Command:○   スクリプト用のSQLiteデータベースファイルを削除する。データベース破損からの復旧などに。 ・戻り値   true : データベースが元々存在しなかったか、削除に成功   false: データベースの削除に失敗 -------------------------------------------------------------------------------------------------- □ JaneScript.EndFavoriteUpdate(): Void  Action:○ LateCall:○ Command:○   お気に入りの変更を終了する。EndFavoriteUpdateを実行すると、BeginFavoriteUpdateの内部カウントが   1減り、内部カウントがゼロになった場合は最初のBeginFavoriteUpdate以降のスクリプトによる   お気に入りへの変更がツリーに反映され、その後のお気に入りへの変更は即座に変更されるようになる。   複数回BeginFavoriteUpdateが呼び出された場合には、変更を終了するために同じ回数だけ   EndFavoriteUpdateを呼び出す必要がある。  ※BeginFavoriteUpdateのカウントは全てのスクリプトで共有されているため、仮にどれか一つのスクリプト   がBeginFavoriteUpdateを呼び出し、EndFavoriteUpdateを呼び出さなかった場合、他の全てのスクリプト   からのお気に入りの変更がツリーに反映されなくなる。逆に、BeginFavoriteUpdateを呼び出さずに   EndFavoriteUpdateを呼び出した場合、他のスクリプトが呼び出したBeginFavoriteUpdateの効力を   失わせてしまう可能性がある。そのため、BeginFavoriteUpdate/EndFavoriteUpdateを利用する場合は   try finally節などを適切に用いて互いが確実に対で実行されるようコーディングする必要がある。   参照: JaneScript.BeginFavoriteUpdate ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.ExecuteCommand(const CommandString: String; Replace: Bool): Void  Action:× LateCall:× Command:○  Command.datの書式を用いてシェルコマンドを実行したり、URLを開く。 ・CommandString   Command.datの書式によるコマンド文字列。 ・Replace   コマンド中の置換文字列を有効にするか。ただし、置換文字列を有効にした場合でも$NUMBERのように   正しく置換できない文字列がある。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.ExecuteMenu(MenuName: String, ItemName: String): Void  Action:× LateCall:× Command:○  Janeのメニュー項目を実行する。  実行可能なのは以下のメニューに属する項目。それ以外の項目を対象にするとエラーになる  実行するメニューの名前を調べるには、menuconf.iniを書き出して参照するか、Janeのデバッグメニューを  表示し、「実行したメニュー名の表示」を設定した状態で名前を知りたいメニュー項目を実行し、  トレースからmenu executeの内容をコピーする。   ・メインウィンドウのメインメニュー (MainWnd.MainMenu)   ・画像ビューアの右クリックメニュー (ImageForm.ImagePopUpMenu)    ImageForm.ImagePopUpMenuは画像ビューアが表示中の場合のみ実行可能 ・MenuName   実行したいメニュー項目が属するメニューの名前   (menuconf.iniのセクション名) 例: "MainWnd.MainMenu" ・ItemName   実行したいメニュー項目の名前   (menuconf.iniのメニュー名) 例: "MenuThreCheckNew" ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.ExeName(): String  Action:○ LateCall:○ Command:○  JaneViewの実行ファイルパスを取得する ・戻り値   Jane2ch.exeのフルパス名 -------------------------------------------------------------------------------------------------- □ JaneScript.ExportObject(ExportName: String, Obj: Variant): Void  Action:○ LateCall:○ Command:○  スクリプトが保持しているオブジェクト、値、関数などを他のスクリプトに公開する。  スクリプトを他のスクリプトから参照するためのライブラリにするために用いる。  処理はいつでも可能だが、初期化で行うのが望ましい。  JaneScript.ExportObjectで公開したオブジェクトに他のスクリプトからアクセスするには、  JaneScript.ImportObjectを用いる。  例はJaneScript.ImportObjectを参照。 ・ExportName   外部からObjにアクセスするための名前。必ずしもObjと同じ名前である必要はない。 ・Obj   外部からアクセス可能にするオブジェクト ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.ExtractURLs(Text: String): Strings  Action:○ LateCall:○ Command:○  Textに含まれるURLを抽出する。 ・戻り値   抽出したURLを保持したStringsオブジェクト -------------------------------------------------------------------------------------------------- □ JaneScript.Favorites(): FavFolder  Action:○ LateCall:○ Command:○   お気に入りの基底フォルダを参照するFavFolderオブジェクトを取得する。 ・戻り値   お気に入りの基底フォルダを参照するFavFolderオブジェクト -------------------------------------------------------------------------------------------------- □ JaneScript.GetAutoHistory(Thread: ThreadItem, Level: Integer, Grouping: Bool): List  Action:○ LateCall:○ Command:○   スレのオートヒストリの内容を取得する。 ・Thread   対象となるスレを参照するThreadItemオブジェクト ・Level   対象となるスレタイトルの類似度。小さいほど高い類似度を要求し、抽出されるスレ数が少なくなる。   Grouping==trueの場合の最大グループ数に相当する。オートヒストリの絞り込み強はLevel==1、   絞り込み弱はLevel==3に相当。類似度の最低ラインはLevelとは別の内部パラメータで決まるので、   Levelを極端に大きくしても板の全スレが抽出されるわけではない。 ・Grouping   true: 抽出したスレを類似度グループ順に並べて出力。オートヒストリの「グルーピング」に相当。       戻り値のListオブジェクトで、グループの区切りはundefinedになる。       グループ内での順序はスレの新しい順。グループの最大数はLevelに等しい。   false: グルーピングを行わず、全てのスレを新しい順に出力。 ・戻り値   オートヒストリで得られるスレへの参照を保持したListオブジェクト   Grouping==trueの場合、グループの区切り位置(オートヒストリでの区切り線位置)には   スレへの参照ではなくundefinedが挿入される。 -------------------------------------------------------------------------------------------------- □ JaneScript.GetFavoriteViewSelected(): List  Action:○ LateCall:○ Command:○   お気に入りツリーで選択されたお気に入りアイテムを参照したFavFolder/FavItemオブジェクトを   保持したListオブジェクトを取得する。Listオブジェクトに格納されるのはGetFavoriteViewSelectedを   実行した瞬間の選択状態で、その後にお気に入りツリーの選択状態が変化してもListオブジェクトの   内容には反映されない。 ・戻り値   お気に入りツリーで選択されたお気に入りアイテムを参照したFavFolder/FavItemオブジェクトを   保持するListオブジェクト -------------------------------------------------------------------------------------------------- □ JaneScript.GetFavoriteViewSelectedCount(): Integer  Action:○ LateCall:○ Command:○   お気に入りツリーで選択されたお気に入りアイテムの数。 ・戻り値   お気に入りツリーで選択されたお気に入りアイテムの数。 -------------------------------------------------------------------------------------------------- □ JaneScript.GetImageViewConfig(): Inifile  Action:○ LateCall:○ Command:○   ビューアに関連した設定のスナップショットをImageView.iniの形式のInifileオブジェクトとして取得。   取得したInifileオブジェクトはGetImageViewConfigを実行した時点のスナップショットで、その値を   Writeメソッドで変更してもJane本体の設定には反映されない点、GetImageViewConfig以降のJane本体の   設定変更がオブジェクトには反映されない点に注意。また、UpdateFileを実行しても保存は行われない。   ImageView.iniの設定項目は公開していないので、名前や設定値変更の反映を調べて突き止める。   スナップショットの作成は遅くサイズも大きいので、繰り返し呼び出される処理でそのたびに   GetImageViewConfigを呼び出したり、グローバル変数にInifileオブジェクトをそのまま保持する   使い方は好ましくない。必要な値だけ取得して別の変数に保持するのが好ましい。   ※例   ビューアのUA = JaneScript.GetImageViewConfig.Read("HTTP", "UserAgent", "") ・戻り値   画像ビューアに関連した設定をImageView.iniの形式で保持したInifileオブジェクト   (オブジェクトリファレンス参照) -------------------------------------------------------------------------------------------------- □ JaneScript.GetJaneConfig(): Inifile  Action:○ LateCall:○ Command:○   Jane本体の設定のスナップショットをJane2ch.iniの形式のInifileオブジェクトとして取得。   取得したInifileオブジェクトはGetImageViewConfigを実行した時点のスナップショットで、その値を   Writeメソッドで変更してもJane本体の設定には反映されない点、GetJaneConfig以降のJane本体の   設定変更がオブジェクトには反映されない点に注意。また、UpdateFileを実行しても保存は行われない。   Jane2ch.iniの設定項目は公開していないので、名前や設定値変更の反映を調べて突き止める。   スナップショットの作成は遅くサイズも大きいので、繰り返し呼び出される処理でそのたびに   GetJaneConfigを呼び出したり、グローバル変数にInifileオブジェクトをそのまま保持する使い方は   好ましくない。必要な値だけ取得して別の変数に保持するのが好ましい。   ※例   ID着色の「しきい数」= JaneScript.GetJaneConfig.Read("OJVIEW", "IDLinkThreshold", 3) ・戻り値   画像ビューアに関連した設定をJane2ch.iniの形式で保持したInifileオブジェクト   (オブジェクトリファレンス参照) -------------------------------------------------------------------------------------------------- □ JaneScript.GetKeyState(VirtKey: Integer): Integer  Action:○ LateCall:○ Command:○   現在のキー、マウスの状態を取得する。(Win32APIのGetKeyStateをラップしたもの)   戻り値やVirtKeyの仮想キーコードの意味はMSDNライブラリなどを参照。   http://msdn.microsoft.com/ja-jp/library/cc364676.aspx   http://yokohama.cool.ne.jp/chokuto/urawaza/prm/virtual_key_code.html   ただし、戻り値は64bit整数として扱われるため、Cなどで押し下げ状態の判定に用いる   GetKeyState(VirtKey) < 0という書き方は使用できず、GetKeyState(code) | 0x10000000 != 0 で   代用する必要がある。 ・VirtKey   仮想キーコード ・戻り値   仮想キーコードで指定したキーの状態を示す64bit値 -------------------------------------------------------------------------------------------------- □ JaneScript.GetListViewSelected(): List  Action:○ LateCall:○ Command:○  スレ一覧で選択中のスレを格納したListオブジェクトを取得する。  Listオブジェクトに格納されるのスレはGetListViewSelectedを実行した瞬間のもので、その後でスレ一覧  の選択状態が変化しても反映されない。 ・戻り値   スレ一覧で選択中のスレを格納したListオブジェクト -------------------------------------------------------------------------------------------------- □ JaneScript.GetListViewSelectedCount(): Integer  Action:○ LateCall:○ Command:○  スレ一覧で選択中のスレの数を取得する。  同じことはGetListViewSelectedを取得してそのCountプロパティを参照しても可能だが、メニューの表示  設定など選択数だけが必要な場合にはGetListViewSelectedCountの方が効率がよい。   ・戻り値   スレ一覧で選択中のスレの数。 -------------------------------------------------------------------------------------------------- □ JaneScript.GetRangesFromText(RangeText: String): RangeList  Action:○ LateCall:○ Command:○  RangeTextの文字列をレス番リストと見なしてThreadFinder.Findなどと同じロジックによる  レス番解析処理を行う。   例   range = JaneScript.GetRangeFromText("1-5,5,4-5"); により取得されるrangeの内容は以下の通り   range.Count == 3   range.RangeBegin(0) == 1, range.RangeEnd(0) == 5   range.RangeBegin(1) == 5, range.RangeEnd(1) == -1   range.RangeBegin(2) == 4, range.RangeEnd(2) == 5   range.WholeRangeWidth == 8 ・RangeText   解析対象の文字列。コンマ区切りされた、単独の数値またはハイフンで数字をつないだ数値範囲 ・戻り値   RangeTextを解析した結果を保持するRangeListオブジェクト -------------------------------------------------------------------------------------------------- □ JaneScript.GetScriptConfig(): Inifile  Action:○ LateCall:○ Command:○   スクリプトごとの設定を保存するためのInifileオブジェクトを作成する。   Inifileオブジェクトの参照先ファイル名は、スクリプトのファイル名の拡張子を"ini"に変えたもの。   Janeのシステムでは参照しておらず、スクリプトで必要な設定を保存するために自由に利用できる。 ・戻り値   そのスクリプト用のInifileオブジェクト(オブジェクトリファレンス参照) -------------------------------------------------------------------------------------------------- □ JaneScript.GetVersionInfo(): String  Action:○ LateCall:○ Command:○   JaneViewのバージョンを取得する ・戻り値   JaneViewのバージョン情報   一文字目    D: Doe版JaneView    I: IE版JaneView   2文字目以降    ビルドID -------------------------------------------------------------------------------------------------- □ JaneScript.ImageViewer: ImageViewer  Action:○ LateCall:○ Command:○  画像ビューアを参照するImageViewerオブジェクト -------------------------------------------------------------------------------------------------- □ JaneScript.ImportObject(ScriptName: String): NamedVariant  Action:○ LateCall:○ Command:○  他のスクリプトが公開してるオブジェクト、値、関数などにアクセスする。  他のスクリプトをライブラリとして参照するために用いる。  例:  Lib.jsというスクリプトでJaneScript.ExportObject("ExportedMethod", innerMethod);という形で  公開されたメソッドexportedMethodを外部から実行する場合には、  JaneScript.ImportObject("Lib.js").ExportedMethod();  または、  var libJs = JaneScript.ImportObject("Lib.js"); libJs.ExportedMethod();  または、  var ImportedMethod = JaneScript.ImportObject("Lib.js").ExportedMethod; ImportedMethod();  などのように記述する。 ・ScriptName   参照したいオブジェクトをJaneScript.ExportObjectで公開しているスクリプトのファイル名 ・戻り値   指定したスクリプトが公開したオブジェクトを保持しているNamedVariantオブジェクト -------------------------------------------------------------------------------------------------- □ JaneScript.InputBox(Caption, InitialText: String): NamedVariant  Action:× LateCall:○ Command:○  モーダルの入力ダイアログを表示し、ユーザーが入力した文字列を返す ・Caption  入力ボックスのタイトルバーに表示する文字列 ・InitialText  テキストボックスの文字列の初期値 ・戻り値  ユーザーの入力結果を保持したNamedVariant ・NamedVariant.Canceled    ユーザーがOKをクリックした場合はFalse, OKしないでダイアログを閉じた場合はtrue  ・NamedVariant.Text: String    ユーザーが入力した文字列 -------------------------------------------------------------------------------------------------- □ JaneScript.InsertMenu(MenuName: String, ItemName: String, Index: Integer/String): MenuItem  Action:○ LateCall:○ Command:○  既存のメニュー項目にスクリプト用メニューを追加する  追加できる場所はメニューのルートまたはコンテナ(一つ以上のサブメニューを持つ)の項目  メインメニューにはスクリプト専用のメニューコンテナが存在し、スクリプトからメニューを追加すると  「スクリプト」メニューとして「コマンド」の隣に表示される。このコンテナにメニューを追加するには、  MenuName="MainWnd.MainMenu", ItemName="MenuScript"でInsertMenuを実行する。  一度メニューが追加されて「スクリプト」メニューが表示されたら、追加したメニューを削除しても  「スクリプト」メニューは表示されたままになる。  メニューを挿入するコンテナの名前を調べるには、menuconf.iniを書き出して参照するか、Janeのデバッグ  メニューを表示し、「実行したメニュー名の表示」を設定した状態で名前を知りたいコンテナを展開し、  トレースからmenu openの内容をコピーする。 ・MenuName   スクリプト用のメニューを追加したいメニューの名前   (menuconf.iniのセクション名) 例: "MainWnd.MainMenu" ・ItemName   スクリプト用のメニューを追加したいメニューの親アイテム名   (menuconf.iniのメニュー名) 例: "MenuOpt"   ヌルストリングの場合はMenuNameのルートが親アイテムになる ・Index   親アイテムの中でメニューを追加する位置。   ・数値を指定した場合     親アイテムの中での順番。Index=0が最上位、親アイテムの項目数よりも大きな数字を     設定した場合は最下位に追加される   ・文字列を指定した場合     親アイテムの中でその名前のメニュー項目の次の位置に新規項目を追加する。対象のメニューに     Indexの名前のメニュー項目がない場合、一番下に追加する。 ・戻り値   追加されたMenuItemオブジェクト(オブジェクトリファレンス参照) -------------------------------------------------------------------------------------------------- □ JaneScript.IsImageURL(URL: String): Bool  Action:○ LateCall:○ Command:○  URLがビューアが対応する形式の拡張子を持っているかを確認する  (swfは対象外) ・URL   画像かどうかを調べたいURL ・戻り値   URLがビューアで対応した画像の拡張子を持っていればtrue、そうでなければfalse -------------------------------------------------------------------------------------------------- □ JaneScript.HandleMessage(): Void  Action:× LateCall:○ Command:○   Windows APIのPeekMessage関数を呼び出し、メッセージキューのWindows Messageを1つ処理してから   入力待ちする。   (メッセージキューのWindows Messageを全て処理し、入力待ちしないProcessMessagesとの違いに注意)   JaneScript.ProcessMessagesとは異なり、スクリプト側でUIを表示してメッセージループでユーザーから   の入力を待つ場合に用いる。内部的にはDelphiのApplication.HandleMessage(PeekMessage関数と   WaitMessage関数の組み合わせ)で実装されており、GetMessageは呼び出さない。入力への対応は   DispatchMessageにより内部的に行われており、この関数による直接のWindows Message取得はできない。   Windows Messageにより、入力待ちしている部分以外の処理が行われ、使用中のオブジェクトの状態が   変化したり破棄される可能性があり、使用には細心の注意と適切な処理を要する。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.HtmlToText(Html: String): String  Action:○ LateCall:○ Command:○  HTMLテキストのタグなどを除去してプレーンテキストに変換する。 ・Html   変換するHTMLテキスト ・戻り値   変換されたプレーンテキスト -------------------------------------------------------------------------------------------------- □ JaneScript.LateCall(Func: function, funcParam: Variant): Void  Action:○ LateCall:○ Command:○  アクションの中から呼び出せない処理(メッセージボックスの表示など)をアクションのコンテキストの外で  安全に呼び出すために使用する   ・Func   呼び出したい関数   Funcとして設定できるのは、一つのVariantを引数として受け取る関数。   例: function CalleeFunction (funcObject) {};   Funcの呼び出しはアイドルループなどJaneのシステムがメッセージ処理をするタイミングで行われる ・funcParam   Funcに渡す引数 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.Log(Text: String): Void  Action:○ LateCall:○ Command:○   トレースに文字列を出力する ・Text   トレースに書き出す文字列 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.MciSendString(const CommandString: String): Void  Action:○ LateCall:○ Command:○   WindowsAPIのmciSendStringを呼び出す。CommandStringの設定によりサウンド、オーディオやビデオの   再生などが可能。mciSendStringのlpszReturnStringやコールバックには対応しない。 ・CommandString   MCI(メディアコントロールインターフェイス)デバイスへ送信するコマンド文字列。   内部的には、WindowsAPIのmciSendStringでlpszCommandとして送信される。指定可能な内容はリンク参照   http://msdn.microsoft.com/en-us/library/ms712587%28VS.85%29.aspx ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.MenuIndex(MenuName: String, ItemName: String): Integer  Action:○ LateCall:○ Command:○  既存のメニュー項目の親アイテム上での位置を調べる。  特定の位置にメニューを挿入する場合、この関数の結果を元にInsertMenuのIndexを決める ・MenuName   親アイテム上での位置を調べたいメニュー項目が属するメニューの名前   (menuconf.iniのセクション名) 例: "MainWnd.MainMenu" ・ItemName   親アイテム上での位置を調べたいメニュー項目の名前   (menuconf.iniのメニュー名) 例: "MenuToolsOptions" ・戻り値   指定したメニュー項目の、親アイテム上での順番(0が最上位) -------------------------------------------------------------------------------------------------- □ JaneScript.Open(Item: String / ThreadItem / Board / FavItem / FavFolder, Number: Integer, Operation: Integer, NewTab: Bool, Relative: Bool, BackGround: Bool): Void  Action:× LateCall:○ {FavFolderの更新チェックのみ×} Command:○  URLまたはスレ、板、お気に入りを開く。   ※対象がビューアで開かれるURLだった場合、Number以降のパラメータは無視される ・Item   開きたい対象のURL文字列またはスレ(ThreadItemオブジェクト)、板(Boardオブジェクト)、   お気に入り(FavItemオブジェクトまたはFavFolderオブジェクト)のいずれかを指定する。   対象がFavFolderの場合は板として開かれる ・Number   対象がスレの場合、開いてからNumberが示すレス番にジャンプする。それ以外では無視される ・Operation   開くときにサーバからのデータ取得を行うか、ローカルだけで取得を行わないかを設定する。    0: なにもしない ※まったく無意味だが、内部処理上必要なために存在    1: ローカル    2: 適宜取得    3:更新チェック    4: 時間に応じて   ※対象がFavFolderの場合、2はお気に入りが既に板として開かれていた場合のその後のお気に入りの    登録内容の変更反映、3-4は更新チェックになる ・NewTab   trueならば新しいタブで開くことを強制する   falseならば、現在アクティブなスレタブがスレ表示用のビューならばアクティブタブで、   そうでなければ新しいタブで開く ・Relative   新規タブで開く場合、Relativeがtrueならば現在のアクティブタブの隣に開かれる ・BackGround   trueならば開いたタブを選択状態にしない   falseならば開いたタブを選択状態にする   ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.OpenSqlConnection(): Void  Action:○ LateCall:○ Command:○  スクリプト用のSQLiteデータベースに接続し、接続を保持するSqlConnectionオブジェクトを返す。  データベースのファイル名は、スクリプトファイル名の拡張子を.sqliteに変えたものに固定。 ・戻り値   接続を保持するSqlConnectionオブジェクト -------------------------------------------------------------------------------------------------- □ JaneScript.ProcessMessages(): Void  Action:× LateCall:○ Command:○   Windows APIのPeekMessage関数を呼び出し、メッセージキューのWindows Messageを全て処理する。   (メッセージキューのWindows Messageを1つだけ処理し、その後は入力待ちする   JaneScript.HandleMessageとの違いに注意)   入力への対応はDispatchMessageにより内部的に行われており、この関数による直接のWindows Messageの   取得はできない。   長い時間がかかる処理の途中に挟むことでUIがフリーズするのを防ぐことができるが、その中で   受け付けたユーザー操作により使用中のオブジェクトの状態が変化したり破棄される可能性があり、   使用には細心の注意と適切な処理を要する ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.RefreshControl(FormName: String, ControlName: String, Immediate: Bool): Bool  Action:× LateCall:○ Command:○   指定したコントロールの表示をリフレッシュ(再描画)する。内部で各種情報を変更した後で、それを画面   表示に反映する必要がある場合に用いる。必要なFormName, ControlNameを確認するには、Janeのデバッグ   メニューの「コントロール名の取得」を使用する。ただし、動的に生成されたコントロールには通常は   名前が付いておらず、それらはリフレッシュ対象に指定できない。 ・FormName   リフレッシュするコントロールが属するフォーム(ウィンドウ)の名前 ・ControlName   リフレッシュするこんとロールの名前 ・Immediate   trueの場合、直ちにリフレッシュし、リフレッシュ完了後にスクリプトに制御が戻る。   falseの場合、関数実行時にはなにもせず、適当なタイミングでまとめてリフレッシュされる。 ・戻り値   FormName, ControlNameで指定したコントロールが存在していればtrue、そうでなければfalse -------------------------------------------------------------------------------------------------- □ JaneScript.SaveFavorites(): Void  Action:× LateCall:○ Command:○  お気に入りを上書き保存する。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.SetThreadAbone(Thread: ThreadItem, Abone: Bool): Void  Action:× LateCall:○ Command:○  対象のスレをスレッドあぼーんまたはスレッドあぼーん解除する。 ・Thread   対象のスレッドを参照するThreadItemオブジェクト ・Abone   true: 対象のスレッドをスレッドあぼーんする   false: 対象のスレッドのスレッドあぼーんを解除する ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.ShellExecute(Command: String, Param: String, Dir: String): Void  Action:○ LateCall:○ Command:○  シェルコマンドを実行する。実際にシェルコマンドが実行されるのは関数の実行時ではなくJaneが  アイドル状態になったときで、関数はノンブロッキングで動作する点に注意が必要。 ・Command   実行するシェルコマンドまたは実行ファイル名 ・Param   実行で使用するパラメータ ・Dir   実行時のカレントディレクトリ ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.ShowMessage(Text: String): Void  Action:× LateCall:○ Command:○   メッセージダイアログを表示する。WSHのWScript.Echoに対応する。 ・Text   メッセージボックスに表示する文字列 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.ShowTextHint(X: Integer, Y: Integer, Text: String): Void  Action:× LateCall:○ Command:○   テキストヒントを表示する。   (※多段ポップアップヒントを表示したい場合はviewItem.NewPopupViewを使う) ・X   テキストヒントを表示する位置のX座標 ・Y   テキストヒントを表示する位置のY座標 ・Text   テキストヒントに表示する文字列 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.Sleep(millisec: Integer): Void  Action:○ LateCall:○ Command:○   Windows APIのSleep関数を呼び出し、一定時間だけ動作を停止する ・millisec   停止する時間、単位はミリ秒 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.Terminated: Bool  Action:○ LateCall:○ Command:○   アプリケーションが終了待ちをしているかどうか。JaneScript.ProcessMessagesや   JaneScript.InputBoxの後やJaneScript.HandleMessageによるループの最中など、メッセージ処理を   行った後でこのプロパティがtrueになった場合、スクリプトは速やかに実行を終了しなければならない -------------------------------------------------------------------------------------------------- □ JaneScript.ThreadSearchBar: Edit  Action:○ LateCall:○ Command:○   スレビュー検索バーを参照するEditオブジェクト(オブジェクトリファレンス参照) -------------------------------------------------------------------------------------------------- □ JaneScript.TimeGetTime: Integer  Action:○ LateCall:○ Command:○   Windows APIのtimeGetTimeの値を取得する。 ・戻り値   timeGetTime API関数によるシステム時刻 -------------------------------------------------------------------------------------------------- □ JaneScript.UpdateListView(): Void  Action:× LateCall:○ Command:○   スレ一覧の表示をアップデートする。スクリプトからスレのステータスを変更した場合に、   それをスレ一覧の表示に反映させるために使用する ・戻り値   なし -------------------------------------------------------------------------------------------------- □ JaneScript.UrlDecode(Source: String, Charset: String): String;  Action:○ LateCall:○ Command:○   Sourceの文字列をURLデコードし、その文字列をCharSetの文字コードとみなしてUTF16(JavaScriptで   扱える文字コード)に変換する ・Source   URLデコードする文字列 ・Charset   デコード後の文字列をこの文字セットと見なしてにUTF-16に変換する   "Shift_JIS", "EUC-JP", "UTF-8", "ISO-2022-JP"のいずれかを指定 ・戻り値   URLデコードした文字列 -------------------------------------------------------------------------------------------------- □ JaneScript.UrlEncode(Source: String, Charset: String): String;  Action:○ LateCall:○ Command:○  Sourceの文字列をCharSetの文字コードに変換してからURLエンコードする ・Source   URLエンコードする文字列 ・Charset   エンコード前に変換するキャラセット名   "Shift_JIS", "EUC-JP", "UTF-8", "ISO-2022-JP"のいずれかを指定 ・戻り値   URLエンコードした文字列 -------------------------------------------------------------------------------------------------- □ JaneScript.ViewList(): ViewList  Action:○ LateCall:○ Command:○   スレビューの一覧を保持するViewListオブジェクトを取得する   ViewListから、各スレビューへのアクセスやユーザー定義の新規スレビュー作成が可能 ・戻り値   スレビュー一覧を参照するViewListオブジェクト(オブジェクトリファレンス参照) -------------------------------------------------------------------------------------------------- □ JaneScript.WriteForm: WriteForm  Action:× LateCall:○ Command:○   書き込みダイアログへの参照を保持するWriteFormオブジェクト -------------------------------------------------------------------------------------------------- ==================================================================================================   ■■■ オブジェクトリファレンス(その他のオブジェクト) ■■■ ================================================================================================== -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ Board オブジェクト   板一覧の個別の板を参照するオブジェクトで、板にあるスレのThreadItemオブジェクトを保持する。   また、板に固有の情報への参照にも使用する -------------------------------------------------------------------------------------------------- □ Board.Bbs: String  Action:○ LateCall:○ Command:○   Boardオブジェクトが参照する板を示すBBSキー文字列   例: Windows板では"win", ソフトウェア板なら"software" -------------------------------------------------------------------------------------------------- □ Board.BoardType: String  Action:○ LateCall:○ Command:○   Boardオブジェクトの種別を示す文字列。   BoardType == "Board" : 通常の板   BoardType == "FavoriteListBoard" お気に入りを板として開いた場合の板   BoardType == "TempFavoriteListBoard" ヒストリやビューアの"板として開く"などで一時作成した板   BoardType == "LogListBorad" ログ一覧 -------------------------------------------------------------------------------------------------- □ Board.Category: Category  Action:○ LateCall:○ Command:○   Boardオブジェクトが参照する板が属するカテゴリのCategoryオブジェクト -------------------------------------------------------------------------------------------------- □ Board.Connected: Bool  Action:○ LateCall:○ Command:○   参照先のBoardの実体が存在しているかどうか    true 存在しており、アクセス可能 false 削除されており、アクセス不可   ※板は板一覧の更新を行ったときに参照がなければ再作成されるため、Boardオブジェクトの取得後に    板一覧が更新されると高率でConnectedはfalseになり、その後のそのBoardオブジェクトに    アクセスするとエラーになる。   (Boardオブジェクトへの参照があっても、実体の板が開いていなければ再作成の対象になる)    その場合は改めてBoardオブジェクトを取得する必要がある。    BoardオブジェクトのLoadを実行すると板がBoardオブジェクトから内部的にオープンされた状態に    なるため、Boardオブジェクトが参照されている間の再作成を防ぐことができる。    また、板として開いたお気に入りのBoardオブジェクトを取得した場合、管理の都合のため自動的に    オープンされた状態になり、参照が保持されている限り解放は発生しない。 -------------------------------------------------------------------------------------------------- □ Board.Count: Integer  Action:△ LateCall:○ Command:○   板が現在保持しているスレの数     板は開かれていなければ全てのレスを読み込んでいるのではなく、参照のあるスレだけを保持している。   この状態でCountを取得すると、そのとき保持しているスレの数が帰る。板に属する全てのスレの数を   知りたい場合は、Board.Loadを実行してからCountを取得する必要がある。   Actionの中からはBoard.Loadが実行できず、またBoardAnalysisActionの場合ステージによってはスレを   別な場所に一時的に移すことがあり、Board.Countは取得できるが正しい値にならない場合がある。 -------------------------------------------------------------------------------------------------- □ Board.DatSizeAlert: Integer  Action:○ LateCall:○ Command:○  その板でのスレ容量警告の設定値。該当の板に属するスレがこの容量を超えると板一覧のアイコンと  スレタブの着色による警告表示が行われる。この値はBoardCustomize.iniにより設定される。単位はbyte。 -------------------------------------------------------------------------------------------------- □ Board.Downloading(): Bool  Action:○ LateCall:○ Command:○   板がサーバへのリモートアクセス中またはそのための待機中であるかを調べる。Downloadingの値が   更新されるためにはウィンドウメッセージの処理が必要なため、この関数の戻り値がfalseになるまで   ポーリングするような場合はループ中でJaneScript.ProcessMessagesを実行する必要がある。 ・戻り値   true: リモートアクセス中   false: サーバにアクセスしていない -------------------------------------------------------------------------------------------------- □ Board.FindThread(datName: String): ThreadItem  Action:△ LateCall:○ Command:○   板の中からdat名を元にスレを検索し、ThreadItemオブジェクトを返す   板が開かれていない場合は処理の中でBoard.Loadが呼び出される   このため、板が開かれていない場合はActionからの呼び出しはエラーになる。   また、BoardAnalysisActionからの呼び出しは解析のステージによっては正しい結果が得られない) ・datName   検索するスレのdat名(datファイルのファイル名から拡張子(.dat)を取り除いたもの) ・戻り値   検索で見つかったスレのThreadItemオブジェクト。該当するスレがなかった場合はundefined -------------------------------------------------------------------------------------------------- □ Board.GetThread(Index: Integer): ThreadItem  Action:△ LateCall:○ Command:○   板が現在保持しているスレのThreadItemオブジェクトを取得する     板は開かれていなければ全てのレスを読み込んでいるのではなく、参照のあるスレだけを保持している。   板に属する全てのスレを参照したいときは、あらかじめBoard.Loadを実行し、その後でindex=0〜Count-1   のThreadItemを取得する必要がある。   Actionの中からはBoard.Loadが実行できないのでその時点で読み込まれているスレの取得しかできない。 ・Index   取得するスレの現時点での板の中でのインデックス ・戻り値   該当のスレを参照したThreadItemオブジェクト -------------------------------------------------------------------------------------------------- □ Board.Host: String  Action:○ LateCall:○ Command:○   Boardオブジェクトが参照する板が置かれているホストの名前   例: hibari.2ch.net   ※URLの形式によってはURLのパス部分の一部を含む場合あり -------------------------------------------------------------------------------------------------- □ Board.LastModified: String  Action:○{BoardAnalysisAction:×} LateCall:○ Command:○   板のSubject.txtのGMTでの最終更新時刻(httpレスポンスヘッダから取得したもの) -------------------------------------------------------------------------------------------------- □ Board.Load: Void  Action:× LateCall:○ Command:○   板を内部的にオープン状態にして、ログフォルダのSubject.txtおよびスレの情報を読み込む。   内部的なオープン状態はBoardオブジェクトへの全ての参照がなくなるまで継続される。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ Board.LogDir: String  Action:○ LateCall:○ Command:○   板のディレクトリ。ここにsubject.txtやスレのidx、datが置かれている。 -------------------------------------------------------------------------------------------------- □ Board.MaxResNum: Integer  Action:○ LateCall:○ Command:○   該当の板にあるスレの最大レス数の設定値。取得レス数がこの値を超えたスレはdat落ちと見なされる。   この値はBoardCustomize.iniにより設定される。 -------------------------------------------------------------------------------------------------- □ Board.Name: String  Action:○ LateCall:○ Command:○   板の名称(例: Win板ならば"Windows") -------------------------------------------------------------------------------------------------- □ Board.Obj: Variant [代]   システムでは使用/制御しない。   スクリプトが板に固有の情報を保持させたい場合にこのプロパティに代入しておく。   スクリプトごとに保存領域が分けられているので、同じBoardに対してA.jsとB.jsが別々に   Board.Objを設定できる。逆に、他のスクリプトが設定したObjを参照することはできない。   スクリプトからの参照がなくなってもObjは保持され、再度スクリプトから参照すれば値を取得可能   ただし、板一覧の更新などによりBoardが参照する板の実体が再作成された場合はObjも失われる。 -------------------------------------------------------------------------------------------------- □ Board.SelectInTree(): Void  Action:× LateCall:○ Command:○   オブジェクトが参照している板を板ツリー上で選択状態にする。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ Board.Url: String  Action:○ LateCall:○ Command:○   板のURL(例: Win板ならば"http://pc12.2ch.net/win/") -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ BoardList オブジェクト  板タブの一覧を保持するオブジェクト。このオブジェクトから開かれた個別の板にアクセス可能。 -------------------------------------------------------------------------------------------------- □ BoardList.Connected: Bool  Action:○ LateCall:○ Command:○   参照先のboardListの実体が存在しているかどうか    true 存在しており、アクセス可能 false 削除されており、アクセス不可   ※現在の実装では、BoardList.Connectedがfalseになることはない -------------------------------------------------------------------------------------------------- □ BoardList.Count: Integer  Action:○ LateCall:○ Command:○   現在開かれている板の数 -------------------------------------------------------------------------------------------------- □ BoardList.Items(Index: Integer): ViewItem  Action:○ LateCall:○ Command:○   現在開かれている板を参照する ・Index   参照する板の番号(左端が0、右端がCount-1) ・戻り値   対象となる板を参照するBoardオブジェクト -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ Category オブジェクト  板一覧のカテゴリに対応するオブジェクトで、カテゴリ内の板に対応するBoardオブジェクトを保持する。  板名を元にした板の検索が可能 -------------------------------------------------------------------------------------------------- □ Category.CategoryList: CategoryList  Action:○ LateCall:○ Command:○   カテゴリの親になっているCategoryListオブジェクト。JaneViewはCategoryListを一つしか持たないので   必ずJaneScript.CategoryListと同一になる -------------------------------------------------------------------------------------------------- □ Category.Connected: Bool  Action:○ LateCall:○ Command:○   参照先のCategoryの実体が存在しているかどうか    true 存在しており、アクセス可能 false 削除されており、アクセス不可   ※カテゴリは保持する板がオープン中でなければ板一覧の更新で破棄→再作成されるため、    Categoryオブジェクトの取得後に板一覧が更新されると高率でConnectedはfalseになり、    その後のそのCategoryオブジェクトへのアクセスはエラーになる -------------------------------------------------------------------------------------------------- □ Category.Count: Integer  Action:○ LateCall:○ Command:○   カテゴリが保持する板(boardオブジェクト)の数 -------------------------------------------------------------------------------------------------- □ Category.FindBoard(Name: String): Board  Action:○ LateCall:○ Command:○  板名を元にカテゴリ内の板を検索し、その板のBoardオブジェクトを返す。 ・Name   板名(Win板なら"Windows") ・戻り値   板名に該当する板のBoardオブジェクト。該当する板がない場合はundefined -------------------------------------------------------------------------------------------------- □ Category.Items(Index: Integer): Board  Action:○ LateCall:○ Command:○  カテゴリが保持する板のBoardオブジェクトを取得する。インデックスが範囲外の場合はエラー。 ・Index   取得する板の番号 ・戻り値   該当する板のBoardオブジェクト -------------------------------------------------------------------------------------------------- □ Category.LogDir: String  Action:○ LateCall:○ Command:○   カテゴリのディレクトリ -------------------------------------------------------------------------------------------------- □ Category.Name: String  Action:○ LateCall:○ Command:○   カテゴリの名称(例:Win板のカテゴリならば"PC") -------------------------------------------------------------------------------------------------- □ Category.Obj: Variant [代]  Action:○ LateCall:○ Command:○   システムでは使用/制御しない。   スクリプトが何かCategoryに固有の情報を保持させたい場合にこのプロパティに代入しておく。   スクリプトごとに保存領域が分けられているので、CategoryListに対してA.jsとB.jsが別々に   Category.Objを設定できる。逆に、他のスクリプトが設定したObjを参照することはできない。   スクリプトからの参照がなくなってもObjは保持され、再度スクリプトから参照すれば値を取得可能   ただし、板一覧の更新などによりCategoryの実体が再作成された場合はObjも失われる。 -------------------------------------------------------------------------------------------------- □ Category.SelectInTree(): Void  Action:× LateCall:○ Command:○   オブジェクトが参照しているカテゴリを板ツリー上で選択状態にする。 ・戻り値   なし -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ CategoryList オブジェクト  板一覧の基底オブジェクトで、各カテゴリに対応したCategoryオブジェクトを保持している。  また、URLから対応する板(boardオブジェクト)やスレ(threadItemオブジェクト)を取得するのに用いる  ThreadFinderオブジェクトもCategoryListから取得する  ※全ての板を探索する処理を書く場合の注意事項   CategoryListが参照する板一覧で、CategoryList.Items(0)は板ツリーの【機能】カテゴリであることに   注意する必要がある。【機能】カテゴリには「ログ一覧」と「お気に入り」が属しており、ここから   参照できるスレは本来は他の板に属している。このため、【機能】カテゴリを含めて検索を行うと   検索の重複になってしまう。また、ログ一覧を開く処理には長時間が必要で、その間にプログレス   ダイアログが表示される場合がある。   forループでItemsの添え字の初期値を1にして【機能】カテゴリを検索から除外した処理を例に示す。   ***例*** //bbsキーとdatNameの二つの文字列でスレを検索する関数 //サンプルなので、外部板でhostが異なりbbsキーが同一の複数の板があるケースは考えない function findThread(bbs, datName) { var catList = JaneScript.CategoryList(); var cat; var brd; var i; var j; // ↓ iの初期値が0ではなく1である点に注意(Items(0)は【機能】カテゴリ) ********************* for (i = 1; i < catList.Count, i++) { cat = catList.Items(i); for (j = 0; j < cat.Count, j++) { brd = cat.Items(j); if (brd.bbs == bbs) { brd.Load(); return(brd.GetThread(datName)); }; }; }; };   また、CategoryList.Items(0).Items(0)のログ一覧だけを検索することでdat取得済みの全スレの探索が   可能だが、ログ一覧の参照を保持している間はOpenJaneの仕様により一度ロードされたdatが一切   解放されなくなる。   このため、CategoryList.Items(0).Items(0)から全スレを参照し、その中のスレのdatを調べる処理は   非常に多くのメモリを消費する可能性があり、避けた方がよい。この場合も例のように板を順に   検索する方法が推奨される。   また、メモリが特に少ない場合に配慮するなら、個別の板オブジェクトへの参照がなくなるタイミングで   CollectGarbage()によるJScriptのガベージコレクトを実行するのも、速度面では不利だが好ましい。 -------------------------------------------------------------------------------------------------- □ CategoryList.AddBoard(Cat: Category, Name: String, Url: String): Board  Action:× LateCall:× Command:○   Catで指定したカテゴリの中に新規の板を作成する。   カテゴリ内にすでにNameと同じ名前の板がある場合はエラーになる。 ・Name   作成する板の名前 ・URL   作成する板のURL ・戻り値   作成した板を参照するBoardオブジェクト -------------------------------------------------------------------------------------------------- □ CategoryList.AddCategory(Name: String): Category  Action:○ LateCall:○ Command:○   新たなカテゴリを作成する。作成したカテゴリはリストの最後尾に追加される。   同名のカテゴリがすでに存在する場合はエラーになる。 ・Name   作成するカテゴリの名前 ・戻り値   作成したカテゴリを参照するCategoryオブジェクト -------------------------------------------------------------------------------------------------- □ CategoryList.CreateThreadFinder(): ThreadFinder  Action:○ LateCall:○ Command:○   URL文字列から対応する板、スレを取得するのに使うThreadFinderオブジェクトを取得する ・戻り値   CategoryListを参照先にしたThreadFinderオブジェクト -------------------------------------------------------------------------------------------------- □ CategoryList.Connected: Bool  Action:○ LateCall:○ Command:○   参照先のCategoryListの実体が存在しているかどうか    true 存在しており、アクセス可能 false 削除されており、アクセス不可   ※現在の実装では、CategoryList.Connectedがfalseになることはない -------------------------------------------------------------------------------------------------- □ CategoryList.Count: Integer  Action:○ LateCall:○ Command:○   CategoryListにあるカテゴリの数 -------------------------------------------------------------------------------------------------- □ CategoryList.FindCategory(Name: String): Category  Action:○ LateCall:○ Command:○   名前でカテゴリを検索する。 ・Name   検索するカテゴリの名前 ・戻り値   対象のカテゴリを参照するCategoryオブジェクト -------------------------------------------------------------------------------------------------- □ CategoryList.Items(Index: Integer): Category  Action:○ LateCall:○ Command:○   CategoryListにあるカテゴリを参照するCategoryオブジェクトを取得する。   インデックスが範囲外の場合はエラー。 ・Index   取得するカテゴリの番号 ・戻り値   対象のカテゴリを参照するCategoryオブジェクト -------------------------------------------------------------------------------------------------- □ CategoryList.LogDir: String  Action:○ LateCall:○ Command:○   ログの保存ディレクトリ -------------------------------------------------------------------------------------------------- □ CategoryList.Obj: Variant[代]  Action:○ LateCall:○ Command:○   システムでは使用/制御しない。   スクリプトが何かCategoryListに固有の情報を保持させたい場合にこのプロパティに代入しておく。   スクリプトごとに保存領域が分けられているので、CategoryListに対してA.jsとB.jsが別々に   CategoryList.Objを設定できる。逆に、他のスクリプトが設定したObjを参照することはできない。   スクリプトからの参照がなくなってもObjは保持され、再度スクリプトから参照すれば値を取得可能   ただし、現在のJaneViewでは複数のCategoryListが存在することはないので、実質的にはグローバル   変数に代入するのと変わらない。 -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ CosSim オブジェクト   文字列の類似度を調べるためのオブジェクト   Subjectに基準文字列を代入し、Evaluete(Str)でSubjectとStrの類似度を取得する。   類似度はtri-gramのCosine Similarityにより算出され、0〜1の浮動小数点値として得られる。   (1が完全に同一の文字列、0が類似性なし)   文字には重み付けがあり、数字、記号を含む部分は重み付けを小さく判定する。   オートヒストリで使用しているのと基本的には同一の処理。 -------------------------------------------------------------------------------------------------- □ CosSim.Subject: String[代]  Action:○ LateCall:○ Command:○   類似度比較の基準となる文字列。Evaluateで、この文字列との類似度が得られる。 -------------------------------------------------------------------------------------------------- □ CosSim.Evaluate(Str: String): Float  Action:○ LateCall:○ Command:○   SubjectとStrの類似度を算出する ・Str   Subjectと比較する文字列 ・戻り値   SubjectとStrの類似度 -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ DatOut オブジェクト  スレビューに文字列を書き込むためのオブジェクト。書き込む対象となるViewItemオブジェクトから、  ViewItem.QueryDatOutで取得する  DatOutの処理はメッセージ処理を伴うので、処理中に対象のスレビューが解放される可能性を考慮して  プログラミングを行う必要がある (スレビューが解放されてしまった場合、対象のViewItemとDatOutのConnectedがfalseになることで  確認できる)  ※ResActionWriteSkinの中では、その時点でセッションの対象になっているdatOutに限定して  Action権限でも出力が可能になる(DatOut.WriteThreadを除く)。 -------------------------------------------------------------------------------------------------- □ DatOut.EnableInterrupt: Bool[代]  Action:○ LateCall:○ Command:○   DatOutで出力に時間がかかる場合にWindowsメッセージによる割り込みを許可するかを指定する。   このプロパティがtrueの場合、DatOut処理の最中に定期的にJaneScript.ProcessMessagesと同等の   処理を挿入してWindowsメッセージを処理する事でスクリプト実行中のユーザーインターフェイスの   フリーズを抑止する。ただし、例えば割り込み処理により対象のViewItemが閉じられたりEndDatOutや   Clearを実行されるなどの状況を考慮してスクリプトを記述する必要がある。   falseの場合はこれらの考慮は不要だが、DatOutの処理が長時間にわたる場合にその間はJaneがフリーズ   状態になる。   デフォルト値はfalse   (100303a以前の、EnableInterruptが存在しないバージョンはEnableInterrupt=true相当の動作)   ※Janeの一般的なスレ表示処理は、全てEnableInterrupt=trueと同等の記述で動作している。 -------------------------------------------------------------------------------------------------- □ DatOut.Flush(): Void  Action:×{ResActionWriteSkin:△} LateCall:○ Command:○   バッファに残っている文字列をスレビューに表示する   DatOutは処理効率を上げるために入力された文字列をバッファし、改行などのタイミングでスレビューに   出力する。このため、Write???の時点では文字列が表示されない場合がある。強制的にバッファの内容を   スレビューに出力させたい場合にFlushを使用する ・戻り値   なし -------------------------------------------------------------------------------------------------- □ DatOut.WriteBR(): Void  Action:×{ResActionWriteSkin:△} LateCall:○ Command:○  スレビューに改行を書き込む。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ DatOut.WriteHTML(Text: String): Void  Action:×{ResActionWriteSkin:△} LateCall:○ Command:○  スレビューにHTMLを書き込む(DoeではHTML風の簡易マークアップ)  HTML文字列をいくつかに分割してWriteHTMLする場合、タグの途中で分割してしまうと正しい結果が  得られないので注意すること   ・Text   書き込むHTMLの文字列 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ DatOut.WriteImage(Src: String, Href: String, MaxWidth: Integer, MaxHeight: Integer;   SizeFixed: Bool): Void  Action:×{ResActionWriteSkin:△} LateCall:○ Command:○  スレビューに画像を書き込む(IE版のスレビューでは動作しない)。ImageViewURLReplaceが有効な環境では、  SrcにはImageViewURLReplaceが適用される。   ・Src   画像ファイルのURL ・Href   画像のリンク先 ・MaxWidth   画像の最大幅(サイズ固定の場合は画像枠の幅) ・MaxHeight   画像の最大高さ(サイズ固定の場合は画像枠の高さ) ・SizeFixed   画像の表示サイズ固定の指定    true 画像の表示サイズをMaxWidth×MaxHeightに固定    false 画像の表示サイズをMaxWidth×MaxHeightの範囲内で調整 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ DatOut.WriteText(Text: String): Void  Action:×{ResActionWriteSkin:△} LateCall:○ Command:○  ・Doeの場合   スレビューに文字列を書き込む。タグや文字参照もベタの文字列として出力される。  ・IE版の場合   スレビューではWriteHTMLと同じ動作 ・Text   書き込む文字列 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ DatOut.WriteThread(Thread: ThreadItem, StartLine: Integer, EndLine: Integer,  AboneLevel, Integer): Void  Action:× LateCall:○ Command:○   指定したレスをViewItemに表示する。WriteThrreadで表示したレスは、ログから検索βで表示された   レスとほぼ同等の扱いで、着色や範囲選択あぼーんは動作するがレス番やIDの右クリックが効かない ・Thread   表示したいスレを参照したThreadItem ・StartLine   表示したいレス範囲の最初のレス番 ・EndLine   表示したいレス範囲の最後のレス番(※レス番がEndLineのレスは表示対象に含む) ・AboneLevel   表示で使用するあぼーん表示形式を指定する。メニューのスレ→「ローカルあぼーん表示の変更」と   同等の表示設定が可能    -1:とうめい    0:ふつう    1:ぽっぷあっぷ    2:さぼり    3:よりごのみ    4:はきだめ   255:ポップアップヒント用 ・戻り値   なし -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ Edit オブジェクト  Janeのウィンドウ上にあるエディットボックスやコンボボックスの文字列を参照するためのオブジェクト  文字列の参照や変更が可能 -------------------------------------------------------------------------------------------------- □ Edit.Text: String[代]  Action:○ LateCall:○ Command:○  エディットボックスまたはコンボボックスの文字列全体 -------------------------------------------------------------------------------------------------- □ Edit.SelText: String[代]  Action:○ LateCall:○ Command:○  エディットボックスまたはコンボボックスで範囲選択された文字列  このプロパティに代入した場合、範囲選択部分が代入した文字列で置換される -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ FavBase オブジェクト  お気に入りのフォルダに対応するFavFolderおよび個別のお気に入りに対応するFavItemの基礎となる  オブジェクトで、両者に共通する処理に関するメンバを持つ。FavBaseオブジェクトが実際に作製される  事はなく、FavBaseに属するメソッド、プロパティはFavFolder/FavItemオブジェクトからアクセスされる。  お気に入りツリーで複数のアイテムが選択された状態でFavBase派生オブジェクトによりお気に入りの  内容を変更した場合、複数選択の状態は変更後に正確な形では維持されない。(原則として一番最後に選択  したアイテムだけ選択状態で残る) -------------------------------------------------------------------------------------------------- □ FavBase.Connected: Bool  Action:○ LateCall:○ Command:○  FavBaseの参照先のお気に入りが存在しているか   true 参照先の実体は存在している   false 参照先の実体は削除された -------------------------------------------------------------------------------------------------- □ FavBase.FavType: String  Action:○ LateCall:○ Command:○  オブジェクトが参照しているお気に入りアイテムの種類を示す文字列。このプロパティで、対象が  フォルダかお気に入りアイテムかを区別して処理を行うのが好ましい。  お気に入りフォルダ: FavType == "FavFolder"  お気に入りアイテム: FavType == "FavItem" -------------------------------------------------------------------------------------------------- □ FavBase.Name: String[代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○  オブジェクトが参照しているお気に入りアイテムの名前。この名前がツリーに表示される。 -------------------------------------------------------------------------------------------------- □ FavBase.Parent: FavFolder  Action:○ LateCall:○ Command:○  オブジェクトが参照しているお気に入りアイテムが属している、親のお気に入りフォルダを参照する  オブジェクト。最上位の「お気に入り」フォルダでのParentはundefined。 -------------------------------------------------------------------------------------------------- □ FavBase.Obj: Variant [代]  Action:○ LateCall:○ Command:○   システムでは使用/制御しない。   スクリプトがスレごとに固有の情報を保持させたい場合に情報をこのプロパティに代入する。   スクリプトごとに保存領域が分けられているので、同じFavBaseに対してA.jsとB.jsが別々に   FavBase.Objを設定できる。逆に、他のスクリプトが設定したObjを参照することはできない。   スクリプトからの参照がなくなってもObjは保持され、再度スクリプトから参照すれば値を取得可能。 -------------------------------------------------------------------------------------------------- □ FavBase.Remove(): Void  Action:× LateCall:○ Command:○  オブジェクトが参照しているお気に入りアイテムを削除する。アイテムがフォルダの場合はその中の  アイテムも同時に削除される。Removeを実行したFavBaseのConnectedはfalseになる。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ FavBase.SelectInTree(): Void  Action:× LateCall:○ Command:○  オブジェクトが参照しているお気に入りアイテムを、お気に入りツリー上で選択状態にする。 ・戻り値   なし -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ FavFolder オブジェクト  お気に入りのフォルダを保持するオブジェクト。FavBaseから派生しており、FavBaseが持つメンバにも  アクセスできる。 -------------------------------------------------------------------------------------------------- □ FavBaseオブジェクトに存在するメンバすべてを使用可能 -------------------------------------------------------------------------------------------------- □ FavFolder.CheckUpdate(): Void  Action:× LateCall:× Command:○  オブジェクトが参照しているお気に入りフォルダの更新チェックを開始する。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ FavFolder.Clear(): Void  Action:× LateCall:○ Command:○  オブジェクトが参照しているお気に入りフォルダが保持しているお気に入りアイテムをすべて削除する。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ FavFolder.Count: Integer  Action:○ LateCall:○ Command:○  オブジェクトが参照しているお気に入りフォルダに保持されているお気に入りアイテムの数を保持する。 -------------------------------------------------------------------------------------------------- □ FavFolder.Expanded: Bool[代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○  オブジェクトが参照しているお気に入りフォルダの展開状態を設定または取得する。   お気に入りフォルダが展開されていない: false   お気に入りフォルダが展開されている: true -------------------------------------------------------------------------------------------------- □ FavFolder.Find(Item: Board/Thread): FavItem  Action:○ LateCall:○ Command:○  オブジェクトが参照しているお気に入りフォルダの中から、Itemが参照する板またはスレを参照する  お気に入りアイテムを検索する。サブフォルダの中も検索対象になる。JaneScript.Favorites.Findでは  お気に入り全体が検索対象になる。 ・Item   検索の対象になる板を参照するBoardオブジェクト、またはスレを参照するThreadItemオブジェクト ・戻り値   検索されたお気に入りアイテムを保持するFavItemオブジェクト。見つからなかった場合はundefined -------------------------------------------------------------------------------------------------- □ FavFolder.GetAsBoard(): Board  Action:○ {BoardAnalysisAction:×} LateCall:○ Command:○  オブジェクトが参照しているお気に入りフォルダを板として展開し、その板を参照するBoardオブジェクトを  取得する。(展開された板はスレ一覧で開かれるのではなく、内部で保持されるだけ) ・戻り値   なし -------------------------------------------------------------------------------------------------- □ FavFolder.Insert(Index: Integer; Item: FavFolder/FavItem): Void  Action:× LateCall:○ Command:○  オブジェクトが参照しているお気に入りフォルダに、ほかの場所にあるお気に入りアイテムを移動させる。  同一のフォルダ内で順番を入れ替える場合もこの関数を使用する。フォルダ自身またはフォルダが属する  上位ツリーのフォルダをItemに設定するとエラーになる。 ・Index   フォルダにItemを挿入する位置(最上位が0)。-1を指定すると、最下位に挿入する。 ・Item   フォルダに挿入するお気に入りアイテムを参照するFavFolder/FavItemオブジェクト ・戻り値   なし -------------------------------------------------------------------------------------------------- □ FavFolder.Items(Index: Integer): FavFolder/FavItem  Action:○ LateCall:○ Command:○  オブジェクトが参照しているお気に入りフォルダに保持されているお気に入りアイテムを保持する  オブジェクト取得する。 ・Index   取り出すアイテムの位置(最上位が0) ・戻り値   保持されているお気に入りフォルダを参照するFavFolderオブジェクト、またはお気に入りアイテムを   保持するFavItemオブジェクト -------------------------------------------------------------------------------------------------- □ FavFolder.NewFolder(Index: Integer, Name: String): FavFolder  Action:× LateCall:○ Command:○   新たなお気に入りフォルダを作成し、Indexが示す位置に挿入する。 ・Index   作製したお気に入りフォルダを挿入する位置(最上位が0)。-1を指定すると、最下位に挿入する。 ・Item   新たに作製するお気に入りアイテムの名前 ・戻り値   新たに作製したお気に入りフォルダを参照するFavFolderオブジェクト -------------------------------------------------------------------------------------------------- □ FavFolder.NewItem(Index: Integer; Item: Board/Thread): FavItem  Action:× LateCall:○ Command:○   新たなお気に入りアイテムを作成し、Indexが示す位置に挿入する。Itemで設定した板またはスレが既に   お気に入りに登録されている場合、設定の「お気に入りの重複を許可する」がチェックされていないと   エラーになる。 ・Index   作製したお気に入りアイテムを挿入する位置(最上位が0)。-1を指定すると、最下位に挿入する。 ・Item   新たに作製するお気に入りアイテムが参照する板またはスレッド ・戻り値   新たに作製したお気に入りアイテムを参照するFavItemオブジェクト -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ FavItem オブジェクト  お気に入りのアイテムを保持するオブジェクト。FavBaseから派生しており、FavBaseが持つメンバにも  アクセスできる。お気に入りが対象を保持するための識別文字列(Host,Bbs,datNum)の取得や、対象となる  板、スレのオブジェクトの取得が可能。 -------------------------------------------------------------------------------------------------- □ FavBaseオブジェクトに存在するメンバすべてを使用可能 -------------------------------------------------------------------------------------------------- □ FavItem.Bbs: String  Action:○ LateCall:○ Command:○  オブジェクトが参照しているお気に入りアイテムの、板を識別するための内部文字列BBSを保持する。  2chの板の場合はbbsキーを保持している。 -------------------------------------------------------------------------------------------------- □ FavItem.DatName: String  Action:○ LateCall:○ Command:○  オブジェクトが参照しているお気に入りアイテムの、スレを識別するための内部文字列datNameを保持する。  2chのスレの場合はdatのファイル名=スレ立て時刻を示す数値文字列を保持している。datNameが  空白文字列の場合は板を参照している。 -------------------------------------------------------------------------------------------------- □ FavItem.GetItem(): Board/Thread  Action:○ {BoardAnalysisAction:×} LateCall:○ Command:○   お気に入りの対象の板、スレを取得する。 ・戻り値   お気に入りの対象の板を保持するBoardオブジェクト、または、対象のスレを保持する   ThreadItemオブジェクト -------------------------------------------------------------------------------------------------- □ FavItem.Host: String  Action:○ LateCall:○ Command:○  オブジェクトが参照しているお気に入りアイテムの、板を識別するための内部文字列Hostを保持する。  2chの板の場合はホスト名を保持している。 -------------------------------------------------------------------------------------------------- □ FavItem.ItemType: String  Action:○ LateCall:○ Command:○  お気に入りの対象が何かを示す文字列を保持する。  お気に入りの対象が板: ItemType == "Board"  お気に入りの対象がスレ: ItemType == "Thread" -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ HttpRequest オブジェクト  Http通信を行うオブジェクト。仕様やメンバ名はWebブラウザのXmlHttpRequestをベースにしているが、  XMLサポート機能やブロッキングモードは持たない。また、onreadystatechange相当のイベントは  OnCompleteだが、発生するのは通信終了時のみ。  文字コードのコンバート機能を持つ。  HttpRequestによるhttp通信はJaneの内蔵通信機能(ビューアではなく、2chとの通信やHTMLヒントの  ロジック)を利用しているので「制限事項」の「リモートアクセスの制限」に記載の制約を受ける。  デフォルトではノンブロッキング通信を行う。  ブロッキング通信を行う場合はSendの実行前にHttpRequest.Blockingをtrueに設定する。 -------------------------------------------------------------------------------------------------- □ HttpRequest.Abort(): Void  Action:○ LateCall:○ Command:○   HttpRequestの通信を中断する。中断した通信の再開は不可能。(Send前に実行した場合でも、その後に   Sendを実行することはできない)   Abortを実行したHttpRequestのReadyStateは0に設定される。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ HttpRequest.Blocking: Bool [代]  Action:○ LateCall:○ Command:○  ブロッキングモードの設定。ブロッキングモードで通信したい場合、Send関数を実行する前に  HttpRequest.Blockingをtrueに設定する(デフォルトはfalseのノンブロッキングモード)  ブロッキングモードに設定されている場合、Sendで通信してから通信が完了するまで次の行に実行が  進まず処理を停止する。  ブロッキングモードの場合、OnCompleteに指定した関数はsend関数の中で通信完了時に呼び出される。 -------------------------------------------------------------------------------------------------- □ HttpRequest.CharSet: String [代]  Action:○ LateCall:○ Command:○  通信データの文字コード。サーバから取得したデータをHttpRequest.ResponseTextで取り出す時の  文字列変換で使用。また、データを通信メソッドがPOSTの場合にはリクエストヘッダのContent-Typeに  charser=の形で付加される。  CharSetが""(空白文字列)の場合、サーバからのデータ取得が完了した時にそのデータがHTMLだと  仮定してメタタグからCharsetの取得を試み、成功すればその結果がCharSetに代入される。 -------------------------------------------------------------------------------------------------- □ HttpRequest.GetAllResponseHeaders(): String  Action:○ LateCall:○ Command:○  レスポンスヘッダ全体の文字列を連続したテキストデータとして取り出す。 ・戻り値   レスポンスヘッダ全体のテキスト -------------------------------------------------------------------------------------------------- □ HttpRequest.GetResponseHeader(Name: String): String  Action:○ LateCall:○ Command:○   レスポンスヘッダから、個別の設定値を名前で指定して取り出す。 ・Name   レスポンスヘッダから取得するパラメータの名前 ・戻り値   レスポンスヘッダから取得した文字列 -------------------------------------------------------------------------------------------------- □ HttpRequest.OnComplete: Function [代]  Action:○ LateCall:○ Command:○  通信が完了した時に呼び出される関数を指定する。関数の形式は以下。  function(RequestResult: HttpRequest)  XmlHttpRequest.onreadystatechangeとは異なり、イベント関数は呼び出し元のHttpRequestオブジェクト  を引数として受け取る。このためOnCompleteを設定した後にHttpRequestへの参照をグローバル変数など  に保持しておく必要はない(スクリプトから見た参照数がゼロになっても、OnCompeteが完了するまでは  Janeの内部でオブジェクトへの参照を保持している)  Blockingプロパティがtrueのブロッキングモードの場合、OnCompleteに設定した関数はSend関数の中で  通信完了時に呼び出され、その後、Seng関数の次の行に制御が移る。 -------------------------------------------------------------------------------------------------- □ HttpRequest.ReadyState: Integer  Action:○ LateCall:○ Command:○  通信の状況を示す。  ReadyState == 0: Abortにより通信が中止された状態  ReadyState == 1: JaneScript.CreateHttpRequestで作成直後の状態  ReadyState == 2: Sendが実行され、通信の完了待ちをしている状態  ReadyState == 4: 通信が完了した状態  ※XmlHttpRequestではサーバから返信がありデータ受信中である事を示すReadyState == 3は   HttpRequestでは使わない。 -------------------------------------------------------------------------------------------------- □ HttpRequest.ResponseStream: IStream  Action:○ LateCall:○ Command:○  通信で取得したデータをIStream形式で取得する。文字コードの変換は行われない。JScriptからは  IStreamを直接操作できないが、バイナリデータなどを他のActiveXオブジェクトに渡す場合に用いる。  通信が完了していない時に参照するとエラーになる。 -------------------------------------------------------------------------------------------------- □ HttpRequest.ResponseText: String  Action:○ LateCall:○ Command:○   通信で取得したデータ。CharSetで指定された文字コードからUTF-16にコンバートされる。   CharSetが指定されていない場合はデータ内容からキャラクタコードを判断して変換する。   通信が完了していない時に参照するとエラーになる。 -------------------------------------------------------------------------------------------------- □ HttpRequest.Send(postData: String): Bool  Action:× LateCall:× Command:○  CreateHttpRequestで設定したURLに対してリクエストを送信する。メソッドが"POST"の場合にはpostData  のデータがポストされる。postDataはあらかじめJaneScript.UrlEncodeなどで適切な文字コードに  変換した上でUrlエンコードされている必要がある。(HttpRequest.CharSetを設定しても自動での  変換処理などは行われない)。  「制限事項」の「リモートアクセスの制限」や接続数制限などで通信を開始できなかった場合は戻り値が  falseになる。  Blockingプロパティがfalse(デフォルト)の場合、送信を開始すると返信を待たずJScriptに処理が戻り、  実行が次の行に移る(ノンブロッキング通信)。  Blockingプロパティがtrueの場合、送信を開始すると返信が戻り、通信が完了するまでJScriptに処理が  戻らず、次の行に処理が移った時には通信処理が完了している。 ・戻り値   通信を開始した場合はtrue、何らかの理由で通信が開始できなかった場合はfalse -------------------------------------------------------------------------------------------------- □ HttpRequest.SetRequestHeader(Name: String, Value: String): Void  Action:○ LateCall:○ Command:○  HttpRequestでサーバに送信するリクエストヘッダをカスタマイズする。XmlHttpRequestとは異なり  リファラの設定も可能。  ・値のエンコードはスクリプト側が行う必要があり、Jane側はエンコードや文字チェックなどをしない。   ただし、スクリプト側の不用意な処置によるhttpヘッダインジェクションを防止するため、設定値に   改行文字列が含まれている場合とNameが空白文字列の場合はエラーを発生させる。  ・リクエストヘッダの設定は通信開始前に行う必要があり、Sendを実行してからSetRequestHeaderを実行   するとエラーになる。  ・通信メソッドがPOSTの場合にリクエストヘッダのContent-Typeが自動設定されるが、SetRequestHeader   によってもContent-Typeを設定した場合にはSetRequestHeaderの設定が優先される。   (POSTではCharSetの内容もContent-Typeに含まれるが、ResponseTextの文字コード変換は   SetRequestHeaderによるContent-Typeの設定とは無関係にCharSetの内容を元に行われる)  例:Request.SetRequestHeader("User-Agent", "WebAccessJs");でユーザーエージェントを変更 ・Name   リクエストヘッダで変更する設定の名前 ・Value   リクエストヘッダで変更する設定の値 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ HttpRequest.Status: Integer  Action:○ LateCall:○ Command:○  通信でサーバが返したレスポンスのステータスコードを示す。  例:200 (リクエスト成功)  ※通信が完了していない場合は0、内部エラーサーバがレスポンスを返さなかった場合のStatusは-1。 -------------------------------------------------------------------------------------------------- □ HttpRequest.StatusText: String  Action:○ LateCall:○ Command:○  通信でサーバが返したレスポンスのステータスライン。クライアント内部でエラーが出た場合はIndyの  エラー内容を示すテキスト。  例: HTTP/1.1 404 Not Found -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ ImageTab オブジェクト  画像ビューアの個別のタブ(コンテンツ)を参照、操作するためのオブジェクト。対象が書庫ファイルの  場合はさらにその内容ファイルを開いた下位のタブを参照するImageTabオブジェクトへのアクセスを  提供する。コンテンツの取得が完了していない状態でアクセスするとE_JaneScriptImageTabNotCompleted  エラーになる関数、プロパティが多数あり、ImageTab.CompletedやImageTab.GetStatusで画像タブの  状態を把握した上でアクセスを行う必要がある。  参照:E_JaneScriptImageTabNotCompleted -------------------------------------------------------------------------------------------------- □ ImageTab.ActivePage: ImageTab[代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○  対象の画像タブが書庫を開いている場合に、書庫内でアクティブな画像タブを参照するImageTabオブジェ  クトを保持する。アクティブなタブがない場合(書庫情報が表示されている状態)や、対象の画像タブが  書庫ではない場合、undefinedを保持する。  代入をすることで書庫内でのアクティブタブを変更できる。ImageTab以外のオブジェクトやその書庫に  ないImageTabオブジェクトを代入した場合はエラーになる。 -------------------------------------------------------------------------------------------------- □ ImageTab.ActivePageIndex: Integer[代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○  対象の画像タブが書庫を開いている場合に、書庫内でアクティブな画像タブのインデックスを保持する。  アクティブなタブがない場合(書庫リストが表示されている状態)や、対象の画像タブが書庫ではない場合、  -1を保持する。  代入をすることで書庫内でのアクティブタブを変更できる。0より小さい値やPageCount以上の値を設定した  場合は書庫情報が表示される。対象が書庫ではない場合はなにも行われない。 -------------------------------------------------------------------------------------------------- □ ImageTab.Close(): Void  Action:× LateCall:○ Command:○  対象の画像タブを閉じる。Closeを実行したImageTabオブジェクトのConnectedプロパティはfalseになり、  アクセスができなくなる。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ImageTab.CacheProtected: Bool[代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○  ImageTabの参照先の画像タブが保持するコンテンツのキャッシュが保護(書き込み禁止)されているかを  保持する。値を代入することによりモザイク状態のオンオフを切り替えることができる。    true: キャッシュファイルは保護状態    false: キャッシュファイルがないか、保護状態が設定されていない -------------------------------------------------------------------------------------------------- □ ImageTab.Completed: Bool  取得:Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブがコンテンツの取得を完了しているかを保持する。  ImageTabの関数やプロパティの中には、取得を完了してCompletedがtrueの状態でないとエラーになり  実行できなかったり代入、取得できないものがある。  読み込みがエラーで終了し、コンテンツが取得されなかった場合はCompletedはfalseのままなので、  エラーで終了している場合も含め通信が完了したかを判断するにはCompletedではなくGetStatusを  参照する。  参照:ImageTab.GetStatus    true: コンテンツの取得を完了している false: コンテンツの取得を完了していない -------------------------------------------------------------------------------------------------- □ ImageTab.Connected: Bool  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブが存在しているか。Connectedがfalseのオブジェクトにアクセスすると  エラーになる。(HTTPのコネクションとは無関係なので注意)    true: 参照先の画像タブが存在している    false: 参照先の画像タブがCloseによりスクリプトから閉じられたか、ユーザーにより閉じられた -------------------------------------------------------------------------------------------------- □ ImageTab.ContentClass: String  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブが開いているファイルの種類を特定する文字列。コンテンツの取得が完了  されていない場合はエラーになる。    画像の場合:"JPEG", "GIF(フレーム数)", "PNG", "BMP", "Unknown"のいずれか    SUSIEプラグイン画像の場合: "Susie"    書庫の場合:"ARCHIVE"    FLASHの場合: "FLASH" -------------------------------------------------------------------------------------------------- □ ImageTab.ContentFileSize: Integer  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブが開いているファイルのサイズ(バイト)を保持する。  読み込みが完了していない場合はエラーになる。 -------------------------------------------------------------------------------------------------- □ ImageTab.ContentHeight: Integer  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブが開いている画像の高さを保持する。開いているコンテンツが画像ではない  場合は-1を保持する。読み込みが完了していない場合はエラーになる。 -------------------------------------------------------------------------------------------------- □ ImageTab.ContentWidth: Integer  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブが開いている画像の幅を保持する。開いているのが画像ではない場合は  -1を保持する。コンテンツの取得が完了されていない場合はエラーになる。 -------------------------------------------------------------------------------------------------- □ ImageTab.CreateTempFile(): String;  Action:× LateCall:○ Command:○  ImageTabの参照先の画像タブが開いているファイルをテンポラリファイルとして規定のディレクトリ  (JaneViewのフォルダ\ImageViewTmp)に書き出す。ファイル名は元のファイルの物ではなく、テンポラリ  用の一義のシーケンシャル値が付与される。コンテンツの取得が完了されていない場合はエラーになる。  作成したテンポラリファイルは画像タブを閉じる時に削除される。 ・戻り値   作成されたテンポラリファイルのファイル名 -------------------------------------------------------------------------------------------------- □ ImageTab.Encrypted: Bool  Action:○ LateCall:○ Command:○   ImageTabの参照先の画像タブがパスワード付きZipを開こうとして失敗したことを保持する。   コンテンツの取得が完了されていない場合はエラーになる。    true: パスワード付きZipファイルを開くのに失敗した    false: 展開に成功したか、Zip以外のファイルを開いている -------------------------------------------------------------------------------------------------- □ ImageTab.GetContentHash(): String  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブが開いているファイルのMD5ハッシュ値をBASE32エンコードして取得する。  NGFileで画像を特定するために使用している値と同じもの。コンテンツの取得が完了されていない場合は  エラーになる。 ・戻り値   ImageTabの参照先の画像タブが開いているファイルのMD5ハッシュ値 -------------------------------------------------------------------------------------------------- □ ImageTab.GetContentString(): String  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブが開いているファイルが文字列コンテンツの場合にその内容を取得する。  文字コードの変換は自動で行われ、バイナリなどで文字コードが特定できない場合はエラーになる。  マックバイナリが含まれるファイルの場合、その部分は除去される。コンテンツの取得が完了されていない  場合はエラーになる。 ・戻り値   コンテンツの文字列 -------------------------------------------------------------------------------------------------- □ ImageTab.GetContentType(): String  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブがHTTPでファイル取得した時のHTTPレスポンスヘッダのcontent-typeヘッダ  値を取得する。ImageTabオブジェクトが書庫内のものの場合やHTTPレスポンスを未取得の場合は空白値。  コンテンツの取得が完了されていない場合はエラーになる。 ・戻り値   ImageTabの参照先の画像タブがHTTPでファイル取得した時のContent-Typeヘッダ値 -------------------------------------------------------------------------------------------------- □ ImageTab.GetResponseCode(): Integer  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブがHTTPでファイル取得した時のHTTPレスポンスコードを取得する。  ImageTabオブジェクトが書庫内のものの場合やHTTPレスポンスを未取得の場合や通信エラーの場合、  正常に読み込まれたファイルのキャッシュを開いた場合は-1。 ・戻り値   ImageTabの参照先の画像タブがHTTPでファイル取得した時のレスポンスコード -------------------------------------------------------------------------------------------------- □ ImageTab.GetStatus(): Integer  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブの状態を取得する。値と状態の対応は以下。  (内部使用されている値で、GetStatusの結果としては取得されない値ももあり)  ImageTab.Completedがtrueになるのは、GetStatusが5または8の場合。  6以上であれば通信は終了済み。    0: アイドリング状態    1: 読み込み待機中    2: ホストの解決中    3: 接続を開始し、サーバのレスポンス待ち    4: サーバのレスポンスを取得    5: サーバからデータの転送中    6: サーバからデータ取得を完了    7: サーバとの通信を中断された    8: サーバとの通信がエラーで終了した    9: 取得したデータが、画像または書庫として展開できなかった  参照:ImageTab.GetStatus ・戻り値   ImageTabの参照先の画像タブの状態を示す値 -------------------------------------------------------------------------------------------------- □ ImageTab.GetStatusText(): String  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブのステータスバーに表示される文字列。  通信エラーの場合にはHTTPレスポンスのステータス文字列、通信中は転送量、それ以外では画像形式など。 ・戻り値   ImageTabの参照先の画像タブのステータスバーに表示される文字列。 -------------------------------------------------------------------------------------------------- □ ImageTab.GetViewItem(): ViewItem  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブが簡易HTML表示の場合に、そのビューを参照するViewItemオブジェクトを  取得する。取得されるViewItemオブジェクトのViewItem.ViewTypeは"ViewerView"。  スレビューのViewItemと同等の操作が可能。簡易HTML表示がない場合はundefinedを返す。 ・戻り値   簡易HTML表示のビューを参照するViewItemオブジェクト -------------------------------------------------------------------------------------------------- □ ImageTab.Highlighted: Bool[代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○  ImageTabの参照先の画像タブのマーク状態を保持する。代入によりマーク状態を変更可能。    true: タブがマークされている    false: タブはマークされていない -------------------------------------------------------------------------------------------------- □ ImageTab.Obj: Variant [代]  Action:○ LateCall:○ Command:○  システムでは使用/制御しない。  スクリプトが画像タブごとに固有の情報を保持させたい場合に情報をこのプロパティに代入する。  スクリプトごとに保存領域が分けられているので、同じThreadItemに対してA.jsとB.jsが別々に  ImageTab.Objを設定できる。逆に、他のスクリプトが設定したObjを参照することはできない。  スクリプトからの参照がなくなってもObjは保持され、再度スクリプトから参照すれば値を取得可能。   ただし、画像タブを閉じた場合、再度同じURLの画像タブを開いてもObjの内容は引き継がれない。 -------------------------------------------------------------------------------------------------- □ ImageTab.PageCount: Integer  Action:○ LateCall:○ Command:○  対象の画像タブが書庫を開いている場合に、書庫内の画像タブの数を保持する。開いているのが書庫では  ない場合やコンテンツの取得が完了されていない場合はエラーになる。 -------------------------------------------------------------------------------------------------- □ ImageTab.Pages(Index: Integer): ImageTab  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブが書庫を開いている場合に、書庫内の画像タブを参照するImageTab  オブジェクトを取得する。コンテンツの取得が完了されていない場合や、開いているのが書庫でない場合、  Indexが範囲外の場合はエラーになる。 ・Index   ImageTabオブジェクトを取得するタブのインデックス ・戻り値   対象の画像タブを参照するImageTabオブジェクト -------------------------------------------------------------------------------------------------- □ ImageTab.Password: String[代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○  ImageTabの参照先の画像タブがパスワード付き書庫を開いている場合に、書庫の展開に用いるパスワードを  保持する。書庫の内部にある個別の画像タブのImageTabオブジェクトのPasswordプロパティに  アクセスするとエラーになる。  代入することで再展開を行う。コンテンツの取得が完了されていない場合や、対象のファイルが書庫で  ない場合はエラーになる。 -------------------------------------------------------------------------------------------------- □ ImageTab.RefererThread: String  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブを開くためにクリックしたURLが貼られていた2chスレッドのURLを保持する。  アドレスバーから入力したり、ビューアの簡易HTML表示から開いた画像タブでは空白文字列になる。 -------------------------------------------------------------------------------------------------- □ ImageTab.RegisterBrowserCrasher(): Void  Action:× LateCall:○ Command:○  ImageTabの参照先の画像タブが保持しているコンテンツをブラクラとして登録する。  この関数を実行すると対象の画像タブは閉じられ、ImageTab.Connectedがfalseになる。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ImageTab.RegisterNGFile(Comment: String): Void  Action:× LateCall:○ Command:○  ImageTabの参照先の画像タブが保持しているコンテンツをNGファイルに登録する。  この関数を実行すると対象の画像タブは閉じられ、ImageTab.Connectedがfalseになる。 ・Comment   画像の内容を示すコメント。空白文字列を渡した場合、自動で「コメント無し」に置き換えられる。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ImageTab.Reload(): Void  Action:× LateCall:× Command:○  ImageTabの参照先の画像タブでリモートの再読込を行う。  再読込の制限はビューアのメニューから行う場合と同じ(制限時、エラー等は出ない)。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ImageTab.Save(Path: String, SaveModeFlag: Integer): Bool  Action:× LateCall:○ Command:○  ImageTabの参照先の画像タブで保持しているコンテンツをローカル保存する。コンテンツが書庫の場合、  ImageViewer.PagesやImageViewer.ActivePageで取得できる最上位ページで実行すると書庫そのものが  保存され、そのページのImageTab.PagesやImageTab.ActivePageで取得できる下位ページで実行すると  下位のImageTabが参照している個別のコンテンツが保存される。 ・Path   コンテンツの保存先のパス名(ディレクトリ名だけではなく、ファイル名も含めたフルパス) ・SaveModeFlag   既にPathと同名のファイルが存在している場合の処理を設定する   ・0: ダイアログを表示して選択   ・1: 上書き   ・2: 保存しない ・戻り値   保存の実行結果   ・true 保存が実行された   ・false 保存がキャンセルされた -------------------------------------------------------------------------------------------------- □ ImageTab.Scale: Integer[代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○  ImageTabの参照先の画像タブで保持している画像の縮尺(パーセント単位)を保持する。  画像以外のコンテンツでは常に100%になる。コンテンツの取得が完了されていない場合はエラーになる。  値を代入することで縮尺を変更可能。マイナスの値を代入した場合、ビューアで全体が表示できるよう  自動調整される。 -------------------------------------------------------------------------------------------------- □ ImageTab.SubUrl: String  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブで保持しているコンテンツのURLがImageViewUrlReplace.datにより  変換されている場合に、変換前の元のURLを保持する。変換が行われていない場合はUrlと同一の  文字列になる。   参照: ImageTab.Url -------------------------------------------------------------------------------------------------- □ ImageTab.Trusted: Bool[代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○  ImageTabの参照先の画像タブが保持する画像がモザイク状態かどうかを保持する。(対象が画像ではなくても  値はは保持されており代入も可能)  値を代入することによりモザイク状態のオンオフを切り替えることができる。   true: 画像は信頼されており、通常表示される false: 画像は信頼されておらず、モザイク表示される -------------------------------------------------------------------------------------------------- □ ImageTab.Url: String  Action:○ LateCall:○ Command:○  ImageTabの参照先の画像タブで保持しているコンテンツのURLを保持する。URLがImageViewUrlReplace.datに  より変換されている場合、変換後のURL。   参照: ImageTab.SubUrl -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ ImageViewer オブジェクト   画像ビューアを参照、操作するためのオブジェクト。各画像タブへのアクセスおよびキャッシュ操作も   ImageViewerオブジェクトを介して行う。 -------------------------------------------------------------------------------------------------- □ ImageViewer.ActivePage: ImageTab[代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○  ビューアの現在のアクティブタブを参照するImageTabオブジェクトを保持し、ImageTabオブジェクトを  代入することでアクティブタブを変更できる。  ※ImageTab以外のオブジェクトや、書庫内の画像タブを参照するImageTabオブジェクトを代入した場合は   エラーになる。 -------------------------------------------------------------------------------------------------- □ ImageViewer.ActivePageIndex: Integer[代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○  ビューアの現在のアクティブタブのインデックスを保持し、また新たなインデックス値を代入することで  アクティブタブを変更できる。  ※0以下やPageCount以上の数値を代入するとエラーになる。 -------------------------------------------------------------------------------------------------- □ ImageViewer.CacheExists(Url: String): Bool  Action:○ LateCall:○ Command:○  Urlの参照先のキャッシュが存在するかを調べる。 ・Url   キャッシュの存在を確認したいURL ・戻り値   true Urlのコンテンツのキャッシュが存在している   true キャッシュが存在しない -------------------------------------------------------------------------------------------------- □ ImageViewer.DeleteCache(Url: String): Void  Action:× LateCall:○ Command:○  Urlの参照先のキャッシュが存在していたら削除する。 ・Url   キャッシュを削除したいURL ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ImageViewer.GetCacheFileName(Url: String, Full: Bool): String;  Action:○ LateCall:○ Command:○  Urlに対応したキャッシュファイル名を取得する。  そのUrlのキャッシュが実際に存在しない場合も、存在した場合のキャッシュ名を返す。 ・Url   キャッシュ名を取得したいUrl。Urlにアンカーが含まれていた場合は自動で除去される。   同一リモートファイルが対象でも、ポート、ベーシック認証のユーザー名、パスワードなどが異なる   Urlではキャッシュファイル名は異なる。 ・Full   true: キャッシュファイルのフルパス名を返す   false: キャッシュファイルのファイル名部分のみを返す ・戻り値   Urlに対応したキャッシュのファイル名 -------------------------------------------------------------------------------------------------- □ ImageViewer.Hide(): Void  Action:× LateCall:○ Command:○  画像ビューアを隠す  ※関連項目: ImageViewer.Visible ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ImageViewer.PageCount: Integer  Action:○ LateCall:○ Command:○  画像ビューアが保持しているイメージタブの数を返す。  書庫が開かれている場合、書庫内の画像タブの数は含まれない。 ・戻り値   画像ビューアが保持しているイメージタブの数 -------------------------------------------------------------------------------------------------- □ ImageViewer.Pages(Index: Integer): ImageTab  Action:○ LateCall:○ Command:○  画像ビューアが保持しているイメージタブを参照するImageTabオブジェクトを取得する。 ・Index   オブジェクトを取得したいイメージタブのインデックス(左端が0、右端がPageCount-1) ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ImageViewer.RegisterBrowserCrasher(Url: String): Void  Action:× LateCall:○ Command:○  Urlのコンテンツをブラクラ登録し、ビューアでそのコンテンツが開かれている場合は閉じる。 ・Url   ブラクラ登録の対象にするURL ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ImageViewer.SetCacheProtect(Url: String, Protect: Bool): Void  Action:× LateCall:○ Command:○  Urlのコンテンツのキャッシュの保護(書き込み禁止属性)を設定する。 ・Url   キャッシュ保護を設定したいURL ・Protect   キャッシュ保護の設定   true: キャッシュを保護する(キャッシュファイルにReadOnly属性を設定する)   false: キャッシュの保護を解除する(キャッシュファイルのReadOnly属性を解除する) ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ImageViewer.Show(): Void  Action:× LateCall:○ Command:○  画像ビューアを表示。既に画像ビューアが表示されている場合は画像ビューアにフォーカスを移動する。  ※関連項目: ImageViewer.Visible ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ImageViewer.TrustImage(Url: String): Void  Action:× LateCall:○ Command:○  Urlのコンテンツ(画像)のモザイクを解除する。  ※関連項目: ImageTab.Trusted ・Url   モザイクを解除したいURL ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ImageViewer.Visible: Bool  Action:○ LateCall:○ Command:○  ※関連項目: ImageViewer.Show, ImageViewer.Hide  画像ビューアの表示状態を保持する。   true: ビューアが表示されている   false: ビューアは表示されていない -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ IniFile オブジェクト   Iniファイルを参照、更新するためのオブジェクト。また、Jane本体の設定を参照する時も   IniFileオブジェクトを経由して行う。 -------------------------------------------------------------------------------------------------- □ Inifile.Clear(): Void  Action:○ LateCall:○ Command:○   メモリイメージ上の設定値を全てクリアする。   ※実際のIniファイルに反映させるためにはUpdateFileを実行する必要がある。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ Inifile.Read(Section: String, Ident: String, Default: String): String;  Action:○ LateCall:○ Command:○   Iniファイルの設定値を取り出す。読み込みはメモリ上のイメージから行うのでファイルアクセスは   発生しない。戻り値が文字列型であることに注意。   ※例    数値として利用する場合は、parseInt()やeval()で変換する必要がある。    ブール型として利用する場合は文字列比較を行う     x = (iniFile.Read(Sect, Id, "false") == "true") ・Seciton   取り出す設定値がIniファイル中で属するセクション ・Ident   取り出す設定値の項目名 ・Default   設定値がIniファイル中に存在しない場合に戻り値となる値 ・戻り値   Iniファイルに設定された値。文字列型なので、特定の型が必要なら適宜変換する -------------------------------------------------------------------------------------------------- □ Inifile.UpdateFile(): Void  Action:○ LateCall:○ Command:○   メモリ上のイメージを実際のIniファイルに書き出す。   WriteやClearを実行してもメモリ上のイメージが変更されるだけで、実際にファイルの内容を   変更するにはUpdateFileの実行が必要。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ Inifile.Write(Section: String, Ident: String, Value: String): Void  Action:○ LateCall:○ Command:○   Iniファイルのメモリイメージに設定値を書き込む。Valueの型は文字列型なので、自動の型変換が適切に   働かないケースでは適切な変換を代入前に行う必要がある。   ※例   Valueにブール型のtrueを設定すると、保存される文字列は"True"になる。これを防ぐには、   ValueにString(true)と明示的に文字列値に変換した値を渡す。   iniFile.Write(Sect, Id, String(x)) ・Seciton   書き込む設定値がIniファイル中で属するセクション ・Ident   書き込む設定値の項目名 ・Value   書き込む設定値 ・戻り値   なし -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ List オブジェクト  任意の複数のオブジェクトへの参照をリストとして保持するオブジェクト。  JaneScript.GetListViewSelectedの戻り値などとして取得する。保持されたオブジェクトは、Items関数で  添え字を指定して取得する。スクリプト中でItemsの追加、削除、全消去が可能。 -------------------------------------------------------------------------------------------------- □ List.Add(Item: Variant): Integer  Action:○ LateCall:○ Command:○  オブジェクトの末尾にItemを追加する。 ・戻り値   追加されたItemの位置のIndex値。必ずCount-1になる。 -------------------------------------------------------------------------------------------------- □ List.Clear(): Void  Action:○ LateCall:○ Command:○  格納されたオブジェクトへの参照を全て消去する。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ List.Count: Integer  Action:○ LateCall:○ Command:○  格納されたオブジェクトの数を返す。  Indexはゼロベースなので、Count>0の場合の最大のIndexはCount-1になる。 ・戻り値   格納されたオブジェクトの数 -------------------------------------------------------------------------------------------------- □ List.Delete(Index: Integer): Void  Action:○ LateCall:○ Command:○  格納されたオブジェクトへの参照を削除する。削除された添え字は詰められ、Index以降のオブジェクトの  添え字は1繰り上がる。例えばList.Items(4)のオブジェクトはList.Delete(2)の後はItems(3)に移動する。 ・Index   削除されるアイテムの添え字。0〜Count-1を指定しないとエラー。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ List.Insert(Index: Integer, Item: Variant): Void  Action:○ LateCall:○ Command:○  オブジェクトの添え字Indexの位置にItemを格納する。それまでIndex以降にあったアイテムは添え字が  1増加する。 ・Index   アイテムが挿入される位置の添え字。0〜Countを指定しないとエラー。Countを指定すると末尾に挿入。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ List.Items(Index: Integer): Variant  Action:○ LateCall:○ Command:○  格納されたオブジェクトへの参照を取得する。 ・Index   取得するアイテムの添え字。0〜Count-1を指定しないとエラー。 ・戻り値   Indexの位置に格納されたオブジェクトへの参照 -------------------------------------------------------------------------------------------------- □ List.SetItems(Index: Integer, Item: Variant): Void  Action:○ LateCall:○ Command:○  添え字Indexの位置の既存のアイテムをItemで置き換える。 ・Index   置き換えられるアイテムの添え字。0〜Count-1を指定しないとエラー。 ・戻り値   なし -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ MenuItem オブジェクト  ユーザー定義のメニューを保持するオブジェクト。JaneScript.InsertMenuや他のMenuItemの  Add,Inertにより取得する。OnClickに関数を代入しておくことでメニューをクリックしたときに  その関数を呼び出すことができる。キャプション、ショートカットの設定や可視性、チェックの  有無を設定可能。  用途上、一般的にはグローバルオブジェクトとして保持しておく必要がある -------------------------------------------------------------------------------------------------- □ MenuItem.Add(): MenuItem  Action:○ LateCall:○ Command:○   MenuItemのサブメニューの先頭に新たなサブメニューを追加する   Insert(0)と同等の処理 ・戻り値   新たに作成したメニューのMenuItem -------------------------------------------------------------------------------------------------- □ MenuItem.Caption: String[代]  Action:○ LateCall:○ Command:○  メニューに表示される文字列 -------------------------------------------------------------------------------------------------- □ MenuItem.Checked: Bool[代]  Action:○ LateCall:○ Command:○  メニューの左端のチェックの有無   true チェックあり   false チェックなし -------------------------------------------------------------------------------------------------- □ MenuItem.Connected: Bool  Action:○ LateCall:○ Command:○  MenuItemの参照先のメニューが存在しているか   true 参照先のメニューは存在している   false 参照先のメニューはDisconnectによりスクリプトから削除されたか、システムに削除された -------------------------------------------------------------------------------------------------- □ MenuItem.Count: Integer  Action:○ LateCall:○ Command:○  そのMenuItemに含まれるサブメニューの数 -------------------------------------------------------------------------------------------------- □ MenuItem.Disconnect(): Void  Action:○ LateCall:○ Command:○  MenuItemが保持しているメニューを削除する。この関数の実行後、実行したオブジェクトの  Connectedプロパティはfalseになる ・戻り値   なし -------------------------------------------------------------------------------------------------- □ MenuItem.Enabled: Bool[代]  Action:○ LateCall:○ Command:○  メニューが有効かどうかの設定   true メニューは有効   false メニューは無効(グレーアウト状態) -------------------------------------------------------------------------------------------------- □ MenuItem.GestureName: String[代]  Action:○ LateCall:○ Command:○  ジェスチャー登録の時にJane内部で判定に使用する文字列。  これが空白文字列の場合、ジェスチャー登録のメニュー一覧に表示されない。  GestureNameが他のメニューと重複するとエラーになるので、GestureNameの設定は必要最小限に抑える  ※MainWnd.MainMenu以外の場所に追加したMenuItemにもGestureNameは設定できるが、   ジェスチャに登録できないため意味がない -------------------------------------------------------------------------------------------------- □ MenuItem.Insert(Index: Integer): MenuItem  Action:○ LateCall:○ Command:○   MenuItemの新たなサブメニューを作成し、Indexの位置に挿入する ・Index   新たなメニューを挿入する位置 ・戻り値   新規に作成したメニューのMenuItemオブジェクト -------------------------------------------------------------------------------------------------- □ MenuItem.Items(Index: Integer): MenuItem  Action:○ LateCall:○ Command:○  MenuItemが保持しているメニューのサブメニューを取得する ・Index   取得するサブメニューのMenuItemの中での順番 ・戻り値   対象メニューのMenuItemオブジェクト -------------------------------------------------------------------------------------------------- □ MenuItem.MenuIndex: Integer  Action:○ LateCall:○ Command:○  MenuItemの、親メニューの中での位置 -------------------------------------------------------------------------------------------------- □ MenuItem.OnBeforeShow: function[代]  Action:○ LateCall:○ Command:○  MenuItemが表示される直前に実行される関数を指定する。  状況に合わせてメニューのEnabled, Visible、Checkedを設定するのに利用可能。  メニューのコンテナ(親メニュー)がスクリプトで作られたメニューではない場合、コンテナのOnClick  でそのメニューの表示状態を設定する方法が使えない。そのような場合に、このOnBeforeShowを設定する  ことで表示ごとにメニューの表示状態を設定することができる。  OnBeforeShowに代入できる関数の型は以下の通り(OnClickと同じ)  function MenuBeforeShow(menuObject: MenuItem, targetInfo: PopupTargetInfo) {};  ・MenuObject クリックされたMenuItem (同じ関数を複数のMenuItemから呼び出す場合の区別に使用)  ・targetObject メニューがポップアップした状況に関する情報を保持したPopupTargetInfoオブジェクト   詳細はPopupTargetInfoのリファレンスを参照 -------------------------------------------------------------------------------------------------- □ MenuItem.OnClick: function[代]  Action:○ LateCall:○ Command:○  MenuItemがユーザーに選択された場合に実行される関数を指定する。  MenuItemがサブメニューを持つコンテナ項目の場合、サブメニューを展開する前にOnClickが呼ばれるので  状況に合わせてサブメニューのEnabled, Visible、Checkedを設定するのに利用可能。  OnClickに代入できる関数の型は以下の通り  function MenuClick(menuObject: MenuItem, targetInfo: PopupTargetInfo) {};  ・MenuObject クリックされたMenuItem (同じ関数を複数のMenuItemから呼び出す場合の区別に使用)  ・targetObject メニューがポップアップした状況に関する情報を保持したPopupTargetInfoオブジェクト   詳細はPopupTargetInfoのリファレンスを参照 -------------------------------------------------------------------------------------------------- □ MenuItem.ParentMenu: MenuItem  Action:○ LateCall:○ Command:○  MenuItemの親メニューを参照するMenuItemオブジェクト。  親メニューがスクリプトで作成したものでない場合はundefined -------------------------------------------------------------------------------------------------- □ MenuItem.ShortCut: String[代]  Action:○ LateCall:○ Command:○  MenuItemのショートカットを設定する  例:MenuItem.ShortCut = "Shift+Ctrl+A";  ※メニューを代入するポップアップにによってはShortCutでショートカットを設定しても   効果がない場合あり -------------------------------------------------------------------------------------------------- □ MenuItem.Visible: Bool[代]  Action:○ LateCall:○ Command:○   メニューを表示するかを設定する    true 表示する    false 表示しない -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ NamedVariant オブジェクト  任意の名前のプロパティを作成してデータを保持する機能を持つオブジェクト。  複数の値を返す必要がある関数で戻り値として使用する。    例:JaneScript.CursorPosは X,Yの二つのプロパティ変数にマウスカーソルのX座標とY座標を代入した    NamedVariantを戻り値として返す。    var pos = JaneScript.CursorPos();    JaneScript.Log("現在のマウスの位置は(X:" + pos.X + ",Y:" + pos.Y + ")"); -------------------------------------------------------------------------------------------------- □ NamedVariant.Clear(): Void  Action:○ LateCall:○ Command:○   保持している名前付き変数を全て消去する -------------------------------------------------------------------------------------------------- □ NamedVariant.Items(Name: String): Variant  Action:○ LateCall:○ Command:○   文字列を使ってプロパティにアクセスする。   NamedVariant.HogeHoge と NamedVariant.Items("HogeHoge") は同じ。 -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ PopupTargetInfo オブジェクト   スクリプトが作成したメニュー(MenuItem)が選択された時の状況に関する情報を保持するオブジェクト。   プロパティの情報の意味はMenuItemが登録されたメニューの場所により異なる。   メニュー登録場所とプロパティの内容の関係   ・MainWnd.PopupViewMenu     PopupObject = 右クリックしたビューのViewItemオブジェクト     SubObjects.Items(0) 右クリックしたリンクまたはビューに関連したスレのThreadItemオブジェクト     Number = レス番     InfoText = 空白文字列   ・MainWnd.PopupTextMenu     PopupObject = 右クリックしたビューのViewItemオブジェクト     Number = 0     InfoText = 空白文字列   ・MainWnd.PopupIdMenu     PopupObject = 右クリックしたビューのViewItemオブジェクト     SubObjects.Items(0) 右クリックしたリンクまたはビューに関連したスレのThreadItemオブジェクト      A.日付中IDを右クリックした場合       Number = レス番       InfoText = 空白文字列      B.本文中IDを右クリックした場合       Number = -1       InfoText = ID   ・MainWnd.PopupTreeCategory     PopupObject = 右クリックした板一覧アイコンのカテゴリを参照するCategoryオブジェクト     Number = -1     InfoText = 空白文字列   ・MainWnd.ThreadPopupMenu     PopupObject = 右クリックしたタブのViewItemオブジェクト     Number = クリックしたタブのインデックス   ・MainWnd.PopupTree     PopupObject = 右クリックした板タブまたは板一覧アイコンの板を参照するBoardオブジェクト      A.板一覧アイコンを右クリックした場合       Number = -1      B.板タブを右クリックした場合       Number = 右クリックした板タブのインデックス       InfoText = 空白文字列   ・その他     PopupObject = undefined     Number = 0     InfoText = 空白文字列 -------------------------------------------------------------------------------------------------- □ PopupTargetInfo.InfoText: String  Action:○ LateCall:○ Command:○   メニューをクリックした場所に関連する文字情報を保持する -------------------------------------------------------------------------------------------------- □ PopupTargetInfo.Number: Integer  Action:○ LateCall:○ Command:○   メニューをクリックした場所に関連する数値情報を保持する -------------------------------------------------------------------------------------------------- □ PopupTargetInfo.ObjectName: String  Action:○ LateCall:○ Command:○   PopupObjectの種類を示す文字列を保持する。"ViewItem", "Board"など。 -------------------------------------------------------------------------------------------------- □ PopupTargetInfo.PopupObject: Object  Action:○ LateCall:○ Command:○   メニューをクリックした場所に関連するオブジェクトを保持する -------------------------------------------------------------------------------------------------- □ PopupTargetInfo.SubObjects: List  Action:○ LateCall:○ Command:○   メニューをクリックした場所に関連する補助オブジェクトを保持する -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ RangeList オブジェクト  複数の数値範囲を保持するオブジェクト。  レス番リンクのリンク先などを取得する関数の戻り値などに使われる。 -------------------------------------------------------------------------------------------------- □ RangeList.RangeBegin(Index: Integer): Integer  Action:○ LateCall:○ Command:○   RangeListが保持したレスが参照するIndex番目の参照レス番範囲の開始番号を返す ・Index   参照レス番範囲のRangeList中での番号 ・戻り値   参照レス番範囲の開始番号 -------------------------------------------------------------------------------------------------- □ RangeList.RangeEnd(Index: Integer): Integer  Action:○ LateCall:○ Command:○   RangeListが保持したレスが参照するIndex番目の参照レス番範囲の終了番号を返す ・Index   参照レス番範囲のRangeList中での番号 ・戻り値   参照レス番範囲の終了番号 -------------------------------------------------------------------------------------------------- □ RangeList.Count: Integer  Action:○ LateCall:○ Command:○   RangeListが保持した、レスが参照するレス番範囲の数を返す -------------------------------------------------------------------------------------------------- □ RangeList.Connected: Bool  Action:○ LateCall:○ Command:○  RangeListの参照先が存在しているか   true 参照先の実体は存在している   false 参照先の実体は削除された   ※現在の実装では、RangeList.Connectedがfalseになることはない -------------------------------------------------------------------------------------------------- □ RangeList.WholeRangeWidth(): Integer;  Action:○ LateCall:○ Command:○   RangeListが保持する全てのRangeの幅(最大値-最小値)の合計を返す ・戻り値   RangeListが保持する全てのRangeの幅の合計 -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ ReferredList オブジェクト  ThreadItem.GetReferredListにより取得される、スレの各レスがどのレスから参照されているかの情報を  保持するオブジェクト。  レス番着色の着色情報を作成するためのクラスをラップしたもの。  参照された数とどのレスから参照されたのかを確認できるので、特定のレスから参照されたレスを  抽出する場合などに利用可能。 -------------------------------------------------------------------------------------------------- □ ReferredList.Lines: Integer  Action:○ LateCall:○ Command:○   ReferredListの取得元のスレのレス数 -------------------------------------------------------------------------------------------------- □ ReferredList.RefCount(Index: Integer): Integer  Action:○ LateCall:○ Command:○   レス番Indexのレスを参照しているレスの数   (レス番着色が使用しているデータ) -------------------------------------------------------------------------------------------------- □ ReferredList.ReferencedFrom(Index, RefIndex): Integer  Action:○ LateCall:○ Command:○   レス番Indexのレスを参照しているRefIndex番目のレスのレス番 -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ ResItem オブジェクト   レスの情報を保持するオブジェクト。   ※プロパティで左辺代入可能となっているものでも、取得元によっては書き換えが禁止の場合あり。 -------------------------------------------------------------------------------------------------- □ ResItem.Connected: Bool  Action:○ LateCall:○ Command:○   ResItemが参照するレス情報の実体が存在しているかどうか    true 存在しており、アクセス可能 false 削除されており、アクセス不可   ※現在の実装ではResItem.Connectedがfalseになることはない。 -------------------------------------------------------------------------------------------------- □ ResItem.Date: String[代]  Action:○ LateCall:○ Command:○   保持しているレスの日付欄の文字列(日付の他にID、BE情報などを含む) -------------------------------------------------------------------------------------------------- □ ResItem.DateValue: UTC  Action:○ LateCall:○ Command:○   保持しているレスの投稿時刻 -------------------------------------------------------------------------------------------------- □ ResItem.Id: String  Action:○ LateCall:○ Command:○   保持しているレスのID文字列 -------------------------------------------------------------------------------------------------- □ ResItem.Mail: String[代]  Action:○ LateCall:○ Command:○   保持しているレスのメール欄の文字列 -------------------------------------------------------------------------------------------------- □ ResItem.Msg: String[代]  Action:○ LateCall:○ Command:○   保持しているレスの本文文字列 -------------------------------------------------------------------------------------------------- □ ResItem.Name: String[代]  Action:○ LateCall:○ Command:○   保持しているレスの名前欄の文字列 -------------------------------------------------------------------------------------------------- □ ResItem.Number: Integer  Action:○ LateCall:○ Command:○   保持しているレスのレス番 -------------------------------------------------------------------------------------------------- □ ResItem.Title: String  Action:○ LateCall:○ Command:○   保持しているレスが属するスレのタイトル -------------------------------------------------------------------------------------------------- □ ResItem.URL: String  Action:○ LateCall:○ Command:○   保持しているレスが属するスレのURL(レス番は付かない) -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ SqlConnection オブジェクト   SQLのデータベースへの接続への参照を保持するオブジェクト。   接続対象は、そのスクリプトのファイル名の拡張子を.sqliteに変更したSQLiteデータベースファイル。   JaneScript.CreateSqlConnectionで複数のSqlConnectionを作成した場合、それぞれが同一の   データベースに対する別の接続として動作する。SQLステートメントの実行はExecメソッドを使用するか   CreateStatementでSqlStatementオブジェクトを作成することにより行う。   多用されるバキュームやトランザクションの管理ステートメントはメソッドとして実装。   ユーザー定義関数はサポートしない。   SQLiteのネイティブの文字エンコーディングはUTF-8、JScriptの文字エンコーディングはUTF-16のため、   データのやりとりではUTF-8⇔UTF-16のエンコーディング変換が行われる。   SQLiteで使用可能なステートメント、ステートメントのコンパイルとバインドの概念についてはSQLiteの   リファレンス類を参照。   http://www.sqlite.org/ -------------------------------------------------------------------------------------------------- □ SqlConnection.BeginTransaction(): Void  Action:○ LateCall:○ Command:○   接続でトランザクションを開始する。内部処理はExec("BEGIN TRANSACTION")と等価。   開始したトランザクションはコミットまたはロールバックが可能。   トランザクションのネストは不可能。   SQLiteは、明示的にトランザクションを開始しないでデータベースの書き換えを行った場合、   書き換えごとにトランザクションの開始とコミットを行う。これは非常に遅い処理になるので、   書き換えを繰り返す場合は明示的にトランザクションを開始し、適当なタイミングでコミットするのが   好ましい。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ SqlConnection.Close(): Void  Action:○ LateCall:○ Command:○   接続を閉じる。CreateSqlStatementで作成したSqlStatmentオブジェクトがある場合、   接続を閉じる前に全てFinalizeしておかないとエラーになる。明示的にCloseしなかった場合、   オブジェクトへの参照が全てなくなってからガベージコレクタによりCloseされる。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ SqlConnection.CommitTransaction(): Void  Action:○ LateCall:○ Command:○   開始したトランザクションをコミットし、更新内容をデータベースファイルに反映させる。   内部処理はExec("COMMIT TRANSACTION")を実行するのと等価。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ SqlConnection.CreateStatement(Statement: String): SqlStatement  Action:○ LateCall:○ Command:○   SQLステートメントを中間コードにコンパイルし、それを保持するSqlStatementオブジェクトを返す。   Statementとして渡すSQLステートメントには、?数字という形で、SqlStatementオブジェクトのBind   メソッドにより代入可能な変数を定義できる。   (SQLiteのCインターフェイスリファレンスでsqlite3_prepare関数を参照) ・Statement   実行するSQLステートメント文字列 ・戻り値   ステートメントを保持したSqlStatementオブジェクト -------------------------------------------------------------------------------------------------- □ SqlConnection.EndTransaction(): Void  Action:○ LateCall:○ Command:○   開始したトランザクションをコミットし、更新内容をデータベースファイルに反映させる。   内部処理はExec("END TRANSACTION")を実行するのと等価。   ※さらにSQLiteの内部では、END TRANSACTIONはCOMMIT TRANSACTIONと等価 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ SqlConnection.Exec(Statement: String): Void  Action:○ LateCall:○ Command:○   SQLステートメントを実行する。Execには戻り値を取得する方法がないため、戻り値が必要な   ステートメントはExecではなくCreateSqlStatementを使用して実行する必要がある。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ SqlConnection.RollbackTransaction(): Void  Action:○ LateCall:○ Command:○   開始したトランザクションをロールバックし、それまでの更新内容を破棄する。   内部処理はExec("ROLLBACK TRANSACTION")を実行するのと等価。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ SqlConnection.Vacuum(): Void  Action:○ LateCall:○ Command:○   それまでのデータベースの更新でファイル中に溜まった空き領域を除去し、ファイルサイズを縮小する。   内部処理はExec("PRAGMA VACUUM")を実行するのと等価。 ・戻り値   なし -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ SqlStatement オブジェクト   SqlConnection.CreateStatementで中間コードコンパイルしたSQLステートメントを保持するオブジェクト   Bindメソッドで変数に値を割り当て、Stepメソッドでステートメントを実行し、   Columnメソッドで結果を読み出す。 -------------------------------------------------------------------------------------------------- □ SqlStatement.Bind(idx: Integer, const Value: Variant): Void  Action:○ LateCall:○ Command:○   SqlConnection.CreateStatement渡したStatementに含まれる変数に値を割り当てる。   内部的にはSQLiteのCインターフェイスのsqlite3_bind_xxx (xxxは型ごとに異なる)を呼び出す。   例:   s = SqlConnection.CreateStatement("SELECT value FROM sample_table WHERE name = ?1;"); s.Bind(1, "円周率"); s.Step();   とした場合、s.Stepでは"SELECT value FROM sample_table WHERE name = 円周率;"が実行される。 ・idx   割り当てを行う変数の番号 ・Value   割り当てる値。SQLiteとJScriptの間で型が一致しないため、以下のルールに従って変換が行われる。   JScript SQLite   Bool → INTEGER   Number → INTEGER or FLOAT   その他 → TEXT ・戻り値   なし -------------------------------------------------------------------------------------------------- □ SqlStatement.Column(idx: Integer): Variant  Action:○ LateCall:○ Command:○   Step()で取得した結果を取り出す。idxは結果テーブルの列番号。   内部的にはSQLiteのCインターフェイスのsqlite3_column_xxx (xxxは型ごとに異なる)を呼び出す。 ・idx   取り出す価のテーブル中での列番号(先頭のidxは0) ・戻り値   取り出された値。SQLiteとJScriptの間で型が一致しないため、以下のルールに従って変換が行われる。   SQLite JScript   INTEGER → Number   FLOAT → Number   TEXT → String BLOB → undefined(取り出し不可) -------------------------------------------------------------------------------------------------- □ SqlStatement.ColumnCount(): Integer  Action:○ LateCall:○ Command:○   Step()で取得した結果の列数を返す。   内部的にはSQLiteのCインターフェイスのsqlite3_column_countを呼び出す。 ・戻り値   Step()で取得した結果の列数 -------------------------------------------------------------------------------------------------- □ SqlStatement.ColumnName(idx: Integer): String  Action:○ LateCall:○ Command:○   Step()で取得した結果がテーブル中で属する列の名前 ・戻り値   Step()で取得した結果の列名 -------------------------------------------------------------------------------------------------- □ SqlStatement.Finalize()  Action:○ LateCall:○ Command:○   保持していたコンパイル済み中間コードを破棄する。このメソッドを実行したオブジェクトでは以後、   メソッドの実行は不可能になる。明示的にFinalizeしなかった場合、オブジェクトへの参照が全て   なくなってからガベージコレクタによりFinalizeされる。   内部的にはSQLiteのCインターフェイスのsqlite3_finalizeを呼び出す。   SqlConnection.Closeを実行する前には、そのSqlConnectionで作成した全てのSlqStatementがFinalize   されている必要がある。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ SqlStatement.Reset(): Void  Action:○ LateCall:○ Command:○   それまでに実行したStepの結果を消去し、新たに値を割り当てたりStepを実行することが可能な状態に   中間コードを再初期化する。   内部的にはSQLiteのCインターフェイスのsqlite3_resetを呼び出す。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ SqlStatement.Step(): Bool  Action:○ LateCall:○ Command:○   SQLステートメントの中間コードを実行する。また、実行されている場合は、読み出し位置を1行進める。   内部的にはSQLiteのCインターフェイスのsqlite3_stepを呼び出す。 ・戻り値   true : 読み出す行データがある   false: 読み出し位置が最後の行まで到達し、もう読み出す行データがない -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ Strings オブジェクト   文字列リストを保持するオブジェクト。IEnumlatorなどは実装されていないので、列挙する場合も   インデックスを順に指定して取得していく必要あり。 -------------------------------------------------------------------------------------------------- □ Strings.Items(Index: Integer): String  Action:○ LateCall:○ Command:○   インデックスを指定して格納された文字列を取得する ・Index   格納文字列のインデックス(インデックスの範囲は 0〜Count - 1) -------------------------------------------------------------------------------------------------- □ Strings.Count: Integer  Action:○ LateCall:○ Command:○   オブジェクトが保持している文字列の数 -------------------------------------------------------------------------------------------------- □ Strings.Text: String  Action:○ LateCall:○ Command:○   オブジェクトが保持している文字列を改行付きで連結したもの -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ TabDrawingSetting オブジェクト   TabActionDrawTabで色設定の受け渡しに使用されるオブジェクト。   オブジェクトが保持している色値を変更することでタブの色設定を変更することができる。   色値はJavaScriptで使用するRGB形式ではなく、Delphiネイティブ形式。   0x02ffffff未満の値の場合は0x00BBGGRR形式で24bitカラーを示す。(最上位バイトのの0〜2はパレット   からの近似色の選択方法を示す)   0xff000000以上の値はシステムカラーを示す。   TabActionDrawTabで渡されたTabDrawingSettingオブジェクトを変数などに保持し、そのアクションが   終了した後でメンバを参照するとエラーになる。   参照:Delphiのカラーコード(TColor)   http://docwiki.embarcadero.com/VCL/ja/Graphics.TColor -------------------------------------------------------------------------------------------------- □ TabDrawingSetting.BackGroundColor: Integer [代]  Action:○ LateCall:○ Command:○  タブの背景色 -------------------------------------------------------------------------------------------------- □ TabDrawingSetting.FlagColor: Integer [代]  Action:○ {BoardAnalysisAction:×} LateCall:○ Command:○  タブのフラッグ色。フラッグ色に0x00000000を設定するとフラッグを描画しない  (従って黒のフラッグは不可能。0x00010101などで代用する) -------------------------------------------------------------------------------------------------- □ TabDrawingSetting.FontColor: Integer [代]  Action:○ {BoardAnalysisAction:×} LateCall:○ Command:○  タブの文字色 -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ ThreadFinder オブジェクト   URLを元に、該当するスレや板のオブジェクトを取得するためのオブジェクト。   検索対象は、取得済みの板一覧の現行スレおよび取得済みの過去ログで、正しいスレURLであっても   該当のスレの情報をJaneが持っていなければ検索では該当なしとなる(スレURLを元に中身が空の   新規ThreadItemオブジェクトを作る動作は行われない) -------------------------------------------------------------------------------------------------- □ ThreadFinder.Find(URL: String): Integer  Action:○ {BoardAnalysisAction:×} LateCall:○ Command:○   作成元のCategoryListから、URLが示す板、スレを検索する。検索対象は、取得済みの板一覧の現行スレ   および取得済みの過去ログで、正しいスレURLであっても該当のスレの情報をJaneが持っていなければ   検索では板のみ該当となり、スレの該当は無しとなる   (スレURLを元に中身が空の新規ThreadItemオブジェクトを作る動作は行わない) ・URL   スレまたは板のURL ・戻り値   0: 該当する板やスレが見つからなかった  1: URIに該当する板がある  2: URIに該当するスレッドがある -------------------------------------------------------------------------------------------------- □ ThreadFinder.FindCreate(URL: String): Integer  Action:○ {BoardAnalysisAction:×} LateCall:○ Command:○   ThreadFinder.Findと同じ動作を行い、URLのスレが見つからなかった場合はスレを新規に作成する。 ・URL   スレまたは板のURL ・戻り値   0-2: ThreadFinder.Findと同じ   3: スレを新規に作成した -------------------------------------------------------------------------------------------------- □ ThreadFinder.Board: Board  Action:○ LateCall:○ Command:○   直前のFind()でURLから検索した板のBoardオブジェクト。Find()の戻り値が1または2の場合に取得でき、   Find()の戻り値が0の場合にはundefined。 -------------------------------------------------------------------------------------------------- □ ThreadFinder.DatName: String  Action:○ LateCall:○ Command:○   直前のFind()でURLから検索したスレのdat名(datファイル名から拡張子を除いたもの)。   Find()の戻り値に関わらず、Findで指定されたURLを2chURLとして解釈したときにdat名と見なせる   部分を出力する。 -------------------------------------------------------------------------------------------------- □ ThreadFinder.Ranges: RangeList  Action:○ LateCall:○ Command:○   直前のFind()でURLから検索したスレのレス番指定部分をRangeList形式で保持する   例   ThreadFinder.Find("http://pc12.2ch.net/test/read.cgi/win/1250004718/1-5,5,4-5");   の実行後のThreadFinder.Rangesの内容は、以下のようになる(重複削除や連結、並べ替えはされない)   Count == 3   RangeBegin(0) == 1, RangeEnd(0) == 5   RangeBegin(1) == 5, RangeEnd(1) == -1   RangeBegin(2) == 4, RangeEnd(2) == 5   WholeRangeWidth == 8 -------------------------------------------------------------------------------------------------- □ ThreadFinder.Thread: ThreadItem  Action:○ LateCall:○ Command:○   直前のFind()でURLから検索したスレのThreadItemオブジェクト。Find()の戻り値が2の場合に取得でき、   Find()の戻り値が0または1の場合にはundefined。 -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ ThreadItem オブジェクト   スレの情報を参照するオブジェクト。レス内容、タイトルやレス数などの情報取得と一部変更が可能。 -------------------------------------------------------------------------------------------------- □ ThreadItem.Board: Board  Action:○ LateCall:○ Command:○   オブジェクトが参照するスレが属する板のBoardオブジェクト -------------------------------------------------------------------------------------------------- □ ThreadItem.Connected: Bool  Action:○ LateCall:○ Command:○   ThreadItemが参照するスレの実体が存在しているかどうか    true 存在しており、アクセス可能 false 削除されており、アクセス不可   ※スレはスクリプトからThreadItemオブジェクトに参照されることで参照カウントが加算されるため、    現在の実装ではThreadItemへの参照がある限りConnectedがfalseになることはない。 -------------------------------------------------------------------------------------------------- □ ThreadItem.DatExist: Bool  Action:○ LateCall:○ Command:○   スレのログ(datファイル)が存在するか    true 存在する    false 存在しない -------------------------------------------------------------------------------------------------- □ ThreadItem.DatName: String  Action:○ LateCall:○ Command:○   dat名(datファイルのファイル名から拡張子を取り除いたもの) -------------------------------------------------------------------------------------------------- □ ThreadItem.DatSize: Integer  Action:○ LateCall:○ Command:○   取得済みのdatファイルの大きさ(単位:byte) -------------------------------------------------------------------------------------------------- □ ThreadItem.DatText: String  Action:○ LateCall:○ Command:○   datファイル全体の文字列 -------------------------------------------------------------------------------------------------- □ ThreadItem.DeltaRes: Integer  Action:○ LateCall:○ Command:○   スレのΔレス値 -------------------------------------------------------------------------------------------------- □ ThreadItem.Downloading(): Bool  Action:○ LateCall:○ Command:○   スレがサーバへのリモートアクセス中またはそのための待機中であるかを調べる。Downloadingの値が   更新されるためにはウィンドウメッセージの処理が必要なため、この関数の戻り値がfalseになるまで   ポーリングするような場合はループ中でJaneScript.ProcessMessagesを実行する必要がある。 ・戻り値   true: リモートアクセス中   false: サーバにアクセスしていない -------------------------------------------------------------------------------------------------- □ ThreadItem.FinalRes: UTC  Action:○ LateCall:○ Command:○   スレの最終レスの時刻値   最終レスが未定義値の場合は0。 -------------------------------------------------------------------------------------------------- □ ThreadItem.GetAbone(Index: Integer): Integer  Action:○ LateCall:○ Command:○   レスのあぼーん状態を取得する ・Index   あぼーんの状態を取得するレスのレス番号 ・戻り値   レスのあぼーん状態    0: 通常    1: あぼーん    2: 透明あぼーん    4: レスチェック -------------------------------------------------------------------------------------------------- □ ThreadItem.GetIndexedUrl(Index: String, Last: Bool): String  Action:○ LateCall:○ Command:○  Indexで示されたレス番を参照するスレURL文字列を生成する。  ThreadItemのスレが過去ログであっても、Indexを付加した現行スレ形式で出力される。  また、旧したらばのようなCGI形式のURLの場合はIndexを解釈して正しいURLを出力する。  ・旧したらばのスレでIndex=="1-10"の場合   http://www.shitaraba.com/bbs/test/read.cgi?bbs=hoge&key=0000000000_1&st=1&to=10  ・旧したらばのスレでLast==trueの場合   http://www.shitaraba.com/bbs/test/read.cgi?bbs=hoge&key=0000000000_1&st=1&to=10 ・Index  URLのレス番号部分を指定する文字列。Last==trueの場合は無視される ・Last  最終50レス形式のURLを返すかを指定する  true: 最新50レスを表示するためのURLを返す。  false:Indexで示されるレスを表示するためのURLを返す ・戻り値   生成されたURL文字列 -------------------------------------------------------------------------------------------------- □ ThreadItem.GetNumberLinks(Index: Integer, IncludeName: Bool): RangeList  Action:○ LateCall:○ Command:○   レスに含まれた>>1などのレス番リンクの参照先一覧を保持したRangeListオブジェクトを取得する。   例   >>4 >>1-2 >>6-8 というリンクを持ったレスでは、次の内容のRangeListが戻り値として得られる。   RangeList.Count == 3   RangeList.RangeBegin(0) == 1, RangeList.RangeEnd(0) == 2   RangeList.RangeBegin(1) == 4, RangeList.RangeEnd(1) == -1   RangeList.RangeBegin(2) == 6, RangeList.RangeEnd(2) == 8   RangeList.WholeRangeWidth == 6   ただし、得られたRangeはソートされ、参照先の範囲が連続したものは結合、重複は削除されるので、   元のレス番参照が例えば>>1,2 >>4 >>6-7 >>7-8であっても同じ結果になり、区別できない ・Index   レス番リンク参照一覧を取得するレスのレス番号 ・IncludeName   名前欄が番号コテの場合にそれをレス番リンクに含めるかどうかを指定する   (true: 含める、false:含めない) ・戻り値   レス番リンク参照一覧を保持したRangeList -------------------------------------------------------------------------------------------------- □ ThreadItem.GetReferredList(): ReferredList  Action:○ LateCall:○ Command:○   スレの全レスについて、>>1などのレス番リンクでそのレスを参照した元スレの一覧を保持した   ReferredListオブジェクトを取得する。 ・戻り値   そのスレのレス番リンク情報を保持したReferredListオブジェクト -------------------------------------------------------------------------------------------------- □ ThreadItem.GetRes(Index: Integer): ResItem  Action:○ LateCall:○ Command:○   レスの内容を保持したResItemオブジェクトを取得する ・Index   内容を取得するレスのレス番 ・戻り値   レス内容を保持したResItemオブジェクト -------------------------------------------------------------------------------------------------- □ ThreadItem.GetUrlList(Index: Integer): Strings  Action:○ LateCall:○ Command:○   レスに含まれるURLの一覧を取得する ・Index   URL一覧を取得するレスのレス番 ・戻り値   URL一覧を保持したStringsオブジェクト -------------------------------------------------------------------------------------------------- □ ThreadItem.InjectDat(Text: String, Append: Bool): Void  Action:× LateCall:× Command:○   スレのdatを上書き更新または追加する。対象のスレがスレビューで開かれている場合はその表示も更新   される。Textの末尾に改行がない場合は自動で補完される。したがって、一つのレスを分割で追加する   ことはできない。   InjectDatを実行したスレに対して再度InjectDatを実行する場合、5秒以上の間隔を開けないとエラーに   なる。また、スクリプト実行中のInjectDatの実行回数は「制限事項」の「リモートアクセスの制限」に   記載の通信への制限に準じた方式で2回までに制限される。 ・Text   上書き更新または追加するdatの文字列 ・Append   true: Textの文字列を現在のdatに追加する   false: Textの文字列でdatを置き換える -------------------------------------------------------------------------------------------------- □ ThreadItem.ItemCount: Integer [代]  Action:○ LateCall:○ Command:○   Subject.txtから取得したレス数(スレ一覧の「レス」) -------------------------------------------------------------------------------------------------- □ ThreadItem.ItemDelta: Integer  Action:○ LateCall:○ Command:○   スレの勢いΔの値 -------------------------------------------------------------------------------------------------- □ ThreadItem.LastGot: UTC  Action:○ LateCall:○ Command:○   スレの最終取得の時刻値   最終レスが未定義値の場合は0。 -------------------------------------------------------------------------------------------------- □ ThreadItem.LastModified: String  Action:○ LateCall:○ Command:○   datの最終更新時刻(httpレスポンスヘッダから取得した文字列)   参考:javascriptの日付オブジェクトに変換する方法   var lastModified = new Date(thread.lastModified); -------------------------------------------------------------------------------------------------- □ ThreadItem.LastWrote: UTC  Action:○ LateCall:○ Command:○   スレの最終書き込みの時刻値。未定義値の場合は0。 -------------------------------------------------------------------------------------------------- □ ThreadItem.Lines: Integer  Action:○ LateCall:○ Command:○   取得済みのレス数 -------------------------------------------------------------------------------------------------- □ ThreadItem.LocalReload(): Void  Action:× LateCall:○ Command:○   該当のスレを表示しているスレビューがある場合はそのスレを再読込する。   SetAbone()であぼーん状態を設定したり、NGを新規追加した後に表示にそれらを反映するのに使用する ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ThreadItem.Mark: Integer[代]  Action:○ LateCall:○ Command:○   スレの印の状態    1: 印あり    0: 印なし -------------------------------------------------------------------------------------------------- □ ThreadItem.Number: Integer  Action:○ LateCall:○ Command:○   板一覧上でのスレの番号。過去ログの場合は0 -------------------------------------------------------------------------------------------------- □ ThreadItem.Obj: Variant [代]  Action:○ LateCall:○ Command:○   システムでは使用/制御しない。   スクリプトがスレごとに固有の情報を保持させたい場合に情報をこのプロパティに代入する。   スクリプトごとに保存領域が分けられているので、同じThreadItemに対してA.jsとB.jsが別々に   ThreadItem.Objを設定できる。逆に、他のスクリプトが設定したObjを参照することはできない。   スクリプトからの参照がなくなってもObjは保持され、再度スクリプトから参照すれば値を取得可能。   ただし、スレは板の更新時に参照がなければ削除→再作成されるので、ThreadItemオブジェクトから   参照されていないスレが保持するObjはそのスレが所属する板の更新により高い確率で失われる。 -------------------------------------------------------------------------------------------------- □ ThreadItem.OldLines: Integer[代]  Action:○ LateCall:○ Command:○   読み込み済みのスレのうち、既読になっているレスの番号   閉じた状態のスレにこの値を設定してから開くことで「この先を未読で閉じる」が設定してあるのと   同等の効果が得られる。 -------------------------------------------------------------------------------------------------- □ ThreadItem.SetAbone(Index: Integer, Value: Integer): Void  Action:○ LateCall:○ Command:○   レスのあぼーん状態を設定する。SetAboneを行ってもスレビューの表示には反映されない。   表示に反映させるには、必要なあぼーんを設定した後にThreadItem.LocalReload()を呼び出して   再読込を行う。 ・Index   あぼーんの状態を取得するレスのレス番号 ・Value   レスに設定するあぼーん状態    0: 通常    1: あぼーん    2: 透明あぼーん    4: レスチェック ・戻り値   なし -------------------------------------------------------------------------------------------------- □ ThreadItem.ThreadAboned: Bool[代]  Action:○ LateCall:○ Command:○   スレがスレッドあぼーんされているかのフラグ。trueならばスレッドあぼーん状態   値を代入した場合、仮想的にスレッドあぼーん状態を変更できるが、値は保存されずJaneの再起動や   板の更新で元に戻る。また、代入によりスレッドあぼーん状態にしてもdat削除やお気に入りの削除は   行われない。表示中のスレ一覧に代入の結果を反映するには、代入を行った後で   JaneScript.UpdateListViewを実行する。   ※正式なスレッドあぼーんの方法はJaneScript.SetThreadAboneを参照 -------------------------------------------------------------------------------------------------- □ ThreadItem.Title: String[代]  Action:○ LateCall:○ Command:○   スレのタイトル。変更すると.idxファイルに変更が保存され、以後はそのスレタイで表示される。 -------------------------------------------------------------------------------------------------- □ ThreadItem.URL: String  Action:○ LateCall:○ Command:○   スレのURL。スレが過去ログの場合は過去ログ形式のURLになる。   ※スクリプト中でレス番リンクのためのURLを生成するようなケースでは、    ThreadItem.URL+"1-10"のような処理をするのではなくThreadItem.GetIndexedUrlを用いる。   参照:ThreadItem.GetIndexedUrl -------------------------------------------------------------------------------------------------- □ ThreadItem.UsedWriteMail: String[代]  Action:○ LateCall:○ Command:○   スレに記憶させたコテメールアドレス -------------------------------------------------------------------------------------------------- □ ThreadItem.UsedWriteName: String[代]  Action:○ LateCall:○ Command:○   スレに記憶させたコテ名 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ ViewItem オブジェクト  スレビューやポップアップを参照するオブジェクト  このオブジェクトから、スレビューが参照しているスレのThreadItemオブジェクトの取得、スレビューに  テキストを書き込むためのDatOutオブジェクトを取得、スレタブに関する情報の設定参照、選択テキストや  フォーカスされたリンクの取得などが可能 -------------------------------------------------------------------------------------------------- □ viewItem.AboneLevel: Integer  Action:○ LateCall:○ Command:○   参照するスレビュー、ポップアップのあぼーん表示の方式。値と表示の関係はDatOut.WriteThreadの   解説を参照。スレ表示以外の抽出、ログから検索、ビューアの表示などではAboneLevelはシステムの   デフォルト値になる。 -------------------------------------------------------------------------------------------------- □ viewItem.Activate(): Void  Action:× LateCall:○ Command:○   対象のviewItemがスレビューの場合はをアクティブにする。ポップアップの場合は多段アクティブ化する ・戻り値   なし -------------------------------------------------------------------------------------------------- □ viewItem.Clear(): Void  Action:× LateCall:○ Command:○   viewItemの表示内容をクリアする ・戻り値   なし -------------------------------------------------------------------------------------------------- □ viewItem.Connected: Bool  Action:○ LateCall:○ Command:○   参照先のviewItemの実体が存在しているかどうか。viewItemはスクリプトが参照を保持していても   ユーザー操作でスレビューやポップアップが閉じられれば実体が削除されてしまうので、   そのような場合にはConnectedがfalseになりアクセスが不能になる    true 存在しており、アクセス可能 false 削除されており、アクセス不可 -------------------------------------------------------------------------------------------------- □ viewItem.EndDatOut(): Void  Action:× LateCall:○ Command:○   QueryDatOutで取得したDatOutオブジェクトをdisconnectし、文字列の書き出しを終了する   viewItemオブジェクトは参照カウントがゼロになるとガベージコレクトで自動的にEndDatOutを   呼び出すので通常はEndDatOutを明示的に呼び出す必要はないが、viewItemオブジェクトを継続して   グローバル変数などに保持する場合は文字列出力の終了後にEndDatOutを確実に呼び出す必要がある。   プログラミング上、QueryDatOut以降の節はtry catch finally文で括り、finallyの中でEndDatOutを   呼び出すのが好ましい ・戻り値   なし -------------------------------------------------------------------------------------------------- □ viewItem.ExtraTitle: String[代]  Action:○ LateCall:○ Command:○   スレ表示用以外の抽出などのスレビューでスレタイ欄に表示される文字列を取得/指定する   スレ表示中のスレビューでも操作は可能だが、スレタイ欄には反映されない   viewItemがポップアップの場合には操作が無視され、取得すると常に空白文字列 -------------------------------------------------------------------------------------------------- □ viewItem.FocusedLink: String  Action:○ LateCall:○ Command:○   キャレットを表示している場合は、そのスレビューのキャレットの位置にあるリンクのhref。   キャレット非表示や対象がポップアップの場合は、直前にクリックしたリンク。   それらの位置がリンクでなかった場合は空白文字列 -------------------------------------------------------------------------------------------------- □ viewItem.Grep(Phrase: String, List: List/CategoryList/Category/Board/ThreadItem,    Option: object): Integer  Action:× LateCall:○ Command:○   viewItemオブジェクトが参照するスレビューで「ログから検索」を行う。PopupViewItemでの呼び出しは   不可。また、関数を実行したスクリプトが作成したスレビュー以外で呼び出すとエラーになる。   Optionはデフォルト以外に設定するパラメータが少なければリテラルで記述するとソースの見通しがよい。 ・Phrase   スレから検索する単語。空白文字列を指定するとエラーになる。 ・List   検索対象となるスレのThreadItemオブジェクト、板のBoardオブジェクト、カテゴリの   Cagegoryオブジェクト、板一覧全体のCategoryListオブジェクト、もしくは、それらをアイテムとして   保持したListオブジェクトを指定する。 ・Option   オプション群を指定するobject。以下の名前のメンバを追加することで検索のオプションを指定する。   指定されなかったオプションにはデフォルト値が利用される。   ・GrepMode: Integer     検索単語の形式     0: 通常検索 (デフォルト)     1: リザーブ(内部で使用しており、スクリプトでは使用しない)     2: 正規検索     3: マルチワード検索(AND)     4: マルチワード検索(OR)   ・ResDispMode: Integer     結果表示の形式     0: スレタイ、URLのみ表示してレスは表示しない     1: レス番を表示し、マウスオーバーでレスをポップアップ表示     2: レスの内容を表示する (デフォルト)   ・ThreadTitleOnly: Bool     false: スレタイ、レスの全体を検索対象にする (デフォルト)     true: スレタイのみを検索対象にし、レスの検索は行わない     ※ResDispMode==0がレス番表示を行わないだけで検索単語をレスだけに含むスレをマッチと      見なすのに対し、ThreadTitleOnly==trueではそのようなスレはマッチと見なされない   ・OmitResSearch: Bool     スレタイが検索単語を含んでいるスレの、レス検索の扱い     false: 常にレスの検索を行う (デフォルト)     true: スレタイでマッチした場合にはレス内容の検索を省略する     ※ThreadTitleOnly==trueの場合は無視される   ・ForTemplate: Bool     false: スレタイをスレへのリンクとして表示し、スレURLを表示しない (デフォルト)     true: スレタイとは別にスレURLをリンクとして表示する   ・PopupMaxSeq: Integer     ResDispMode==1の場合に連続したレスを幾つまでを連番レス形式(>>xxx-yyy)でまとめるか指定     (デフォルト値はログから検索ダイアログの「xレスまでの連続をまとめ」のx)   ・PopupEachThreMax: Integer     ResDispMode==1の場合に一つのスレで幾つまでレス番を表示するか指定     (デフォルト値はログから検索ダイアログの「1スレにつきx個まで」のx)   ・IncludeRef: Bool     ResDispMode==1の場合の、ツリー形式表示の設定     false: ツリー表示を行わない (デフォルト)     true: ツリー表示を行う   ・EnableDesktopSearch: Bool     false: デスクトップサーチによるインデックス検索を行わない (デフォルト)     true: デスクトップサーチによるインデックス検索を行う     ※Windows Desktop Searchが使えない環境でtrueに設定するとエラーになる   ・DesktopSearchQuery: String     EnableDesktopSearch==trueの場合にデスクトップサーチで検索に使用するクエリを設定する     省略した場合、JaneがPhraseから自動生成したクエリを使用する。     GrepMode==1の場合は自動生成されず、EnableDesktopSearch==trueなら必ず設定する必要がある   ・DateBegin: Date/UTC/String     検索対象となるスレの書き込み日時範囲のうち、範囲の始まりの日時を指定する。     Dateオブジェクトで指定する以外では、文字列で指定した場合はローカル時刻文字列として扱われ、     数値で指定した場合はUTCとして扱われる     (デフォルト値は範囲なし。DateEndのみ設定された場合はUTCの最小値==1970/01/01 00:00:00)   ・DateEnd: Date/Numeric/String     検索対象となるスレの書き込み日時範囲のうち、範囲の終わりの日時を指定する。     Dateオブジェクトで指定する以外では、文字列で指定した場合はローカル時刻文字列として扱われ、     数値で指定した場合はUTCとして扱われる     (デフォルト値は範囲なし。DateBeginのみ設定された場合はUTCの最大値==2038/01/19 3:14:07)   ・GrepSubject: object     レスの中で部分ごとに検索の対象とするかどうかを指定する。trueならば検索対象、falseなら除外     GrepSubject.All: レス全体を対象にする     GrepSubject.Name: 名前欄を対象にする     GrepSubject.Mail: メール欄を対象にする     GrepSubject.Date: 日付、IDを対象にする     GrepSubject.Msg: レス本文を対象にする     Allを指定した場合、他のメンバの設定は無視される。また、Allをtrueにする場合と、     Name,Mail,Date,Msgをtrueにする場合とでは、Allでは標準スキンの文字列も検索対象として     含む点が異なる。 (All==trueの場合、Phrase=="[sage]"とするとメール欄sageがマッチする。     (GrepSubjectが設定されない場合のデフォルト値はGrepSubject.All==true、他は全てfalse) ・戻り値   検索でマッチしたスレの数 -------------------------------------------------------------------------------------------------- □ viewItem.HintText: String[代]  Action:○ LateCall:○ Command:○   スレ表示用以外の抽出などのスレビューでスレタブのマウスオーバーにより表示されるヒントの文字列を   取得/指定する。   スレ表示中のスレビューでも操作は可能だが、ヒントには反映されない   viewItemがポップアップの場合には操作が無視され、取得すると常に空白文字列 -------------------------------------------------------------------------------------------------- □ viewItem.NewPopupView(SavedStatusText: String): viewItem  Action:× LateCall:○ Command:○   viewItemを親に持つ多段ポップアップヒントを生成し、それを参照するviewItemオブジェクトを返す ・SavedStatusText   ヒントの固有テキストIDを設定する(OpenJaneのソースでのTPopupViewItem.IdStrに代入される)。   例えばJaneViewの内部処理ではリンクのポップアップのSavedStatusTextにはそのリンク文字列を代入し、   カーソルが移動してSavedStatusTextと異なるリンクやリンク外に出た時にヒントを消去する処理に   利用している。一般にはヒントを表示する理由となる文字列をセットしておけばよい。 ・戻り値   生成したポップアップを参照するviewItemオブジェクト。   生成した時点のポップアップは非アクティブ状態で、画面にも表示されない。 -------------------------------------------------------------------------------------------------- □ viewItem.Obj: Variant[代]  Action:○ LateCall:○ Command:○   システムでは使用/制御しない。   スクリプトが何かviewItemに固有の情報を保持させたい場合にこのプロパティに代入しておく。   スクリプトごとに保存領域が分けられているので、あるviewItemに対してA.jsとB.jsが別々に   viewItem.Objを設定できる。逆に、他のスクリプトが設定したObjを参照することはできない。   スクリプトからの参照がなくなっても、実体のスレビューが閉じられていなければObjの内容は   保持され、再度スクリプトから参照すれば値を取得できる -------------------------------------------------------------------------------------------------- □ viewItem.Popup(X: Integer, Y: Integer): Void  Action:× LateCall:○ Command:○   viewItemが多段ポップアップの場合に、ポップアップのサイズを調整して指定の座標に表示する。   viewItemが多段ポップアップ以外の場合はエラー。表示座標がHogeTextView上の場合はHogeTextViewの   行間に対して位置が自動調整される。 ・X   表示する位置のX座標 ・Y   表示する位置のY座標 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ viewItem.PopupView: viewItem  Action:× LateCall:○ Command:○   viewItemが保持している子多段ポップアップを参照するviewItemオブジェクト。子のポップアップが   ない場合はundefined -------------------------------------------------------------------------------------------------- □ viewItem.QueryDatOut(): DatOut  Action:× LateCall:○ Command:○   スレビューに書き込むためのDatOutオブジェクトを生成し、スレビューを書き込み待機状態にする   この関数の対象にできるviewItemはそのスクリプトがviewList.NewViewで生成したものに限られ、   Janeの標準組み込みコマンドによるスレビューや抽出ビュー、他のスクリプトが生成したスレビューに   対してこの関数を実行するとエラーになる。   QueryDatOutを呼び出して書き込み処理が終了したら、EndDatOutを呼び出す必要がある ・戻り値   スレビューに書き込むためのDatOutオブジェクト -------------------------------------------------------------------------------------------------- □ ViewItem.SavedStatusText: String  Action:○ LateCall:○ Command:○   NewPopupViewで設定したポップアップヒントの固有テキストID(OpenJaneのソースでの   TPopupViewItem.IdStrを参照する)。viewItemがポップアップではない場合はエラー。 -------------------------------------------------------------------------------------------------- □ viewItem.SelectedLinks: Strings  Action:○ LateCall:○ Command:○   スレビュー/ポップアップで範囲選択された範囲に含まれるリンクのHrefを抽出したStringオブジェクト。   IEViewでは、ポップアップでしか動作せずスレビューでは常にCount==0のStringsオブジェクト。 -------------------------------------------------------------------------------------------------- □ viewItem.SelectedResNumbers: RangeList  Action:○ LateCall:○ Command:○   スレビュー/ポップアップで範囲選択している範囲に含まれるレスのレス番号を保持する   RangeListオブジェクト。範囲選択されていない場合、RangeListオブジェクトは最後にクリックまたは   右クリックされた位置のレス番を保持する。スレビュー、レス抽出、レスポップアップで取得できるが   ログから検索では常にCount==0のRangeListオブジェクト。また、IEViewでは、ポップアップでしか   動作せずスレビューでは常にCount==0のRangeListオブジェクト。   RangeListオブジェクトではレス番は範囲ごとにまとめられることななく、レスごとに単独の範囲として   出力される。   例: レス1から4を選択し、レス2が透明あぼーんされていて見えない場合のSelectedResNumbersの結果。     (レスがRangeBegin(1)==3, RangeEnd(1)==4という形で範囲にまとめられていないことに注意)    SelectedResNumbers.RangeBegin(0)==1    SelectedResNumbers.RangeEnd(0)==1    SelectedResNumbers.RangeBegin(1)==3    SelectedResNumbers.RangeEnd(1)==3    SelectedResNumbers.RangeBegin(2)==4    SelectedResNumbers.RangeEnd(2)==4     SelectedResNumbers.Count==3     SelectedResNumbers.WholeRangeWidth==3 -------------------------------------------------------------------------------------------------- □ viewItem.Selection: String  Action:○ LateCall:○ Command:○   スレビュー/ポップアップで範囲選択している文字列。範囲選択していない場合は空白文字列。 -------------------------------------------------------------------------------------------------- □ viewItem.TabText: String[代]  Action:○ LateCall:○ Command:○   スレ表示用以外の抽出などのスレビューでスレタブに表示される文字列を取得/指定する。   スレ表示中のスレビューでも操作は可能だが、ヒントには反映されない   viewItemがポップアップの場合には操作が無視され、取得すると常に空白文字列 -------------------------------------------------------------------------------------------------- □ viewItem.Thread: ThreadItem [代] ※代入はviewItemがポップアップの場合にのみ可能  Action:○ LateCall:○ Command:○   スレビュー/ポップアップで開かれているスレのThreadItemオブジェクト。抽出やログから検索β、   スクリプトが作成したスレビュー/ポップアップなど、スレを保持していないビューではundefined。   viewItemがポップアップの場合には、threadに代入が可能。threadに代入した場合、   それ以降にdatOut.WriteThreadで書き込んだレスがそのthreadに属する場合にはそのレス番メニューや   IDメニューが有効になる。viewItem.thread=undefinedの場合やviewItem.thread以外のスレのレスを   書き込んだ場合はレス番メニューやIDメニューが表示されない -------------------------------------------------------------------------------------------------- □ viewItem.Trim(): Void  Action:○ LateCall:○ Command:○   多段ポップアップの末尾の空白行を削除する。viewItem.ViewType == "PopupView"の場合のみ有効で、   それ以外の場合はエラーになる。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ viewItem.ViewType: String  Action:○ LateCall:○ Command:○   viewItemオブジェクトが参照する対象の種別を示す文字列。    "PopupView" ポップアップ    "ViewerView" ビューアの簡易HTML表示    "ThreadView" スレ表示中のスレビュー    "FunctionalView" 抽出など、スレ表示以外のスレビュー    "FlexView" 上記以外のHTML表示(書き込みプレビューなど)    "Undefined" 上記以外 -------------------------------------------------------------------------------------------------- □ viewItem.WriteSkin(Skin: String): Void  Action:× LateCall:○ Command:○   スキン文字列を書き込む。そのビューでQueryDatOutによりDatOutオブジェクトが作成され、有効に   保持されている状況でなければ実行できない。   Doeでフォントを変更するためにはWriteSkinでBodyタグによりフォント設定する必要がある。   Skin文字列に空白文字列を指定した場合、Jane側で設定された通常スキンが使用される。   (もっと変えたいβなどの板別設定は使われない) ・戻り値   なし -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ ViewList オブジェクト  スレタブの一覧を保持するオブジェクト。このオブジェクトから個別のスレタブにアクセス可能。  スクリプト用の新規スレビューの作成もこのオブジェクトから行う。 -------------------------------------------------------------------------------------------------- □ viewList.Connected: Bool  Action:○ LateCall:○ Command:○   参照先のviewListの実体が存在しているかどうか    true 存在しており、アクセス可能 false 削除されており、アクセス不可   ※現在の実装では、viewList.Connectedがfalseになることはない -------------------------------------------------------------------------------------------------- □ viewList.Count: Integer  Action:○ LateCall:○ Command:○   現在開かれているスレビューの数 -------------------------------------------------------------------------------------------------- □ viewList.Items(Index: Integer): ViewItem  Action:○ LateCall:○ Command:○   現在開かれているスレビューを参照する ・Index   参照するスレビューの番号(左端が0、右端がCount-1) ・戻り値   対象となるスレビューを参照するViewItemオブジェクト -------------------------------------------------------------------------------------------------- □ viewList.NewView(Relative: Bool, Background: Bool): ViewItem  Action:× LateCall:○ Command:○   新規にスレタブを作成する。IE版ではこの関数はメッセージ処理を伴うので、開いたスレタブが   この関数の終了前にユーザーにより閉じられてしまう可能性がごくわずかながらある。その場合は   戻り値のConnectedがfalseになるので、それを確認するか、もしくは戻り値にアクセスしたときに   発生する例外をcatchしてその後の処理を取りやめ、適切に終了させる ・Relative   タブを追加する位置の設定    true 設定-タブ操作-「タブを追加する位置」の「タブから開く時」に従う    false 設定-タブ操作-「タブを追加する位置」の「通常」に従う ・BackGround   true アクティブタブを変更しない   false 作成したタブをアクティブにする ・戻り値   作成したスレビューを参照するViewItemオブジェクト -------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=--=-=--=-=--=-=--=- ■ WriteForm オブジェクト  書き込みダイアログへの参照を保持するオブジェクト。このオブジェクトから、書き込みダイアログを  開く、閉じるなどの処理、内容の取得、変更などが可能。非表示の状態で設定した項目は、表示される  時に初期化される場合がある。  ※WriteFormには適当なポップアップ項目がないため、メニューを追加する場合には核子メニューの   WriteForm.Menuに置く。WriteForm.Menuは書き込みダイアログのメインメニューで、スクリプトや   menuconf.iniで項目が追加されない限り表示されない。 -------------------------------------------------------------------------------------------------- □ WriteForm.Board: Board  Action:○ LateCall:○ Command:○   書き込みダイアログがスレ立てする板、または書き込みの対象にしているスレが所属する板。   書き込みダイアログが表示されていない時は常にundefined。 -------------------------------------------------------------------------------------------------- □ WriteForm.Close(): Void  Action:× LateCall:○ Command:○   書き込みダイアログを閉じる。草稿保存を設定している環境でCloseにより草稿保存のアラートが   出るのを防ぎたい場合は、Closeの前にMsgBody.Textを空白にする。 ・戻り値   なし -------------------------------------------------------------------------------------------------- □ WriteForm.FileBox: Edit  Action:× LateCall:○ Command:○   画像板への投稿で投稿するファイルを設定するエディットボックスを参照するEditオブジェクト -------------------------------------------------------------------------------------------------- □ WriteForm.MailBox: Edit  Action:× LateCall:○ Command:○   メール欄を設定するエディットボックスを参照するEditオブジェクト -------------------------------------------------------------------------------------------------- □ WriteForm.MsgBody: Edit  Action:× LateCall:○ Command:○   投稿する本文を設定するエディットボックスを参照するEditオブジェクト。 -------------------------------------------------------------------------------------------------- □ WriteForm.NameBox: Edit  Action:× LateCall:○ Command:○   名前欄を設定するエディットボックスを参照するEditオブジェクト -------------------------------------------------------------------------------------------------- □ WriteForm.Open(Item: Board / ThreadItem): Bool  Action:× LateCall:○ Command:○   書き込みダイアログを開く。ItemとしてBoardオブジェクトを設定した場合はその板でのスレ立て、   ThreadItemを設定した場合はそのスレへの投稿のダイアログが開かれる。すでに書き込みダイアログが   開いている時は、ダイアログにフォーカスを移す。 ・戻り値   true: 書き込みダイアログを開くことに成功   false: 書き込みダイアログはOpenの実行より前から開いていた -------------------------------------------------------------------------------------------------- □ WriteForm.PageIndex: Integer [代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○   書き込みダイアログのアクティブタブを切り替えたり、アクティブなタブを取得する   0: 書き込みページ, 1: プレビュー 2: ローカルルール, 3: SETTING.TXT, 4: 書き込み結果 -------------------------------------------------------------------------------------------------- □ WriteForm.PassBox: Edit  Action:× LateCall:○ Command:○   画像板への投稿で削除パスを設定するエディットボックスを参照するEditオブジェクト -------------------------------------------------------------------------------------------------- □ WriteForm.SageChecked: Bool [代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○   書き込みダイアログのsageチェックボックスの状態を取得/設定する。   true: チェックされている, false:チェックされていない -------------------------------------------------------------------------------------------------- □ WriteForm.SettingText: String  Action:○ LateCall:○ Command:○   その板の取得済みのSETTING.TXT。   ※このプロパティを参照してもSETTING.TXTの更新は行われない。    スクリプトから更新するには、ダイアログを開いた状態でPageIndexをいったん3に設定する -------------------------------------------------------------------------------------------------- □ WriteForm.Showing: Bool  Action:○ LateCall:○ Command:○   書き込みダイアログが開かれているかを示す。   true: 開かれている false: 閉じられている -------------------------------------------------------------------------------------------------- □ WriteForm.StatusBarText: String [代]  取得:Action:○ LateCall:○ Command:○  代入:Action:× LateCall:○ Command:○   書き込みダイアログ下のステータスバーの右側の部分に表示されるテキストを取得/設定する -------------------------------------------------------------------------------------------------- □ WriteForm.SubjectBox: Edit  Action:× LateCall:○ Command:○   スレ立て時のタイトルを設定するエディットボックスを参照するEditオブジェクト -------------------------------------------------------------------------------------------------- □ WriteForm.Thread: ThreadItem  Action:○ LateCall:○ Command:○   書き込みダイアログが書き込みの対象にしているスレ。スレ立て時はundefined。   書き込みダイアログが表示されていない時は常にundefined。 -------------------------------------------------------------------------------------------------- □ WriteForm.WriteResult: Edit  Action:× LateCall:○ Command:○   書き込み結果が表示されるエディットボックスを参照するEditオブジェクト --------------------------------------------------------------------------------------------------