Jump to content

Hippocode

Member
  • Posts

    796
  • Joined

  • Last visited

Posts posted by Hippocode

  1. Hey,

    I recently made a small plugin object trough the plug-in editor(Tools=>scripts=>vw plugin editor).

    Its ment to be a heat device drawn as a rectangle and some info in it.

    I've added it to my post, use it as a plug in object or look at the code of it to give you a heads up..

    PROCEDURE Radiator;

    VAR

    bc_ht,bc_wid,bc_height,bc_vermogen,i: REAL;

    bc_fontsize,keuzes,height,numberpos : INTEGER;

    objname,vermogen,bc_number: STRING;

    bc_textposition,bc_numberposition: CHAR;

    oh,rh,wh: HANDLE;

    result,hidetext,shownumber: BOOLEAN;

    BEGIN

    { retrieve custom object information }

    result:= GetCustomObjectInfo(objname,oh,rh,wh);

    { if object information was successfully retrieved }

    IF result THEN BEGIN

    { retrieve predefined parameter values }

    bc_ht := PRWIDTH;

    bc_wid := PRLENGTH;

    bc_height := PRHEIGHT;

    bc_vermogen := PVERMOGEN;

    bc_textposition := PSHOW_VERMOGEN;

    bc_numberposition := PSHOW_NUMBER;

    bc_fontsize := PFONTSIZE;

    bc_number := PNUMBER;

    vermogen:=concat(bc_vermogen,' W');

    { retrieve user-defined parameter values }

    { draw }

    i:=0";

    PushAttrs;

    FillPat(0);

    { draw rectangle with coordinates }

    Rect(0,bc_ht,bc_wid,0);

    { draw text }

    TextFont(GetFontID('Monaco'));

    TextSize(bc_fontsize);

    TextJust(2);

    hidetext :=true;

    shownumber :=true;

    CASE bc_textposition OF

    'O': height :=bc_ht+25;

    'I': height :=bc_ht;

    'H': hidetext :=false;

    OTHERWISE height :=bc_ht+25;

    END;

    IF hidetext THEN BEGIN

    TextOrigin(bc_wid/2,height);

    BeginText;

    vermogen

    EndText;

    END;

    CASE bc_numberposition OF

    'L': BEGIN numberpos :=3;height:=-5; END;

    'R': BEGIN numberpos :=1;

    height:=bc_wid+5;

    END;

    'H': shownumber :=false;

    OTHERWISE BEGIN numberpos :=3;

    height:=-5; END;

    END;

    IF shownumber THEN BEGIN

    TextJust(numberpos);

    TextOrigin(height,bc_ht);

    BeginText;

    bc_number

    EndText;

    END;

    PopAttrs;

    END;

    END;

    Run(Radiator);

  2. Hello,

    I've made a script to select ALL symbols in a layer, where atleast one of them is allready selected.

    I'd like to extend it for other objects(plugin, line, text etc) but I fail at getting the names of the selected objects.

    I know i'll have to change the selection part, but I just need to find a way to get the selected objects info

    PROCEDURE SelectObjects;

    VAR

    OCount,i,j: INTEGER;

    r, g, b :LONGINT;

    OName,OName2,OName3,strinkie,test,selectie :STRING;

    ONames : DYNARRAY[] of STRING;

    FUNCTION SelectThem(h :HANDLE) :BOOLEAN;

    BEGIN

    OName := GetSymName(h);

    IF OName ='' THEN BEGIN

    OName := GetName(h); {can't get the object name ?}

    END;

    ONames:=OName;

    i:=i+1;

    END;

    BEGIN

    selectie:='Geselecteerde symbolen: ';

    OCount:=NumSelectedObjects;

    IF OCount<2 THEN OCount:=2;

    i:=1;

    ALLOCATE ONames [1..OCount];

    ForEachObjectInLayer(SelectThem, 2, 0, 0);

    SortArray(ONames,OCount,1);

    DSelectAll;

    FOR j:=1 TO OCount DO BEGIN

    IF OName2<>ONames[j] THEN BEGIN

    strinkie:=concat(ONames[j]);

    OName2:=strinkie;

    SelectObj((S=strinkie));

    selectie:=concat(selectie,strinkie,', ');

    END;

    END;

    AlrtDialog(selectie);

    END;

    RUN(SelectObjects);

  3. Hey,

    I've been making my own objects and would like to have a custom list of choice in the object shape tab.

    This can be made by setting the parameter to "pop up" but I fail at getting the data from that popup into my vectorscript?

    Can anyone point me into the right direction ?

    I've noticed its not possible by doing variable :=PFIELDNAME;...

×
×
  • Create New...