Questa funzione esegue la formattazione in stringa di un array di valori. In pArray definire l’array dei valori da convertire ed in pString l’indirizzo della stringa risultato della conversione. La stringa Format specifica il formato con il quale formattare le variabili il cui tipo è definito in VType, la funzione ritorna FALSE in caso di errore.
Nota: La dimensione della stringa risultato non può superare la dimensione definita e comunque non oltre 1024 caratteri
Descrizione
pArray (PVOID) Indirizzo array dati da convertire.
ALength (UDINT) Dimensione array dati da convertire.
VType (VR_TYPE) Definizione tipo variabili in array (Vedi definizione).
pString (@STRING) Indirizzo buffer stringa formattata risultato conversione.
SLength (UDINT) Dimensione buffer stringa risultato.
Format (@STRING) Ha due tipi di argomenti, i caratteri ordinari che vengono copiati nella stringa risultato, e le specifiche di conversione, contraddistinte dal simbolo percentuale (%) e da un carattere che specifica il formato con il quale stampare la variabile definita (Vedi formato).
Separator (@STRING) Stringa separatrice dei vari elementi dell’array nella stringa risultato.
La funzione ritorna un BOOL. FALSE se errore conversione, TRUE conversione ok.

Esempi
Nell’esempio viene eseguita la creazione di stringhe formattate, la prima stringa riporta un indirizzo IP, mentre nella seconda è ritornata una riga in formato CSV di un array di valori FLOAT.
LogicLab (Ptp200, ST_ArrayToFString)
PROGRAM ST_ArrayToFString
VAR
RSts : ARRAY[0..2] OF BOOL; (* Result status *)
IP : ARRAY[0..3] OF USINT; (* IP address *)
FValue : ARRAY[0..2] OF REAL; (* FLOAT values *)
IPString : STRING[ 16 ]; (* IP address formatted *)
FString : STRING[ 32 ]; (* FLOAT values formatted *)
IPWLabel : STRING[ 32 ]; (* IP address formatted *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_ArrayToFString"
// *****************************************************************************
// This program shows the use of ArrayToFString function.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// ARRAY CONVERSION
// -------------------------------------------------------------------------
// Converts an IP array, the output string is initialized the formatted
// output will be "192.168.0.122".
IP[0]:=192; IP[1]:=168; IP[2]:=0; IP[3]:=122;
RSts[0]:=ArrayToFString(ADR(IP), SIZEOF(IP), BYTE_TYPE, ADR(IPString), SIZEOF(IPString), ADR('^%d'), ADR('.'));
// Converts an IP array and write the formatted output after a label.
IPWLabel:='The IP is: ';
RSts[1]:=ArrayToFString(ADR(IP), SIZEOF(IP), BYTE_TYPE, ADR(IPWLabel), SIZEOF(IPWLabel), ADR('%d'), ADR('.'));
// Converts a FLOAT array, the output string is initialized the formatted
// output will be "12.34; 134.12; 4567.10". This can be useful to generate
// a log data file in CSV format.
FValue[0]:=12.34; FValue[1]:=134.125; FValue[2]:=4567.1;
RSts[2]:=ArrayToFString(ADR(FValue), SIZEOF(FValue), REAL_TYPE, ADR(FString), SIZEOF(FString), ADR('^%.2f'), ADR('; '));
// [End of file]