「Stringクラス」の版間の差分
(→Insert: 説明記述) |
(→Remove: 説明記述) |
||
84行目: | 84行目: | ||
==== Remove ==== | ==== Remove ==== | ||
文字列を削除します。 | |||
Function Remove(startIndex As Long) As Long | Function Remove(startIndex As Long) As Long | ||
Function Remove(startIndex As Long, count As Long) As Long | Function Remove(startIndex As Long, count As Long) As Long | ||
1番目の形式では、startIndexで指定した位置から文字列末尾までを削除します。 | |||
2番目の形式では、startIndexで指定した位置からcountで指定した数の文字列を削除します。 | |||
==== Replace ==== | ==== Replace ==== |
2006年10月1日 (日) 12:37時点における版
文字列を扱うクラスです。
クラスの機能
メンバ・プロパティ
Chars
Chars As *Byte
Stringが保持している文字列へのポインタです。これを通じて内容の読み取り・書き込みを行うことができます。
Length
Length As Long
Stringが保持している文字列の長さを表しています。基本的に書き換えないでください。
メソッド
コンストラクタ
Stringインスタンスを初期化します。
Sub String()
デフォルトコンストラクタ)空文字列を作ります。
Sub String(ByRef initStr As String)
(未実装)コピーコンストラクタです。initStrの内容で初期化します。
- 注意
- 現在実装されておらず、これを使用しようとすると変換演算子により*Byte引数のコンストラクタが呼ばれます。文字列中にナル文字を含むStringインスタンスを引数にする際には注意が必要です。
Sub String(ByVal initStr As *Byte)
initStrの内容で初期化します。initStrはヌル終端の文字列を指定します。
デストラクタ
Stringインスタンスの破壊時に呼ばれます。
Sub ~String()
文字列のメモリを解放します。
代入
Stringオブジェクトに文字列を割り当てます。
Sub Operator = (ByRef text As String) Sub Operator = (ByVal text As *Byte)
Assign(text)と同じです。
Assign
Stringオブジェクトに文字列を割り当てます。
Sub Assign(ByRef text As String) Sub Assign(ByVal text As *Byte) Sub Assign(ByVal text As *Byte, ByVal length As Long)
textの内容をこのStringインスタンスへコピーします。
- Stringを引数に取るものは、text.length文字コピーします。
- *Byte単独を引数に取るものは、lstrlen(text)文字コピーします。
- lengthを引数に取るものは、length文字分コピーします。
Swap
Sub Swap(ByRef x As String)
ZeroString
バッファとしてメモリを用意します。
Function ZeroString(allocLength As Long) As LPSTR
少なくともallocLength文字分の文字列を格納できるだけのメモリを用意します。文字列終端のナル文字があるため、少なくともallocLengthより1バイト多いメモリが確保されます。
- allocLength
- 確保したいメモリの量をバイト数単位で指定。
- 戻り値
- Charsを返します。
- Chars
- メモリ確保できた場合、そこへのポインタ。確保できなかった場合、NULL。
- Length
- メモリ確保できた場合allocLength。確保できなかった場合、0。
StrPtr
文字列へのポインタを返します。
Function StrPtr() As LPSTR
Charsを返します。
LPSTR変換演算子
文字列へのポインタを得ます。
Function Operator () As LPSTR
StrPtr()呼び出しと等価です。
Insert
文字列を挿入します。
Function Insert(startIndex As Long, ByRef str As String) As Long Function Insert(startIndex As Long, str As LPSTR) As Long Function Insert(startIndex As Long, str As LPSTR, length As Long) As Long
startIndex文字目の後にlpszTextの内容を挿入します。挿入される文字列の長さは次のようにしてなります。
- 1番目の形式ではstr.Length
- 2番目の形式ではlstrlen(str)
- 3番目の形式ではlength
Remove
文字列を削除します。
Function Remove(startIndex As Long) As Long Function Remove(startIndex As Long, count As Long) As Long
1番目の形式では、startIndexで指定した位置から文字列末尾までを削除します。 2番目の形式では、startIndexで指定した位置からcountで指定した数の文字列を削除します。
Replace
Sub Replace(oldChar As Byte, newChar As Byte) Sub Replace(ByRef oldStr As String, ByRef newStr As String) Sub Replace(oldStr As PCSTR, newStr As PCSTR) Sub Replace(oldStr As PCSTR, oldLen As Long, newStr As PCSTR, newLen As Long)
Operator +
Function Operator+ (lpszText As LPSTR) As String Function Operator+ (ByRef objString As String) As String
Operator &
Function Operator& (lpszText As LPSTR) As String Function Operator& (ByRef objString As String) As String
Append
Sub Append(lpszText As LPSTR, textLength As Long) Sub Append(text As LPSTR) Sub Append(ByRef str As String)
Concat
Function Concat(lpszText As LPSTR, textLength As Long) As String
Operator []
要素を読み取ります。
Function Operator[] (n As Long) As Byte
n文字目の文字を返します。範囲外の場合動作は保障されません。
Operator []=
指定した要素に書き込みます。
Sub Operator[]= (n As Long, c As Byte)
n文字目に文字cを書き込みます。範囲外の場合動作は保障されません。
IndexOf
Function IndexOf(lpszText As LPSTR) As Long Function IndexOf(lpszText As LPSTR, startIndex As Long) As Long Function IndexOf(lpszText As LPSTR, startIndex As Long, count As Long) As Long
LastIndexOf
Function LastIndexOf(lpszText As LPSTR) As Long Function LastIndexOf(lpszText As LPSTR, startIndex As Long) As Long Function LastIndexOf(lpszText As LPSTR, startIndex As Long, count As Long) As Long
StartsWith
Function StartsWith(lpszText As LPSTR) As BOOL
EndsWith
Function EndsWith(lpszText As LPSTR) As BOOL
SubString
Function SubString(startIndex As Long) As String Function SubString(startIndex As Long, length As Long) As String
IsNullOrEmpty
Function IsNullOrEmpty() As BOOL