Encoding and Decoding: Binary and XML
212
NetLinx Programming Language Reference Guide
DEFINE_EVENT
(* CONVERT AND SAVE *)
BUTTON_EVENT[dvTP,1]
{
PUSH:
{
(* CONVERT TO BINARY *)
lPos = 1
slReturn = VARIABLE_TO_STRING (AlbumStruct,sBinaryString,lPos)
SEND_STRING 0,"'POSITION=',ITOA(lPos),'; RETURN=',ITOA(slReturn)"
(* CONVERT TO XML *)
lPos = 1
slReturn = VARIABLE_TO_XML (AlbumStruct,sXMLString,lPos,0)
SEND_STRING 0,"'POSITION=',ITOA(lPos),'; RETURN=',ITOA(slReturn)"
(* NOW WE CAN SAVE THESE BOTH TO DISCS *)
slFile = FILE_OPEN('BinaryEncode.xml',nFileWrite)
IF (slFile > 0)
{
slReturn =
FILE_WRITE(slFile,sBinaryString,LENGTH_STRING(sBinaryString))
IF (slReturn < 0) SEND_STRING 0,"'FILE WRITE FAIL
RETURN=',ITOA(slReturn)"
slReturn = FILE_CLOSE(slFile)
IF (slReturn < 0) SEND_STRING 0,"'FILE CLOSE FAIL
RETURN=',ITOA(slReturn)"
}
slFile = FILE_OPEN('XMLEncode.xml',nFileWrite)
IF (slFile > 0)
{
slReturn = FILE_WRITE(slFile,sXMLString,LENGTH_STRING(sXMLString))
IF (slReturn < 0) SEND_STRING 0,"'FILE WRITE FAIL
RETURN=',ITOA(slReturn)"
slReturn = FILE_CLOSE(slFile)
IF (slReturn < 0) SEND_STRING 0,"'FILE CLOSE FAIL
RETURN=',ITOA(slReturn)"
}
(* Clear string *)
sBinaryString = ""
sXMLString = ""
}
}
(* READ AND DECODE *)
BUTTON_EVENT[dvTP,2]