void HTMLDocumentGen::printf(const GUIString &theText) { int aStartPos = 0; while(true) { int anEndPos = theText.find('%',aStartPos); if(anEndPos<0) break; if(theText.at(anEndPos+1)=='%') { anEndPos++; AddDoc(theText.substr(aStartPos,anEndPos-aStartPos),HTMLDocGenFlag_IsHTML); aStartPos = anEndPos+1; continue; } AddDoc(theText.substr(aStartPos,anEndPos-aStartPos),HTMLDocGenFlag_IsHTML); anEndPos++; aStartPos = anEndPos; while(anEndPos<theText.length() && theText.at(anEndPos)!='%') anEndPos++; GUIString aNumber = theText.substr(aStartPos,anEndPos-aStartPos); int aParamNum = aNumber.atoi()-1; if(aParamNum>=0 && aParamNum<mDocumentVector.size()) mDocument->AddDocument(mDocumentVector[aParamNum]); aStartPos = anEndPos+1; if(aStartPos>=theText.length()) break; } if(aStartPos<theText.length()) AddDoc(theText.substr(aStartPos),HTMLDocGenFlag_IsHTML); }