Encoding and Decoding: Binary and XML
213
NetLinx Programming Language Reference Guide
{
PUSH:
{
(* NOW WE CAN SAVE THESE BOTH TO DISCS *)
slFile = FILE_OPEN('BinaryEncode.xml',nFileRead)
IF (slFile > 0)
{
slReturn =
FILE_READ(slFile,sBinaryString,MAX_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',nFileRead)
IF (slFile > 0)
{
slReturn = FILE_READ(slFile,sXMLString,MAX_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)"
}
(* CONVERT TO BINARY *)
lPos = 1
slReturn = STRING_TO_VARIABLE (AlbumStruct,sBinaryString,lPos)
SEND_STRING 0,"'POSITION=',ITOA(lPos),'; RETURN=',ITOA(slReturn)"
(* CONVERT TO XML *)
lPos = 1
slReturn = XML_TO_VARIABLE (AlbumStruct,sXMLString,lPos,0)
SEND_STRING 0,"'POSITION=',ITOA(lPos),'; RETURN=',ITOA(slReturn)"
}
}
(* READ AND DECODE *)
(* THE BINARY WILL FAIL SINCE THE DECODE TYPE DOES NOT MATCH THE ENCODE TYPE *)
(* THE XML WILL NOT FAIL SINCE IT DOES NOT REQUIRE DATA TO BE THE SEQUENTIAL *)
BUTTON_EVENT[dvTP,3]
{
PUSH:
{
(* NOW WE CAN SAVE THESE BOTH TO DISCS *)
slFile = FILE_OPEN('BinaryEncode.xml',nFileRead)
IF (slFile > 0)
{