Bonjours,
je souhaite decouper une trame MNEA du type:
$IIMWV,R,000.30,N,A<CR><LF>
$WIXDR,C,020.0,C,<CR><LF>
$IIVHW, , , , ,7.2,N, ,<CR><LF>
$IIMTW,9,C<CR><LF>
et pour cela j'ai fais cette fonction qui devrai decouper la trame separer par les virgules, les ranger dans un tableau pour ensuite mettre a jours une autre classes mais elle ne fonctionne pas pouriez vous m'aider svp.
voila ce que j'ai fais:
DecoderTrame();
{
istringstream iss=Text;
AnsiString mot[20];
i=0;
do
{
std::getline(iss,mot[i],',');
i=i+1;
}
while (i!=15);
switch(mot[0])
{
case '$IIMWV':
if(mot[5]!="N<CR><LF>")
{
SetAngleVent(mot[1]); // angle du vent en degré
SetDirRelat(mot[2]); // direction relative par rapport au cv3f
SetVitVent(mot[3]); // vitesse du vent
SetUnitVitVent(mot[4]); //unité de la vitesse du vent (en noeud)
}
else
break;
case '$WIXDR':
if(mot[5]="<CR><LF>")
{
SetTempAir(mot[2]); // temperature de l'air
SetUnitTempEau(mot[3]); //identique a l'unite de temperature de l'air
}
else
break;
case '$IIVHW':
if(mot[8]="<CR><LF>")
{
SetVitVent(mot[5]); //vitesse du vent
SetUnitVitVent(mot[6]); //unité de vitesse du vent identique a celle de la vitesse du bateau
}
else
break;
case '$IIMTW' :
if(mot[3]="C<CR><LF>")
{
SetTempEau(mot[1]); //vitesse du vent
}
else
break;
}