| |
|
|
Detlef Jagolski | Hallo Sebastian,
habe folgenden Code KompilierenMarkierenSeparieren
Proc AddTime
Parameters Zeit1$, Zeit2$
var Stunden1% = Val(SubStr$(Zeit1$,1,":"))
var Menuten1% = Val(SubStr$(Zeit1$,2,":"))
var Sekunden1% = Val(SubStr$(Zeit1$,3,":"))
var Stunden2% = Val(SubStr$(Zeit2$,1,":"))
var Menuten2% = Val(SubStr$(Zeit2$,2,":"))
var Sekunden2% = Val(SubStr$(Zeit2$,3,":"))
var Time1% = (Stunden1% * 3600) + (Menuten1% * 60) + Sekunden1%
var Time2% = (Stunden2% * 3600) + (Menuten2% * 60) + Sekunden2%
var Sekundenzahl% = Time1% + Time2%
var Sekunden% = Sekundenzahl% MOD 60
var Minuten% = (Sekundenzahl% / 60) MOD 60
var Stunden% = (Sekundenzahl% / 60 / 60) MOD 24
var Zeit$ = Format$("00",Stunden%)+":"+Format$("00",Minuten%)+":"+Format$("00",Sekunden%)
Return Zeit$
EndProc
Profan2Cpp macht daraus KompilierenMarkierenSeparierenp_variant Proc_addtime(int n, ...)
{
BuildStack();
PushVar(nMenuten1);
PushVar(nMenuten2);
PushVar(nMinuten);
PushVar(nSekunden);
PushVar(nSekunden1);
PushVar(nSekunden2);
PushVar(nSekundenzahl);
PushVar(nStunden);
PushVar(nStunden1);
PushVar(nStunden2);
PushVar(nTime1);
PushVar(nTime2);
PushVar(sZeit);
PushVar(sZeit1);
PushVar(sZeit2);
sZeit1 = StringParam(1);
sZeit2 = StringParam(2);
nStunden1 = Value(SubString(sZeit1, 1, _S(":")));
nMenuten1 = Value(SubString(sZeit1, 2, _S(":")));
nSekunden1 = Value(SubString(sZeit1, 3, _S(":")));
nStunden2 = Value(SubString(sZeit2, 1, _S(":")));
nMenuten2 = Value(SubString(sZeit2, 2, _S(":")));
nSekunden2 = Value(SubString(sZeit2, 3, _S(":")));
nTime1 = (nStunden1*3600) + (nMenuten1*60) + nSekunden1;
nTime2 = (nStunden2*3600) + (nMenuten2*60) + nSekunden2;
nSekundenzahl = nTime1 + nTime2;
nSekunden = sekundenzahl % mod60;
nMinuten = _D((nSekundenzahl) / _D(60))mod60;
nStunden = _D(_D((nSekundenzahl) / _D(60)) / _D(60))mod24;
sZeit = FormatString(_S("00"), _V(nStunden)) + _S(":") + FormatString(_S("00"), _V(nMinuten)) + _S(":") + FormatString(_S("00"), _V(nSekunden));
in der Zeile nSekunden = sekundenzahl % mod60; bekomme ich eine Fehlermeldung! Müsste die Zeile nicht so aussehen nSekunden = _D(nsekundenzahl) mod60;?????
Fehler E2451 Plan-Calc_Edition_2009.cpp 1925: Undefiniertes Symbol sekundenzahl in Funktion Proc_addtime(int,...) Fehler E2379 Plan-Calc_Edition_2009.cpp 1926: In Anweisung fehlt ; in Funktion Proc_addtime(int,...) Fehler E2379 Plan-Calc_Edition_2009.cpp 1927: In Anweisung fehlt ; in Funktion Proc_addtime(int,...)
Gruß
Detlef |
|
|
| XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 28.06.2009 ▲ |
|
|
|
|
Sebastian König | Hallo Detlef,
danke für den Hinweis! Da läuft wohl irgendwas beim Operator-Parsing schief... Ich kümmere mich darum und melde mich dann wieder.
MfG
Sebastian |
|
|
| |
|
|
|
Sebastian König | Ich habe die Ursache für den Fehler gerade gefunden. Wenn ich es richtig sehe, tritt das Problem nur im Zusammenhang mit VAR auf und betrifft AND und OR genauso wie MOD. Auch der Syntax-Check gibt irrtümlich eine Fehler-Falschmeldung aus.
Ich beschäftige mich jetzt mal mit der Korrektur und schicke Dir dann eine Mail mit einer korrigierten Version. Hoffentlich komme ich demnächst auch mal dazu, eine offizielle Version 2.0c fertigzustellen...
MfG
Sebastian |
|
|
| |
|
|
|
Detlef Jagolski | Hallo Sebastian,
erst einmal Danke für Deine Hilfe. In Format$ muss es auch ein Problem geben, habe auch noch keine Zeit gehabt es genauer zu Testen. Merkmale: Keine Fehlermeldung und Programmabsturz. Ist nur ein Hinweis!!!
Gruß
Detlef |
|
|
| XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 30.06.2009 ▲ |
|
|
|