Files
help/source/text/sbasic/shared/03090101.xhp
Ilmari Lauhakangas 7e42394ecb tdf#152323 drop name attribute from <link> elements
Replacement done with

find . -name \*.xhp -print0 |xargs -0 -P 0 perl -CS -pi -e \
        's#(<link[^>]*?) +name *="[^"]*" *( [^>]+|) *>#$1$2>#g'

(note some inconsistencies with space between name and = and also having
empty value, and some more complicated expression to also clear up
double space before/after the attribute)

translation files will be prepped with:

find */helpcontent2 -name \*.po -print0 |xargs -0 -P 0 perl -CS -pi -e \
    $'s#(<link[^>]*?) +name=(?:\\\\"[^"]*\\\\"|\'[^\']*\') *( [^>]+|) *(/?>)#$1$2$3#g unless /^#/'

(note that not all languages use the " as quote character for the
attributes, but that also single quotes appera in the po file. Hence
the use of the shell $'string' syntax to be able to quote ' as \'
It also requires to quote the backslash, so that it needs to be escaped
once for the shell, then another time for perl. Also don't work on
obsolete strings (those are prefixed with #~ in the po files)
Also note that <link..></link> gets turned into <link ../> during
translation extraction (along with removal of the space between the
attribute name and the value), so the pattern needs to be slightly
different here)

Change-Id: I95e53a08e6b0095cd894109ea0de154cc4859d8f
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/143713
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2022-12-07 17:39:02 +00:00

98 lines
7.6 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<helpdocument version="1.0">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<meta>
<topic id="textsbasicshared03090101xml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">If...Then...Else Statement</title>
<filename>/text/sbasic/shared/03090101.xhp</filename>
</topic>
</meta>
<body>
<section id="ifthenelse">
<bookmark xml-lang="en-US" branch="index" id="bm_id3154422">
<bookmark_value>If statement</bookmark_value>
<bookmark_value>ElseIf; If statement</bookmark_value>
<bookmark_value>Else If;If statement</bookmark_value>
<bookmark_value>Else;If statement</bookmark_value>
<bookmark_value>Else;If statement</bookmark_value>
<bookmark_value>End If;If statement</bookmark_value>
<bookmark_value>EndIf;If statement</bookmark_value>
</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>
</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_id591592320435808"><image src="media/helpimg/sbasic/ElseIf_fragment.svg" id="img_id691592320435808"><alt id="alt_id341592320435808">ElseIf fragment</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>
<paragraph role="bascode" id="bas_id801592319803093" localize="false"> statements</paragraph>
<paragraph role="bascode" id="bas_id561592319637952" localize="false">[{ElseIf|Else If} expression Then</paragraph>
<paragraph role="bascode" id="bas_id31592419640235" localize="false"> statements]</paragraph>
<paragraph role="bascode" id="bas_id561692319637952" localize="false">[Else </paragraph>
<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>Else If</emph> you can write <emph>ElseIf</emph>, 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 following <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>
<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>
<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 &lt; 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 &gt; 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_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_idm1341404336" role="bascode" localize="false"> End If</paragraph>
<paragraph id="par_idm1341403104" role="bascode" localize="false">End Sub</paragraph>
</bascode>
<section id="relatedtopics">
<paragraph role="paragraph" id="par_id161588865796615"><link href="text/sbasic/shared/03090102.xhp">Select Case</link> statement</paragraph>
<paragraph role="paragraph" id="par_id281588865818334"><link href="text/sbasic/shared/03090103.xhp">Iif</link> or <link href="text/sbasic/shared/03090410.xhp">Switch</link> functions</paragraph>
</section>
</body>
</helpdocument>