Xml2cstr generates a C char array from an XML or HTML input file.
<Messages> <Msg id="cancel" dialog="false"> <de txt="Abbrechen" accel="0" tip="Abbrechen und Änderungen verwerfen."/> <en txt="Cancel" accel="0" tip="Cancel dialog and disregard all changes."/> </Msg> </Messages>After running in the directory myapp the command:
#ifdef __cplusplus extern "C" { #endif const char messages[] = { 38,108,116,59,77,101,115,115,97,103,101,115,38,103,116,59,10,32,32,38,108, 116,59,77,115,103,32,105,100,61,34,99,97,110,99,101,108,34,32,100,105,97, 108,111,103,61,34,102,97,108,115,101,34,38,103,116,59,10,32,32,32,32,38, 108,116,59,100,101,32,116,120,116,61,34,65,98,98,114,101,99,104,101,110, 34,32,97,99,99,101,108,61,34,48,34,32,116,105,112,61,34,65,98,98,114,101, 99,104,101,110,32,117,110,100,32,38,65,117,109,108,59,110,100,101,114, 117,110,103,101,110,32,118,101,114,119,101,114,102,101,110,46,34,47,38, 103,116,59,10,32,32,32,32,38,108,116,59,101,110,32,116,120,116,61,34,67, 97,110,99,101,108,34,32,97,99,99,101,108,61,34,48,34,32,116,105,112,61,34, 67,97,110,99,101,108,32,100,105,97,108,111,103,32,97,110,100,32,100,105, 115,114,101,103,97,114,100,32,97,108,108,32,99,104,97,110,103,101,115, 46,34,47,38,103,116,59,10,32,32,38,108,116,59,47,77,115,103,38,103,116,59, 10,38,108,116,59,47,77,101,115,115,97,103,101,115,38,103,116,59,10,0 }; #ifdef __cplusplus } #endifYou can use the Rocs iORes object like this:
---------------------------------------- #include "rocs/public/res.h" ... // Resource messages: extern "C" { extern const char messages[]; } ... iORes m_EN_Res = ResOp.inst( messages, "en" ); iORes m_DE_Res = ResOp.inst( messages, "de" ); ... const char* msg = ResOp.getMsg ( m_EN_Res, "cancel" ); const char* tip = ResOp.getTip ( m_DE_Res, "cancel" ); const char* menu = ResOp.getMenu( m_EN_Res, "cancel" ); ----------------------------------------Where the returned values are:
msg = "Cancel" tip = "Abbrechen und Änderungen verwerfen." menu = "&Cancel"