ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 22:53

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




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - CInt 高速化
作成者 メッセージ
  記事の件名:  CInt 高速化  引用付きで返信する
以前、ここのコミュで マクロ の使い方を教えてもらったのですが、
色々試してたら、CInt関数の高速化ができたのでとりあえず公開しておこうかと(^^ゞ

といっても、大したことはないのですが。
CInt関数は、ABルートフォルダの
Include\basic\function.sbp
に定義されているようです。

こちらが関数ルーチンを使っていたので、
マクロに置き換えてみました。
コード:
Const CIntEx(number) = (number As Double) As Long
使い方は、CInt と定義する所を CIntEx とするだけです。


とりあえず、BASIC PROMPT で試してみましたが
ノーマルに比べると早くなったようです。
#ちなみに、ほかの関数も置き換えられますね。 > function.sbp
コード:
Dim AAA As Long
Dim BBB As Long

'CIntの高速版を定義。
Const CIntEx(number) = (number As Double) As Long

AAA = 1000.223243232343534334232

Dim i As Long,j As Long

Print "CInt開始"
Print Time$()
For i=0 To 2^21
    BBB=CInt(AAA)
Next
Print Time$()
Print "CInt完了"

Print "-------------"

Print "CIntEx開始"
Print Time$()
For i=0 To 2^21
    BBB=CIntEx(AAA)
Next
Print Time$()
Print "CIntEx完了"

あまり役に立たないかもですが、とりあえず情報共有まで。
投稿記事 Posted: 2007年6月06日(水) 17:24

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


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