Tech Note 15: NSBStringLib共有ライブラリを使う

Aug 15, 2002

 

© NSB Corporation. All rights reserved.


[英語版]

NSBStringLibは、文字列操作やデータフォーマットを目的とした、多くの便利なファンクションをNS Basic/Palmに追加します。

このライブラリを使うには、NSBStringLib.prcをデバイスにダウンロードしてください。約5kの小さなファイルです。プログラムのStartupコードの中で以下のように初期化してください。

     loadLibrary "NSBStringLib","STR"   '大文字/小文字は正しく
StringLibUseサンプルプログラムを見て、各関数の動作を確認してください。

含まれているファイル:
NSBStringLib.INF StringLibのINFファイル。これを\nsbasic\libフォルダにいれる。
NSBStringLib.prc ライブラリ。\nsbasic\libに入れ、さらにデバイス(またはPOSE)にダウンロードする。
StringLibUse.prj サンプルプロジェクト。関数の使い方が確認できる。


Version()

NSBStringLibのバージョンを文字列型で返す。

Replace(str,find,replace,count)

str文字列内のfind文字列を、replace文字列と入れ替えて、その結果の文字列を返す。countは入れ替える数を指定する。

str 必須。 入れ替えるサブ文字列を含んだ文字列。
find 必須。 検索する文字列。
replace 必須。新しく挿入される文字列。挿入する文字列が検索して見つかった文字列より長くなる場合、strは予め十分な長さにしておかなければならない。
count オプション。入れ替えを行う数。省略された場合(デフォルト値:-1)、全ての一致した文字列を入れ替える。Short型。

StrReverse(String)

指定された文字列内の、文字の並び順を逆にして、その結果の文字列を返す。

Space(num)

指定した数のスペース(空白文字)でできた文字列を返す。numはShort型。

CreateString(number, ch)

chで指定した文字をnumber分だけ繰り返した文字列を返す。numberはShort型。

MonthName(month, abbreviate)

指定した月の文字列表現を返す。
month必須。月の数値表現。1月は1、2月は2、・・・
abbreviateオプション。月の名前を短縮するか指定するブール値。省略された場合、デフォルトはFalseで、月の名前は省略されない。

WeekdayName(weekday, abbreviate,firstdayofweek)

指定した曜日の文字列表現を返す。

weekday 必須。 曜日の数値表現。曜日の数値はfirstdayofweekの設定によって変わる。
abbreviate オプション。曜日の名前を短縮するか指定するブール値。
firstdayofweek オプション。 数値は週の最初の火を示す。
 
		0 Use preferences settings.
		1 Sunday (default) 
		2 Monday
		3 Tuesday
		4 Wednesday
		5 Thursday
		6 Friday
		7 Saturday 

InstrRev(str, find, start)

文字列の中に入っている別の文字列の、文末からの位置を返す。

InStrRevは以下の値を返す。
findの長さが0 0
findがNull Null
strの長さが0 start
strがNull Null
strが見つからない 0
findの中にstrが見つかった 一致した場所の位置
start > Len(str) 0

LSet(str1, str2)

文字列str2の中でstr1を左揃えにする。str2がstr1より短い場合、str1は切られる。str1がstr2より長い場合、str2には同じ長さまでスペースが足される。
str1 必須。結果として受ける変数名
str2 必須。 左揃えされる文字列式

RSet(str1, str2)

文字列str2の中でstr1を右揃えにする。str2がstr1より短い場合、str1は切られる。str1がstr2より長い場合、str2には同じ長さまでスペースが足される。
str1 必須。 結果として受ける変数名
str2 必須。 右揃えされる文字列式

FormatNumber(expr, numDig, format)

フォーマットされた数値を文字列型で返す。

expr 必須。フォーマットされる式
numDigNumeric 小数点何桁まで表示するかを指定
format IncludeLeadingDigit+UseParensForNegativeNumbers+GroupDigits
IncludeLeadingDigit 少数の場合に、先頭に0を表示するかどうかを指定するトライステート定数
UseParensForNegativeNumbers 負数の場合に、括弧に入れて表示するかどうかを指定するトライステート定数
GroupDigits コントロールパネルで設定するグループ区切りを使って、数値をグループ化するかどうかを指定するトライステート定数
formatの値
0 ALL_DEFAULT (IncludeLeadingDigit = true, UseParensForNegativeNumbers = false, GroupDigits = false)
1 INCLUDE_LEADING_DIGIT_FALSE
2 INCLUDE_LEADING_DIGIT_TRUE
4 USE_PARENTS_FOR_NEGATIVE_NUMBER_FALSE
8 USE_PARENTS_FOR_NEGATIVE_NUMBER_TRUE
16 GROUP_DIGIT_FALSE
32 GROUP_DIGIT_TRUE

