Jump to content
febra

Gravar informação recebida em C para um ficheiro

Recommended Posts

febra

Parte I 

Então é o seguinte, eu tenho de fazer um trabalho em c e ja fiz o seguinte código:

#include <stdio.h>

//Declaração de estruturas
struct  time t;
struct date d;

typedef struct{
  float cb_1;
  float cb_2;
  float ap;
  float re_1b;
  float re_2b;
  float re_p;
  int temp;
  char nome_criador[MAX];
  char comentario[250];
}MOV;


//Declaração de funções
char menu(void);
char sub_menu(char op);
void ficheiro_movimento(float mat_movimentos[7][MAX],int conta_mov);
void simulacao(MOV movimento);
void Efectuar_um_movimento(MOV movimento);
void guardar_movimento(MOV movimento,float mat_movimentos[7][MAX],int conta_mov,char nome[]);
void editar_movimento(MOV movimento,float mat_movimentos[7][MAX],int conta_mov,char nome[]);
void grava_dados_cmdrobot(MOV movimento);
void temporizador(int *msegundos);
void data(void);
void hora(void);

void main()
{

  char op, sair_prog, op_sub, nome[100];
  int conta_mov=-1,conta=0;
  float mat_movimentos[7][MAX]={0};
  MOV movimento;



  do{
    op=menu();

        switch(op){

          case 'A':
                    op_sub=sub_menu(op);
                    switch(op_sub){

                            case'F':
                                    clrscr();
                                    if(conta_mov!=-1)
                                      ficheiro_movimento(mat_movimentos,conta_mov);
                                    else{
                                      printf("Opcao invalida, tem de guardar primeiro um movimento para que possa fazer a simulacao!");
                                      getch();
                                      }
                                    break;

                            case'I':
                                    clrscr();
                                    simulacao(movimento);//Faz uma simulação do braço a agarrar num objecto e colucalo numa parteleira
                                    break;
                            }//fim do swich
                            break;

          case 'M':
                    op_sub=sub_menu(op);

                      switch(op_sub){

                            case'E':
                                    clrscr();
                                    conta++;
                                    Efectuar_um_movimento(movimento);//Abre a função que recebe os valores introduzidos pelo utilizador
                                    break;

                            case'G':
                                    clrscr();
                                    conta_mov++;
                                    if(conta!=0)
                                      guardar_movimento(movimento,mat_movimentos,conta_mov,nome);//Abre a função que goarda o movimento
                                    else{
                                      printf("Opcao invalida, tem de efectuar primeiro um movimento para que o possa guardar!");
                                      getch();
                                      }
                                    break;

                            case'D':
                                    clrscr();
                                    if(conta_mov!=-1)
                                      editar_movimento(movimento,mat_movimentos,conta_mov,nome);//Abre a função que edita o movimento
                                    else{
                                      printf("Opcao invalida, tem de guardar primeiro um movimento para que possa edita-lo!");
                                      getch();
                                      }
                                    break;
                            }//fim do swich
                            break;

          case 'S':
                 do
                 {
                        printf("\nTem a certeza que deseja sair?(S/N)\n");
                        sair_prog=getch();

                        sair_prog=toupper(sair_prog);

                        if(sair_prog=='N')
                          op='A';

                 }while(sair_prog!='S' && sair_prog!='N');
                 break;

            }//Fim do swicth

      }while(op!='S');
}//Fim da main


                                    ///////////////////
                                    ///F U N Ç Õ E S///
                                    ///////////////////


///////////////
//Função menu//
///////////////
char menu(void)
{

  char op;

  clrscr();
  printf("\n\t  M E N U\n\n\n");
  printf("\nModo (A)utomatico\n");
  printf("\nModo (M)anual\n");
  printf("\n(S)air\n\n");
  printf("\n\n Escolha uma opcao: ");


   fflush(stdin);
   op=getch();
   op=toupper(op);

    if(op!='A' && op!='M' && op!='S'){
      printf("\n\n!!ERRO!! Opcao invalida...");
      getch();


    }


  return op;
}//Fim da main



