Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2008
negro_sto negro_sto is offline
Registrado
 
Registrado: feb 2008
Posts: 5
Poder: 0
negro_sto Va por buen camino
ayuda para leer una fecha desde un txt

Hola, mi problema es el siguiente, tengo que leer una lista de datos desde un txt y cargarlos a un vector, el tema es que si cargo una fecha (señalada con:"-->aca"), al correr el programa, lo compila, pero enseguida me sale el siguiente aviso:

Cita:
Debugger Exeption Notification

Proyectproyect1.exe raised exception Class EConverter error whit message"" is not a valid date'.Process sttoped. use Step or Run to continue.
Si leo un txt sin fecha pero con todo lo otro anda bien.
aguien me puede ayudar??, desde ya muchas gracias
Estoy trabajando con c++ builde 6, el codigo es el siguiente:

Código:
ifstream archie("historial.txt");
if(archie.is_open()){
        while(!archie.eof()){
        datos aux;
        archie.ignore();
        getline(archie, aux.a);
        if(aux.a=="zz")break;
        getline(archie, aux.b);
        getline(archie, aux.c);
        string j, y;
        getline(archie, j);
        aux.d=StrToTime(j.c_str());
        getline(archie, y);
        aux.e=StrToTime(y.c_str());
        archie>>aux.f;
        string u;
        /*aca--->*/       getline(archie, u);
        /*aca--> */       aux.g=StrToDate(u.c_str());

        au.v.push_back(aux);
        }
        archie.close();
        }
        else
        ShowMessage("no se pudo abrir el archivo");

Última edición por dec fecha: 23-02-2008 a las 21:34:44.
Responder Con Cita
  #2  
Antiguo 23-02-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Vigila el formato en el que está escrita la fecha en modo texto. No vale cualquier formato. Esta puede ser la causa del error que obtienes.

Repasa la función FormatDateTime en la ayuda del mismo Builder:
Código:
extern PACKAGE AnsiString __fastcall FormatDateTime(const AnsiString Format, System::TDateTime DateTime)
Saludos.
Responder Con Cita
  #3  
Antiguo 24-02-2008
negro_sto negro_sto is offline
Registrado
 
Registrado: feb 2008
Posts: 5
Poder: 0
negro_sto Va por buen camino
Cita:
Empezado por escafandra Ver Mensaje
Vigila el formato en el que está escrita la fecha en modo texto. No vale cualquier formato. Esta puede ser la causa del error que obtienes.

Repasa la función FormatDateTime en la ayuda del mismo Builder:
Código:
extern PACKAGE AnsiString __fastcall FormatDateTime(const AnsiString Format, System::TDateTime DateTime)
Saludos.
Hola gracias por la respuesta.
A la fecha la cargo al txt asi:

archi<<DateToStr(ith->g).c_str()<<endl;

ith->g es una variable TDateTime.
si es a eso que te referis (si no no te entendi,perdon), para cargarlo no me da error.Al correr el programa cuando todavia el archivo no existe,lo crea bien, creo que el problema esta cuando lo lee...
espero ayuda gracias.

Última edición por negro_sto fecha: 24-02-2008 a las 00:33:03.
Responder Con Cita
  #4  
Antiguo 24-02-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Estas leyendo con un getline. Antes de encontrar la fecha debe haber otro endl, es decir, la fecha debe estar en una linea separada de texto:

escribir:
Código:
file<<dato<<endl;
file<<fecha<<endl;
.
.
.
leer:
Código:
file.getline(buffer, sizeof(buffer));
...asignar a dato buffer;
file.getline(buffer, sizeof(buffer));
fecha = TDateTime(AnsiString(buffer));
.
.
.
Haz un debug poniendo un punto de parada antes de leer la fecha y ejecuta paso a paso exam9inando lo que pasa con las variables.
Examina tu archivo de texto, para ver lo que ha escrito y lo que debe leer.

Saludos.
Responder Con Cita
  #5  
Antiguo 24-02-2008
negro_sto negro_sto is offline
Registrado
 
Registrado: feb 2008
Posts: 5
Poder: 0
negro_sto Va por buen camino
Gracias, hice un proyecto chico de prueba, y anda cargar la fecha. no se de que es el error....
Raro porque si al mio le saco la fecha anda....
Responder Con Cita
  #6  
Antiguo 24-02-2008
negro_sto negro_sto is offline
Registrado
 
Registrado: feb 2008
Posts: 5
Poder: 0
negro_sto Va por buen camino
Cita:
Empezado por escafandra Ver Mensaje
Estas leyendo con un getline. Antes de encontrar la fecha debe haber otro endl, es decir, la fecha debe estar en una linea separada de texto:

escribir:
Código:
file<<dato<<endl;
file<<fecha<<endl;
.
.
.
leer:
Código:
file.getline(buffer, sizeof(buffer));
...asignar a dato buffer;
file.getline(buffer, sizeof(buffer));
fecha = TDateTime(AnsiString(buffer));
.
.
.
Haz un debug poniendo un punto de parada antes de leer la fecha y ejecuta paso a paso exam9inando lo que pasa con las variables.
Examina tu archivo de texto, para ver lo que ha escrito y lo que debe leer.

Saludos.

Era ese el error, ahora me anda, muchas Gracias!!!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Desde la fecha inicio hasta la fecha final que me grabe los meses contenidos Renis SQL 4 01-10-2007 17:21:44
Ayuda, Como calcular fecha de vencimiento mensual a partir de una fecha x en delphi Renis Impresión 4 23-08-2007 23:45:14
Leer Fecha de Impresora Epson LX300 Fiscal Chaja Varios 3 09-08-2006 15:01:31
Leer la fecha de creación de un directorio sitrico Varios 0 06-02-2004 22:24:51
AYUDA para leer el contenido de un TexFile jorch_yr Varios 3 03-01-2004 21:55:47


La franja horaria es GMT +2. Ahora son las 19:19:23.


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