こんなんでいいと思うけど、最後だけは関数が先に処理されるみたいで表示が変だけどね
まあ、+や&は普通に連結すればいいね
Function wide( ByRef strings As WString ) As String
Dim As Integer count = Pos()
For i As Integer = 1 To Len( strings )
count -= ( Asc( Mid( strings , i , 1 ) ) > 256)
Next i
Print strings;
Locate , count + Len( strings )
Return ""
End Function

Dim As WString * 200 text = "こんにちは、世界!Hello World!"
Print text
Print wide( text ) ; Len( text ) ; wide( text )
Print wide( text ) , Len( text )
Print wide( text ) & Len( text )
Print wide( text ) + Str( Len( text ) )

Print wide( text ) & Len( text ) & wide( text )

Sleep

>>447
ポインタの戻り値はちゃんとポインタで受けてDeallocateしないと
それに慣れると思わぬとこでおかしな動作しちまうよ