Einzelnen Beitrag anzeigen

Gentleman

Registriert seit: 29. Sep 2004
302 Beiträge
 
Turbo Delphi für Win32
 
#1

Prozedur nach bestimmter Zeit abbrechen

  Alt 28. Dez 2008, 14:20
Guten Tag,


ich habe mal wieder ein kleines Problem, bei dessen Lösung ich etwas Hilfe benötige.

Ich habe eine Prozedur, die hauptsächlich aus zwei ineinander geschachtelten for-to-Schleifen besteht, sie sieht also ungefähr so aus:

Delphi-Quellcode:
for i:= 0 to 100 do
  for j:= 0 to 100 do
    begin
      { ... }
    end;
da die Ausführung dieser Prozedur, vor allem auf weniger leistungsstarken Computern, sehr lange braucht, möchte ich sie, wenn nötig nach 10 Sekunden abbrechen.

Mein Ansatz dazu sieht folgendermaßen aus:
Delphi-Quellcode:
function Zeitueberschreitung: Boolean;
begin
  if (t + EncodeTime(0, 0, 10, 0) >= now) then
    Result:= false
  else
    Result:= true;
end;
das Funktioniert auch ganz gut.
Allerdings weiß ich nicht, wie ich die Prozedur abbrechen kann, wenn Zeitüberschreitung = true ist. Gibt es überhaupt eine Möglichkeit die Prozedur im Rechenvorgang abzubrechen?

vielen Dank im Voraus!
Lennard
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger. (Kurt Tucholsky)
  Mit Zitat antworten Zitat