#include "mod_hs.as" /* =============================================== ih_ansbuf 項目表示 ih_ansbuf 検索候補バッファ ih_info メッセージ表示バッファ ih_refinf 関連項目表示バッファ ih_refsel 関連項目表示バッファ ih_group グループ ih_ans_key 命令名 ih_ans_name HSファイル名 ih_ans_title 命令の内容 ih_ans_dll 使用DLL ih_prgsmp サンプル情報 ih_prminf パラメータ情報 ih_fncprm パラメータ情報2 ih_opt 詳細情報表示バッファ =============================================== */ screen ,640,295 ; EXE化の時には外す chdir exedir+"\\hsphelp"; EXE化の時には外す ;chdir exedir ; EXE化の時にはコメントを外す。 str keyword ;キーワード keyword=cmdline ;キーワード取得 sdim buf,10000 ;一時的文字列 ;表示に関する部分 title "The Manager":cls 1:objmode 1,1:sysfont 17:gsel ,2 ;インデックスがあるか調べる exist "hsphelp.idx" if strsize==-1:dialog "Error!",1,"The Manager":end ihelp_find keyword key_num=stat #define lobj_w 100 ;左側オブジェクト幅 #define lobj_h 160 ;左側オブジェクト高さ #define robj_w 510 ;右側オブジェクト幅 zero==0 ;=============================================== ;項目リスト(0) pos 10,15:objsize 100,160,20 listbox sel,1,ih_ansbuf ;参照(1) pos 10,170 objsize 100,60,20 listbox ref,1,ih_refinf ;検索入力(2) pos 10,230 input keyword,100,20 ;検索(3) objsize 60,20 pos 10,260:button "&Search",*find ;消去(4) objsize 30,20:pos 80,260:button "&C",*back ;項目タイトル(5) pos 120,15:input ih_ans_title,250,20 flag==1:objsend 5,$cf,flag,zero ;パラメータ(6) pos lobj_w+20,40:mesbox buf,robj_w/2-5,70 ;サンプル(7) pos 380,15 mesbox ih_prgsmp,robj_w/2-5,95,4 ;本文(8) pos lobj_w+20,120:mesbox ih_info,robj_w,130 ;使用DLL(9) pos lobj_w+20,260:input ih_ans_dll,robj_w,20 flag==1:objsend 9,$cf,flag,zero ;=============================================== if key_num!=0:goto *show:else:goto *back *main ;入力チェック if sel!=sel_log:goto *show if ref!=ref_log:goto *show_ref ;「Alt+?」チェック getkey key,18 if key==1{ getkey key,'S' if key==1:goto *find getkey key,'C' if key==1:goto *back } onkey *inpt:wait 1:goto *main *show ;項目リストからの選択 onkey 0 ihelp_open sel gosub *sub objsel:goto *main *find ;検索ボックスからの検索時 onkey 0:ihelp_find keyword objprm ,ih_ansbuf ;命令一覧を表示 gosub *sub_show if ih_ansbuf!="":gosub *sub if ih_ansbuf==""{objprm 1,"" objprm 5,"":objprm 6,"" objprm 7,"":objprm 8,"":objprm 9,"" wait 100:goto *back} objprm ,0:objsel 2:goto *main *show_ref ;参照からの選択 onkey 0:notesel ih_refinf:noteget buf,ref ihelp_find buf:gosub *sub_show gosub *sub objprm ,0:objsel 8:goto *main *sub ;選択された項目を表示する objprm 7,ih_prgsmp ;サンプル objprm 8,ih_info ;本文 objprm 1,ih_refinf ;参照 ;パラメータ表示 objprm 6,""+ih_ans_key+" "+ih_fncprm+"\n\n"+ih_prminf+"" objprm 5,ih_ans_title ;命令内容 ;DLLが必要ならそのDLLを表示 if ih_ans_dll!="":objprm 9," [ "+ih_ans_dll+".dll ]" if ih_ans_dll=="":objprm 9,"" ref_log=ref:sel_log=sel:return *sub_show ;参照・検索窓からの移動時表示準備 objprm ,ih_ansbuf notesel ih_ansbuf noteget buf ;一覧の一行目を取得 ihelp_open ;内容取得 return *back ;全てクリア ihelp_find "" ;全命令検索 objprm ,ih_ansbuf ;全命令表示 objprm 2,"" ;検索文字列クリア ihelp_open:gosub *sub objsel:goto *main *inpt ;日本語入力確定でなければ検索から移動 if (iparam!229)&(iparam=13):goto *find goto *main