Bonjour,
Je me permets d'ouvrir ce post (qui n'a pas de question) car je trouve que le titre de celui-ci n'est pas très parlant (alors que le thème est le même), et qu'il est toujours bon de se rafraichir la mémoire,, sinon gare aux effets de bord !
C'est un coup de bol qui m'a permis de détecter le problème exposé ci-dessous :
Je n'ai pas l'impression que ce transtypage soit obligatoire sous Delphi (je ne l'ai pas sous la main), je testerai ce soir...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function Calcule(_word: word; _byte1,_byte2: byte): int64; begin Result := _word * _byte1 * _byte2 * 500; // devrait être 40 000 000 000, donne 1 345 294 336 Result := Int64(_word * _byte1 * _byte2) * 500; // OK : transtypage obligatoire, donc ! end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(IntToStr(Calcule(20000, 16, 250))); end;
Bonne journée,
Partager