FormatTime(time, format)

時刻としてフォーマットされた表現を返す。timeはfloat型。
formatの値:
0 tfColon
1 tfColonAMPM 1:00 pm
2 tfColon24h 13:00
3 tfDot
4 tfDotAMPM 1.00 pm
5 tfDot24h 13.00
6 tfHoursAMPM 1 pm
7 tfHours24h 13
8 tfComma24h 13,00
64 is for preference settings

FormatDate(date, format)

日付けとしてフォーマットされた表現を返す。dateはfloat型。
formatの値:
0 dfMDYWithSlashes 12/31/95
1 dfDMYWithSlashes 31/12/95
2 dfDMYWithDots 31.12.95
3 dfDMYWithDashes 31-12-95
4 dfYMDWithSlashes 95/12/31
5 dfYMDWithDots 95.12.31
6 dfYMDWithDashes 95-12-31
7 dfMDYLongWithComma Dec 31, 1995
8 dfDMYLong, 31 Dec 1995
9 dfDMYLongWithDot 31. Dec 1995
10 dfDMYLongNoDay Dec 1995
11 dfDMYLongWithComma Dec, 1995
12 dfYMDLongWithDot 1995.12.31
13 dfYMDLongWithSpace 1995 Dec 31
14 dfMYMed Dec '95
15 dfMYMedNoPost Dec 95 (added for French 2.0 ROM)
From preferences:
64 is for short date
65 is for long date

FormatPercent(expression, numDig, format)

パーセントとしてフォーマットされた文字列を返す。100倍され"%"文字が最後に付く。

expression フォーマットされる式
numDig 小数点以下何桁まで表示するか指定する数値
format IncludeLeadingDigit+UseParensForNegativeNumbers+GroupDigits

Values for Format:
IncludeLeadingDigit 少数の場合に、先頭に0を表示するかどうかを指定するトライステート定数
UseParensForNegativeNumbers 負数の場合に、括弧に入れて表示するかどうかを指定するトライステート定数
GroupDigits コントロールパネルで設定するグループ区切りを使って、数値をグループ化するかどうかを指定するトライステート定数
0 ALL_DEFAULT (IncludeLeadingDigit = true, UseParensForNegativeNumbers = false, GroupDigits = false)
1 INCLUDE_LEADING_DIGIT_FALSE
2 INCLUDE_LEADING_DIGIT_TRUE
4 USE_PARENTS_FOR_NEGATIVE_NUMBER_FALSE
8 USE_PARENTS_FOR_NEGATIVE_NUMBER_TRUE
16 GROUP_DIGIT_FALSE
32 GROUP_DIGIT_TRUE

FormatCurrency(expression, numDig, format)

"$"文字を使って、金額としてフォーマットされた文字列を返す。

expression フォーマットされる式
numDig 小数点以下何桁まで表示するか指定する数値
format IncludeLeadingDigit+UseParensForNegativeNumbers+GroupDigits

Values for Format:
IncludeLeadingDigit 少数の場合に、先頭に0を表示するかどうかを指定するトライステート定数
UseParensForNegativeNumbers 負数の場合に、括弧に入れて表示するかどうかを指定するトライステート定数
GroupDigits コントロールパネルで設定するグループ区切りを使って、数値をグループ化するかどうかを指定するトライステート定数
0 ALL_DEFAULT (IncludeLeadingDigit = true, UseParensForNegativeNumbers = false, GroupDigits = false)
1 INCLUDE_LEADING_DIGIT_FALSE
2 INCLUDE_LEADING_DIGIT_TRUE
4 USE_PARENTS_FOR_NEGATIVE_NUMBER_FALSE
8 USE_PARENTS_FOR_NEGATIVE_NUMBER_TRUE
16 GROUP_DIGIT_FALSE
32 GROUP_DIGIT_TRUE