///////////////////
//função sub-menu//
///////////////////
char sub_menu(char op)
{

  char op_sub;

  switch(op){

          case 'A':
                     do{
                     clrscr();
                     printf("\n\t  M E N U\n\n\n");
                     printf("\nModo Automatico\n");
                     printf("\n\t(F)icheiro de Movimentos\n");
                     printf("\n\tS(i)mulacao de Movimento de Pegar Objecto e coloca-lo em Prateleira\n\n");
                     printf("\n\t(R)etroceder\n");
                     printf("\nModo Manual\n");
                     printf("\nSair\n\n");
                     printf("\n\n Escolha uma opcao: ");

                     fflush(stdin);
                     op_sub=getch();
                     op_sub=toupper(op_sub);


                     if(op_sub!='R' && op_sub!='F' && op_sub!='I'){
                       printf("\n\n!!ERRO!! Opcao invalida...");
                     getch();
                     }
            }while(op_sub!='R' && op_sub!='F' && op_sub!='I');
            break;

          case 'M':
                     do{

                     clrscr();
                     printf("\n\t  M E N U\n\n\n");
                     printf("\nModo Automatico\n");
                     printf("\nModo Manual\n");
                     printf("\n\t(E)fectua um movimento\n");
                     printf("\n\t(G)ravar Movimento\n");
                     printf("\n\tE(d)itar Ficheiro\n\n");
                     printf("\n\t(R)etroceder\n");
                     printf("\nSair\n\n");
                     printf("\n\n Escolha uma opcao: ");

                     fflush(stdin);
                     op_sub=getch();
                     op_sub=toupper(op_sub);

                     if(op_sub!='R' && op_sub!='E' && op_sub!='G' && op_sub!='D'){
                       printf("\n\n!!ERRO!! Opcao invalida...");
                     getch();
                     }
            }while(op_sub!='R' && op_sub!='E' && op_sub!='G' && op_sub!='D');
            break;

          }//fim do swich

     return op_sub;

}//Fim da função

/////////////////////////
//Ficheiro de movimento//
/////////////////////////
void ficheiro_movimento(float mat_movimentos[7][MAX],int conta_mov)
{

  FILE *fp;
  int msegundos,i,j;


    printf("\n\n(Prima uma tecla para comecar a simulacao)\n");
    getch();

   do{
     printf("\nIntroduza o tempo entre os movimentos em (ms) [0 - infinito[: ");
     scanf(" %d",&msegundos);
     }while(msegundos<0);


    for(j=0;j<=conta_mov;j++){

      temporizador(&msegundos);

      fp=fopen(NOME_FICH,"w");

      for(i=0;i<7;i++){

        fprintf(fp,"%.3f\n",mat_movimentos[j]);//grava os valores no ficheiro
      }

      fclose(fp);
    }

}//Fim da função


