メンバ一覧 MidWid 前のメソッド 次のメソッド

VB C# ALL プログラミング言語によるフィルタ (ここで選んだ言語で選別された説明や図だけが表示されます)

MidWid メソッド

機能および役割

パラメタで指定された文字列の部分文字列をパラメタで指定された開始位置から切り出す。パラメタによって切り出す文字列幅を指定することもできる。VB のメソッド Mid に似ているが、文字数ではなく幅によって処理するところが異なる。

文字列の幅とは、半角文字は 1 とみなし、全角文字は 2 とみなした一種の長さを意味する。すなわち、固定ピッチフォントで表示した場合の半角換算の長さを意味する。

開始位置も、半角文字は 1 とみなし、全角文字は 2 とみなした幅で表現される。すなわち、先頭文字の位置は 1 であり、次の文字の位置は、先頭文字が半角文字なら 2 となり、先頭文字が全角文字なら 3 となるというようにカウントされる。

パラメタで指定された開始位置からぴったりと文字列を切り出せる場合は問題ないが、そうではない場合には次の例のように左端に空白が埋められた部分文字列になる。

FormBase.MidWid("あいうえお", 4) ⇒ " うえお"

パラメタで指定された幅の文字列をぴったり切り出せる場合は問題ないが、そうではない場合には次の例のように右端に空白が埋められた部分文字列になる。

FormBase.MidWid("あいうえお", 3, 3) ⇒ "い "

FormBase.MidWid("あいうえお", 4, 4) ⇒ " う "

所属クラス (ツーピーススタイルの場合にこのメソッドが宣言されているクラス)

AppliTech.WorkFrame.FormBase (ローカル)

AppliTech.WorkFrame.FormBase (セントラル)

呼出し方

次の 2 種類の呼出し方がある (2 OverLoads)。

FormBase.MidWid(文字列, 開始位置)

FormBase.MidWid(文字列, 開始位置, 長さ)

注意: このメソッドは静的共用属性 (Shared, static) なので、クラス名 FormBase で修飾することを推奨 (C# ではこうすることが必須)。

戻り値の型および意味

戻り値の型: 文字列型 (String, string)

意味: 取り出された部分文字列。

パラメタの型および意味

文字列 (文字列型): この文字列から部分文字列を切り出す。

開始位置 (整数型): この開始位置 (幅で表現される) から部分文字列を切り出す。

文字列幅 (整数型): この文字列幅の部分文字列を切り出す。

例外の発生 (誤った呼出しの際に発生する例外)

(関係する例外の発生なし)

使用上のヒントと注意事項

関連事項

文字列の幅に関するメソッドには、 LeftWidLenWidMidWid (本メソッド),RightWid の四つがある。

使用例

Friend Function FbMidWid_GetEvent(ByVal fB As FormBase) As Boolean
    ' フォーカスされている項目の左 2 文字以降 (半角相当で) を表示します。
    Dim iB As ItemBase = fB.getItemBaseFromPx(fB.Px)
    If TypeOf iB.cuVal Is String Then
        Dim val As String = CType(iB.cuVal, String)
        fB.MessageBoxShow(FormBase.MidWid(val, 2), "FormBase.MidWid")
    End If
    Return FormBase.GETEVENT_Allow
End Function
internal bool FbMidWid_GetEvent( FormBase fB ) {
    // フォーカスされている項目の左 2 文字以降 (半角相当で) を表示します。
    ItemBase iB = fB.getItemBaseFromPx(fB.Px);
    if (iB.cuVal is string) {
        string val = (string)iB.cuVal;
        fB.MessageBoxShow(FormBase.MidWid(val, 2), "FormBase.MidWid");
    }
    return FormBase.GETEVENT_Allow;
}
boolean FbMidWid_GetEvent( FormBase fB ) {
    // フォーカスされている項目の左 2 文字以降 (半角相当で) を表示します。
    ItemBase iB = fB.getItemBaseFromPx(fB.Px);
    if (iB.cuVal instanceof String) {
        String val = (String) iB.cuVal;
        fB.MessageBoxShow(FormBase.MidWid(val, 2),
                          "FormBase.MidWid");
    }
    return FormBase.GETEVENT_Allow;
}