PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
17980 | 02/08/19 13:13:55 | RE(2):PB7.0: 文字列の分割について By みんみん |
17969 | 02/08/15 22:53:21 | RE(1):PB7.0: 文字列の分割について By めめ |
17968 | 02/08/15 17:38:12 | PB7.0: 文字列の分割について By みんみん |
カテゴリ:PowerBuilderの不具合?
日付:2002年08月15日 17:38 発信者:みんみん
題名:PB7.0: 文字列の分割について
ご存知の方がいらしたら教えて下さい。
文字列を分割する処理を行う際、以下のような現象が起きます。
(PowerBuilderのバージョンは7.0.3cです)
60バイトある文字列を15バイトづつ分割しようとしています。
LenとLenW関数によって15バイト目が全角か半角の判定を行い、パターン分けしていますが
14?15バイト目にまたがる全角文字によって分割がうまくできません。
例:’1234567890123行目’の場合、’1234567890123行’と’目’に分割できる
’1234567890123件目’の場合、’1234567890123件’は表示されるが
’目’が表示されない
ロジック(抜粋):
CASE 16 TO 30
IF Len( Mid( s_data, 15, 1 ) ) = LenW( Mid( s_data, 15, 1 ) ) THEN
IF Len( Mid( s_data, 30, 1 ) ) = LenW( Mid( s_data, 30, 1 ) ) THEN
/*半角・半角*/
s_data1 = LeftC( s_data, 15 )
s_data2 = MidC( s_data, 16, 15 )
ELSE
/*半角・全角*/
s_data1 = LeftC( s_data, 15 )
s_data2 = MidC( s_data, 16, 15 )
END IF
ELSE
IF Len( Mid( s_data, 30, 1 ) ) = LenW( Mid( s_data, 30, 1 ) ) THEN
/*全角・半角*/
s_data1 = LeftC( s_data, 16 )
s_data2 = MidC( s_data, 17, 14 )
ELSE
/*全角・全角*/
s_data1 = LeftC( s_data, 16 )
s_data2 = MidC( s_data, 17, 14 )
END IF
END IF
以上、宜しくお願い致します。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.