C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: VB6.0の文字列変換をVB.NETで置き換え方


(過去ログ 117 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■68845 / inTopicNo.1)  VB6.0の文字列変換をVB.NETで置き換え方
  
□投稿者/ ちび (1回)-(2013/11/22(Fri) 13:05:04)

分類:[.NET 全般] 

◆現環境
Win7
VB2010

◆以前環境
WinXP
VB6.0

VB6.0で作成したソースを、VB2010で置き換える方法がわかりません。
System.Text.Encoding.GetEncoding(???).GetString
を使って変換可能でしょうか。
その場合、???は何になるのでしょうか。

ソースは以下となります。
Public Function BinToString(ByRef bin() As Byte, Optional forceKanji As Boolean = False) As String
Dim xIn(2) As Byte, xOut(2) As Byte
xIn(0) = &H1B: xOut(0) = &H1B
xIn(1) = &H24: xOut(1) = &H28
xIn(2) = &H42: xOut(2) = &H42
With CreateObject("ADODB.Stream")
.Type = 1 'adTypeBinary
.Open
If forceKanji Then .Write xIn
.Write bin
If forceKanji Then .Write xOut
.Position = 0
.Type = 2 'adTypeText
.Charset = "iso-2022-jp"
BinToString = .ReadText()
.Close
End With
End Function

ご教授の程、よろしくお願い致します。
引用返信 編集キー/
■68846 / inTopicNo.2)  Re[1]: VB6.0の文字列変換をVB.NETで置き換え方
□投稿者/ Hongliang (128回)-(2013/11/22(Fri) 13:29:30)
そのまま、ISO-2022-JPを指定すればいいのでは?
引用返信 編集キー/
■68870 / inTopicNo.3)  Re[1]: VB6.0の文字列変換をVB.NETで置き換え方
□投稿者/ 魔界の仮面弁士 (421回)-(2013/11/23(Sat) 02:11:43)
No68845 (ちび さん) に返信
> VB6.0で作成したソースを、VB2010で置き換える方法がわかりません。
> System.Text.Encoding.GetEncoding(???).GetString
> を使って変換可能でしょうか。

意図をくみ取れているかは自信がありませんが:

Public Sub Main()

    Dim sample() = New Byte() {&H24, &H22, &H24, &H24, &H24, &H26}
    MsgBox(BinToString(sample, False))
    MsgBox(BinToString(sample, True))

End Sub

Public Function BinToString(ByVal bin() As Byte, Optional forceKanji As Boolean = False) As String
    Dim xIn(-1) As Byte
    Dim xOut(-1) As Byte
    If forceKanji Then
        xIn = New Byte() {&H1B, &H24, &H42}
        xOut = New Byte() {&H1B, &H28, &H42}
    End If

    Dim enc = System.Text.Encoding.GetEncoding("ISO-2022-JP", _
            New System.Text.EncoderReplacementFallback(), _
            New System.Text.DecoderExceptionFallback())
    
    Return enc.GetString(xIn.Concat(bin).Concat(xOut).ToArray())
End Function

引用返信 編集キー/
■68930 / inTopicNo.4)  Re[2]: VB6.0の文字列変換をVB.NETで置き換え方
□投稿者/ ちび (2回)-(2013/11/25(Mon) 19:23:41)
Hongliangさん、魔界の仮面弁士 さん
教えてくださってありがとうございます。

魔界の仮面弁士さん、ソースを提供してくださって
ありがとうございます。

またわからないことがあり増したらよろしくお願い致します。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -