swdim

Unicode文字列(UTF-16)型配列変数を作成

swdim p1,p2,p3...

p1=変数 : 配列を割り当てる変数名
p2=1~ : デフォルト文字数(バイト数)
p3=0~ : 要素の最大

(プラグイン / モジュール : hspint64.dll)

解説

sdim の Unicode文字列(UTF-16)版です。

Unicode文字列(UTF-16)型の配列変数を作成します。
dim命令との違いは、  p2のパラメータは「文字列のデフォルト文字数(バイト数)」、p3のパラメータ以降に実際の配列要素の最大数を入れるところです。
p2 を指定しない場合は、128 が指定されます。

例 :
	swdim a, 5000 ; 変数aは5000Byte分(2500文字)のメモリをあらかじめ確保します

上の例では、変数aは5000Byte分(2500文字)のメモリを確保し配列変数にはなりません。
デフォルト文字数は、あらかじめ確保しておくメモリを指定することで、自動拡張時に余計な処理がかからなくなるというものです。
デフォルト文字数が少ない場合には、長い文字列が代入されるたびに何度も文字列バッファの再確保が発生するため効率が落ちることがあります。

多次元配列の場合は、文字数とは別に4次元まで確保することが可能です。
swdim命令はスクリプト内のどこででも定義・再定義することが可能です。
また、配列変数を作成すると内容はすべて0にクリアされます。

関連項目

dim
dimtype
dim64int64型の配列変数を作成(hspint64.dll)
fdimfloat型の配列変数を作成(hspint64.dll)
sdim

サンプル逆引き (4)

21_swdim.hsp
32_UTF-16文字列操作時注意点.hsp
41_cfunc64系.hsp
50_コールバック関数(EnumWindows).hsp

情報

プラグイン / モジュールhspint64.dll
バージョン1.03
作成日2021/06/13
著作者inovia
URLhttps://hsp.moe/
備考#include "hsp3_64.as"
#include "hspint64.as"
以上2つのファイルをインクルードすること。
(ソースコード上の記述個所は一番上を推奨)
タイプint64型拡張プラグイン
グループstrw
対応環境
  • Windows 版 HSP
移植のヒント64bit版 Windows のみ
hs ファイルhsphelp\hspint64.hs