1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
| int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR cmdline, int Show)
{
char *signal_Input;
short *signal_Output;
FILE *FTestInput; // Variable de type File servant à l'ouverture et à la lecture du fichier
FILE *FTestOutput;
char *Nom_fichier;
Nom_fichier=(char*)malloc(200*sizeof(char));
int size_fichier_temp;
short long_name_fich=0;
char *Nom_Fichier_Out;
Nom_Fichier_Out=(char*)malloc(200*sizeof(char));
int i;
int j;
int k;
int n=0;
int a;
int nb_data=0;
int val_temp=0;
int diez_temp=0;
char temp_signal[7];
union Config_AM2P TC_Word; //Structure to know the AM2P configuration
short q=0; //Loop variable
short end_array=0; //Last data to deconcatenate
short indice_1=0; //Index n°1 of deconcatenate data
short indice_2=0; //Index n°2 of deconcatenate data
short indice_3=0; //Index n°3 of deconcatenate data
short shift_start=0; //Shift of the start depending on the satellite mode and the AM2P configuration
int escap=browse_tdx(Nom_fichier);
if(escap==0) return 0;
signal_Output=(short*)malloc(516096*sizeof(short));
for(i=0; i<516096; i++)
{
signal_Output[i]=0;
}
FTestInput=fopen(Nom_fichier,"r"); //Chargement du fichier rentré précedement
fseek(FTestInput,0,SEEK_END);
size_fichier_temp=ftell(FTestInput);
fseek(FTestInput,0,SEEK_SET);
signal_Input=(char*)malloc(size_fichier_temp*sizeof(char)); // taille du balayage complet charger depuis le fichier
if(FTestInput==NULL)
{ MessageBox(0,"Erreur de lecture du fichier","Erreur",MB_ICONERROR);
return 0;}
while(i!=NULL)
i=(int)fread(signal_Input,sizeof(char),size_fichier_temp,FTestInput); // Stockage des données dans une variable intermédiaire.
if(FTestInput==NULL||ferror (FTestInput))
{ MessageBox(0,"Erreur de lecture du fichier","Erreur",MB_ICONERROR);
return 0;}
k=0;
n=0;
for(j=0; j<size_fichier_temp; j++)
{
//
k=0;
for(i=0;i<7;i++)
{ temp_signal[i]=0;}
if(signal_Input[j] == 0x23)
{ while(signal_Input[j] != 0x0a)
{ j++;
size_fichier_temp--;}
}
else
{
if(signal_Input[j] == 0x2d)
{ a=-1;
j++;
}
else
{ a=1;}
while(signal_Input[j] != 0x0a )
{
temp_signal[k]=signal_Input[j];
if(k>7)
{
sprintf(Nom_Fichier_Out,"%d",k);
MessageBox(NULL,(LPCSTR)Nom_Fichier_Out,"",MB_OK);
}
k++;
j++;
}
int nb_ligne=nb_ligne2; //Variable pour indique le numero de la ligne à laquelle nous voulons commencer
int lenght_ligne=0; //Longeur de la chaine de caractere indiquant le nombre de ligne
lenght_ligne=(int)strlen(temp_signal); //initialisation de la longueur de la chaine
int puissance=lenght_ligne-1; //Puissance est égale à le longueur de la ligne -1
int val_compt=0; //Variable indiquant le code ASCII du nombre dans la chaine de caractere
for(i=0; i<lenght_ligne; i++)
{ val_compt=(int)temp_signal[i]; //Stockage de la valeur du nombre en ASCII ( par exemple le caractere'1'=49 en int)
nb_ligne=nb_ligne + (int)(pow((double)10,puissance)*Table_ASCII[val_compt-48]);// Transcription de la valeur du caractere en sa valeur reelle
puissance--;} //puis multiplication par 10puissance de l'indice de notre caractere et sommation des valeurs obtenu
signal_Output[n]=a*nb_ligne;
if(lenght_ligne!=0)
{ n++;}
nb_ligne2=0;
}
}
////////////////////////////////////////////////////////////////////////////////////////
for(i=0;i<200;i++)
{ Nom_Fichier_Out[i]=0;}
long_name_fich = strlen(Nom_fichier);
strncpy(Nom_Fichier_Out,Nom_fichier,long_name_fich-4);
strcat(Nom_Fichier_Out,"_Convert.tdx");
FTestOutput=fopen(Nom_Fichier_Out,"wb");
fwrite(signal_Output,sizeof(short),n,FTestOutput);
fclose(FTestOutput);
for(i=0;i<200;i++)
{ Nom_Fichier_Out[i]=0;}
long_name_fich = strlen(Nom_fichier);
strncpy(Nom_Fichier_Out,Nom_fichier,long_name_fich-4);
strcat(Nom_Fichier_Out,"_Convert_texte.txt");
FTestOutput=fopen(Nom_Fichier_Out,"w");
fwrite(signal_Input,sizeof(char),size_fichier_temp,FTestOutput);
fclose(FTestOutput);
MessageBox(NULL,"Transcript Terminée","Transipt",MB_OK);
} |
Partager