Hola Carolina,<br><br>Yo recebí tu mensaje pero todavia estoy en el Ab inicio  en C++ pero estudiando por auto recreación. Me gustaría pedirte que me ayudaras en conseguir algunos problemas resueltos y con comentarios de preferencia. O sea un código fuente  de venta, inventario u otro cualquiera de utilización que me muestre bien la estructura de un programa<br>
<br>De aquí a  a unos dos meses, espero poder contribuir con algo<br><br>Gracias<br><br>Augusto<br><br><br><br><div class="gmail_quote">2008/6/17 Carolina Herrera <<a href="mailto:carolinah802@hotmail.es">carolinah802@hotmail.es</a>>:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



<div>
Hola chicos!!!<br><br>Hola Luis, esa es la forma en la que normalmente lo hacia, pero la opción que daba Salvador me parecía mucho más sencilla, lastimosamente aún no logro hacer que funcione =(<br><br>Si alguien sabe cual es el error que estoy cometiendo, ya lo busqué y probé de varias formas diferentes, pero nada de nada =(<br>
<br>fseek(nom_arch, -sizeof(nom_reg), SEEK_CUR);<br><br>Utilizo Windows XP y Borland C++ 3.0<br><br>Un beso para ti por tu ayuda.<br><br>Karo<br><br><blockquote><hr>Date: Mon, 9 Jun 2008 08:53:54 -0500<br>From: <a href="mailto:saavedraphp@gmail.com" target="_blank">saavedraphp@gmail.com</a><br>
To: <a href="mailto:cconclase@listas.conclase.net" target="_blank">cconclase@listas.conclase.net</a><br>Subject: [C con Clase] Espero te sirva Retroceder el puntero en archivo   binario<br><br><div>Hola carolina.</div>
<div>lo que yo hago es primero buscar el registro y un a vez encontrado guardo la posición ahí el código.</div>
<div>bool Buscar_Persona(int pcodigo, int *posicion, bool *HuboError )</div>
<div>{<br>        FILE *aPersona;<br>        rP rPersona;<br>        bool encontro = false;</div>
<div>        *HuboError = false;<br>        aPersona = fopen(cNombreArchivoPersona, "rb");</div>
<div>        if(aPersona == NULL)<br>        {<br>                *HuboError = true;<br>        }<br>        else<br>        {<br>                fread(&rPersona, sizeof(rPersona), 1, aPersona);</div>
<div>                while( (!feof(aPersona)) && (!encontro) )<br>                {<br>                        if( (rPersona.id_persona == pcodigo) && (rPersona.eliminado == false) )<br>                        {<br>

                                encontro = true;</div>
<div>                        }<br>                        else<br>                        {<br>                                fread(&rPersona, sizeof(rPersona), 1, aPersona);<br>                                *posicion = *posicion + 1;<br>

                        }<br>                }<br>                fclose(aPersona);</div>
<div><br>        }<br>        return encontro;</div>
<div>}</div>
<div> </div>
<div> </div>
<div>------------</div>
<div> </div>
<div>luego hago el cambios modificados  envío la posición y modifico los datos así,</div>
<div> </div>
<div>bool ModificarPersona(int pid_persona,char* pnombre, char* p_apaterno, char* p_amaterno,<br>                       char* pdireccion_foto, bool *HuboError, int *pPosicion )<br>{</div>
<div>                                                      <br>        FILE *aPersona;<br>        rP rPersona;<br>        bool Modifico = false;</div>
<div>        aPersona = fopen(cNombreArchivoPersona, "rb+");</div>
<div>        if(aPersona == NULL)<br>        {</div>
<div>                *HuboError = true;</div>
<div>        }<br>        else<br>        {</div>
<div>                        fread(&rPersona, sizeof(rPersona), 1, aPersona);<br>                        fseek(aPersona, sizeof(rPersona) * (*pPosicion), SEEK_SET);</div>
<div><br>                        rPersona.id_persona = pid_persona;<br>                        strcpy(rPersona.nombre, pnombre);<br>                        strcpy(rPersona.ap_pat, p_apaterno);<br>                        strcpy(rPersona.ap_mat, p_amaterno);<br>

                        strcpy(rPersona.direccion_foto, pdireccion_foto);<br>                        Modifico = true;</div>
<div>                fwrite(&rPersona, sizeof(rPersona), 1, aPersona);<br>                fclose(aPersona);<br>        }</div>
<div>      return Modifico;<br>}<br></div>
<div> </div>
<div> </div>
</blockquote><br><hr>Discover the new Windows Vista <a href="http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE" target="_blank">Learn more!</a></div>
<br>_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote></div><br>