VS:GetRField: Difference between revisions
(warning about GetRecord(h, NumRecords(h))) |
No edit summary |
||
Line 45: | Line 45: | ||
----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ||
<remark> | <remark> | ||
(MaKro, June 2018): | |||
To fetch the default values, use GetObject(GetName(GetParametricRecord(..))) as handle. | |||
Object Type of GetObject return value is 47 (Record Definition) vs. 48 (Record) from GetParametricRecord. | |||
(Orso, 2015.02.24): | (Orso, 2015.02.24): | ||
Line 72: | Line 76: | ||
fldName :STRING; | fldName :STRING; | ||
BEGIN | BEGIN | ||
recName := GetName(GetRecord(h, NumRecords(h))); | recName := GetName(GetRecord(h, NumRecords(h))); { ... use GetParametricRecord(h) instead } | ||
recHand := GetObject(recName); | recHand := GetObject(recName); | ||
FOR cnt := 1 TO NumFields(recHand) DO BEGIN | FOR cnt := 1 TO NumFields(recHand) DO BEGIN | ||
Line 87: | Line 91: | ||
==== Python ==== | ==== Python ==== | ||
<code lang="py"> | <code lang="py"> | ||
import vs | |||
hpio = vs.FSActLayer() | |||
hrecdef = vs.GetParametricRecord(hpio) | |||
recname = vs.GetName(hrecdef) # Name of PIO in InfoPalette | |||
hrec = vs.GetObject(recname) | |||
fld = vs.GetFldName(hrec, 10) | |||
vs.AlrtDialog(vs.GetTypeN(hrecdef)) # 48 | |||
vs.AlrtDialog(vs.GetTypeN(hrec)) # 47 | |||
vs.AlrtDialog('Recordname:' + recname) | |||
vs.AlrtDialog('Default:' + vs.GetRField(hrec, recname, fld)) | |||
# ©MaKro - June 2018 ;-) | |||
</code> | </code> | ||
</sample> | </sample> |
Revision as of 07:39, 12 June 2018
.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix
Description
Returns string description of a value in the specified record field.
FUNCTION GetRField(
h :HANDLE;
record :STRING;
field :STRING) : DYNARRAY[] of CHAR;
def vs.GetRField(h, record, field): return DYNARRAY[] of CHAR
Parameters
h HANDLE Handle to object. record STRING Name of record format. field STRING Name of field to be queried.
Return Value
Returns the field value as a variable length string.
Remarks
(MaKro, June 2018):
To fetch the default values, use GetObject(GetName(GetParametricRecord(..))) as handle. Object Type of GetObject return value is 47 (Record Definition) vs. 48 (Record) from GetParametricRecord.
(Orso, 2015.02.24): Please note that since the introduction of ifc data, the usual praxis of fetching plug-in records using
GetRecord(h, NumRecords(h))
can bring you perhaps unexpectedly the ifc record. Use VS:GetParametricRecord instead, introduced from VW 2011.
(Others): Returns a string interpretation of the field from the specified record
[CLC 2001/11/12]: Note that when using this to access parameter fields in a PIO, you get the values of the instance of the plug-in, not the default values, as set in the plug-in editor. If you want the default values, you have to use the handle to the PIO record format.
[CLC 2004/11/8]: This returns values rounded to the nearest display accuracy, whereas pFieldName returns the actual number.
Example
VectorScript
PROCEDURE Example; FUNCTION WriteFieldValues(h :HANDLE) :BOOLEAN; VAR cnt :INTEGER; recHand :HANDLE; recName :STRING; fldName :STRING; BEGIN recName := GetName(GetRecord(h, NumRecords(h))); { ... use GetParametricRecord(h) instead } recHand := GetObject(recName); FOR cnt := 1 TO NumFields(recHand) DO BEGIN fldName := GetFldName(recHand, cnt); WriteLn(fldName, ': ', GetRField(h, recName, fldName)); END; END; BEGIN ForEachObjectInLayer(WriteFieldValues, 2, 0, 4); END; RUN(Example);
Python
import vs hpio = vs.FSActLayer() hrecdef = vs.GetParametricRecord(hpio) recname = vs.GetName(hrecdef) # Name of PIO in InfoPalette hrec = vs.GetObject(recname) fld = vs.GetFldName(hrec, 10) vs.AlrtDialog(vs.GetTypeN(hrecdef)) # 48 vs.AlrtDialog(vs.GetTypeN(hrec)) # 47 vs.AlrtDialog('Recordname:' + recname) vs.AlrtDialog('Default:' + vs.GetRField(hrec, recname, fld)) # ©MaKro - June 2018 ;-)
Version
Availability: from VectorWorks 8.5