Vzマクロ技術資料館 目次


テキスト管理ワークを探る

Vzのテキスト管理ワークの構造は、VZ.INCに定義されています。
;--- Text record ---

_text		struc
w_next    dw  ?   ; next record link ptr
wnum      db  ?   ; window number
これに注釈をくわえたのが下の表です。

consoleのテキスト管理ワーク(wo)を起点として、全テキスト分の管理ワークがリンクしています。表テキストの管理ワークは wa、裏テキストの管理ワークは wb です。リンクの最後では、w_nextに0000hがはいります。

マクロで利用できそうなワークはほとんどがシステム変数として提供されていますが、複数のテキストを実際には切り替えずに情報を得たいような場合に利用するとよいでしょう。

たとえば、表テキスト名は wa+146、裏テキスト名は wb+146 で得ることができます。


テキスト管理ワーク(1テキストあたり228バイト)の概要
名前




VZ.INCの
コメント
対応するシステム変数
および補足説明
w_next 2 +0 next record link ptr 次のテキスト管理ワークへのポインタ
0000hなら最後
wnum 1 +2 window number wn
tchf 1 +3 touch flag
(0=nop,1=modified,-1=RO
mr
wsplit 1 +4 window split mode wt
blkm 1 +5 block mode
(1=line,2=char
mb
wy 1 +6 y loc. in screen ly
wnxt 1 +7 next line y loc. in screen -
wys 1 +8 wy keeper ky
nodnumb 1 +9 disp number flag -
lnumb 2 +10 line number ln
dnumb 2 +12 disp number ld
lnumb0 2 +14 line number offset -
dnumb0 2 +16 disp number offset -
ttops 2 +18 text area top seg tz
tends 2 +20 text area end seg or EMS entry -
ttop 2 +22 text top ptr -
tend 2 +24 text end ptr -
tmax 2 +26 text buffer end ptr -
thom 2 +28 screen home ptr -
tbtm 2 +30 screen bottom ptr -
tnow 2 +32 current line ptr cl: 現在行の先頭オフセット
tnxt 2 +34 next line ptr 次行の先頭オフセット
wa..17-cl: 現在行のバイト数
btop 2 +36 line buffer top ptr cl(#]でフラッシュする前):
ラインバッファ先頭のオフセット
bend 2 +38 line end ptr ラインバッファ末尾のオフセット
tcp 2 +40 current ptr (common) cp: カーソル位置のオフセット
cp-cl: 行頭からのバイト数
tfld 2 +42 field start ptr (common) -
bmax 2 +44 line buffer end ptr -
bhom 2 +46 screen home ptr (in buffer) -
bbtm 2 +48 screen bottom ptr (in buffer) -
lbseg 1 +50 line buffer seg -
inbuf 1 +52 - -
tw_px 1 +53 + text window -
tw_py 1 +54 + -
tw_sx 1 +55 + wx
tw_sy 1 +56 + wy
tw_cy 1 +57 + -
fsiz 1 +58 field size we
fskp 1 +59 display skip x -
fofs 1 +60 H-scroll offset x -
lxs 1 +61 lx keeper kx
lx 1 +62 x loc. in field lx
ly 1 +63 y loc. in line lh
tabr 1 +64 Tab size ht
exttyp 1 +65 file ext type fe
ctype 1 +66 current char type ct
ckanj 1 +67 1=kanji ck
ccode 1 +68 current char code cd
namep 1 +70 file name ptr nm: 相対パス名 = labelpと同じ
largf 1 +72 large text flag -
temp 1 +73 temporary file flag -
readp 4 +74 text read long ptr -
eofp 4 +78 EOF lptr -
headp 4 +82 head lptr -
headsz 2 +86 head size -
tailp 4 +88 tail lptr -
tailsz 2 +92 tail size -
textid 2 +94 text ID No. id
w1 2 +96 work 1 -
w2 2 +98 work 2 -
w3 2 +100 work 3 -
bofs 2 +102 block mark offset in line -
blkx 1 +104 block mark x loc. xb
fsiz0 1 +105 save of fsiz -
tbmax 2 +106 size of text buffer ##1.5 -
tbalt 2 +108 size of temp. block ##1.5 -
tblkp 4 +110 block lptr ブロックマーク位置
tnowp 4 +114 current lptr -
trgtp 4 +118 target lptr -
toldp 4 +122 old current lptr -
tretp 4 +126 return lptr マーク#0
tmark 4 +130 mark lptr マーク#1
4 +134 マーク#2
4 +138 マーク#3
4 +142 マーク#4
path 64 +146 path name area 絶対パス名
tsstr 2 +210 title search string ptr ts
blktgt 2 +212 block target flag xc
inpcnt 2 +214 input counter qn
ektbl 2 +216 event key table ptr qk
ext4 2 +218 file ext 4 ne
labelp 2 +220 label name ptr nm: 相対パス = namepと同じ
lnumb9 2 +222 last line number -
dspsw1 1 +224 alternate dspsw td: 表示スイッチ
atrtxt1 1 +225 - vn(未使用)
atrstt1 1 +226 - vs: ステータスラインの表示属性
atrpath1 1 +227 - vy: ファイル名の表示属性


Vzマクロ技術資料館 目次