Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 11/06/2006
OSKR's Avatar
OSKR OSKR is offline
Miembro
 
Join Date: Nov 2004
Location: San Cristóbal/Táchira/Venezuela
Posts: 389
Poder: 22
OSKR Va por buen camino
Code:
void Ap (RegAgenda Arr[], int &cont)
{ Agenda4=fopen("C:\\Asegurados.dat","a+b");
   fseek (Asegurados,0,SEEK_SET);//Busca el inicio del archivo
     cont=0;
     IniArre(Arr,tam);
     Ini_R(Reg);
    AnsiString g;
     while (!(feof(Asegurados)) && (cont<=tam))
           { fread(&Reg,sizeof(Reg),1,Asegurados);
              g=Form7->Edit1->Text.c_str(); //No es necesario esto ultimo
              if(strcmp(Reg.ApeNom,"")!=g)//Comparando un AnsiString con un
                                                    //número?
                { cont++;
                           Arr[cont]=Reg;
                }
   }
  cont--;
}
Esa estructura llamada Reg debería ser inicializada antes de escribir en ella con el fread, xq si esta fallase...como sabrías si escribió o no? al menos q lo iguales a un entero y ahí tendrás la cantidad de caracteres leídos,
Supón q nada se leyó....entonces Reg.ApeNom es nula, como está en una estructura y es un arreglo (no declarado como puntero...me imagino) entonces para saber si realmente hay algo allí sería
Code:
if(Reg.ApeNom[0]!=0) // o NULL o '\0'...igual
luego...si no es nula, puedes comparar con el AnsiString g así:
Code:
if(AnsiString(Reg.ApeNom)!=g)
ya q el operador == y el != están sobrecargados para el AnsiString
Code:
Arr[cont]=Reg;
Supongo q RegAgenda es una clase con el operador = sobrecargado para soportar estructuras como Reg, sino fuese así.....pues habría q copiar el contenido...y suponiendo q te fuera válido esa asignación yo lo haría así:
Code:
memcpy(&Arr[cont],&Reg,sizeof(Reg));
No he ojeado el resto del código, empieza por arreglar esta parte....otra cosa..con el Debugger puedes saber en q línea ocurrela excepción.
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad."
Simón Bolívar
(Carta al Coronel Inglés Patricio Cambell 05/08/1829).
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Entender lo que pasa con mis datos IVAND Conexión con bases de datos 6 03/02/2006 14:23
Entender una sentencia Renees Varios 5 02/09/2005 19:35
Otro error para conectarme como cliente, sigo son conectarme :( Lore Castillo Oracle 1 21/06/2005 02:16
sigo con MDI pablo OOP 2 27/02/2005 17:42
Sigo con mis preguntitas!!! Critter Varios 1 15/12/2004 21:44


All times are GMT +2. The time now is 10:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi