FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Sigo sin entender el error...
Esto es lo que declaro en el Form1: Es decir, si se elije esta opcion...
////////////////////////////////////////// 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(); if (strcmp(Reg.ApeNom,"")!=g) { cont++; Arr[cont]=Reg; } } cont--; } ///////////////////////////////////////// void Apellido() { int i,j,P; Verificar(P); if (P!=1) { Aseguados=fopen("C:\\Asegurados.dat","a+b"); Form1->Hide(); Form7->Label1->Caption=("Ingrese Apellido a buscar"); Form7->Edit1->Text; Form7->Edit1->Clear(); Form7->Edit1->Visible=true; Form7->Show(); Form7->Edit1->SetFocus(); i=0; Ap(Arre,i); Ordenar(Arre,i); Mostrar(Arre,i); fclose(Asegurados); } } ///////////////////////////////////////////// Y en el Form7, que es donde se va a producir la busqueda.... if (Form1->RadioGroup1->ItemIndex==4) { Edit1->Clear(); Edit1->Visible = true; Edit1->Enabled = true; Form7->Edit1->Clear(); Form7->Show(); if (Form7->Edit1->Text=="-1") ShowMessage ("No se acepta campo vacío. Ingrese una opcion"); else { AnsiString g; g=Form7->Edit1->Text; strcpy(nom,g.c_str()); while (!(feof(Asegurados))&& (i<=tam)) { fread(&Reg,sizeof(Reg),1,Asegurados); if (nom==Reg.ApeNom) { i=i+1; Arre[i]=Reg; } } if (i>0) { if (i>1) i--; Ordenar(Arre,i); Muestra (Arre,i); Form7->Edit1->Clear(); } ////////////////////////////////////////////////// Por que...al cambiar del Form1 al Form7, es dcir en ese cambio de ventana me dice que no se puede convertir String en Double...Sigo sin entender....Algiuen detecta mi error?????Desde ya...muchas gracias |
#2
|
||||
|
||||
Código:
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--; } 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 Código:
if(Reg.ApeNom[0]!=0) // o NULL o '\0'...igual Código:
if(AnsiString(Reg.ApeNom)!=g) Código:
Arr[cont]=Reg; Código:
memcpy(&Arr[cont],&Reg,sizeof(Reg));
__________________
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). |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Entender lo que pasa con mis datos | IVAND | Conexión con bases de datos | 6 | 03-02-2006 14:23:53 |
Entender una sentencia | Renees | Varios | 5 | 02-09-2005 19:35:01 |
Otro error para conectarme como cliente, sigo son conectarme :( | Lore Castillo | Oracle | 1 | 21-06-2005 02:16:14 |
sigo con MDI | pablo | OOP | 2 | 27-02-2005 17:42:15 |
Sigo con mis preguntitas!!! | Critter | Varios | 1 | 15-12-2004 21:44:05 |
|