void readInt( TCfg& cfg, const char *name, int &val ) throw (TException) { const char *s; char *rest; //try { s = cfg.getValue( name ); //} catch( TRequestExc &e ) { // sprintf( msg, "в конфигурационном файле отсутствует параметр %s", name ); // logfile->error(msg); // sprintf( msg, "сообщение класса: %s", e.text() ); // logfile->error(msg); // throw; //} //sprintf( msg, "%s = %s", name, s ); //logfile->debug(msg); long a = strtol( s, &rest, 10 ); while( isspace(*rest) ) rest++; if( *rest != 0 ) { sprintf( msg, "Параметр %s должен быть целым числом. Его значение %s", name, s ); throw TException( 1, msg ); //logfile->error(msg); //sprintf( msg, "его значение %s", s ); //logfile->error(msg); //return 1; } val = a; return; }
void readFlg( TCfg& cfg, const char *name, int& flag ) throw (TException) { const char *s; //try { s = cfg.getValue( name ); //} catch( TRequestExc &e ) { // sprintf( msg, "в конфигурационном файле отсутствует параметр %s", name ); // logfile->error(msg); // sprintf( msg, "сообщение класса:%s", e.text() ); // logfile->error(msg); // throw; //} //sprintf( msg, "%s = %s", name, s ); //logfile->debug(msg); if( s[0] == 0 || ( s[0] == '0' && s[1] == 0 ) ) { flag = 0; return; } if( s[0] == '1' && s[1] == 0 ) { flag = 1; return; } sprintf( msg, "Параметр %s должен быть 0, 1 или пустым. Его значение %s", name, s ); throw TException( 1, msg ); //logfile->error(msg); //sprintf( msg, "Его значение %s", s ); //logfile->error(msg); //return 1; }