当前位置: 首页>>代码示例>>C++>>正文


C++ Registro类代码示例

本文整理汇总了C++中Registro的典型用法代码示例。如果您正苦于以下问题:C++ Registro类的具体用法?C++ Registro怎么用?C++ Registro使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Registro类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: existReg

void Servidor::modificarRegistro() {
	Protocolo protocolo;
	string resp;

	/* Insertar en la base de datos */
	Registro existReg(peticionRecibida.nombreCons, (char*) "", (char*) "");
	Registro nuevoReg;
	nuevoReg.crearDesdeMensaje(peticionRecibida);
	int result = this->bd.modificar(existReg, nuevoReg);

	/* Generar mensaje de respuesta */
	if (result == SUCCESS){
		resp = "El registro ha sido modificado con éxito con la siguiente información nueva.";
		resp += (!nuevoReg.getNombre().empty()) ? "\nNombre: de " + existReg.getNombre() + " a " + nuevoReg.getNombre() : "";
		resp += (!nuevoReg.getDireccion().empty()) ? "\nDirección: de " + existReg.getDireccion() + " a " +  nuevoReg.getDireccion() : "";
		resp += (!nuevoReg.getTelefono().empty()) ? "\nTeléfono: de " + existReg.getTelefono()  + " a " +  nuevoReg.getTelefono() : "";
		resp += "\n";
	} else if (result == ERR_NO_EXISTE){
		resp = "El registro a modificar no existe. ";
	} else if (result == ERR_DUPLICADO){
		resp = "El registro no se ha modificado con éxito pues está en conflicto con otro existente.";
	}

	/* Generar respuesta */
	mensaje respuesta;
	respuesta.ttl = 1;
	respuesta.mtype = RESPUESTA;
	respuesta.pid = getpid();
	strcpy(respuesta.textoRespuesta, resp.c_str());
	this->respuestas.push_back(respuesta);
}
开发者ID:pschmid,项目名称:ejericicio6,代码行数:31,代码来源:Servidor.cpp

示例2: insertarRegistro

void Servidor::insertarRegistro() {
	Protocolo protocolo;
	string resp;
	/* Insertar en la base de datos */
	Registro reg;
	reg.crearDesdeMensaje(peticionRecibida);
	int result = this->bd.insertar(reg);
	if (result == SUCCESS){
		resp = "El registro ha sido insertado con éxito con la siguiente información.";
		resp += "\nNombre: " + reg.getNombre();
		resp += "\nDirección: " + reg.getDireccion();
		resp += "\nTeléfono: " + reg.getTelefono();
		resp += "\n";
	} else if (result == ERR_DUPLICADO){
		resp = "El registro no se ha insertado con éxito pues está duplicado";
	} else if (result == ERR_CAMPO_REQUERIDO){
		resp = "El registro no se ha insertado con éxito pues faltan datos requeridos.";
	}

	/* Generar respuesta */
	mensaje respuesta;
	respuesta.ttl = 1;
	respuesta.mtype = RESPUESTA;
	respuesta.pid = getpid();
	strcpy(respuesta.textoRespuesta, resp.c_str());
	this->respuestas.push_back(respuesta);
}
开发者ID:pschmid,项目名称:ejericicio6,代码行数:27,代码来源:Servidor.cpp

示例3: generarMockLibroCompleto

void TestParserDeLibros::testObtenerPalabrasConTodosLosDatos(){
	string strLibro = generarMockLibroCompleto();
	const char *auxlibro= strLibro.c_str();
	char* libro;
	libro = const_cast<char*>(auxlibro);
	Registro* regLibro = this->parser->obtenerRegistroDeLibro((libro) );

	list<string> palabrasPatron;
	generarListaPatron(palabrasPatron);
	list<string> palabras = regLibro->getPalabras();
	bool diferencia = false;

	list<string>::iterator it1 = palabrasPatron.begin();
	list<string>::iterator it2 = palabras.begin();
	string palabra, palabraPatron;
	while (( it1 != palabrasPatron.end()) && !(diferencia)){
		while (it2 != palabras.end()){
			palabraPatron = (*it1);
			palabra = (*it2);
			it1++; it2++;
			if (palabra.compare(palabraPatron)){
				diferencia = true;
			}
		}
	}
	CPPUNIT_ASSERT_MESSAGE("La lista de palabras no es correcta", diferencia == false );
}
开发者ID:iangrigiani,项目名称:datos2011fiuba,代码行数:27,代码来源:TestParserDeLibros.cpp

示例4: Parametros