//////////////////////////
//Simulação de movimento//
//////////////////////////
void simulacao(MOV movimento)
{

  int i,msegundos;

  clrscr();
  fflush(stdin);

  printf("\n\n(Prima uma tecla para comecar a simulacao)\n");
  getch();

       movimento.cb_1=10;
       movimento.cb_2=10;
       movimento.ap=0;
       movimento.re_1b=0;
       movimento.re_2b=0;
       movimento.re_p=0;
       movimento.temp=10;    //Valores iniciais pre-defenidos

   grava_dados_cmdrobot(movimento);//Actualiza o ficheiro

   do{
     printf("\nIntroduza o tempo entre os movimentos em (ms) [0 - infinito[: ");
     scanf(" %d",&msegundos);
     }while(msegundos<0);

     for(i=0;i<100;i++) {

         temporizador(&msegundos);

         movimento.cb_2++;

         movimento.cb_1+=2;

         grava_dados_cmdrobot(movimento);//Actualiza o ficheiro (estica os dois braços do robot)
     }

     for(i=0;i<20;i++){

         temporizador(&msegundos);

         movimento.ap+=0.05;

         grava_dados_cmdrobot(movimento);//Actualiza o ficheiro (abre a pinça para agarrar o objecto)

     }

     for(i=0;i<20;i++){

         temporizador(&msegundos);

         movimento.ap-=0.05;

         grava_dados_cmdrobot(movimento);//Actualiza o ficheiro (fecha a pinça com o objecto agarrado)

    }

     for(i=0;i<50;i++) {

         temporizador(&msegundos);

         movimento.cb_1--;

         movimento.cb_2--;

         movimento.re_1b-=0.02;

         movimento.re_2b+=0.02;

         grava_dados_cmdrobot(movimento);//Actualiza o ficheiro (reduz os dois braços do robot e roda-os)
     }

     for(i=0;i<50;i++) {

         temporizador(&msegundos);

         movimento.cb_1++;

         grava_dados_cmdrobot(movimento);//Actualiza o ficheiro (aumenta o 1º braço do robot(cor de laranja))
     }

     for(i=0;i<50;i++){

         temporizador(&msegundos);

         movimento.re_2b+=0.03;

         movimento.re_p-=0.03;

         grava_dados_cmdrobot(movimento);//Actualiza o ficheiro (roda o 2º braço do robot e a pinça)
     }

     for(i=0;i<40;i++) {

         temporizador(&msegundos);

         movimento.cb_2+=2;

         grava_dados_cmdrobot(movimento);//Actualiza o ficheiro (aumenta o 2º braço do robot (verde))
     }


     for(i=0;i<20;i++){

         temporizador(&msegundos);

         movimento.ap+=0.05;

         grava_dados_cmdrobot(movimento);//Actualiza o ficheiro (abre a pinça para largar o objecto)

     }

     for(i=0;i<20;i++){

         temporizador(&msegundos);

         movimento.ap-=0.05;

         grava_dados_cmdrobot(movimento);//Actualiza o ficheiro (fecha a pinça)

    }


   for(i=0;i<100;i++) {

         temporizador(&msegundos);

         movimento.cb_1--;

         movimento.cb_2--;

         grava_dados_cmdrobot(movimento);//Actualiza o ficheiro (reduz os dois braços do robot)
     }

    for(i=0;i<40;i++) {

         movimento.cb_1=10;

         movimento.cb_2=10;

         movimento.ap=0;

         movimento.re_1b=0;

         movimento.re_2b=0;

         movimento.re_p=0;

         movimento.temp=10;

         grava_dados_cmdrobot(movimento);//Actualiza o ficheiro (coloca o robot no sitio)
    }

}//fim funçao



