by 7 » 2007年1月27日(土) 15:48
> > あと文字列に変換したいということですが、さっきも書いたようにバイトデータもちゃんとした文字(列)です。
> > どういったことをしてバイトデータを文字列ではないと思ったんでしょう?
>
> string型のものが 文字列だと思っていたので その後 inStr や left$などが
> 使えないと思っていたものですから・・・
Σ( ̄□ ̄;)
そういえば
StrPtr関数というものの存在を忘れていました!
AB5 CP3だとString型の仕様が変わったので問題ないようですけど...?
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]コード: 全て選択
Dim byte[MAX_PATH] As Byte
Dim str As String
Dim i As Long
str.ZeroString(MAX_PATH)
For i=0 To 25
byte=65+i
str=65+i
Next
MessageBox(hMainWnd,byte,"Byte型のアルファベ",MB_OK)
MessageBox(hMainWnd,str,"String型のアルファベ",MB_OK)
MessageBox(hMainWnd,Str$(InStr(1,byte,"N")),"Byte型のNの位置",MB_OK)
MessageBox(hMainWnd,Str$(InStr(1,str,"N")),"String型のNの位置",MB_OK)
MessageBox(hMainWnd,Left$(byte,InStr(1,byte,"N")),"Byte型のNまで表示",MB_OK)
MessageBox(hMainWnd,Left$(str,InStr(1,str,"N")),"String型のNまで表示",MB_OK)
' AB5ではInStrの代わりに以下のように書くこともできます。
MessageBox(hMainWnd,Left$(str,str.IndexOf("N")+1),"String型のNまで表示",MB_OK)
> > あと文字列に変換したいということですが、さっきも書いたようにバイトデータもちゃんとした文字(列)です。
> > どういったことをしてバイトデータを文字列ではないと思ったんでしょう?
>
> string型のものが 文字列だと思っていたので その後 inStr や left$などが
> 使えないと思っていたものですから・・・
Σ( ̄□ ̄;)
そういえば [b]StrPtr[/b]関数というものの存在を忘れていました!
AB5 CP3だとString型の仕様が変わったので問題ないようですけど...?
[hide][code]Dim byte[MAX_PATH] As Byte
Dim str As String
Dim i As Long
str.ZeroString(MAX_PATH)
For i=0 To 25
byte[i]=65+i
str[i]=65+i
Next
MessageBox(hMainWnd,byte,"Byte型のアルファベ",MB_OK)
MessageBox(hMainWnd,str,"String型のアルファベ",MB_OK)
MessageBox(hMainWnd,Str$(InStr(1,byte,"N")),"Byte型のNの位置",MB_OK)
MessageBox(hMainWnd,Str$(InStr(1,str,"N")),"String型のNの位置",MB_OK)
MessageBox(hMainWnd,Left$(byte,InStr(1,byte,"N")),"Byte型のNまで表示",MB_OK)
MessageBox(hMainWnd,Left$(str,InStr(1,str,"N")),"String型のNまで表示",MB_OK)
' AB5ではInStrの代わりに以下のように書くこともできます。
MessageBox(hMainWnd,Left$(str,str.IndexOf("N")+1),"String型のNまで表示",MB_OK)[/code][/hide]