int Servicios::recuperarLibro(unsigned int idLibro, Libro **libro)
{
	unsigned int offset = 0;

	string pathArbolPrimario = Parametros().getParametro(CARPETA_DATOS);
	pathArbolPrimario += NOMBRE_BMAS_PRIMARIO;

	ArbolBMasNumerico *arbolP = new ArbolBMasNumerico(pathArbolPrimario, TAMANIO_BLOQUE_BMAS_NUMERICO);

	resultadoOperacion resultado(OK) ;

	Registro* registro = arbolP->buscarRegistroNumerico(idLibro, &resultado);

	if (registro && resultado.getDescripcion() == "ENCONTRADO"){
		offset = registro->getReferencias()->front();
	}
	else{
		return ERROR_LIBRO_INEXISTENTE;
	}


	string rutaArcLibros = Parametros().getParametro(ARCHIVO_LIBROS);

	if (rutaArcLibros == "") return ERROR_RUTA_ARCHIVO_LIBROS;

	ArchivoLibros *archivo = new ArchivoLibros(rutaArcLibros);

	*libro = (archivo->recuperarLibro(offset));

	delete archivo;

	delete arbolP;

	return 0;
}
开发者ID:notarip,项目名称:datos201101,代码行数:35,代码来源:Servicios.cpp

示例5: buffer

Registro* ArbolBMasNumerico::crearRegistroClave(string clave) {
	stringstream buffer(stringstream::in | stringstream::out);

	buffer << clave;
	unsigned int claveNumerica;
	buffer >> claveNumerica;
	Registro* unRegistro = new Registro();
	unRegistro->agregarAtribEntero(claveNumerica);
	return unRegistro;
}
开发者ID:notarip,项目名称:datos201101,代码行数:10,代码来源:ArbolBMasNumerico.cpp

示例6: generarMockLibroSinEditorial

void TestParserDeLibros::testObtenerEditorialEnLibroSinEditorial(){
	string strLibro = generarMockLibroSinEditorial();
	const char *auxlibro= strLibro.c_str();
	char* libro;
	libro = const_cast<char*>(auxlibro);
	Registro* regLibro = this->parser->obtenerRegistroDeLibro((libro) );

	string editorial = regLibro->getEditorial();
	CPPUNIT_ASSERT_MESSAGE( "No se creó la editorial por defecto en el registro",!(editorial.empty() ) );
}
开发者ID:iangrigiani,项目名称:datos2011fiuba,代码行数:10,代码来源:TestParserDeLibros.cpp

示例7: main

int main()
{
    // Prevent zombie processes
    struct sigaction sigchld_action;
    sigchld_action.sa_handler = SIG_DFL;
    sigchld_action.sa_flags = SA_NOCLDWAIT;
    sigaction(SIGCHLD, &sigchld_action, NULL);
    Registro a;
    a.init();
    return 0;
}
开发者ID:serpi90,项目名称:RedesIV2014,代码行数:11,代码来源:registro.cpp

示例8: SMException

// Asignado a Richard
Registro Data::selectRecord(unsigned int index)
{
    InfoReg reg;
    fstream disco;
    disco.open(path, ios::binary | ios::in | ios::out);

    if (!disco) {
        throw SMException("No se pudo abrir el archivo tablespace.dat");
    }

    unsigned int offset = ( 4096 * header.blockID ) + sizeof(Header) + sizeof(InfoD);
    int x=0;
    int cant = getCantRegFisicos();


    if(index>=getCantRegActivos())
    {
        throw SMException("Index invalido para el bloque de Data " + header.blockID);
    }
    else
    {

    for(int i=0; i< cant; i++)
    {
        disco.seekg(offset);
        disco.read( (char*) &reg , sizeof(InfoReg));

        if(reg.tombstone) // == true
        {
            continue;
        }
        else if(!reg.tombstone)// == false
        {
            if(x==(int)index)
            {
                unsigned char *contenido = (unsigned char *)malloc(reg.tam);
                disco.read((char*)contenido,reg.tam);
                Registro registro;
                registro.info = reg;
                registro.setContentReg(contenido);
                return registro;
            }
            else
            {
                x++;
            }
        }
        offset+=sizeof(InfoReg) + reg.tam;
    }
    }


}
开发者ID:josecastellanos,项目名称:TeoriadeBasedeDatosII_StorageManager,代码行数:54,代码来源:Data.cpp

示例9: res

Registro Registro::CopiarCampos(const Conj<String> cc, const Registro r2) const{
	Conj<String>::const_Iterador it = cc.CrearIt();
	Registro res(*this);
	while(it.HaySiguiente()){
		if (Def(it.Siguiente())){
			res.DefinirLento(it.Siguiente(), r2.Obtener(it.Siguiente()));
		}else{
			res.Definir(it.Siguiente(), r2.Obtener(it.Siguiente()));
		}
		it.Avanzar();
	}
	return res;
}
开发者ID:nippolito,项目名称:Algo2,代码行数:13,代码来源:registro.cpp

示例10: getRecord

