source/media/helpimg/sbasic/Else_fragment.svg | 38 ------------- source/media/helpimg/sbasic/If_statement.svg | 74 +++++++++++++++----------- source/text/sbasic/shared/03090101.xhp | 46 ++++++++-------- 3 files changed, 67 insertions(+), 91 deletions(-)
New commits: commit 2fed269e1f9315e50e277c54ffc1053d48385ca9 Author: Alain Romedenne <alain.romede...@libreoffice.org> AuthorDate: Thu Aug 22 14:59:04 2024 +0200 Commit: Alain Romedenne <alain.romede...@libreoffice.org> CommitDate: Thu Aug 22 16:57:24 2024 +0200 tdf#162470 Fix to If statement syntax diagram Change-Id: Icafc95df09367a9e7401742630ae06d7ebcc89b0 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/172198 Tested-by: Jenkins Reviewed-by: Alain Romedenne <alain.romede...@libreoffice.org> Reviewed-by: Pierre F <f...@bger.ch> diff --git a/source/media/helpimg/sbasic/Else_fragment.svg b/source/media/helpimg/sbasic/Else_fragment.svg deleted file mode 100644 index beee1d4781..0000000000 --- a/source/media/helpimg/sbasic/Else_fragment.svg +++ /dev/null @@ -1,38 +0,0 @@ -<svg class="railroad-diagram" height="92" viewBox="0 0 509.5 92" width="509.5" xmlns="http://www.w3.org/2000/svg"> -<g transform="translate(.5 .5)"> -<style>/* <![CDATA[ */ - svg.railroad-diagram { - background-color:transparent; - } - svg.railroad-diagram path { - stroke-width:1; - stroke:black; - fill:rgba(0,0,0,0); - } - svg.railroad-diagram text { - font:bold 14px monospace; - font-family: Verdana, sans-serif; - text-anchor:middle; - } - svg.railroad-diagram text.label{ - text-anchor:start; - } - svg.railroad-diagram text.comment{ - font:italic 12px monospace; - } - svg.railroad-diagram rect{ - stroke-width:1; - stroke:black; - fill:transparent; - } - -/* ]]> */ -</style><g> -<path d="M20 20v20m0 -10h20"></path></g><g> -<path d="M40 30h0.0"></path><path d="M469.5 30h0.0"></path><path d="M40.0 30h30"></path><g> -<path d="M70.0 30h369.5"></path></g><path d="M439.5 30h30"></path><path d="M40.0 30a15 15 0 0 1 15 15v1a15 15 0 0 0 15 15"></path><g> -<path d="M70.0 61h0.0"></path><path d="M439.5 61h0.0"></path><g class="terminal"> -<path d="M70.0 61h0.0"></path><path d="M124.0 61h0.0"></path><rect height="22" rx="10" ry="10" width="54.0" x="70.0" y="50"></rect><text x="97.0" y="65">Else</text></g><path d="M124.0 61h10"></path><path d="M134.0 61h10"></path><g class="terminal"> -<path d="M144.0 61h0.0"></path><path d="M240.5 61h0.0"></path><rect height="22" rx="10" ry="10" width="96.5" x="144.0" y="50"></rect><text x="192.25" y="65">condition</text></g><path d="M240.5 61h10"></path><path d="M250.5 61h10"></path><g class="terminal"> -<path d="M260.5 61h0.0"></path><path d="M314.5 61h0.0"></path><rect height="22" rx="10" ry="10" width="54.0" x="260.5" y="50"></rect><text x="287.5" y="65">Then</text></g><path d="M314.5 61h10"></path><path d="M324.5 61h10"></path><g class="terminal"> -<path d="M334.5 61h0.0"></path><path d="M439.5 61h0.0"></path><rect height="22" rx="10" ry="10" width="105.0" x="334.5" y="50"></rect><text x="387.0" y="65">statements</text></g></g><path d="M439.5 61a15 15 0 0 0 15 -15v-1a15 15 0 0 1 15 -15"></path></g><path d="M 469.5 30 h 20 m 0 -10 v 20"></path></g></svg> \ No newline at end of file diff --git a/source/media/helpimg/sbasic/If_statement.svg b/source/media/helpimg/sbasic/If_statement.svg index c7a41b1bee..b9b69bc50f 100644 --- a/source/media/helpimg/sbasic/If_statement.svg +++ b/source/media/helpimg/sbasic/If_statement.svg @@ -1,4 +1,4 @@ -<svg class="railroad-diagram" width="764" height="101" viewBox="0 0 764 101" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<svg class="railroad-diagram" width="820" height="101" viewBox="0 0 820 101" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g transform="translate(.5 .5)"> <g> <path d="M20 30v20m10 -20v20m-10 -10h20"></path> @@ -55,53 +55,65 @@ <path d="M410 40h10"></path> <g> <path d="M420 40h0"></path> -<path d="M576 40h0"></path> +<path d="M632 40h0"></path> <path d="M420 40h20"></path> <g> -<path d="M440 40h116"></path> +<path d="M440 40h172"></path> </g> -<path d="M556 40h20"></path> +<path d="M612 40h20"></path> <path d="M420 40a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path> -<g class="non-terminal "> +<g> +<path d="M440 60h0"></path> +<path d="M612 60h0"></path> +<g class="terminal "> <path d="M440 60h0"></path> -<path d="M556 60h0"></path> -<rect x="440" y="49" width="116" height="22"></rect> -<text x="498" y="64">Else options</text> +<path d="M492 60h0"></path> +<rect x="440" y="49" width="52" height="22" rx="10" ry="10"></rect> +<text x="466" y="64">Else</text> +</g> +<path d="M492 60h10"></path> +<path d="M502 60h10"></path> +<g class="terminal "> +<path d="M512 60h0"></path> +<path d="M612 60h0"></path> +<rect x="512" y="49" width="100" height="22" rx="10" ry="10"></rect> +<text x="562" y="64">statements</text> +</g> </g> -<path d="M556 60a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path> +<path d="M612 60a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path> </g> <g> -<path d="M576 40h0"></path> -<path d="M724 40h0"></path> -<path d="M576 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path> +<path d="M632 40h0"></path> +<path d="M780 40h0"></path> +<path d="M632 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path> <g> -<path d="M596 20h108"></path> +<path d="M652 20h108"></path> </g> -<path d="M704 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path> -<path d="M576 40h20"></path> +<path d="M760 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path> +<path d="M632 40h20"></path> <g> -<path d="M596 40h0"></path> -<path d="M704 40h0"></path> -<path d="M596 40h20"></path> +<path d="M652 40h0"></path> +<path d="M760 40h0"></path> +<path d="M652 40h20"></path> <g class="terminal "> -<path d="M616 40h4"></path> -<path d="M680 40h4"></path> -<rect x="620" y="29" width="60" height="22" rx="10" ry="10"></rect> -<text x="650" y="44">EndIf</text> +<path d="M672 40h4"></path> +<path d="M736 40h4"></path> +<rect x="676" y="29" width="60" height="22" rx="10" ry="10"></rect> +<text x="706" y="44">EndIf</text> </g> -<path d="M684 40h20"></path> -<path d="M596 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path> +<path d="M740 40h20"></path> +<path d="M652 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path> <g class="terminal "> -<path d="M616 70h0"></path> -<path d="M684 70h0"></path> -<rect x="616" y="59" width="68" height="22" rx="10" ry="10"></rect> -<text x="650" y="74">End If</text> +<path d="M672 70h0"></path> +<path d="M740 70h0"></path> +<rect x="672" y="59" width="68" height="22" rx="10" ry="10"></rect> +<text x="706" y="74">End If</text> </g> -<path d="M684 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path> +<path d="M740 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path> </g> -<path d="M704 40h20"></path> +<path d="M760 40h20"></path> </g> -<path d="M 724 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path> +<path d="M 780 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path> </g> <style> svg.railroad-diagram { diff --git a/source/text/sbasic/shared/03090101.xhp b/source/text/sbasic/shared/03090101.xhp index f2e700c971..5030b2c202 100644 --- a/source/text/sbasic/shared/03090101.xhp +++ b/source/text/sbasic/shared/03090101.xhp @@ -20,7 +20,7 @@ <meta> <topic id="textsbasicshared03090101xml" indexer="include" status="PUBLISH"> - <title id="tit" xml-lang="en-US">If...Then...Else Statement</title> + <title id="tit">If...Then...Else Statement</title> <filename>/text/sbasic/shared/03090101.xhp</filename> </topic> </meta> @@ -28,7 +28,7 @@ <body> <section id="ifthenelse"> -<bookmark xml-lang="en-US" branch="index" id="bm_id3154422"> +<bookmark branch="index" id="bm_id3154422"> <bookmark_value>If statement</bookmark_value> <bookmark_value>ElseIf; If statement</bookmark_value> <bookmark_value>Else;If statement</bookmark_value> @@ -37,12 +37,11 @@ </bookmark> <h1 id="hd_id81592320644826"><link href="text/sbasic/shared/03090101.xhp">If...Then...Else Statement</link></h1> -<paragraph id="par_id3155555" role="paragraph" xml-lang="en-US">Defines one or more statement blocks that you only want to execute if a given condition or expression is <literal>True</literal>.</paragraph> +<paragraph id="par_id3155555" role="paragraph">Defines one or more statement blocks that you only want to execute if a given condition or expression is <literal>True</literal>.</paragraph> </section> <embed href="text/sbasic/shared/00000003.xhp#functsyntax"/> <paragraph role="image" id="par_id311592320434736"><image src="media/helpimg/sbasic/If_statement.svg" id="img_id601592320434736"><alt id="alt_id551592320434736">If...EndIf statement</alt></image></paragraph> -<paragraph role="image" id="par_id221592320436632"><image src="media/helpimg/sbasic/Else_fragment.svg" id="img_id81592320436632"><alt id="alt_id391592320436632">Else fragment</alt></image></paragraph> <bascode> <paragraph id="par_id3153126" role="bascode" localize="false">If condition Then </paragraph> @@ -53,35 +52,39 @@ <paragraph role="bascode" id="bas_id31592319640235" localize="false"> statements]</paragraph> <paragraph role="bascode" id="bas_id861592319641899" localize="false">{EndIf|End If}</paragraph> </bascode> - <paragraph id="par_id3123476" role="paragraph" xml-lang="en-US">Instead of <emph>End If</emph> you can write <emph>EndIf</emph>.</paragraph> + <paragraph id="par_id3123476" role="paragraph">Instead of <emph>End If</emph> you can write <emph>EndIf</emph>.</paragraph> <tip id="par_id631592322239043"><emph>If</emph> statements can be shortened to one line when using single statement blocks.</tip> <bascode> <paragraph role="bascode" id="bas_id771592321093694" localize="false">If condition Then statement [Else statement]</paragraph> </bascode> <embed href="text/sbasic/shared/00000003.xhp#functparameters"/> - <paragraph id="par_id3153062" role="paragraph" xml-lang="en-US">The <emph>If...Then</emph> statement executes program blocks depending on given conditions. When %PRODUCTNAME Basic encounters an <emph>If</emph> statement, the condition is tested. If the condition is <literal>True</literal>, all subsequent statements up to the next <emph>Else</emph> or <emph>ElseIf</emph> statement are executed. If the condition is <literal>False</literal>, and an <emph>ElseIf</emph> statement follows, %PRODUCTNAME Basic tests the next expression and executes the following statements if the condition is <literal>True</literal>. If <literal>False</literal>, the program continues either with the next <emph>ElseIf</emph> or <emph>Else</emph> statement. Statements following <emph>Else</emph> are executed only if none of the previously tested conditions were <literal>True</literal>. After all conditions are evaluated, and the corresponding statements executed, the program continues with the statement fol lowing <emph>EndIf</emph>.</paragraph> -<paragraph id="par_id3153192" role="paragraph" xml-lang="en-US">You can nest multiple <emph>If...Then</emph> statements.</paragraph> -<paragraph id="par_id3154684" role="paragraph" xml-lang="en-US"> <emph>Else</emph> and <emph>ElseIf</emph> statements are optional.</paragraph> -<paragraph id="par_id3152939" role="warning" xml-lang="en-US">You can use <emph>GoTo</emph> and <emph>GoSub</emph> to jump out of an <emph>If...Then</emph> block, but not to jump into an <emph>If...Then</emph> structure.</paragraph> + <paragraph id="par_id3153062" role="paragraph">The <emph>If...Then</emph> statement executes program blocks depending on given conditions. When %PRODUCTNAME Basic encounters an <emph>If</emph> statement, the condition is tested. If the condition is <literal>True</literal>, all subsequent statements up to the next <emph>Else</emph> or <emph>ElseIf</emph> statement are executed. If the condition is <literal>False</literal>, and an <emph>ElseIf</emph> statement follows, %PRODUCTNAME Basic tests the next expression and executes the following statements if the condition is <literal>True</literal>. If <literal>False</literal>, the program continues either with the next <emph>ElseIf</emph> or <emph>Else</emph> statement. Statements following <emph>Else</emph> are executed only if none of the previously tested conditions were <literal>True</literal>. After all conditions are evaluated, and the corresponding statements executed, the program continues with the statement following <emph>EndI f</emph>.</paragraph> +<paragraph id="par_id3153192" role="paragraph">You can nest multiple <emph>If...Then</emph> statements.</paragraph> +<paragraph id="par_id3154684" role="paragraph"> <emph>Else</emph> and <emph>ElseIf</emph> statements are optional.</paragraph> +<paragraph id="par_id3152939" role="warning">You can use <emph>GoTo</emph> and <emph>GoSub</emph> to jump out of an <emph>If...Then</emph> block, but not to jump into an <emph>If...Then</emph> structure.</paragraph> <embed href="text/sbasic/shared/00000003.xhp#functexample"/> -<paragraph id="par_id3153951" role="paragraph" xml-lang="en-US">The following example enables you to enter the expiration date of a product, and determines if the expiration date has passed.</paragraph> +<paragraph id="par_id3153951" role="paragraph">The following example enables you to enter the expiration date of a product, and determines if the expiration date has passed.</paragraph> <bascode> <paragraph id="par_idm1341422592" role="bascode" localize="false">Sub ExampleIfThenDate</paragraph> -<paragraph id="par_idm1341421360" role="bascode" localize="false"> Dim sDate As String</paragraph> -<paragraph id="par_idm1341420128" role="bascode" localize="false"> Dim sToday As String</paragraph> -<paragraph id="par_id3154490" role="bascode" xml-lang="en-US"> sDate = InputBox("Enter the expiration date (MM.DD.YYYY)")</paragraph> -<paragraph id="par_idm1341417136" role="bascode" localize="false"> sDate = Right$(sDate, 4) + Mid$(sDate, 4, 2) + Left$(sDate, 2)</paragraph> -<paragraph id="par_idm1341415856" role="bascode" localize="false"> sToday = Date$</paragraph> -<paragraph id="par_idm1341414624" role="bascode" localize="false"> sToday = Right$(sToday, 4)+ Mid$(sToday, 4, 2) + Left$(sToday, 2)</paragraph> -<paragraph id="par_idm1341413344" role="bascode" localize="false"> If sDate < sToday Then</paragraph> -<paragraph id="par_id3155601" role="bascode" xml-lang="en-US"> MsgBox "The expiration date has passed"</paragraph> -<paragraph id="par_idm1341410352" role="bascode" localize="false"> ElseIf sDate > sToday Then</paragraph> -<paragraph id="par_id3146912" role="bascode" xml-lang="en-US"> MsgBox "The expiration date has not yet passed"</paragraph> +<paragraph id="par_idm1341421360" role="bascode" localize="false"> Dim sInput As String</paragraph> +<paragraph id="par_idm1341420128" role="bascode" localize="false"> Dim dInput As Date</paragraph> +<paragraph role="bascode" id="bas_id171724332291365" localize="false"> </paragraph> +<paragraph role="bascode" id="bas_id471724332439115"> On Error Goto inputError</paragraph> +<paragraph id="par_id3154490" role="bascode"> sInput = InputBox("Enter the expiration date (YYYY-MM-DD)")</paragraph> +<paragraph id="par_idm1341417136" role="bascode" localize="false"> dInput = DateValue(sInput)</paragraph> +<paragraph id="par_idm1341414624" role="bascode" localize="false"> </paragraph> +<paragraph id="par_idm1341413344" role="bascode" localize="false"> If dInput < Date() Then</paragraph> +<paragraph id="par_id3155601" role="bascode"> MsgBox "The expiration date has passed"</paragraph> +<paragraph id="par_idm1341410352" role="bascode" localize="false"> ElseIf dInput > Date() Then</paragraph> +<paragraph id="par_id3146912" role="bascode"> MsgBox "The expiration date has not yet passed"</paragraph> <paragraph id="par_idm1341407312" role="bascode" localize="false"> Else</paragraph> -<paragraph id="par_id3154754" role="bascode" xml-lang="en-US"> MsgBox "The expiration date is today"</paragraph> +<paragraph id="par_id3154754" role="bascode"> MsgBox "The expiration date is today"</paragraph> <paragraph id="par_idm1341404336" role="bascode" localize="false"> End If</paragraph> +<paragraph role="bascode" id="bas_id561724332495121" localize="false"> </paragraph> +<paragraph role="bascode" id="bas_id101724332497100" localize="false">inputError:</paragraph> +<paragraph role="bascode" id="bas_id1001724332498412"> If dInput = 0 Then MsgBox "Invalid input"</paragraph> <paragraph id="par_idm1341403104" role="bascode" localize="false">End Sub</paragraph> </bascode> @@ -91,5 +94,4 @@ </section> </body> - </helpdocument> \ No newline at end of file