alanBZH29
Messages postés
16
Date d'inscription
dimanche 14 mars 2004
Statut
Membre
Dernière intervention
15 août 2004
13 août 2004 à 22:18
int thread=0;
int nb=0;
while(1)
{
if(thread==0)
thread=1;
else
return 0;
CCommunication serie(comm1);
serie.InitComPort();
FILE *fichier;
char bufrecep[90];
CString fich=nomfichier1;
fich +=".trs";
fichier=fopen(fich,"w+");
char buf[90];
for(temp=(nbbloc0-1);temp<nbbloc1;temp++)
{
if(temp==(nbbloc1-1))
{
if(temp<16)
{
if(temp>=10)
{ if(temp==10)
wsprintf(buf,"C0A000A%c%c",+octet2,+octet1);
if(temp==11)
wsprintf(buf,"C0B000B%c%c",+octet2,+octet1);
if(temp==12)
wsprintf(buf,"C0C000C%c%c",+octet2,+octet1);
if(temp==13)
wsprintf(buf,"C0D000D%c%c",+octet2,+octet1);
if(temp==14)
wsprintf(buf,"C0E000E%c%c",+octet2,+octet1);
if(temp==15)
wsprintf(buf,"C0F000F%c%c",+octet2,+octet1);
}
else
wsprintf(buf,"C0%d000%d%c%c",+temp,+temp,+octet2,+octet1);
}
else
{
char char1=0,char2=0;
char1=(temp/16);
char2=temp-((temp/16)*16);
if(char1<10)
char1=char1+48;
else
char1=char1+55;
if(char2<10)
char2=char2+48;
else
char2=char2+55;
wsprintf(buf,"C%c%c00%c%c%c%%c",+char1,+char2,+char1,+char2);
buf[7]=octet2;
buf[8]=octet1;
}
}
else
{
if(temp<16)
{
if(temp>=10)
{ if(temp==10)
wsprintf(buf,"C0A000AFF");
if(temp==11)
wsprintf(buf,"C0B000BFF");
if(temp==12)
wsprintf(buf,"C0C000CFF");
if(temp==13)
wsprintf(buf,"C0D000DFF");
if(temp==14)
wsprintf(buf,"C0E000EFF");
if(temp==15)
wsprintf(buf,"C0F000FFF");
}
else
wsprintf(buf,"C0%d000%dFF",+temp,+temp);
}
else
{
char char1=0,char2=0;
char1=(temp/16);
char2=temp-((temp/16)*16);
if(char1<10)
char1=char1+48;
else
char1=char1+55;
if(char2<10)
char2=char2+48;
else
char2=char2+55;
wsprintf(buf,"C%c%c00%c%cFF",+char1,+char2,+char1,+char2);
}
}
serie.SendData(9,(unsigned char *)buf);
wsprintf(buf,'\0');
serie.SendData(1,(unsigned char *)buf);
int demarrage=nbbloc0-1;
if((octetdebut2>=48)&&(octetdebut2<=57))
{
demarrage=demarrage*16*16+(octetdebut2-48)*16;
}
if((octetdebut2>=65)&&(octetdebut2<=70))
{
demarrage=demarrage*16*16+(octetdebut2-55)*16;
}
if((octetdebut1>=48)&&(octetdebut1<=57))
{
demarrage=demarrage+(octetdebut1-48)+1;
}
if((octetdebut1>=65)&&(octetdebut1<=70))
{
demarrage=demarrage+(octetdebut1-55)+1;
}
int inc=0;
demarrage=((demarrage-1)*2)+1;
do{
if(!serie.ReceiveData(1,(unsigned char *)bufrecep)) goto relance;
if((((bufrecep[0]>=48)&&(bufrecep[0]<=57))||((bufrecep[0]>=65)&&(bufrecep[0]<=70))))
{
inc++;
if(inc>=demarrage)
{
fwrite(bufrecep,sizeof(char),1,fichier);
nb++;
}
}
if(nb==71)
{
fwrite("\n",sizeof(char),1,fichier);
nb=0;
}
}while(bufrecep[0]!=23);
serie.ReceiveData(1,(unsigned char *)bufrecep);
bufrecep[0]=0;
}
fclose(fichier);
fintransfert1=1;
serie.CloseCom();
}
return 0;