probleme de traduction code Delphi vers C++
Bonsoir
Je traduis un programme Delphi, ce qui pose quelques problèmes.
J'ai des variables declarees en word je pense que l'on peut les declarer en int.
J'en ai d'autres declarees en currency je me demande si on peut les declarer en long double.
Il y a aussi le case
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
procedure TForm1.deplacement
(choix_moteur, choix_sens : integer; tempo : word; choix_pas : integer);
var
inc_x, inc_y, inc_z : integer;
begin
moteur := choix_moteur;
sens := choix_sens;
attente := trunc(tempo);
pas := choix_pas;
inc_x := 0; inc_y := 0; inc_z := 0; inc_pas := 0;
{Tri pour déterminer le sens de rotation de chaque moteur}
case choix_moteur of mx,mx+my,mx+mz,mx+my+mz :
begin
case choix_sens of sx,sx+sy,sx+sz,sx+sy+sz : inc_x := 1; end;
case choix_sens of 0,sy,sz,sy+sz : inc_x := -1; end;
end;
end; |
je l'ai ecrit comme ceci, j'ai ce warning
Citation:
[C++ Warning] Unit1.cpp(128): W8098 Multi-character character constant
ca compile, mais a l'execution je passe par tous les cases
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
switch(mx || mx+my || mx+mz || mx+my+mz)
{
case 'mx' || 'mx' + 'my' || 'mx' +' mz' || 'mx' + 'my' + 'mz' :
switch(sx || sx+sy || sx+sz || sx+sy+sz)
{
case 'sx' || 'sx' + 'sy' || 'sx' + 'sz' || 'sx' + 'sy' + 'sz' :
inc_x = 1;
}
switch(0 || sy || sz || sy+sz)
{
case '0' || 'sy' || 'sz' || 'sy' + 'sz' :
inc_x = -1;
}
break;
} |