2022.6.25
前へ
次へ
ホームページトップへ戻る


PIC−USBIO using BASIC

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第15回]



●LEFT$、MID$、RIGHT$

前回はDATE2$、TIME2$に関連して文字列の結合について書きました。
文字列の話になりましたので、その延長として今回は文字型関数のLEFT$、MID$、RIGHT$について書くことにします。
いずれの関数も一般的なBASICには普通に用意されている関数です。
当初はPIC−USBIO用のBASICにそんなものは要らんだろうと思っていたのですが、結局勢いに任せて作ってしまいました。
書式としては一般的なBASICと同じです。

LEFT$(文字列,n)

文字列は文字定数(” ”で囲った文字列)か文字型の変数で、nはその文字列の左からn個の文字列を引用することを示します。
nとしては数値のほか計算式、変数、配列のいずれも可能です。
PIC−USBIO用のBASICでは文字列の長さは最長39文字という制限があります(これはZB3BASICに合わせたためです)。
その制限のためnの値は1〜39の範囲でなければなりません。

MID$(文字列,n,m)

文字列の左端から数えてn番目から始まるm個の文字列を引用します。
文字列、nはLEFT$の場合と同じです。
mも1〜39の範囲でなければなりません。

RIGHT$(文字列,n)

文字列の右からn個の文字列を引用します。
文字列、nはLEFT$の場合と同じです。

使用例です。

10行〜60行が前回説明したDATE2$に対する使用例です。
70〜100がDATE$に対する使用例です。
DATE2$は間に/が無いのでnの値を簡単に決められます。
ここまでの例でのLEFT$、RIGHT$についてはDATE$に対する場合と違うところはありませんがMID$ではDATE2$は単純に2、2、2と切り分けられるところがミソです。
DATE2$の便利さは110〜130のような使い方をするときに実感できます。
同じことをDATE$ですると140〜160のように書かねばなりません。
ちょいと面倒な作業になります。

ところで。
上のほうに書いたようにn、mの値は1〜39の範囲になければなりません。
その範囲外の数を指定するとエラーメッセージが表示されます。
範囲内の数であっても対象文字列の長さを越える数を指定した場合に、MID$のnではやはりエラーになります。
しかしその場合にLEFT$、RIGHT$ではエラーにはならず対象文字列がそのまま引用されます。
またMID$のmにn番目から右側の文字数よりも大きな数を指定した場合にはn番目から右側の文字列全部が引用されエラーにはなりません。
下は実行例です。


PIC−USBIO using BASIC[第15回]
2022.6.25upload

前へ
次へ
ホームページトップへ戻る