スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

@Left/@Right のEmulate

2008年10月31日 03:03

実際に必要になってから書いても大したコードでも無いのですが、LotusScriptって文字列処理がイマイチなので、@Leftや@Rightの処理がLotusScriptで使いたくなることがあります。
 Evaluateを使えばいいじゃん?て声もありそうですが僕は以下のようなコードを使います。

これは実は僕が考えたコードでなくて、R5時代にSetup.nsfに含まれていたコードを自分のローカルに取っておいたものです。なのでブログのネタにしやすいな、て思ったのです。確かNotes/Domino Magazineでもこの話は取り上げられていました。
テンプレートのコードはなぜかRightStrに初歩的なバグがあったのですが、そこは直してあるので使えると思います。


Function LeftStr(sString As String, sKey As String) As String
%REM
この関数は@left 関数のように動作します。
キーが見つからなかったら "" を返します。
%END REM

Dim nPos As Integer
nPos = Instr(sString,sKey)
If (nPos > 0) Then
LeftStr = Left$(sString,npos-1)
Else
LeftStr = ""
End If
End Function

Function RightStr(sString As String, sKey As String) As String
%REM
この関数は @Right のように動作します。
キーにある文字が見つからなかったら""を返します。
%END REM

Dim nPos As Integer
nPos = Instr(sString, sKey)
If (nPos = 0) Then
RightStr = ""
Else
RightStr = Right$(sString, Len(sString)-nPos-Len(sKey)+1)
End If
End Function




コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://hnagasim.blog8.fc2.com/tb.php/4-4e8e0775
    この記事へのトラックバック


    最新記事


    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。