// Retourne le numéro du groupe passé en paramètre int GetNumeroGroupe( const CSString& groupe ) { CSString result; char buffer[100]; char buffer2[100]; int res; // *** Get the group number, and add it to group.typ if not already done // on recherche si le groupe est présent // dans le fichier item_mp_group.typ sprintf( buffer, "%s\" Value=\"", groupe.c_str() ); result = GroupTypContent.splitFrom( buffer ); // si oui, on retourne son numéro de groupe if ( result != "" ) res = result.splitTo( "\"" ).atoi(); else { // sinon, on génère un nouveau numéro : // on recupère le dernier numéro de groupe (le max) result = GroupTypContent.splitTo( "<LOG>" ).right(10); result.splitTo( "\"", true ); result = result.splitTo( "\"" ); // on ajoute 1 pour avoir un numéro non utilisé res = result.atoi() + 1; // on ajoute la nouvelle MP : // dans le fichier item_mp_group.typ sprintf( buffer, "<DEFINITION Label=\"%s\" Value=\"%d\"/>\n<LOG>", groupe.c_str(), res ); GroupTypContent= GroupTypContent.replace( "<LOG>", buffer ); GroupTypContent.writeToFile( ITEM_MP_GROUPE_TYP ); } // *** Add the text in wk.uxt (if not done) // Exist in wk.uxt ??? sprintf( buffer, "mpgroup%d\t", res ); sprintf( buffer2, "mpgroup%d ", res ); // if not found if ( !WKContent.contains(buffer) && !WKContent.contains(buffer2) ) { // add it at end sprintf( buffer, "mpgroup%d\t\t\t[%s]\n\r\nmpSource", res, groupe.c_str() ); WKContent= WKContent.replace( "\r\nmpSource", buffer ); WKContent.writeToFile( WK_UXT ); } return res; }
int CIXml::getIntProperty(xmlNodePtr node, const char *property, int defaultValue) { CSString s; bool b; b=getPropertyString(s,node,property); if (b==false) return defaultValue; s=s.strip(); sint val=s.atoi(); if (val==0 && s!="0") { nlwarning("bad integer value: %s",s.c_str()); return defaultValue; } return val; }