• Viernes 8 de Noviembre de 2024, 14:41

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - steel00

Páginas: [1]
1
C++ Builder / Re: archivos dentro de clases
« en: Martes 21 de Abril de 2009, 19:02 »
Claro, estoy escribiendo AnsiString dentro de un archivo binario... cuando el archivo era de texto, los AnsiString si se llenaban con data, pero ahora que guardo la informacion en archivo binario, los AnsiString se llenan con NULL

2
C++ Builder / archivos dentro de clases
« en: Martes 21 de Abril de 2009, 07:31 »
Hola...

Bueno vengo a ustedes porque tengo un problema, la verdad es que tengo el siguiente codigo:

Citar
int CWorker::BuscaArchivo(AnsiString dni)
{

        strcpy(AuxDNI,dni.c_str());
        strcat(AuxDNI,".dat");

        FILE *Arch;
        Arch = fopen(AuxDNI,"r");
        if(Arch == NULL)
                return 0;

        fseek(Arch,sizeof(WORKER), SEEK_SET);
        fread(&worker,sizeof(WORKER),1,Arch);

        fclose(Arch);

        return 1;
}

Lo que hace es recibir un AnsiString dni desde el formulario para que ese se copie a mi variable auxiliar AuxDNI y luego se concatene con ".dat", bueno lo que supuestamente debe hacer este codigo es leer el archivo AuxDNI y que todo lo que esta dentro se copie a worker. Ahora, worker es una estructura tipo WORKER:

Citar
typedef struct
{
   AnsiString DNI,Nombre,ApellidoP,ApellidoM,Brevete,Otros;
}WORKER;

y esta estructura esta en la parte privada de mi Clase CWorker. Lo que supuestamente deberia hacer es leer la info del archivo, pasarlo a la estructura y asi poder usar la info en el formulario por medio de mi clase, pero el problema es que mi structura no se esta llenando de info, sino que todas aparecen con NULL. Por lo que no puedo manejar la info dentro del formulario.

Podrian revisar el codigo y ver que anda mal... hace como 2 horas que busco la solucion y la verdad es que ya es medio tarde.

Ah me olvidaba si por ahi saben como crear una carpeta oculta agradeceria mucho que me dieran la funcion o como seria el codigo para poder implementarlo.

Saludos :)

3
C++ Builder / Re: almacenar caracteres en una cadena con memoria dinamica
« en: Viernes 5 de Septiembre de 2008, 01:57 »
Hola...

Gracias por la respuesta y perdon por la forma en como postee el codigo de mi programa, si es cierto que declare el MAX 1000 y que lo debería usar, pero me di cuenta tarde, porque cuando pegue el codigo en la pregunta me olvide que no habia reemplazado el 1000 por MAX... otra cosa, veo que por la solucion que me has dejado que el programa asigna 1000 casillas a la variable frase de forma dinamica, pero lo que yo andaba buscando es si hay alguna manera de ir ampliando la memoria conforme se van obteniendo los caracteres, por ejemplo si yo escribo una frase de 20 caracteres, la memoria solo asignaria 20 casillas, si fuesen menos caracteres menos casillas y si fueran mas caracteres, mas casillas... eso es lo que trato de hacer con el programa....

espero se haya podido explicar mi duda y gracias otra vez por la respuesta, espero poder encontrar la solucion porque la verdad es que no la he podido encontrar en la web...

Saludos

4
C++ Builder / almacenar caracteres en una cadena con memoria dinamica
« en: Jueves 4 de Septiembre de 2008, 03:24 »
hola a todos...

Ante todo me presento al foro, ya que es la primera vez que entro... Me llamo Carlos y soy estudiante de Ing. de software

Tengo un problema que dejaron en clase, que se trata de leer una frase(1000 caracteres como maximo) y almacenarlo en una cadena usando memoria dinamica, pero para esto no puedo pedir la cantidad de caracteres de la frase que el usuario escribira y me da problemas cuando quiero salir del bucle, ya que no se como hacer para que el compilador reconosca la tecla ENTER como fin del ingreso de caracteres....

Aca dejo el codigo:

Citar
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 1000

void main()
{
        int i;
        char *frase = NULL;
        char tecla[10];

        printf("Ingrese una frase, 1000 caracteres como maximo: ");
        for(i=0;i<1000 ; i++)
        {
                frase = (char*)malloc(sizeof(char)*1);
                frase = getche();
                        if(frase == 'n')
                                break;
        }

        printf("n%s",frase);



        free(frase);
        system("PAUSE");

}

Bueno el problema que tengo es que el bucle no acaba cuando apreto la tecla ENTER y cuando apreto varias veces esa tecla el programa imprime cualquier cosa en la pantalla y me da un error que esta relacionado con la memoria de la variable frase... alguien me puede guiar un poco con este problema

Gracias, saludos

Páginas: [1]