////////////////////
//Função movimento//
////////////////////
void Efectuar_um_movimento(MOV movimento)
{


  FILE*fp;

    fp=fopen(NOME_FICH,"w");


    //comprimento do 1º braço
    do{
    printf("\n\nIntroduza o comprimento do 1§ braco. Limite a respeitar:[10 - 200]\n");
    fflush(stdin);
    scanf(" %f",&movimento.cb_1);
    }while(movimento.cb_1<10 || movimento.cb_1>200);

    grava_dados_cmdrobot(movimento);//Actualiza o ficheiro

    //comprimento do 2º braço
    do{
    printf("\n\nIntroduza o comprimento do 2§ braco. Limite a respeitar:[10 - 200]\n");
    fflush(stdin);
    scanf(" %f",&movimento.cb_2);
    }while(movimento.cb_2<10 || movimento.cb_2>200);

    grava_dados_cmdrobot(movimento);//Actualiza o ficheiro


    //abertura das pinças
    do{
    printf("\n\nIntroduza o valor de abertura da pinca. Limite a respeitar:[0 - 1]\n");
    fflush(stdin);
    scanf(" %f",&movimento.ap);
    }while(movimento.ap<0 || movimento.ap>1);

    grava_dados_cmdrobot(movimento);//Actualiza o ficheiro


    //rotação do 1º braço
    do{
    printf("\n\nIntroduza o valor de rotacao do eixo do 1§ braco(em radianos). Limite a respeitar:[0 - 2pi]\n");
    fflush(stdin);
    scanf(" %f",&movimento.re_1b);
    }while(movimento.re_1b<0 || movimento.re_1b>6.28);

    grava_dados_cmdrobot(movimento);//Actualiza o ficheiro


    //rotação do 2º braço
    do{
    printf("\n\nIntroduza o valor de rotacao do eixo do 2§ braco (em radianos). Limite a respeitar:[0 - 2pi]\n");
    fflush(stdin);
    scanf(" %f",&movimento.re_2b);
    }while(movimento.re_2b<0 || movimento.re_2b>6.28);

    grava_dados_cmdrobot(movimento);//Actualiza o ficheiro


    //rotação do 2º braço
    do{
    printf("\n\nIntroduza o valor de rotacao do eixo da pinca (em radianos). Limite a respeitar:[0 - 2pi]\n");
    fflush(stdin);
    scanf(" %f",&movimento.re_p);
    }while(movimento.re_p<0 || movimento.re_p>6.28);

    grava_dados_cmdrobot(movimento);//Actualiza o ficheiro


    //tempo antes de fazer o movimento seguinte
    do{
    printf("\n\nIntroduza o tempo antes de fazer o movimento seguinte (em ms). Limite a respeitar:[0 - infinito[\n");
    fflush(stdin);
    scanf(" %d",&movimento.temp);
    }while(movimento.temp<0);

    grava_dados_cmdrobot(movimento);//Actualiza o ficheiro

    data();//printa a data o ecrã
    hora();//printa a hora no ecrã

    fclose(fp);

}//Fim da função



////////////////////////////
//Função guardar movimento//
////////////////////////////
void guardar_movimento(MOV movimento,float mat_movimentos[7][MAX],int conta_mov,char nome[])
{

  FILE*fp;
  int i,j,k;
   

  fp=fopen(NOME_FICH,"r");

  if((fp=fopen(NOME_FICH,"r"))==NULL)

    printf("\nErro na abertuta do Ficheiro para Leitura!");

  else{

    for(j=conta_mov;j<=conta_mov;j++){

      for(i=0;i<7;i++){

        fscanf(fp,"%f",&mat_movimentos[j]);//grava os valores do ficheiro numa matriz dentro do programa
      }
    }


  fclose(fp);
  }


    printf("\nIntroduza a directoria do ficheiro\n");
    fflush(stdin);
    gets(nome);


  fp=fopen(nome,"a");

  fprintf(fp,"\t\t[%i]\n",conta_mov+1);//coloca no ficheiro o numero de movimento que esta a ser gravado

    for(j=conta_mov;j<=conta_mov;j++){

      for(i=0;i<7;i++){

       fprintf(fp,"%.3f\n",mat_movimentos[j]);//grava os valores no ficheiro global
      }
    }



    fprintf(fp,"%d-%d-%d", d.da_year,d.da_mon,d.da_day);//grava o ano, mes e dia no ficheiro

    fprintf(fp,"\t%2d:%02d:%02d.%02d\n",t.ti_hour,t.ti_min,t.ti_sec,t.ti_hund);//grava a hora no ficheiro


    //nome do criador do movimento
    printf("\nIntroduza o nome do criador do movimento.\n");
    fflush(stdin);
    gets(movimento.nome_criador);

    fprintf(fp,"%s\n",movimento.nome_criador);//grava o nome do criador no ficheiro


    //comentario
    printf("\nIntroduza o comentario referente ao movimento efectuado.\n");
    fflush(stdin);
    gets(movimento.comentario);

    fprintf(fp,"%s\n",movimento.comentario);//grava o comentario no ficheiro



    for(k=0;k<=50;k++)

      fprintf(fp,"*");//cria uma barra no fim de cada movimento para que fique separados


    fprintf(fp,"\n");


  fclose(fp);


}//Fim da função
 

Share this post


Link to post
Share on other sites
deathseeker25

////////////////////////////////////
//Função editar movimento///
///////////////////////////////////
void editar_movimento(MOV movimento,float mat_movimentos[7][MAX],int conta_mov,char nome[])
{

 FILE*fp;
 int i,j,k,mov_escolhido=0,op_edit=0;


 printf("\nVisualize todos os movimentos guardados ate ao momento e introduza o numero do movimento que deseja editar.\n\n",nome);


   for(j=0;j<=conta_mov;j++){

     printf("\n\t\t(%i)\n",j+1);//printa no ecrã o numero de movimento

     for(i=0;i<7;i++){

       printf("%.3f\n",mat_movimentos[j]);//printa no ecrã os movimentos gravados
     }

     for(k=0;k<30;k++){

       printf("*");//printa no ecrã uma barra de * para dividir os movimentos
     }
   }

   printf("\n");

   scanf("%i",&mov_escolhido);//guarda o numero do movimento que deseja editar

   clrscr();
   printf("\n\t\tMovimento:(%i)\n",mov_escolhido);//printa o numero do movimento escolhido anteriormente

   for(j=mov_escolhido-1;j<mov_escolhido;j++){
     for(i=0;i<7;i++){

       printf("(%i) %.3f\n",i+1,mat_movimentos[j]);//printa no ecrã o movimento escolhido anteriormente

     }
   }

   do{
   printf("\nIndique qual o valor que deseja alterar.");
   op_edit=getch();
   }while(op_edit<'0' && op_edit>'7');

   mov_escolhido--;

   switch(op_edit){

     case'1':do{
                printf("\n\nIntroduza o comprimento do 1§ braco. Limite a respeitar:[10 - 200]\n");
                fflush(stdin);
                scanf(" %f",&mat_movimentos[0][mov_escolhido]);
                }while(mat_movimentos[0][mov_escolhido]<10 || mat_movimentos[0][mov_escolhido]>200);
                break;

     case'2':do{
                printf("\n\nIntroduza o comprimento do 2§ braco. Limite a respeitar:[10 - 200]\n");
                fflush(stdin);
                scanf(" %f",&mat_movimentos[1][mov_escolhido]);
                }while(mat_movimentos[1][mov_escolhido]<10 || mat_movimentos[1][mov_escolhido]>200);
                break;

    case'3':do{
                printf("\n\nIntroduza o valor de abertura da pinca. Limite a respeitar:[0 - 1]\n");
                fflush(stdin);
                scanf(" %f",&mat_movimentos[2][mov_escolhido]);
                }while(mat_movimentos[2][mov_escolhido]<0 || mat_movimentos[2][mov_escolhido]>1);
                break;

    case'4':do{
                printf("\n\nIntroduza o valor de rotacao do eixo do 1§ braco(em radianos). Limite a respeitar:[0 - 2pi]\n");
                fflush(stdin);
                scanf(" %f",&mat_movimentos[3][mov_escolhido]);
                }while(mat_movimentos[3][mov_escolhido]<0 || mat_movimentos[3][mov_escolhido]>6.28);
                break;

    case'5':do{
                printf("\n\nIntroduza o valor de rotacao do eixo do 2§ braco (em radianos). Limite a respeitar:[0 - 2pi]\n");
                fflush(stdin);
                scanf(" %f",&mat_movimentos[4][mov_escolhido]);
                }while(mat_movimentos[4][mov_escolhido]<0 || mat_movimentos[4][mov_escolhido]>6.28);
                break;

    case'6':do{
                printf("\n\nIntroduza o valor de rotacao do eixo da pinca (em radianos). Limite a respeitar:[0 - 2pi]\n");
                fflush(stdin);
                scanf(" %f",&mat_movimentos[5][mov_escolhido]);
                }while(mat_movimentos[5][mov_escolhido]<0 || mat_movimentos[5][mov_escolhido]>6.28);
                break;

    case'7':do{
                printf("\n\nIntroduza o tempo antes de fazer o movimento seguinte (em ms). Limite a respeitar:[0 - infinito[\n");
                fflush(stdin);
                scanf(" %f",&mat_movimentos[6][mov_escolhido]);
                }while(mat_movimentos[6][mov_escolhido]<0);
                break;
   }


   fp=fopen(nome,"w");


   for(j=0;j<=conta_mov;j++){

     fprintf(fp,"\t\t\n[%i]\n",j+1);//coloca no ficheiro o numero de movimento que esta a ser gravado

     for(i=0;i<7;i++){

      fprintf(fp,"%.3f\n",mat_movimentos[j]);//grava os valores no ficheiro global
     }
     for(k=0;k<30;k++){

       fprintf(fp,"*");//cria uma barra de * para dividir os movimentos
     }
   }

    fprintf(fp,"%d-%d-%d", d.da_year,d.da_mon,d.da_day);//grava o ano, mes e dia no ficheiro

    fprintf(fp,"\t%2d:%02d:%02d.%02d\n",t.ti_hour,t.ti_min,t.ti_sec,t.ti_hund);//grava a hora no ficheiro

   fclose(fp);

}//Fim da função



//////////////////////////////////////////////
//Função gravar dados para o robot//
////////////////////////////////////////////
void grava_dados_cmdrobot(MOV movimento)
{

 FILE *fp;

 fp=fopen(NOME_FICH,"w");//abre ficheiro para escrita

   if(fp!=NULL){

     fprintf(fp,"%.3f\n%.3f\n%.3f\n%.3f\n%.3f\n%.3f\n%d",movimento.cb_1,
                                                         movimento.cb_2,
                                                         movimento.ap,
                                                         movimento.re_1b,
                                                         movimento.re_2b,
                                                         movimento.re_p,
                                                         movimento.temp);//guarda  os parametros para o movimento
 fclose(fp);
 }

   else{

     printf("\nErro na abertuta do Ficheiro para Escrita!");

   }
}//Fim da função



///////////////////////////////////////
//Função Temporizador em ms//
/////////////////////////////////////
void temporizador(int *msegundos)
{
   clock_t goal = *msegundos + clock();
   while (goal > clock());

}//Fim da função



////////////////////////////
//função buscar data//
//////////////////////////
void data(void)
{

  getdate(&d);

  printf("\n\tAno: %d\n", d.da_year);//printa o ano no ecrã
  printf("\n\tMes: %d\n", d.da_mon);//printa o mes no ecrã
  printf("\n\tDia: %d\n", d.da_day);//printa o dia no ecrã


}//Fim da função



/////////////////////////////
//Função buscar hora //
////////////////////////////
void hora(void)
{

  gettime(&t);

  printf("\n\tHora: %2d:%02d:%02d.%02d\n",t.ti_hour,
                                          t.ti_min,
                                          t.ti_sec,
                                          t.ti_hund);//printa a hora no ecrã

    getch();

}//Fim

e neste momento estou numa faze em ke keria no sub menu "movimento manual" e na opção de "guardar movimento" e "editar movimento" (isto no ficheiro) eu na sei como fazer isso esse é o meu problema neste momento... se me puderem dar aki uma ajuda (umas dicas), era 5*****... caso na tenham percebido a minha duvi e so dizer ke eu tento-me explicar melhor... cumps

FIM

Devias ter usado o
 (que eu saiba ele preserva os espaços/tabs). É que eu não consigo ler código que não esteja identado ...

