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 Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 02/05/2005
leireiresaio leireiresaio is offline
Registrado
 
Join Date: May 2005
Posts: 1
Poder: 0
leireiresaio Va por buen camino
Ficheros

Hola!!!

Tenemos problemas a la hora de hacer un fichero en "Borland C++ Builder 5". No sabemos como meter la información en un fichero. Nos gustaria que nos recomendaseis que tipo de fichero utilizar. No estaria mal que nos mandaseis un trozo de código de ejemplo.

Gracias!!! Un saludo.
Reply With Quote
  #2  
Old 16/05/2005
Crandel's Avatar
[Crandel] Crandel is offline
Miembro Premium
 
Join Date: May 2003
Location: Parana, Argentina
Posts: 1,475
Poder: 25
Crandel Va por buen camino
Los archivos de escritura son los ofstream , tenes que declarar una variable de ese tipo, por ejemplo:

Code:
ofstream ArchiSal("salida.txt");
un ejemplo con escribiendo bastantes boludeces
Code:
ofstream ArchiSal("salida.txt");
string Texto1 = "Hola";
string Texto2 = "Mundo";
int num = 1;
Archi << Texto1 << Texto2 << endl;
Archi << Texto1 << " " << Texto2 << endl;
Archi << num << num++ << endl;
Archi << num << " " << num++ << endl;
Archi << num++ << " " << num << endl;
Archi << Texto1 << num << "\n";
Archi << num++ << Texto2 << endl;
Al final, podes llamar al método close() si queres, igualmente este se llama al destruir la varaible

Para lectura ifstream .

Code:
float PromedioDatos()
{
  float x, suma = 0;
  int cont = 0;
  ifstream Archivo(“Datos.txt”);
  while (!Archivo.eof())
  {
    Archivo >> x;
    suma += x;
    cont++;
  }
  return suma/cont;
}
Espero que te sirva para empesar
__________________
[Crandel]
Reply With Quote
  #3  
Old 20/05/2005
alt126's Avatar
alt126 alt126 is offline
Miembro
 
Join Date: Dec 2004
Posts: 171
Poder: 22
alt126 Va por buen camino
Sabeis si tambien funciona en la version 3??

Es que lo estoy probando y no me funciona!!

Gracias
Reply With Quote
  #4  
Old 20/05/2005
Crandel's Avatar
[Crandel] Crandel is offline
Miembro Premium
 
Join Date: May 2003
Location: Parana, Argentina
Posts: 1,475
Poder: 25
Crandel Va por buen camino
no lo probe esa versión, seguro que en la 5 y 6 funciona.

Si especificas que error te tira, cpaz te pueda ayudar.
__________________
[Crandel]

Last edited by Crandel : 20/05/2005 at 18:45.
Reply With Quote
  #5  
Old 01/06/2005
mminorm mminorm is offline
Miembro
 
Join Date: May 2005
Posts: 23
Poder: 0
mminorm Va por buen camino
Ficheros

Prueba este otro codigo, imagino ke estas usando algun tipo de registro, lista enlazada o algo asi:

void nodo::guardar(void)//guarda en un fichero
{
nodo *AUX = NULL;
if (obj.l != NULL)
{
AUX = obj.l;//obj,l es un objeto ke contiene la cabeza de una lista enlazada
ofstream datos("fichero.txt");
if (!datos)
ShowMessage( "No se pudo abrir el archivo");
while (AUX != NULL)
{
//tienes ke declarar una variable por cada dato del registro
char nombre[15];
char apellido1[15];
char apellido2[15];
char cedula[10];
char telefono[15];
char celular[15];
char provincia[15];
StrCopy(nombre, AUX->info.nombre);
StrCopy(apellido1, AUX->info.apellido1);
StrCopy(apellido2, AUX->info.apellido2);
StrCopy(cedula, AUX->info.cedula);
StrCopy(telefono, AUX->info.telefono);
StrCopy(celular, AUX->info.celular);
StrCopy(provincia, AUX->info.provincia);
if (AUX!=NULL)
{
datos.write ((unsigned char *) & nombre, sizeof(nombre));
datos.write ((unsigned char *) & apellido1, sizeof(apellido1));
datos.write ((unsigned char *) & apellido2, sizeof(apellido2));
datos.write ((unsigned char *) & cedula, sizeof(cedula));
datos.write ((unsigned char *) & telefono, sizeof(telefono));
datos.write ((unsigned char *) & celular, sizeof(celular));
datos.write ((unsigned char *) & provincia, sizeof(provincia));
}
AUX = AUX->sig;
}
datos.close();
datos.close();
}
}
void nodo::cargar (void) //carga informacion desdel el fichero
{
persona p;//mi registro de informacion
ifstream datos ("fichero.txt");
obj.l=NULL;//recuerda ke obj.l es la cabeza de mi lista enlazada

if (!datos)
ShowMessage("No se pudo abrir el archivo");
else
{
do
{
//tienes ke cargar la informacion del archivo en cada dato del registro
datos.read ((unsigned char *) & p.nombre, sizeof(p.nombre));
datos.read ((unsigned char *) & p.apellido1, sizeof(p.apellido1));
datos.read ((unsigned char *) & p.apellido2, sizeof(p.apellido2));
datos.read ((unsigned char *) & p.cedula, sizeof(p.cedula));
datos.read ((unsigned char *) & p.telefono, sizeof(p.telefono));
datos.read ((unsigned char *) & p.celular, sizeof(p.celular));
datos.read ((unsigned char *) & p.provincia, sizeof(p.provincia));
if (!datos.eof())
obj.insertar(p);
}
while (!datos.eof());
}
datos.close();
datos.close();
}

espero t sirva, si no t funcionara me podrias decir ke clase de estructura estas utilizando. Estamos en contacto

Last edited by mminorm : 01/06/2005 at 20:27.
Reply With Quote
Reply



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


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


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