Domino 9 und frühere Versionen > ND6: Entwicklung

Zeitdifferenz

(1/2) > >>

bikerboy:
Also ich möchte aus eine Zeitdifferenz umrechnen in tage/stunde/minute/sekunde

habe dafür folgenden Code getippert :


--- Code: ---_value := 300 ;
_valueTemp  := _value ;

@For( _days := 0; _valueTemp > 86400 ; _days := _days + 1; _valueTemp := _valueTemp - 86400);
@For( _hours := 0 ; _valueTemp > 3600; _hours := _hours + 1; _valueTemp := _valueTemp - 3600);
@For( _minutes := 0 ; _valueTemp > 60; _minutes := _minutes + 1; _valueTemp := _valueTemp - 60);

FIELD TimeElapsedDays := _days;
FIELD TimeElapsedHours := _hours;
FIELD TimeElapsedMinutes := _minutes ;
FIELD TimeElapsedMinutes := _valueTemp;

--- Ende Code ---

Als Fehlermeldung bekomme ich ein insufficient Argument for @function

tks:
Ich verstehe deine For-Schleife nicht.

Laut Designer-Hilfe:

@For( Initialisierung ; Bedingung ; Inkrement ; Anweisung ; ... )

Bei dir also:

_days = 0; ausführen bis _valueTemp größer 86400; _days + 1; setze _valueTemp auf _valueTemp - 86400)

Oder in Worte gefasst: Ziehe von 300 (_valueTemp) 86400 solange ab, bis 300 größer 86400 ist. Nach jedem Schleifendurchlauf erhöhe _days um 1.

So zumindest habe ich die Formel verstanden.  :-:

DerAndre:
Nein, das ganze Konstruckt ist falsch.
Die Variable aus der Initialisierung muß in der Bedingung und im Inkrement vorkommen.

Also so:
_merker :=0 der ist dafür, um den Übertrag zu machen
_days:=0
@For( _count := _valueTemp; _count > 86400 ; _count := _cout - 86400;_days := _days + 1; _merker := _count);

So sollte es eigentlich gehen.

bikerboy:
das steht aber nicht in der Hilfe, dass das zwang ist, oder ?

Ich sollte dazu sagen, dass ich die Formel debuggt habe und der Fehler erst auftritt wenn ich _valueTemp <= 60 bin.

bikerboy:
hmmm sehe gerade dass die Berechnung sogar korrekt ist , habe spasseshalber mal 30.000 eingegeben, sind im Kopf ausgerechnet 8 Tage 20 Minuten und das zeigt er mir auch an

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln