示例#1
0
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;
}
示例#2
0
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;
}