Melhor que ter usado a tag [code] para ser mais fácil ainda ler o teu código (que pelos vistos é bastante grande) usa as tags [syntax="linguagem de programação a utilizar]código[/syntax]....

Pode ser que assim seja mais fácil de ler e alguem te ajude....edita lá isso...

Cumps

Share this post


Link to post
Share on other sites
SLider3
e neste momento estou numa faze em ke keria no sub menu "movimento manual" e na opção de "guardar movimento" e "editar movimento" (isto no ficheiro) eu na sei como fazer isso esse é o meu problema neste momento... se me puderem dar aki uma ajuda (umas dicas), era 5*****... caso na tenham percebido a minha duvi e so dizer ke eu tento-me explicar melhor... cumps

Tenta explicar melhor sff pk eu n percebi o que queres ...

Share this post


Link to post
Share on other sites
redhat

realmente o code ta intragavel.... 5 mins, ja ligo o mac... :D

EDIT:

Ok, parece-me que o que queres fazer eh pegar na info que ta dentro da funcao do movimento, e mandar para file com a funcar grava :D

tenta assim, na funcao que recolhe os movimentos, no fim (isto a titulo experimental, tenho de estudar matematica e n tou com grande tempo) metes tipo:

gravar_movimento(movimento.cb_1, movimento.cb_2 <etc etc> );

e na tua funcao:

void gravar_movimento(float movimento.cb_1, float movimento.cb_2, <etc etc > )
{
    FILE *f;
    f = fopen(movimentos,"+w");
    fprintf(movimentos,"%f", movimento.cb_1);
    fprintf(movimentos,"%f", movimento.cb_2);
    ....
    ....

    fclose(movimentos);
}
[/syntax]

sou sincero, nao sei se isto funciona... nao tenho tempo neste momento para testar...
Infelizmente vejo que usas windows ( tens ali um system(cls); ) senao fazias em linux man fprintf 

Boa sorte 


Software is like sex... it's better when it's free

in the old days

P@P "C" && "Linux" Moderator

Share this post


Link to post
Share on other sites
febra

bem desde ja mt obrigado por me terem orientado o codigo, tb so vi agora e na altura na sabia como e ke punha akilo tudo no sitio certo.

A ideia era gravar para um ficheiro os valores recolhidos na função dos movimentos... e tb numa outra função fazer conke o utilizador pudesse editar esse ficheiro, so na sei se meto as perguntas todas outra vez ou se pergunto kual o movimento ke deseja alterar uma vez ke o ficheiro ira ter mais ke um movimento la dentro, a ideia e gravar varios movimentos no mxm ficheiro uns por baixo dos outro, com data e hora para cada movimento...

vou entao experimentar a ideia do redhat..mas acho ke ainda na deve ser mt bem assim... mas vou ver como fica obrigado a todos desde ja...

Share this post


Link to post
Share on other sites
febra

Eu editei o 1º post ke contem o codigo pq fiz alerações nele, e neste momento esta assim. agora o ke se passa é ja abre o ficheiro no disco e tal com a directoria escolhida pelo utilizador mas, nao esta a gravar a informação la dentro na sei pq, se alguem puder dar uma olhadela no codigo e ver se encontra algum erro, que esteja a impedir o programa de gravar no ficheiro era optimo...

cumps

Share this post


Link to post
Share on other sites
febra

Bem era so para dizer ke este topic come a deixar de ser um topic de "pedir ajuda" mas sim para ajudar, lol

Eu felizmente ja tou a dar a volta ao bicho e ja ta a rular +/-, pelo menos onde eu tinha mais dificuldades. Ao fim de algumas horas perdidas a pensar e a investigar la consegui fazer kk coisa.. kuando estiver mxm acabado posto o prog todo... hehe  B)  :D

Share this post


Link to post
Share on other sites
febra

E pronto ai esta prog terminado, finalmente hehe... tenho a cabeça oda keimada lol, so a pensar cmo fazer isto e akilo. mas acho ke ficou fixe... cumps

Share this post


Link to post
Share on other sites
deathseeker25
E pronto ai esta prog terminado, finalmente hehe... tenho a cabeça toda keimada lol, so a pensar cmo fazer isto e akilo. mas acho ke ficou fixe... cumps

Estive a ver e nada a apontar para já...

Parabens!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.