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
❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 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 Function
Craig
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 und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.