Ich muss ein Programm erstellen, das eine aktive Wartezeit von 1000 Millisekunden hat und dann eine Variable während dieser Zeit innerhalb einer While-Schleife inkrementiert. Und dann muss diese Variable in jedem Zyklus auf 0 initialisiert werden.Inkrementiere alle 1000 Millisekunden mit Ada.Real_Time
Kann mir jemand einen Hinweis geben, wie das geht? Ich habe diesen Code, aber es funktioniert überhaupt nicht, nur Übersetzungsfehler.
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Real_Time; use Ada.Real_Time;
package body waittime is
task body periodictime is
use type Time;
use type Time_Span;
Poll_Time : Ada.Real_Time.Time := 5; -- time to start polling
WaitVar : Natural := 0;
WaitTime : constant Time_Span := Milliseconds (1000);
begin
loop
delay until Poll_Time;
Poll_Time = Poll_Time + WaitTime;
WaitVar := WaitVar+1;
Put_Line (WaitVar);
end loop;
end periodictime;
end waittime;
Ada, Ada, Ada, Ada - ich müde von Menschen nicht wissen, wie Namen zu schreiben. Du hättest die Fehler, die du bekommst, haben lassen können - würde dir viel einfacher und schneller helfen. – darkestkhan
Normalerweise ist es am besten zu sagen, was die Fehlermeldung eigentlich ist, anstatt zu erwarten, dass wir Ihren Code herunterladen, eine Paketspezifikation schreiben und den Compiler selbst ausführen. –
Was bedeutet "Und dann muss diese Variable in jedem Zyklus auf 0 initialisiert werden." Bedeuten? –