Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Überlauf bei Rechenoperation mitbekommen

  Alt 4. Apr 2014, 12:55
Was bei mir zumindest für Integer Operationen funktioniert ist folgendes:
Delphi-Quellcode:
function OverflowHappend(): Boolean;
asm
  jno @no_overflow
  mov eax, 1
  ret
@no_overflow:
  xor eax, eax
end;

procedure TForm1.Button1Click(Sender: TObject);
var n: Integer;
begin
  n := MaxInt;
  n := n + 40;
  if OverflowHappend then
    ShowMessage('Overflow');

  Caption := IntToStr(n); // Damit Delphi da nichts wegoptimiert
end;
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General ( 4. Apr 2014 um 12:59 Uhr)
  Mit Zitat antworten Zitat