[Top Page][Edit][Discussion][Edit History][All Pages][Recent Changes][->Japanese]

HSPHelp:getstr


getstr

getstr p1,p2,p3,p4                      [バッファから文字列読み出し]

    p1=変数 : 内容を読み出す先の変数名
    p2=変数 : バッファを割り当てた変数名
    p3=0〜 : バッファのインデックス(Byte単位)
    p4=0〜255 : 区切りキャラクタのASCIIコード

説明

メモリ上のバッファの任意の場所にある内容を文字列として変数に読み出します。 文字列は、00というコードか、改行コードがあるまで読み出されます。改行コードは文字列には含まれません。

また、区切りキャラクタコードを指定することができ任意の文字で区切られた文字列を取り出すこともできます。

この命令で読み出されたByte数は自動的にstrsizeというシステム変数に代入されます。 strsizeは、次のインデックスまでの移動量を得る時に使用します。

たとえば、変数bのバッファに 'A' 'B' 'C' ',' 'D' 'E' 'F' 00(終了コード) というデータが入っている場合、

    getstr a,b,0,','

を実行すると、変数aの内容は、 'A' 'B' 'C' の部分が読み出されて"ABC"という文字列になり、strsizeは4になります。

この命令は、複数行を含むテキスト文字列データや、 特定の文字で区切られたデータを効率よく切り出すためのものです。 複数行を含むテキストを扱うためには、他にもメモリノートパッド命令セットがあります。 また、文字列から特定数の文字を取り出すためには、 HSPHelp:strmid?命令が用意されています。