summaryrefslogtreecommitdiff
path: root/source/text/sbasic/shared/03090402.xhp
blob: 12b5d7f62c61fffe23963dcbd45e584c2d276059 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?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="textsbasicshared03090402xml" indexer="include" status="PUBLISH">
    <title id="tit" xml-lang="en-US">Choose Function</title>
    <filename>/text/sbasic/shared/03090402.xhp</filename>
  </topic>
</meta>

<body>


<section id="choose">
<bookmark xml-lang="en-US" branch="index" id="bm_id3143271">
  <bookmark_value>Choose function</bookmark_value>
</bookmark>


<h1 id="hd_id3143271" xml-lang="en-US"><variable id="Choose_h1"><link href="text/sbasic/shared/03090402.xhp" name="Choose Function">Choose Function</link></variable></h1>
<paragraph id="par_id3149234" role="paragraph" xml-lang="en-US">Returns a selected value from a list of arguments.</paragraph>
</section>

<embed href="text/sbasic/shared/00000003.xhp#functsyntax"/>
<bascode>
  <paragraph id="par_id3147560" role="bascode" localize="false">Choose (Index As Integer, Expression1[, Expression2, ... [, Expression_n]]) As Variant</paragraph>
</bascode>
<embed href="text/sbasic/shared/00000003.xhp#functvalue"/>
<paragraph role="paragraph" id="par_id131649410695924">Variant. A value infered from the <literal>Index</literal> parameter.</paragraph>

<embed href="text/sbasic/shared/00000003.xhp#functparameters"/>
<paragraph id="par_id3148664" role="paragraph" xml-lang="en-US"> <emph>Index</emph>: Any numeric expression rounded to a whole number. <literal>Index</literal> accepts integer values starting at 1 that specify which of the possible choices to return.</paragraph>
<paragraph id="par_id3150791" role="paragraph" xml-lang="en-US"> <emph>Expression1, Expression2, …, Expression_n</emph>: Expressions representing each of the possible choices.</paragraph>
<paragraph id="par_id3151043" role="paragraph" xml-lang="en-US">The <emph>Choose</emph> function returns a value from the list of expressions based on the index value. If <emph>Index = 1</emph>, the function returns the first expression in the list, if <emph>Index = 2</emph>, it returns the second expression, and so on.</paragraph>
<paragraph id="par_id3153192" role="paragraph" xml-lang="en-US">If the index value is less than 1 or greater than the number of expressions listed, the function returns a <literal>Null</literal> value.</paragraph>
<paragraph role="paragraph" id="par_id911649410528836">Error #5 occurs when parameters are omitted. Error #13 occurs if <literal>Index</literal> equals <literal>Null</literal>.  
<comment> If expressions are omitted - e.g. Choose(5) - or Index=Null, Basic runtime raises error #13. If the chosen expression is not defined -e.g. Choose(2,"a",,45) - "Error 448" is returned !!.</comment></paragraph>

<embed href="text/sbasic/shared/00000003.xhp#errorcode"/>
<embed href="text/sbasic/shared/00000003.xhp#err5"/>
<embed href="text/sbasic/shared/00000003.xhp#err13"/>

<embed href="text/sbasic/shared/00000003.xhp#functexample"/>
<paragraph id="par_id3156281" role="paragraph" xml-lang="en-US">The following example uses the  or <literal>Choose</literal> function to select a string from several strings that form a menu:</paragraph>

<bascode>
<paragraph id="par_idm871799424" role="bascode" localize="false">Sub ExampleChoose</paragraph>
<paragraph id="par_idm871795712" role="bascode" xml-lang="en-US">    Print ChooseMenu(2) ' "Save Format"</paragraph>
<paragraph role="bascode" id="bas_id101649409956174" localize="false">    MsgBox Choose(index :=  -5, 9, "Basic", PI) ' Null</paragraph>
<paragraph role="bascode" id="bas_id291649409956630" localize="false">    MsgBox Choose(index := 3.14, 9, "Basic", PI) ' PI</paragraph>
<paragraph id="par_idm871794480" role="bascode" localize="false">End Sub</paragraph>
<paragraph id="par_idm871793248" role="bascode" localize="false"> </paragraph>
<paragraph id="par_idm871792000" role="bascode" localize="false">Function ChooseMenu(Index As Integer)</paragraph>
<paragraph id="par_id3156443" role="bascode" xml-lang="en-US">    ChooseMenu = Choose(Index, "Quick Format", "Save Format", "System Format")</paragraph>
<paragraph id="par_idm871788976" role="bascode" localize="false">End Function</paragraph>
</bascode>

<section id="relatedtopics">
   <embed href="text/sbasic/shared/03090102.xhp#Select_h1"/>
   <embed href="text/sbasic/shared/03090410.xhp#Switch_h1"/>
</section>

</body>
</helpdocument>