今回はGetCharacter()を使ってリストの英単語を読み取り、
その長さを隣の列に出力するというプログラムをつくる。
下図がそのイメージだ。
*
*
*
*
*
*
*
*
*
*
*
*
プログラムのコードは下のようになる。
ジャンプ(.ページ番号=1,.行番号=5,.文字位置=44)
For %y = 1 to 20
%Str=""
For %x = 1 to 12
%S = GetCharacter()
If %S= " " Or %S = " " Then
Exit For
End If
右
%Str = %Str & %S
Next
%MyWord(%y)=%Str
%Length(%y) = Len(%Str)
ジャンプ(.ページ番号=1,.行番号=(5+%y),.文字位置=44)
Nextジャンプ(.ページ番号=1,.行番号=5,.文字位置=68)
For %i= 1 to 20
削除(.回数=2)
Insert(%Length(%i))
DownCell()
Next
GetCharacter()は1文字ずつしか読み取れないために
上記のコードで12回ループして変数%Strに1単語分を
読み込む。マス目が12×12なので1単語は
最長12文字まででなければならない。
尚、補足だが「右」というのはカーソルをひとつ右に移動させる命令だ。
この命令をループのなかで使うことによりGetCharacter()で
一単語文の文字を読み取っていく。さらにDownCell()というのは
カーソルを1マス下に移動させる命令である。
上記のコードはサンプルファイルのなかに「文字取得」という名前の
マクロとして登録されている。
コメント