問題は有って無い様なものですが、
処理効率や、実行ファイル化された後のサイズなどをつきつめてゆくと、strlen や length では、満足できなくなるのです。
>>M さん
length はともかく、strlen と 定数では、かなりの差が生じると思います。
strlen は 内部で Nullポインタ を検索する処理をしています。要するに以下のような処理が行われているということです。
// このスクリプトは例です
#module
#defcfunc slen str tx_ , local rt_ , local v_
v_=tx_
repeat
if(peek(v_,cnt)==0):rt_=cnt:break
loop
return rt_
#global
mes slen("18と表示されるはず")
mes strlen("18と表示されるはず")
この処理を全て省けるんじゃないかということです。
#include "gdi32.as"
#define txt "18と表示されるはず"
#constl len txt
TextOut hdc,0,0,txt,len
このスクリプトを展開すると、
#uselib "gdi32.dll"
#func TextOutA "TextOutA" sptr,sptr,sptr,sptr,sptr
TextOutA hdc,0,0,"18と表示されるはず",18
の様になれば便利だと思います。
自分で、数えて打ち込む方法もありますが、色々と面倒ですし。
この方法が有れば
tx = "18と表示されるはず"
TextOutA hdc,0,0,tx,strlen(tx)
の様にやらなくてもいいのではないでしょうか