VS:GetVWRString: Difference between revisions

From Vectorworks Developer
Jump to navigation Jump to search
(add remark about VW 2014 bug)
m (Transfer Orso to _c_)
 
(2 intermediate revisions by the same user not shown)
Line 42: Line 42:


-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
<remark>([[User:Orso.b.schmid|Orso]], 2016.08.23):  
<remark>[[User:CBM-c-|_c_]] (2016.08.23):  
GetVWRString is supported by VW 2014, but due to a bug not timely reported, you can’t use it in a subroutine to return the string value. Only directly. This is my workaround (from VW 17/2012):
GetVWRString is supported by VW 2014, but due to a bug not timely reported, you can’t use it in a subroutine to return the string value. Only directly. This is my workaround (from VW 17/2012):


<code lang="pas">
<code lang="pas">
{ Orso ************************************************ }
{ _c_ ************************************************ }
{ this fails on VW 2014: strings don't set! }
{ fix for GetVWRString failing on VW 2014: strings don't set! }
FUNCTION D_GetVWRStr(resID, resNr: INTEGER): STRING;
FUNCTION D_GetVWRStr(resID, resNr: INTEGER): STRING;
BEGIN
BEGIN

Latest revision as of 07:08, 30 December 2020

.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix

Description

Replaces GetResourceString -- load a string from VWR file

More information about VWR files can be found here Vectorworks VWR Resources.

PROCEDURE GetVWRString(
VAR outputString :STRING;
resIdentifier :STRING;
stringIdentifier :STRING);
def vs.GetVWRString(resIdentifier, stringIdentifier):
    return outputString

Parameters

outputString STRING result value
resIdentifier STRING VWR identifier and path to vwstrings file
stringIdentifier STRING key in vwstrings file

Remarks

_c_ (2016.08.23):

GetVWRString is supported by VW 2014, but due to a bug not timely reported, you can’t use it in a subroutine to return the string value. Only directly. This is my workaround (from VW 17/2012):

{ _c_ ************************************************ }
{ fix for GetVWRString failing on VW 2014: strings don't set! }
FUNCTION D_GetVWRStr(resID, resNr: INTEGER): STRING;
BEGIN
	GetResourceString(D_GetVWRStr, resID, resNr); 
	{ this silently fails on later versions }
		
	{$IF ver > 19}
	GetVWRString(D_GetVWRStr, Concat(resID), Concat(resNr));
	{$ENDIF}
END;

Example

vwr = 'EnergyAnalysis/Strings/FormatDef_ThermalBridge.vwstrings'
formatName = vs.GetVWRString(vwr, 'FormatName' )
vs.AlrtDialog( formatName )

Version

Availability: from Vectorworks 2014