GUIDを配列変数に変換するコンバーター

COM のメソッドの中にはインタフェース識別子(IID)を引数に渡すものがあり、HSPで使用するにはGUIDを配列変数に変換した上でvarptrなどで渡してあげる必要があります。これはGUIDを配列変数に変換するコンバーターです。

COM のメソッドの中にはインタフェース識別子(IID)を引数に渡すものがあり、HSPで使用するにはGUIDを配列変数に変換した上でvarptrなどで渡してあげる必要があります。これはGUIDを配列変数に変換するコンバーターです。

	title "GUIDを配列変数に変換するコンバーター"
	objsize 320, 20
	sdim guid, 64 : guid = "5CDF2C82-841E-4546-9722-0CF74078229A"
	input guid
	button gosub "↓変換↓", *cnv
	sdim output, 64
	input output : id = stat
stop
*cnv
	sdim spl	// 初期化
	split guid, "-", spl
	// 簡易エラーチェック
	if length(spl) != 5 | strlen(guid) != 36 : dialog "入力が不正です。" 

	output = "guid = 0x"+spl(0)+", 0x"
	output+= ""+spl(2)+""+spl(1)+", 0x"
	output+= ""+strmid(spl(4),2,2)+""+strmid(spl(4),0,2)
	output+= ""+strmid(spl(3),2,2)+""+strmid(spl(3),0,2)
	output+= ", 0x"+strmid(spl(4),10,2)+""+strmid(spl(4),8,2)
	output+= ""+strmid(spl(4),6,2)+""+strmid(spl(4),4,2)

	objprm id, output
return