MakeStrの使い方

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
PaPa

MakeStrの使い方

#1 投稿記事 by PaPa »

文字列を数字に変換したいのですがコンパイルでエラーになります。
MakeStrの使い方が違っていますか?

Dim aaa[10] As Byte
Dim bbb As Long
lstrcpy(aaa As VoidPtr, "1234" )
bbb = Val(MakeStr(aaa)) As Long


>Test.sbp(106) - "MakeStr" オーバーロードを解決できません。
>Test.sbp(106) - "MakeStr" 戻り値が存在しないプロシージャです。
PaPa

#2 投稿記事 by PaPa »

AB4で試したら動作しました。
AB5での対処方法を教えてください。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#3 投稿記事 by konisi »

AB5の、どれですか?

このような代償案もあります。(AB5で動く事は確認していませんが・・・)

コード: 全て選択

Declare Function atoi cdecl Lib "msvcrt.dll" (buf As *Byte) As Long
Dim aaa[10] As Byte 
Dim bbb As Long
lstrcpy(aaa As VoidPtr, "1234" )
bbb = atoi(aaa)
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#4 投稿記事 by イグトランス »

いろいろな議論がありましたが,今のところ文字を表すのに使う方はByteではなくSByteになっています(これも決定ではないですが)。
Dim aaa[10] As SByteとすれば現在のAB5でコンパイルできます。
PaPa

#5 投稿記事 by PaPa »

SByteにしたらコンパイルできました。
下記もAB4ではOKでAB5では同じエラーになります。

Dim aaa As BytePtr
Dim bbb As Long
aaa = calloc(10)
lstrcpy(aaa , "1234")
bbb = Val(MakeStr(aaa)) As Long

この場合は、どうやってSByteにするのですか?
返信する