Ich habe folgende kleine Funktion in der Basic-IDE geschrieben (dient dazu, zu einer an a übergebenen Anfangszeit, also z.B. 14:30, die voraussichtliche Endzeit eines Fussballspiels zu berechnen, die Rückgabe wäre dann 16:15):
Function ENDE(a as string)
pos=instr(a,":")
stunden=""
minuten=""
for i=1 to pos-1
l=mid(a,i,1)
stunden=stunden+l
next
for i=pos+1 to len(a)
l=mid(a,i,1)
minuten=minuten+l
next
min=val(stunden)*60+val(minuten)+105
minuten=min MOD 60
stunden=(min-minuten)/60
if stunden<10 then h="0"+stunden
else h=""+stunden
end if
m=""+minuten
ENDE=h+":"+m
End Function
Wenn ich die if-Anweisung am Ende herausnehme, läuft auch alles, d.h., wenn ich in der Tabelle eingebe=ENDE("12:00") wird in die Zelle auch 13:45 eingetragen. Lasse ich die if-Anweisung drin, erhalte ich eine Fehlermeldung, und zwar an der Position vom "else" ist dann farbig und durch einen Pfeil markiert und in einem Pop-Up ist zu lesen: Basic-Syntaxfehler.Else/EndIf ohne If. Ob if etc. gross oder klein geschrieben werden, ändert an der Fehlermeldung nicht. Ich habe übrigens LibreOffice 5.0.5.2 installiert
🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
if-Anweisung in Calc Basic
[gelöst] Re: if-Anweisung in Calc Basic
Hallo,
ich habe den Code neugeordnet, sonst nichts geändert oder getestet:
Gruß
Craig
ich habe den Code neugeordnet, sonst nichts geändert oder getestet:
Code: Alles auswählen
REM ***** BASIC *****
Function ENDE(a as string)
pos=instr(a,":")
stunden=""
minuten=""
for i=1 to pos-1
l=mid(a,i,1)
stunden=stunden+l
next
for i=pos+1 to len(a)
l=mid(a,i,1)
minuten=minuten+l
next
min=val(stunden)*60+val(minuten)+105
minuten=min MOD 60
stunden=(min-minuten)/60
if stunden<10 then
h="0"+stunden
else
h=""+stunden
end if
m=""+minuten
ENDE=h+":"+m
End FunctionCraig
Zuletzt geändert von craig am Do 15. Sep 2016, 11:22, insgesamt 1-mal geändert.
Gruß
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Re: if-Anweisung in Calc Basic
Hallo Craig,
Danke für den Hinweis. Darauf dass die Anordnung der Codezeilen eine Rolle spielt, wäre ich nie gekommen.
Jetzt läuft es wie gewünscht.
Danke, Bert
Danke für den Hinweis. Darauf dass die Anordnung der Codezeilen eine Rolle spielt, wäre ich nie gekommen.
Jetzt läuft es wie gewünscht.
Danke, Bert
An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️