summaryrefslogtreecommitdiff
path: root/source/text/sbasic/shared/03102100.xhp
diff options
context:
space:
mode:
Diffstat (limited to 'source/text/sbasic/shared/03102100.xhp')
-rw-r--r--source/text/sbasic/shared/03102100.xhp120
1 files changed, 120 insertions, 0 deletions
diff --git a/source/text/sbasic/shared/03102100.xhp b/source/text/sbasic/shared/03102100.xhp
new file mode 100644
index 0000000000..cc232caf2a
--- /dev/null
+++ b/source/text/sbasic/shared/03102100.xhp
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+<!--***********************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************-->
+
+<helpdocument version="1.0">
+<meta>
+<topic id="textsbasicshared03102100xml" indexer="include" status="PUBLISH">
+<title id="tit" xml-lang="en-US">Dim Statement [Runtime]</title>
+<filename>/text/sbasic/shared/03102100.xhp</filename>
+</topic>
+<history>
+<created date="2003-10-31T00:00:00">Sun Microsystems, Inc.</created>
+<lastedited date="2004-12-09T11:37:40">converted from old format - fpe</lastedited>
+</history>
+</meta>
+<body>
+<section id="dimtext">
+<bookmark xml-lang="en-US" branch="index" id="bm_id3149812"><bookmark_value>Dim statement</bookmark_value>
+<bookmark_value>arrays; dimensioning</bookmark_value>
+<bookmark_value>dimensioning arrays</bookmark_value>
+</bookmark>
+<paragraph role="heading" id="hd_id3149812" xml-lang="en-US" level="1" l10n="U" oldref="1"><link href="text/sbasic/shared/03102100.xhp" name="Dim Statement [Runtime]">Dim Statement [Runtime]</link></paragraph>
+<paragraph role="paragraph" id="par_id3143271" xml-lang="en-US" l10n="U" oldref="2">Declares a variable or an array.</paragraph>
+</section>
+<paragraph role="paragraph" id="par_id3154686" xml-lang="en-US" l10n="U" oldref="3">If the variables are separated by commas (for example, DIM sPar1, sPar2, sPar3 AS STRING), only Variant variables can be defined. Use a separate definition line for each variable.</paragraph>
+<paragraph role="code" id="par_id3156422" xml-lang="en-US" l10n="U" oldref="4">DIM sPar1 AS STRING</paragraph>
+<paragraph role="code" id="par_id3159252" xml-lang="en-US" l10n="U" oldref="5">DIM sPar2 AS STRING</paragraph>
+<paragraph role="code" id="par_id3153142" xml-lang="en-US" l10n="U" oldref="6">DIM sPar3 AS STRING</paragraph>
+<paragraph role="paragraph" id="par_id3152576" xml-lang="en-US" l10n="U" oldref="7">Dim declares local variables within subroutines. Global variables are declared with the PUBLIC or the PRIVATE statement.</paragraph>
+<paragraph role="heading" id="hd_id3156443" xml-lang="en-US" level="2" l10n="U" oldref="8">Syntax:</paragraph>
+<paragraph role="paragraph" id="par_id3149412" xml-lang="en-US" l10n="U" oldref="9">[ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]</paragraph>
+<paragraph role="heading" id="hd_id3147397" xml-lang="en-US" level="2" l10n="U" oldref="10">Parameters:</paragraph>
+<paragraph role="paragraph" id="par_id3154730" xml-lang="en-US" l10n="U" oldref="11">
+<emph>VarName:</emph> Any variable or array name.</paragraph>
+<paragraph role="paragraph" id="par_id3147125" xml-lang="en-US" l10n="CHG" oldref="12">
+<emph>Start, End:</emph> Numerical values or constants that define the number of elements (NumberElements=(end-start)+1) and the index range.<comment>see #i36558</comment></paragraph>
+<paragraph role="paragraph" id="par_id3153877" xml-lang="en-US" l10n="U" oldref="13">Start and End can be numerical expressions if ReDim is applied at the procedure level.</paragraph>
+<paragraph role="paragraph" id="par_id3153510" xml-lang="en-US" l10n="U" oldref="14">
+<emph>VarType:</emph> Key word that declares the data type of a variable.</paragraph>
+<paragraph role="paragraph" id="par_id3154015" xml-lang="en-US" l10n="U" oldref="15">
+<emph>Keyword:</emph> Variable type</paragraph>
+<paragraph role="paragraph" id="par_id3153949" xml-lang="en-US" l10n="U" oldref="16">
+<emph>Bool:</emph> Boolean variable (True, False)</paragraph>
+<paragraph role="paragraph" id="par_id3156275" xml-lang="en-US" l10n="U" oldref="17">
+<emph>Currency:</emph> Currency-Variable (Currency with 4 Decimal places)</paragraph>
+<paragraph role="paragraph" id="par_id3156057" xml-lang="en-US" l10n="U" oldref="18">
+<emph>Date:</emph> Date variable</paragraph>
+<paragraph role="paragraph" id="par_id3148405" xml-lang="en-US" l10n="U" oldref="19">
+<emph>Double:</emph> Double-precision floating-point variable (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)</paragraph>
+<paragraph role="paragraph" id="par_id3148916" xml-lang="en-US" l10n="U" oldref="20">
+<emph>Integer:</emph> Integer variable (-32768 - 32767)</paragraph>
+<paragraph role="paragraph" id="par_id3150045" xml-lang="en-US" l10n="U" oldref="21">
+<emph>Long:</emph> Long integer variable (-2.147.483.648 - 2.147.483.647)</paragraph>
+<paragraph role="paragraph" id="par_id3149255" xml-lang="en-US" l10n="U" oldref="22">
+<emph>Object:</emph> Object variable (Note: this variable can only subsequently be defined with Set!)</paragraph>
+<paragraph role="paragraph" id="par_id3155937" xml-lang="en-US" l10n="U" oldref="23">
+<emph>Single:</emph> Single-precision floating-point variable (3,402823 x 10E38 - 1,401298 x 10E-45).</paragraph>
+<paragraph role="paragraph" id="par_id3151251" xml-lang="en-US" l10n="U" oldref="24">
+<emph>String:</emph> String variable consisting of a maximum of 64,000 ASCII characters.</paragraph>
+<paragraph role="paragraph" id="par_id3154704" xml-lang="en-US" l10n="U" oldref="25">
+<emph>[Variant]:</emph> Variant variable type (contains all types, specified by definition). If a key word is not specified, variables are automatically defined as Variant Type, unless a statement from DefBool to DefVar is used.</paragraph>
+<paragraph role="paragraph" id="par_id3146316" xml-lang="en-US" l10n="U" oldref="26">In $[officename] Basic, you do not need to declare variables explicitly. However, you need to declare an array before you can use them. You can declare a variable with the Dim statement, using commas to separate multiple declarations. To declare a variable type, enter a type-declaration character following the name or use a corresponding key word.</paragraph>
+<paragraph role="paragraph" id="par_id3149924" xml-lang="en-US" l10n="U" oldref="27">$[officename] Basic supports single or multi-dimensional arrays that are defined by a specified variable type. Arrays are suitable if the program contains lists or tables that you want to edit. The advantage of arrays is that it is possible to address individual elements according to indexes, which can be formulated as numeric expressions or variables.</paragraph>
+<paragraph role="paragraph" id="par_id3148488" xml-lang="en-US" l10n="U" oldref="28">Arrays are declared with the Dim statement. There are two methods to define the index range:</paragraph>
+<paragraph role="paragraph" id="par_id3154662" xml-lang="en-US" l10n="U" oldref="29">DIM text(20) as String REM 21 elements numbered from 0 to 20</paragraph>
+<paragraph role="paragraph" id="par_id3155604" xml-lang="en-US" l10n="U" oldref="30">DIM text(5 to 25) as String REM 21 elements numbered from 5 to 25</paragraph>
+<paragraph role="paragraph" id="par_id3151274" xml-lang="en-US" l10n="U" oldref="31">DIM text(-15 to 5) as String REM 21 elements (including 0)</paragraph>
+<paragraph role="paragraph" id="par_id3152774" xml-lang="en-US" l10n="U" oldref="32">REM numbered from -15 to 5</paragraph>
+<paragraph role="paragraph" id="par_id3150829" xml-lang="en-US" l10n="U" oldref="33">Two-dimensional data field</paragraph>
+<paragraph role="paragraph" id="par_id3149529" xml-lang="en-US" l10n="U" oldref="34">DIM text(20,2) as String REM 63 elements; form 0 to 20 level 1, from 0 to 20 level 2 and from 0 to 20 level 3.</paragraph>
+<paragraph role="paragraph" id="par_id3159239" xml-lang="en-US" l10n="U" oldref="35">You can declare an array types as dynamic if a ReDim statement defines the number of dimensions in the subroutine or the function that contains the array. Generally, you can only define an array dimension once, and you cannot modify it. Within a subroutine, you can declare an array with ReDim. You can only define dimensions with numeric expressions. This ensures that the fields are only as large as necessary.</paragraph>
+<paragraph role="heading" id="hd_id3150344" xml-lang="en-US" level="2" l10n="U" oldref="36">Example:</paragraph>
+<paragraph role="paragraph" id="par_id3150206" xml-lang="en-US" l10n="U" oldref="37">Sub ExampleDim1</paragraph>
+<paragraph role="paragraph" id="par_id3154201" xml-lang="en-US" l10n="U" oldref="38">Dim sVar As String</paragraph>
+<paragraph role="paragraph" id="par_id3146134" xml-lang="en-US" l10n="U" oldref="39">Dim iVar As Integer</paragraph>
+<paragraph role="paragraph" id="par_id3154657" xml-lang="en-US" l10n="CHG" oldref="40">sVar = "Office"</paragraph>
+<paragraph role="paragraph" id="par_id3148459" xml-lang="en-US" l10n="U" oldref="41">End Sub</paragraph>
+<paragraph role="paragraph" id="par_id3166424" xml-lang="en-US" l10n="U" oldref="43">Sub ExampleDim2</paragraph>
+<paragraph role="paragraph" id="par_id3149036" xml-lang="en-US" l10n="U" oldref="44">REM Two-dimensional data field</paragraph>
+<paragraph role="paragraph" id="par_id3149737" xml-lang="en-US" l10n="U" oldref="45">Dim stext(20,2) as String</paragraph>
+<paragraph role="paragraph" id="par_id3153782" xml-lang="en-US" l10n="U" oldref="46">Const sDim as String = " Dimension:"</paragraph>
+<paragraph role="paragraph" id="par_id3150518" xml-lang="en-US" l10n="U" oldref="48">for i = 0 to 20</paragraph>
+<paragraph role="paragraph" id="par_id3166428" xml-lang="en-US" l10n="U" oldref="49">for ii = 0 to 2</paragraph>
+<paragraph role="paragraph" id="par_id3152994" xml-lang="en-US" l10n="U" oldref="50">stext(i,ii) = str(i) &amp; sDim &amp; str(ii)</paragraph>
+<paragraph role="paragraph" id="par_id3150202" xml-lang="en-US" l10n="U" oldref="51">next ii</paragraph>
+<paragraph role="paragraph" id="par_id3154370" xml-lang="en-US" l10n="U" oldref="52">next i</paragraph>
+<paragraph role="paragraph" id="par_id3156166" xml-lang="en-US" l10n="U" oldref="54">for i = 0 to 20</paragraph>
+<paragraph role="paragraph" id="par_id3148815" xml-lang="en-US" l10n="U" oldref="55">for ii = 0 to 2</paragraph>
+<paragraph role="paragraph" id="par_id3146981" xml-lang="en-US" l10n="U" oldref="56">msgbox stext(i,ii)</paragraph>
+<paragraph role="paragraph" id="par_id3155125" xml-lang="en-US" l10n="U" oldref="57">next ii</paragraph>
+<paragraph role="paragraph" id="par_id3154528" xml-lang="en-US" l10n="U" oldref="58">next i</paragraph>
+<paragraph role="paragraph" id="par_id3155087" xml-lang="en-US" l10n="U" oldref="59">End Sub</paragraph>
+</body>
+</helpdocument>