SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: ambarrerar en Miércoles 1 de Marzo de 2006, 21:21

Título: Como Guardar Una Tabla Paradox En Un .txt?
Publicado por: ambarrerar en Miércoles 1 de Marzo de 2006, 21:21
Hola

Necesito guardar una tabla paradox en un archivo .txt, donde las columnas esten separadas por comas (,). Muchas gracias de antemano por su tiempo.
Título: Re: Como Guardar Una Tabla Paradox En Un .txt?
Publicado por: Linspire en Jueves 2 de Marzo de 2006, 04:02
Bueno, estuve probando este código en C++Builder 5 y funciona perfectamente, y si quieres separarlo por comas analizalo un poco ya que por el momento no tengo mucho tiempo para hacerlo.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
        TStringList *TXT = new TStringList();
        AnsiString dato;
        char Registro [500];

//En la variable Registro se almacena el nombre de los campos
        strcpy(Registro,"");
        for(int i = 0; i < Table1->FieldCount; i++)
        {
        StrCat(Registro,Table1->Fields->Fields->FieldName.c_str());
        StrCat(Registro,"\t");
        }
        StrCat(Registro,"\n");

        Table1->First();
        while (!Table1->Eof)
        {
        for(int i = 0; i < Table1->FieldCount; i++)
        {
// Para este caso en particular, los primeros dos campos son de tipo numérico entero.
//Por lo que los correspondientes registros son transformados en caracteres y almacenados en la variable denominada Registro

        if (i<2)
        {
        dato = IntToStr(Table1->FieldByName(Table1->Fields->Fields->FieldName)->AsInteger);   // AsInteger);
        StrCat(Registro, dato.c_str());
        StrCat(Registro,"\t");
        }else

// Los siguientes campos son de tipo numérico flotante y se registran de igual modo (como cadena de caracteres) en la variable Registro
        {
        dato = FloatToStr(Table1->FieldByName(Table1->Fields->Fields->FieldName)->AsFloat);
        StrCat(Registro,dato.c_str());
        StrCat(Registro,"\t");
        }
        }
// Enseguida se almacena el registro de cada uno de los campos, en el Objeto TStringList TXT
        TXT->Add(String(Registro));
        strcpy(Registro,"");
        Table1->Next();
        }
        //Finalmente lo guardas en un archivo de texto TXT
        SaveDialog1->Title = "Guardar Base de Datos";
        SaveDialog1->DefaultExt = String("txt");

        if (SaveDialog1->Execute())
        { TXT->SaveToFile(SaveDialog1->FileName); }
}
//---------------------------------------------------------------------------


Saludos y suerte!... :lightsabre:
Título: Re: Como Guardar Una Tabla Paradox En Un .txt?
Publicado por: ambarrerar en Jueves 2 de Marzo de 2006, 05:01
Hola

Muchas gracias por la ayuda.

Pero resulta que no me funciona, no se si estoy haciendo las cosas bien, pero cuando la tabla tiene datos me sale un error. La verdad estoy un poco (muy) perdida.

Ojala puedas ayudarme

Gracias
Título: Re: Como Guardar Una Tabla Paradox En Un .txt?
Publicado por: Linspire en Jueves 2 de Marzo de 2006, 06:01
puedes mandarme tu Tabla para que la analice?, mi correo es unsire@gmail.com