トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

HSP.文字列

*disclaimer
305895

[HSP]
HSP

文字列



フォントを指定する

font "MS ゴシック", 32, 1

font "フォント名", サイズ, スタイル

スタイルの設定

1 太字
2 イタリック
4 下線
8 打ち消し線
16 アンチエイリアス

スタイルを組み合わせたい場合は、数字を足す。



文字列の一部だけ色を変える

  • colorで文字の色を指定し
  • mes命令のオプション 1 で改行しないようにする
mes "ここは黒",1 :color 255, 0, 0: mes "ここは赤", 1: color: mes "後ろを黒に"




文字の改行

文字列中に \n を入れることで、そこで改行される。

mes "ながいぶんしょうなので、\nかいぎょうしたいとおもうのですが\nどうしたらよいでしょうか"

適当に改行したうえで、前後の引用符をさらに { } で囲む。

mes {"ながいぶんしょうなので、
かいぎょうしたいとおもうのですが
どうしたらよいでしょうか"}

strlen

文字列の長さを調べる。

strlen 結果の変数名, 調べたい文字列

全角は2文字分。

strmid

  • 部分的に文字列を取り出す。

何文字目から何文字取り出すか、と指定する。

strmid 結果を保存する変数, 取り出し元の変数, 何文字目から, 何文字分を

text='When I was a child, I lived in Tokyo.'
strmid kekka, text, 7, 3

kekkaには、「was」が入る。
文字の位置は0から始まる。7と指定すると8文字目から。


    • 特定の文字列以降を取り出すには
text='When I was a child, I lived in Tokyo.'
instr koko, text, "," : getstr kekka, text, koko+2

カンマ以降をとりだし、kekkaには「I lived in Tokyo.」が入る。
前半でinstrでカンマの位置を調べて、後半でgetstrでカンマの位置に直後のスペース一文字分を足して「2」を足した位置から行末までをkekkaに保存する。


instr

検索文字列が何文字目にあるかを調べる。

instr 結果を保存する変数, 検索対象の変数, "検索文字列", 何文字目から検索するか

第4項目の「何文字目から検索するか」を指定しなければ行頭から。
結果は、数字で保存される。1文字目が「0」となる。
文字列がなければ「-1」が結果となる。

text='When I was a child, I lived in Tokyo.'
instr kekka, text, "was"

kekkaは「7」となる。

getstr

文字列を取り出す。

getstr 結果を保存する変数, 取り出し元の変数, 何バイト目から, どこまで

第4項目の「どこまで」を指定しなければ行末まで。
「どこまで」は区切りとする文字で指定する。例:','

kekka
text='When I was a child, I lived in Tokyo.'
getstr kekka, 0, text, ','

text中の0文字目からカンマまでを取り出して、kekkaに入れる。
kekkaには「When I was a child」が入る。

str

変数を文字列型に変更。
オプションで、ゼロを含めた桁数にできる。

str 数値を含む変数, オプション

suuji= 7
str suuji, 2

これによりsuujiには「07」という文字列が入る。

文字列と数値の連結

  • 数値の文字列変換: str()
str(suuji)+"もじもじ" => 文字列
  • 文字列+数値型変数
"もじもじ"+suuji => 文字列

    「文字列型」に「数値型」を足し算した場合には、「数値」を文字列にして連結される。
    「数値型」に「文字列型」を足し算した場合には、「文字列」を数値にして加算される。

つまり、計算式で最初の項になっている型に自動的に合わせてくれるということです。

http://www.onionsoft.net/hsp/v34/doclib/hsp3str.htm


 Reference

HSP3 文字列のひみつ(TIPS)

https://www.onionsoft.net/hsp/v36/doclib/hsp3str.htm