ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月19日(火) 12:09

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2006年9月05日(火) 22:41 
以前このフォーラムで2進数の関数を表すものがを利用させていただいておりますが,
その関数がVer5CP2では通りません。
コード:
#console
dim temp$ as String

		temp$="0001011010001010100010011"
		temp$=Bin2Dec(temp$)
print temp$

end


'**************************************************
Function Bin2Dec(ByVal data As String) As String

Dim data2 As Qword          
dim c as Dword
dim temp$ as String
dim j as Dword

data2=0
j=0

c=Len(data)

		Do  

			j=j+1
			c=c-1
			temp$=Mid$(data,j,1)

			data2=data2+(1 << c)*Val(temp$)
			
	    Loop Until c=0

Bin2Dec = Str$(data2)
End Function

なぜなのでしょうか?
ご報告させていただきます。


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2006年9月05日(火) 22:52 
度々ですみません。
訂正があります。

コンパイルは通るのですが,実行がされません。


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2006年9月06日(水) 00:02 
オフライン

登録日時: 2005年7月25日(月) 13:27
記事: 893
お住まい: 埼玉県東松山市
どうやら、Mid$から抜ける時、String型の開放のために呼んだHeapFree関数が、C=18の時にエラーを起こしているようです。
ところで、jの値が途中から増えなくなっていますが、String型とメモリの競合でも起こしているのでしょうか?

という事で試してみると
コード:
#console
dim temp$ as String

        temp$="0001011010001010100010011"
        temp$=Bin2Dec(temp$)
print temp$
end


'**************************************************
Function Bin2Dec(ByVal data As String) As String
Dim data2 As Qword          
dim c as Dword
dim temp$ as String
dim j as Dword
dim dum$(9) As String
'もっと色々な数で試してみたが、こちらの環境では初期化0のものが最低で10個必要だった。

data2=0
j=0

c=Len(data)

        Do  
            j=j+1
            c=c-1
            temp$=Mid$(data,j,1)

            data2=data2+(1 << c)*Val(temp$)
            
        Loop Until c=0
Bin2Dec = Str$(data2)
debug'Mid$、Str$でアクセス違反にならなければここまで来るはず
End Function
で、debugの位置まで来たのですが今度は抜ける時にエラーです。Main部分のtemp$の宣言の直後に
コード:
dim dum2$(10000) As String
等と入れてみましたが、やはり関数を抜ける時にエラー。リリースコンパイル時に大丈夫ならいいやと思いF6っと。
それでもうまくいかないのでお手上げです。

ちなみに、リリースコンパイル時のdum2$1万飛んで1個入りの実行ファイルサイズは、900キロ弱(896KB)でした。

_________________
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[1人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean