ビジレスADアプリ研究室
ここでは、プログラミングの発想から実装までを実験を通して検討してみます。 2009.12.03

 検索プログラム

A列にある検索コードで、その行を呼び出して修正するプログラムを考えてみます。

1.原型

Eプログラムの例 CSEARCH$( ) の使い方 V5, V6 共通


L10:R
locate5,21:winputA$,"検索コード"
VB$=CSEARCH$(RTOS("A"),0,A$,1,SYS("LINE"))
VB$=PARAM$(B$,1)
VB#=VAL(B$)
I B#
W1
END


2.発展形 

検索プログラムの実例 その1 会員番号など、そのファイルに1個だけの情報検索の場合

L10:R
VB#=0:repeat
locate5,21:winputA$,"検索コード"
c
if A$="":VB#=-1:goto<D1:endif :<ESC or 空
if A$="/":VB#=-1:goto<D1:endif :</中断
VB$=CSEARCH$(RTOS("A"),0,A$,1,SYS("LINE"))
VB$=PARAM$(B$,1)
VB#=VAL(B$)
if B#=0:c"[A$]は無い!":endif
<D1
until B#<>0
if B#=-1:END:endif :<ESC or 空 or /
I B#
W1
END


検索プログラムの実例 その2 郵便番号など、そのファイルに複数存在する情報検索の場合


L10:R
locate5,21:winputA$,"郵便番号"
c
if A$="":VB#=-1:goto<D1:endif :<ESC or 空
if A$="/":VB#=-1:goto<D1:endif :</中断
?C$[A$]
VB$=CSEARCH$(RTOS("C"),6,A$,1,SYS("LINE"))
VB$=PARAM$(B$,1)
VB#=VAL(B$)
if B#=0:R:beep:c"[A$]は無い!":END:endif

locate5,21:winputA$,"行番号?",B$
if A$="":VB#=-1:goto<D1:endif :<ESC or 空
if A$="/":VB#=-1:goto<D1:endif :</中断
VB#=VAL(A$)
<D1
if B#=-1:END:endif :<ESC or 空 or /
I B#
W1
END


フォーマット自動作成プログラム(AD V6.23以降)

PASTEコマンドで受け取るためのフォーマットを自動作成するプログラムを考えてみます。

V S#=6  :<最小幅
V A#=SYS("CBLINE")
V D#=SYS("CBCOLUMN")
!
Va$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
<     A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Vc$="# # # # # # # # # # # # # # # # # # # # # # # # # # #"
Vb$="[c$] [c$]" :<52列
Vd#=D#*2+1
Vc$=LEFT$(b$,d#)
XF[c$]
PASTE
Vc#=0
repeat:Vc#+
VA$=STOR$(c#)
ATX [A$],S#
until c#=D#
XL A#
R:END


    1  上のプログラムを S#=6 から R:END までの範囲をマウスでコピーして、
    2 ビジレスのA列だけの大きなシートに、 ( >!:R でA列シートはOK)
       >PASTE  で書き込まれる。
       XN で "受け取り用FOMAT作成" のような名前を付けて保存しておく。
      このプログラムを5番に保存したとして、実際の使い方を説明しよう。
    3  >L5 でこのプログラムを呼び出したら、

    4 マウスで、エクセルのデータをコピーする。列数は覚えなくてもいい。

    5  >E5 でビジレスのデータになる。
      Eプログラム中に PASTE が埋め込まれているからだ。


 AUTOEXEC.BSI変更プログラム

ビジレス起動時の設定ファイルである AUTOEXEC.BSI を編集するプログラムを考えてみます。

!
VD$=CSYS$("DRIVE")
FDC:CHDIR\BUSI:ALOAD"AUTOEXEC.BSI",SN
XN"AUTOEXEC.BSI変更記録"
VA$=CSYS$("DATE")
XT A" ビジレス設定ファイル AUTOEXEC.BSI の変更 [A$]"
ATX A,120
VA$="システム設定"
VB$=CSEARCH$(RTOS("A"),8,A$,1,SYS("LINE"))
VB$=PARAM$(B$,1)
VB#=VAL(B$)
I B#
locate1,20
FD D$
wsel a#,"C:\BUSIに登録"," 中止 ","上書き保存"
if a#=1:EX"C:\BUSI\AUTOEXEC.BSI":END:endif
if a#=2:ASAVE"C:\BUSI\AUTOEXEC.BSI",SN:EX"C:\BUSI\AUTOEXEC.BSI":END:endif
END


上のリストを「AUTOEXEC.BSI変更プログラム」と名前をつけて保存してください。
この例では「システム設定」というキーワードにカーソルを移動させてプリンター機種変更や
自動実行プログラムの登録ができるようにしています。

実験してみてください。


DVDタイトル印刷応用プログラム

DVDタイトル印刷のデータ管理への応用プログラムを考えてみます。
MULTI PRINT

メインタイトルをマウスでコピー、これがビジレスデータではファイル名となる。 

次のステップでサブタイトルを一括でコピー。 これがビジレスデータとなるわけだ。

MULTI PRINT
これはプリンターの付属品に付いているタイトル印刷プログラムだが、1日1枚ずつ増え続け
ている我が家のDVDタイトルを、COPY-PASTEコマンドを使ってビジレスで管理してみた。
タイトル検索ならビジレスの得意分野だ。

DVD TITLE


goto<EPRO
< LINE 3 KEEPS THE LAST FILE NUMBER
85


<EPRO
L240
VS#=3A

LS#
R
XN
XE"E239"
R
c"E ⇒PASTE&保存"
END

ファイル番号とファイル名  D240START  



CA
PASTE
VN#=S#+1
W2,N#
L240
V3A=N#:W1
LN#
R
END

ファイル番号とファイル名  D239EXEC_PASTE  


使い方
DVDタイトル印刷ソフトの操作は省略します。 
印刷が終わったあと、DVDタイトル印刷ソフトのメインタイトルをマウスでコピーします。

ここからビジレスの操作です。
E240 でスタートします。
ビジレスのファイル名(前回の)でカーソルが点滅しますから、マウスの右クリックで上書きに
なります。
そのあと、サブタイトルを一括でコピーして、ビジレスのコマンド待ちから E エンターでE239
が実行されてDVDのタイトルファイルになります。
私の場合、毎日使うので次のようなスクリプトを BEX ファイルに入れてあります。 


echo 0
FDD:XB7
E240
END

DVD録画記録.bex


NET時代のビジレス活用法1: 書類の目次管理

メルマガやNetNewsを読んでいると、印刷して保存したいときがあります。 数ページの記事も
クリアファイルに順に入れていくうちに、どこにあるか探すのが大変です。
そこで、書類の目次管理にビジレスを応用してみます。
私が使っている「目次管理」をビジレスADの、 ASAVE "D:\WORK\LIST.TXT",AT で保存したも
のをそのまま掲載しておきます。 ,ATはフォーマット情報を含めて保存するオプション。


busiattr
NEWS ヒント リスト3 シリコンバレー101
COL=320
KOU=4
SEP=9
$ FDD:XB33:L48    シリコンバレー101                                   #PAGE$ DATE     $          $
LINE=30
KEI=1
BYTE=1647
                                                                     
    
          
          

W1
PRTSET"WINNT","PX-A640":XK1:XPP2:XP44:PF10:PEND

EXTNO=1
CV=1
WT=4
TI=0
attrend
327 ビット・エコノミーは無料に向かう - 話題の「FREE」を読む	3	2009/07/22	3P
328 平均700ドル - 止まらないPC価格の下落、本体で儲ける時代は終わり!?	6	2009/07/28	6P
329 Google Books、次のステップは街の本屋のデジタル化	12	2009/08/05	3P
Free: The Past and Future of a Radical Price   by Chris Anderson	2	2009/08/05	1P
326 Googleのサービスは反トラスト法違反!? "無料"論争が飛び火	15	2009/07/14	2P
「スマートグリッド革命」の本質とは―『シリコンバレー・モデル』(上)	17	2009/08/06	2P
「スマートグリッド革命」の本質とは―『シリコンバレー・モデル』(中)	19	2009/08/07	2P
「スマートグリッド革命」の本質とは―『シリコンバレー・モデル』(下)	21	2009/08/10	3P
ついにGoogle製ネットブックOS登場へ、その名は「Google Chrome OS」	24	2009/07/13	2P
DNP, 大型有機薄膜太陽電池で変換効率4%超を達成-15年度から本格展開狙う	26	2009/06/22	2P
330 Billboardも雑誌に見切り-成功の方程式が通用しなくなった米音楽業界	28	2009/08/12	3P
太陽光発電,スマートグリッド,LED照明,東芝社長が示した各事業戦略とは	31	2009/08/05	1P
Firefox 3.6 Alpha 1、高速起動とキビキビレスポンス	32	2009/08/10	1P
産総研リチウムイオン2次電池用のコバルトを含まない酸化物正極材料を開発	33	2009/08/18	1P
トヨタ、レクサスのハイブリッド専用車「HS250h」を発売1カ月で1万台受注	34	2009/08/18	1P
Solar Cell Manufacturing Capacity to Surge 56% in 2009 Despite Shrink	35	2009/08/17	1P
Sony Develops Li-Ion Secondary Battery Using Olivine-Type Li-Iron Pho	36	2009/08/12	1P
ブログ、SNS、Twitter…経営者はソーシャルメディアにどう対処すべきか	37	2009/08/18	1P
カーエレクトロニクス 13エコブームに乗り電気自動車が相次いで発売される	38	2009/08/06	3P


上のデータをマウスでコピーしてメモ帳に貼り付けて保存してください。
例としてDドライブのWORKフォルダーに LIST.TXT の名前で保存します。
このファイルをビジレスADから、 ALOAD "D:\WORK\LIST.TXT",AT  で読み込みます。
XEの設定を含めたビジレスデータが再現しましたか。

使いかた
メルマガなどの保存しておきたいページのタイトルをマウスでコピーして A 列にペーストします。
ページや日付は手入力です。 
この目次をクリアファイルの1ページに入れておくだけですが、必要なファイルをすぐ取り出せる
ようになりました。
実際のファイルをクリアファイルに入れる時に、鉛筆でページを書き込んでおきます。
XEにプリンターの設定をしていますが、ご自分のプリンターに合わせてお使いください。
38P
  Y.Kitagawa MASH SYSTEMS  2009.8.21