CANVAS/画像を縮小表示
dim sW,sH,bW,bH,x,y as integer
dim hi as double
if me.backdrop<>nil then
sW=me.backdrop.width
sH=me.backdrop.height
bW=me.width
bH=me.height
if bW/sW>bH/sH then
hi=bH/sH
else
hi=bW/sW
end if
bW=sW*hi
bH=sH*hi
x=(me.width-bW)/2
y=(me.height-bH)/2
g.foreColor=gHtmCol2c//RGB(255,255,255)
g.fillrect 0,0,me.Width,me.height
g.drawpicture me.backdrop,x,y,bW,bH,0,0,sW,sH
end if
TOPへ
FileDrop/FileDrop
//WindowのOpenイベント
me.acceptFileDrop("special/folder")
me.acceptFileDrop("special/any")
//WindowのDropObjectイベントに
dim F as folderItem
dim msgStr as string
dim N as integer
If obj.folderItemAvailable then
F=obj.folderItem
if F.directory then
for N=0 to F.count
//F.item(N)がドロップされたアイテム
next
else
Do
F=obj.FolderItem
//Fがドロップされたアイテム
loop until not obj.NextItem
End if
W2.EF1.text= msgStr
W2.visible=true
end if
TOPへ
JPEG画像/出力する
Dim f as FolderItem
Dim exporter as QTGraphicsExporter
Dim mybool as Boolean
dim IMGmoto,IMG as picture
dim outSize,motoSize as integer
dim Hi as double
dim Fname as string
IMGmoto=gFolAry(N).openAsPicture
//CC1(N).backdrop
Fname=gFolAry(N).name
outSize=230
motoSize=IMGmoto.Width
if IMGmoto.height>motoSize then
motoSize=IMGmoto.height
end if
Hi=outSize/motoSize
IMG=newPicture(IMGmoto.Width*Hi,IMGmoto.height*Hi,32)
IMG.graphics.drawPicture(IMGmoto,0,0,IMGmoto.Width*Hi,IMGmoto.height*Hi,0,0,IMGmoto.Width,IMGmoto.height)
f=GetFolderItem(nthField(Fname,".",1)+"sum"+nthField(Fname,".",2))
exporter=GetQTGraphicsExporter("JPEG")
//mybool=exporter.RequestSettings
//exporter.DesiredTargetDatasize=36
exporter.CompressionQuality=512//0,256,512,768,1023
exporter.OutputFileType="JPEG"
exporter.OutputFileCreator="ogle"
mybool=exporter.SavePicture(f,IMG)
TOPへ
Socket/EasyUDPSocket
EasyUDPSocketはネットワーク内のアプリケーションに
テキストを送信する仕組み。
Windowに
EasyUDPSocketを置く
EasyUDPSocketのReceivedMessageには
msgbox "EasyUDPSocket1 got " + Str( command ) + ": " + data + " from " + fromIP + EndOfLine
接続ボタンに
EasyUDPSocket1.Bind(8080)//ポート番号8080が当たる場合は変更
EasyUDPSocket1.Register("myGroup")//グループ名任意
送信ボタンに
EasyUDPSocket1.SendMessageToGroup( "myGroup", 8080, "HELLO!" )
TOPへ
Socket/ダウンロード
//グローバル変数
gIPAddr as String
gDownData as String
//ダウンロードボタン
gIPAddr="adg.bne.jp"
Socket1.Address=gIPAddr
Socket1.port = 80
gURL="/takenote/getfilelist.php"
Socket1.connect
exception
//Socketコントロールに記述//Connected
dim Crlf as string
dim req as string
gDownData=""
Crlf = chr(13)+chr(10)
req = "GET "+gURL+" HTTP/1.0" + Crlf + Crlf
socket1.write req
//DataAvailable
dim buf as string
buf=socket1.readall
gDownData = gDownData + buf
StaticText1.text="Down:"+leftb(buf,30)
StaticText1.refresh
//error
dim myErr as integer
myErr = Socket1.lastErrorCode
me.close
staticText1.text="ダウンロード終了"
StaticText1.refresh
//gDownData←こいつに入ってるので書き出す。
exception
TOPへ
サンプルソース/SplitMBS
dim SplitItem as SplitMBS
dim bool as boolean
dim count,N as integer
SplitItem=new SplitMBS
bool=SplitItem.Split(TXT,chr(9))
count=SplitItem.Count
for N=1 to count
buf=SplitItem.Item(N)
next
SplitItem.clear
TOPへ
サンプルソース/キャンバスにフィットさせる
//CanvasコントロールのPainに書く
Sub Paint(g As Graphics)
dim sW,sH,bW,bH,x,y as integer
dim hi as double
if me.backdrop<>nil then
sW=me.backdrop.width
sH=me.backdrop.height
bW=me.width
bH=me.height
if bW/sW>bH/sH then
hi=bH/sH
else
hi=bW/sW
end if
bW=sW*hi
bH=sH*hi
x=(me.width-bW)/2
y=(me.height-bH)/2
g.foreColor=RGB(255,255,255)
g.fillrect 0,0,me.Width,me.height
g.drawpicture me.backdrop,x,y,bW,bH,0,0,sW,sH
end if
End Sub
TOPへ
サンプルソース/リソースを開く
Dim rf as ResourceFork
Dim P as picture
dim resNum as integer
#if targetMacOS then
rf=f.OpenResourceFork
If rf <> Nil then
P=rf.GetPicture(256)
if P=nil then
resNum=rf.ResourceID("PICT",0)
P=rf.GetPicture(resNum)
end if
if P=nil then
P=notres
end if
else
P=notres
end if
#endif
return P
TOPへ
サンプルソース/正規表現
Dim re as RegEx
Dim m as RegExMatch
if TXT<>"" then
re=new RegEx
re.SearchPattern=regStr
m=re.Search(TXT)
If m <> Nil then
return m.SubExpressionString(1)
end if
else
return ""
end if
TOPへ