bool InterfazCliente::add(vector<string> vec){
	bool valid,nombre,dir,tel;
	Registro rec = getRecord(vec,valid,nombre,dir,tel);
	if(valid&&(nombre&&dir&&tel)){
		bool resultado = comunicador.enviarAlta(rec);
		if (resultado) {
			cout<<RESULT_ADD_MESSAGE<<rec.toString()<<endl;
		} else {
			cout<<RESULT_ADD_MESSAGE_FAIL<<rec.toString()<<endl;
		}
	}else{
		cout<<INVALID_ADD_MESSAGE<<endl;
	}
	return true;
}
开发者ID:jaatadia,项目名称:Fiuba-_Concurrentes_2C_2014_Tp2,代码行数:15,代码来源:InterfazCliente.cpp

示例11: f

static void f(Hash* hash,unsigned int cant){
	Registro* reg;
	for (unsigned int i=0;i<cant;i++){
		stringstream a;
		unsigned int b= i;
		a<<b;
		string str;
		a>>str;
		reg=new Registro(str);
		reg->agregarAtribEntero(i);
		hash->insertar(reg);
		delete reg;

	}
}
开发者ID:notarip,项目名称:datos201101,代码行数:15,代码来源:pruebashash.cpp

示例12: armarResponse

response Servidor::armarResponse(Registro &reg,long pid)
{
	response resp;
	resp.reg = reg.getRegistro();
	resp.mtype = pid;
	return resp;
}
开发者ID:daniel321,项目名称:repoFacu,代码行数:7,代码来源:servidor.cpp

示例13: while

Registro* ArbolBiselado::obtenerMayorDeLosMenores(Nodo* nodo){

	Nodo* nodoActual = nodo;
	while(true)
    {
        try
        {
            nodoActual = nodoActual->getHijoDerecho();
        }
		catch(NumeroDeBloqueInvalido e)
		{
		    break;
		}
		nodosARotar->apilar(nodoActual);
		movimientos->apilar('d');

	}
	//En caso de que el nodo hoja que contenia el registro sustituto
	//haya quedado vacio, lo desapilo para el biselado y elimino la duplicacion
	desapilarSiNodoQuedaVacio(nodoActual);

	//obtengo el registro original a eliminar
	Registro* original = nodoActual->getListaDeRegistros()->obtenerUltimo();

	//duplico su informacion en el que se insertara en el nodo que quedo vacio
	Registro* duplicado = new Registro(original->getID(),original->getCodigo(), original->getDescripcion());

	//elimino el original si no es el unico registro restante o es hoja
	if(nodoActual->getListaDeRegistros()->getTamanio() > 1 || nodoActual->esHoja()){

		 nodoActual->eliminarRegistro(original);

	} else //en caso de que no (esta es la recursion) y el nodo prestador a su vez
		//queda vacio le aplico recursion para que busque otra vez el menor de los mayores
		//o mayor de los menores y repita todo el proceso, mejor dicho.
	{
		//fijate que en el unico caso que hay que hacer recursion
		//es si caemos en un nodo interno con un solo registro
		// (A || B) == ¬A && ¬B.
		eliminarEnNodoInterno(original,nodoActual);
	}

	return duplicado;

}
开发者ID:MarianoCinalli,项目名称:OrganizacionDeDatosTP1,代码行数:45,代码来源:ArbolBiselado.cpp

示例14: mostrarBucket

void TestArchivoDeBuckets::mostrarBucket(ArchivoDeBuckets* archivo,int numeroDeBucket) {
    Bucket* bucketNuevo = archivo->obtenerBucket(numeroDeBucket);

    string* serializacion = bucketNuevo->serializar();
    cout << "bucketSerializado "<< serializacion->size() << endl;
    delete serializacion;

    int cantRegistros = bucketNuevo->getCantidadDeRegistros();

    list<Registro*>::iterator it = bucketNuevo->ubicarPrimero();
    for(int i =0; i < cantRegistros; i++) {
        Registro* registro = *it;
        Distrito* d = (Distrito*)registro->getContenido();
        cout << d->getDistrito() << endl;
        delete d;
        it++;
    }
}
开发者ID:martineq,项目名称:odd-tp-2c2011,代码行数:18,代码来源:TestArchivoDeBuckets.cpp

示例15: while

void BaseDeDatos::cargarBufferDesdeArchivo(){
    fstream bdfile;
    bdfile.open(ARCHIVO_BASE, ios_base::in | ios_base::binary);
    if (!bdfile.is_open()){
        bdfile.open(ARCHIVO_BASE, ios_base::in| ios_base::binary | ios_base::trunc);
    }
    while(!bdfile.eof() && !this->bufferLleno()) {
        Registro r;
        t_registro tr;
        if(bdfile.read((char*)(&tr), Registro::getSize()) ){
        	r.crearDesdeRegistro(tr);
        	this->bufferRegistros.push_back(r);
        } else {
        	break;
        }
    }
    bdfile.close();
}
开发者ID:pschmid,项目名称:ejericicio6,代码行数:18,代码来源:BaseDeDatos.cpp


注:本文中的Registro类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。