pcspon_oc.csc

 Corel Users' Club/Graphicsメーリングリストで生まれた「プロジェクト・コーレルスクリプトでポン」略してPCSPon!、ピーシーすぽん! 第2弾
 選択オブジェクトの輪郭色と一致するオブジェクトをすべて選択します。


'PCS Pon! Outline Color
'Copyright by Albatross
'Ver 1.00 2000/11/8

dim ooid as long 'original object CDRID
dim soid as long 'original object CDRID
dim lc as long 'loop counter

dim Model as long, C1 as long, C2 as long, C3 as long, C4 as long, C5 as long, C6 as long, D as long

dim OModel as long, OC1 as long, OC2 as long, OC3 as long, OC4 as long, OC5 as long, OC6 as long, OD as long

'標準インストールでは以下の*.csiファイルがGraphics9\DRAW\Scripts\Scriptsに
'あり、このファイルもそこに置くと仮定する。
'ファイルのフォルダが異なる場合は以下のaddfol文を有効にしてパスを記入すること。
'#addfol  ".\scripts"
#include "ScpConst.csi"
#include "DrwConst.csi"

WITHOBJECT OBJECT_DRAW
    global oo(.GetObjectCount(false, false)) as long
    global oc as long
end withobject

'Add object list and array elements
sub addol(OID as long)
        oc=oc+1
        oo(oc)=OID
end sub

'Main routine
WITHOBJECT OBJECT_DRAW
    if .isselection()=false then
        message "オブジェクトが選択されていません"
        stop
    endif
    .SuppressPainting false

'get object properties
    ooid =.GetObjectsCDRStaticID()
    .Getoutlinecolor OModel, OC1, OC2, OC3, OC4, OC5, OC6, OD
    oc=1
    oo(oc)=ooid

'find
    .selectnextobject true
    soid=.getobjectsCDRStaticID()
    while (soid<>ooid)
        .GetoutlineColor Model, C1, C2, C3, C4, C5, C6, D
        if Model=OModel and C1=OC1 and C2=OC2 and C3=OC3 and C4=OC4 and C5= OC5 and C6=OC6 and D=OD then
            addol(soid)
        endif                    
        .selectnextobject true
        soid=.getobjectsCDRStaticID()
    wend

'Select
    for lc=1 to oc
        .AppendObjectToSelection oo(lc)
    next lc

    .ResumePainting 
    .RedrawScreen
END WITHOBJECT

<<戻る