Package_html_media.mk                                  |    8 
 source/media/helpimg/sbasic/DimArray_function.svg      |   45 +++++
 source/media/helpimg/sbasic/Dim_statement.svg          |   54 ++++++
 source/media/helpimg/sbasic/Function_statement.svg     |   58 ++++++
 source/media/helpimg/sbasic/Option_statement.svg       |   45 +++++
 source/media/helpimg/sbasic/Property-Get_statement.svg |   48 +++++
 source/media/helpimg/sbasic/Property-Set_statement.svg |   48 +++++
 source/media/helpimg/sbasic/ReDim_statement.svg        |   54 ++++++
 source/media/helpimg/sbasic/Sub_statement.svg          |   52 +++++
 source/text/sbasic/shared/03102100.xhp                 |  150 ++++++++++-------
 source/text/sbasic/shared/03102101.xhp                 |   60 ++----
 11 files changed, 529 insertions(+), 93 deletions(-)

New commits:
commit e2f2799a2808d4389cedab5f979a5a928d91d815
Author:     LibreOfficiant <libreoffici...@sfr.fr>
AuthorDate: Mon Apr 20 15:22:22 2020 +0100
Commit:     Olivier Hallot <olivier.hal...@libreoffice.org>
CommitDate: Thu Apr 23 17:35:19 2020 +0200

    tdf#129366 Basic Syntax Diagrams
    
    - runtime/compiler Option statements
    - Sub, Function, Property Get/Let/Set
    - Dim, ReDim, DimArray
    
    - Dim and Redim help pages reviewed and amended accordingly
    - Sub, Function, Property pages updates in subsequent patches
    
    Change-Id: Iee857aa6e17533278bf16917c0b7d32af0e038ea
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/92528
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hal...@libreoffice.org>

diff --git a/Package_html_media.mk b/Package_html_media.mk
index f663095e1..b1a95ec28 100644
--- a/Package_html_media.mk
+++ b/Package_html_media.mk
@@ -112,11 +112,19 @@ $(eval $(call 
gb_Package_add_files_with_dir,helpcontent2_html_media,$(LIBO_SHARE
     helpimg/sbasic/type-car_fragment.svg \
     helpimg/sbasic/type-name_fragment.svg \
     helpimg/sbasic/Call_statement.svg \
+    helpimg/sbasic/Dim_statement.svg \
+    helpimg/sbasic/DimArray_function.svg \
     helpimg/sbasic/For-Each_statement.svg \
     helpimg/sbasic/For-Next_statement.svg \
+    helpimg/sbasic/Function_statement.svg \
     helpimg/sbasic/LetSet_statement.svg \
     helpimg/sbasic/On-Error_statement.svg \
+    helpimg/sbasic/Option_statement.svg \
+    helpimg/sbasic/Property-Get_statement.svg \
+    helpimg/sbasic/Property-Set_statement.svg \
+    helpimg/sbasic/ReDim_statement.svg \
     helpimg/sbasic/Resume_statement.svg \
+    helpimg/sbasic/Sub_statement.svg \
     helpimg/sbasic/Type_statement.svg \
     helpimg/scalc/coordinates-to-polar-01.svg \
     helpimg/starmath/harpoon.svg \
diff --git a/source/media/helpimg/sbasic/DimArray_function.svg 
b/source/media/helpimg/sbasic/DimArray_function.svg
new file mode 100644
index 000000000..327c16176
--- /dev/null
+++ b/source/media/helpimg/sbasic/DimArray_function.svg
@@ -0,0 +1,45 @@
+<svg class="railroad-diagram" height="124" viewBox="0 0 695.0 124" 
width="695.0" 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 41v20m10 -20v20m-10 -10h20"></path></g><path d="M40 
51h10"></path><g>
+<path d="M50 51h0.0"></path><path d="M645.0 51h0.0"></path><g>
+<path d="M50.0 51h0.0"></path><path d="M246.5 51h0.0"></path><path d="M50.0 
51h30"></path><g>
+<path d="M80.0 51h136.5"></path></g><path d="M216.5 51h30"></path><path 
d="M50.0 51a15 15 0 0 1 15 15v1a15 15 0 0 0 15 15"></path><g>
+<path d="M80.0 82h0.0"></path><path d="M216.5 82h0.0"></path><g 
class="terminal">
+<path d="M80.0 82h0.0"></path><path d="M168.0 82h0.0"></path><rect height="22" 
rx="10" ry="10" width="88.0" x="80.0" y="71"></rect><text x="124.0" 
y="86">variable</text></g><path d="M168.0 82h10"></path><path d="M178.0 
82h10"></path><g class="terminal">
+<path d="M188.0 82h0.0"></path><path d="M216.5 82h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="188.0" y="71"></rect><text 
x="202.25" y="86">=</text></g></g><path d="M216.5 82a15 15 0 0 0 15 -15v-1a15 
15 0 0 1 15 -15"></path></g><path d="M246.5 51h10"></path><g class="terminal">
+<path d="M256.5 51h0.0"></path><path d="M344.5 51h0.0"></path><rect 
height="22" rx="10" ry="10" width="88.0" x="256.5" y="40"></rect><text 
x="300.5" y="55">DimArray</text></g><path d="M344.5 51h10"></path><path 
d="M354.5 51h10"></path><g class="terminal">
+<path d="M364.5 51h0.0"></path><path d="M393.0 51h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="364.5" y="40"></rect><text 
x="378.75" y="55">(</text></g><path d="M393.0 51h10"></path><g>
+<path d="M403.0 51h0.0"></path><path d="M606.5 51h0.0"></path><path d="M403.0 
51a15 15 0 0 0 15 -15v-1a15 15 0 0 1 15 -15"></path><g>
+<path d="M433.0 20h143.5"></path></g><path d="M576.5 20a15 15 0 0 1 15 15v1a15 
15 0 0 0 15 15"></path><path d="M403.0 51h30"></path><g>
+<path d="M433.0 51h0.0"></path><path d="M576.5 51h0.0"></path><path d="M433.0 
51h15"></path><g class="non-terminal">
+<path d="M448.0 51h0.0"></path><path d="M561.5 51h0.0"></path><rect 
height="22" width="113.5" x="448.0" y="40"></rect><text x="504.75" 
y="55">upper&#95;bound</text></g><path d="M561.5 51h15"></path><path d="M448.0 
51a15 15 0 0 0 -15 15v12a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M448.0 93h42.5"></path><path d="M519.0 93h42.5"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="490.5" y="82"></rect><text 
x="504.75" y="97">,</text></g><path d="M561.5 93a15 15 0 0 0 15 -15v-12a15 15 0 
0 0 -15 -15"></path></g><path d="M576.5 51h30"></path></g><path d="M606.5 
51h10"></path><g class="terminal">
+<path d="M616.5 51h0.0"></path><path d="M645.0 51h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="616.5" y="40"></rect><text 
x="630.75" y="55">)</text></g></g><path d="M645.0 51h10"></path><path d="M 
655.0 51 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
\ No newline at end of file
diff --git a/source/media/helpimg/sbasic/Dim_statement.svg 
b/source/media/helpimg/sbasic/Dim_statement.svg
new file mode 100644
index 000000000..f2d06e0b2
--- /dev/null
+++ b/source/media/helpimg/sbasic/Dim_statement.svg
@@ -0,0 +1,54 @@
+<svg class="railroad-diagram" height="250" viewBox="0 0 713.5 250" 
width="713.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 41v20m10 -20v20m-10 -10h20"></path></g><g>
+<path d="M40 51h0.0"></path><path d="M179.5 51h0.0"></path><path d="M40.0 
51h30"></path><g class="terminal">
+<path d="M70.0 51h17.0"></path><path d="M132.5 51h17.0"></path><rect 
height="22" rx="10" ry="10" width="45.5" x="87.0" y="40"></rect><text 
x="109.75" y="55">Dim</text></g><path d="M149.5 51h30"></path><path d="M40.0 
51a15 15 0 0 1 15 15v12a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M70.0 93h4.25"></path><path d="M145.25 93h4.25"></path><rect 
height="22" rx="10" ry="10" width="71.0" x="74.25" y="82"></rect><text 
x="109.75" y="97">Global</text></g><path d="M149.5 93a15 15 0 0 0 15 -15v-12a15 
15 0 0 1 15 -15"></path><path d="M40.0 51a15 15 0 0 1 15 15v54a15 15 0 0 0 15 
15"></path><g class="terminal">
+<path d="M70.0 135h0.0"></path><path d="M149.5 135h0.0"></path><rect 
height="22" rx="10" ry="10" width="79.5" x="70.0" y="124"></rect><text 
x="109.75" y="139">Private</text></g><path d="M149.5 135a15 15 0 0 0 15 
-15v-54a15 15 0 0 1 15 -15"></path><path d="M40.0 51a15 15 0 0 1 15 15v96a15 15 
0 0 0 15 15"></path><g class="terminal">
+<path d="M70.0 177h4.25"></path><path d="M145.25 177h4.25"></path><rect 
height="22" rx="10" ry="10" width="71.0" x="74.25" y="166"></rect><text 
x="109.75" y="181">Public</text></g><path d="M149.5 177a15 15 0 0 0 15 
-15v-96a15 15 0 0 1 15 -15"></path><path d="M40.0 51a15 15 0 0 1 15 15v138a15 
15 0 0 0 15 15"></path><g class="terminal">
+<path d="M70.0 219h4.25"></path><path d="M145.25 219h4.25"></path><rect 
height="22" rx="10" ry="10" width="71.0" x="74.25" y="208"></rect><text 
x="109.75" y="223">Static</text></g><path d="M149.5 219a15 15 0 0 0 15 
-15v-138a15 15 0 0 1 15 -15"></path></g><path d="M179.5 51h10"></path><g>
+<path d="M189.5 51h0.0"></path><path d="M663.5 51h0.0"></path><path d="M189.5 
51h15"></path><g>
+<path d="M204.5 51h0.0"></path><path d="M648.5 51h0.0"></path><g 
class="terminal">
+<path d="M204.5 51h0.0"></path><path d="M292.5 51h0.0"></path><rect 
height="22" rx="10" ry="10" width="88.0" x="204.5" y="40"></rect><text 
x="248.5" y="55">variable</text></g><path d="M292.5 51h10"></path><g>
+<path d="M302.5 51h0.0"></path><path d="M648.5 51h0.0"></path><path d="M302.5 
51h30"></path><g>
+<path d="M332.5 51h0.0"></path><path d="M618.5 51h0.0"></path><g>
+<path d="M332.5 51h0.0"></path><path d="M455.0 51h0.0"></path><path d="M332.5 
51a15 15 0 0 0 15 -15v-1a15 15 0 0 1 15 -15"></path><g>
+<path d="M362.5 20h62.5"></path></g><path d="M425.0 20a15 15 0 0 1 15 15v1a15 
15 0 0 0 15 15"></path><path d="M332.5 51h30"></path><g class="non-terminal">
+<path d="M362.5 51h0.0"></path><path d="M425.0 51h0.0"></path><rect 
height="22" width="62.5" x="362.5" y="40"></rect><text x="393.75" 
y="55">array</text></g><path d="M425.0 51h30"></path></g><path d="M455.0 
51h10"></path><g>
+<path d="M465.0 51h0.0"></path><path d="M618.5 51h0.0"></path><g 
class="terminal">
+<path d="M465.0 51h0.0"></path><path d="M502.0 51h0.0"></path><rect 
height="22" rx="10" ry="10" width="37.0" x="465.0" y="40"></rect><text 
x="483.5" y="55">As</text></g><path d="M502.0 51h10"></path><path d="M512.0 
51h10"></path><g class="non-terminal">
+<path d="M522.0 51h0.0"></path><path d="M618.5 51h0.0"></path><rect 
height="22" width="96.5" x="522.0" y="40"></rect><text x="570.25" 
y="55">type-name</text></g></g></g><path d="M618.5 51h30"></path><path 
d="M302.5 51a15 15 0 0 1 15 15v32a15 15 0 0 0 15 15"></path><g>
+<path d="M332.5 113h32.75"></path><path d="M585.75 113h32.75"></path><g 
class="non-terminal">
+<path d="M365.25 113h0.0"></path><path d="M453.25 113h0.0"></path><rect 
height="22" width="88.0" x="365.25" y="102"></rect><text x="409.25" 
y="117">type-car</text></g><path d="M453.25 113h10"></path><g>
+<path d="M463.25 113h0.0"></path><path d="M585.75 113h0.0"></path><path 
d="M463.25 113a15 15 0 0 0 15 -15v-1a15 15 0 0 1 15 -15"></path><g>
+<path d="M493.25 82h62.5"></path></g><path d="M555.75 82a15 15 0 0 1 15 
15v1a15 15 0 0 0 15 15"></path><path d="M463.25 113h30"></path><g 
class="non-terminal">
+<path d="M493.25 113h0.0"></path><path d="M555.75 113h0.0"></path><rect 
height="22" width="62.5" x="493.25" y="102"></rect><text x="524.5" 
y="117">array</text></g><path d="M555.75 113h30"></path></g></g><path d="M618.5 
113a15 15 0 0 0 15 -15v-32a15 15 0 0 1 15 -15"></path></g></g><path d="M648.5 
51h15"></path><path d="M204.5 51a15 15 0 0 0 -15 15v74a15 15 0 0 0 15 
15"></path><g class="terminal">
+<path d="M204.5 155h207.75"></path><path d="M440.75 155h207.75"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="412.25" y="144"></rect><text 
x="426.5" y="159">,</text></g><path d="M648.5 155a15 15 0 0 0 15 -15v-74a15 15 
0 0 0 -15 -15"></path></g><path d="M663.5 51h10"></path><path d="M 673.5 51 h 
20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
\ No newline at end of file
diff --git a/source/media/helpimg/sbasic/Function_statement.svg 
b/source/media/helpimg/sbasic/Function_statement.svg
new file mode 100644
index 000000000..f3c0c7a2b
--- /dev/null
+++ b/source/media/helpimg/sbasic/Function_statement.svg
@@ -0,0 +1,58 @@
+<svg class="railroad-diagram" height="188" viewBox="0 0 1187.0 188" 
width="1187.0" 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 105v20m10 -20v20m-10 -10h20"></path></g><path d="M40 
115h10"></path><g>
+<path d="M50 115h0.0"></path><path d="M1137.0 115h0.0"></path><g>
+<path d="M50.0 115h0.0"></path><path d="M249.5 115h0.0"></path><path d="M50.0 
115a15 15 0 0 0 15 -15v-43a15 15 0 0 1 15 -15"></path><g>
+<path d="M80.0 42h139.5"></path></g><path d="M219.5 42a15 15 0 0 1 15 15v43a15 
15 0 0 0 15 15"></path><path d="M50.0 115h30"></path><g>
+<path d="M80.0 115h0.0"></path><path d="M219.5 115h0.0"></path><path d="M80.0 
115a15 15 0 0 0 15 -15v-12a15 15 0 0 1 15 -15"></path><g class="terminal">
+<path d="M110.0 73h4.25"></path><path d="M185.25 73h4.25"></path><rect 
height="22" rx="10" ry="10" width="71.0" x="114.25" y="62"></rect><text 
x="149.75" y="77">Global</text></g><path d="M189.5 73a15 15 0 0 1 15 15v12a15 
15 0 0 0 15 15"></path><path d="M80.0 115h30"></path><g class="terminal">
+<path d="M110.0 115h4.25"></path><path d="M185.25 115h4.25"></path><rect 
height="22" rx="10" ry="10" width="71.0" x="114.25" y="104"></rect><text 
x="149.75" y="119">Public</text></g><path d="M189.5 115h30"></path><path 
d="M80.0 115a15 15 0 0 1 15 15v12a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M110.0 157h0.0"></path><path d="M189.5 157h0.0"></path><rect 
height="22" rx="10" ry="10" width="79.5" x="110.0" y="146"></rect><text 
x="149.75" y="161">Private</text></g><path d="M189.5 157a15 15 0 0 0 15 
-15v-12a15 15 0 0 1 15 -15"></path></g><path d="M219.5 115h30"></path></g><path 
d="M249.5 115h10"></path><g class="terminal">
+<path d="M259.5 115h0.0"></path><path d="M347.5 115h0.0"></path><rect 
height="22" rx="10" ry="10" width="88.0" x="259.5" y="104"></rect><text 
x="303.5" y="119">Function</text></g><path d="M347.5 115h10"></path><path 
d="M357.5 115h10"></path><g class="terminal">
+<path d="M367.5 115h0.0"></path><path d="M421.5 115h0.0"></path><rect 
height="22" rx="10" ry="10" width="54.0" x="367.5" y="104"></rect><text 
x="394.5" y="119">name</text></g><path d="M421.5 115h10"></path><g>
+<path d="M431.5 115h0.0"></path><path d="M880.0 115h0.0"></path><path 
d="M431.5 115a15 15 0 0 0 15 -15v-54a15 15 0 0 1 15 -15"></path><g>
+<path d="M461.5 31h32.75"></path><path d="M817.25 31h32.75"></path><g 
class="non-terminal">
+<path d="M494.25 31h0.0"></path><path d="M582.25 31h0.0"></path><rect 
height="22" width="88.0" x="494.25" y="20"></rect><text x="538.25" 
y="35">type-car</text></g><path d="M582.25 31h10"></path><path d="M592.25 
31h10"></path><g class="terminal">
+<path d="M602.25 31h0.0"></path><path d="M630.75 31h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="602.25" y="20"></rect><text 
x="616.5" y="35">(</text></g><path d="M630.75 31h10"></path><path d="M640.75 
31h10"></path><g>
+<path d="M650.75 31h0.0"></path><path d="M768.75 31h0.0"></path><path 
d="M650.75 31h15"></path><g class="non-terminal">
+<path d="M665.75 31h0.0"></path><path d="M753.75 31h0.0"></path><rect 
height="22" width="88.0" x="665.75" y="20"></rect><text x="709.75" 
y="35">argument</text></g><path d="M753.75 31h15"></path><path d="M665.75 31a15 
15 0 0 0 -15 15v12a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M665.75 73h29.75"></path><path d="M724.0 73h29.75"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="695.5" y="62"></rect><text 
x="709.75" y="77">,</text></g><path d="M753.75 73a15 15 0 0 0 15 -15v-12a15 15 
0 0 0 -15 -15"></path></g><path d="M768.75 31h10"></path><path d="M778.75 
31h10"></path><g class="terminal">
+<path d="M788.75 31h0.0"></path><path d="M817.25 31h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="788.75" y="20"></rect><text 
x="803.0" y="35">)</text></g></g><path d="M850.0 31a15 15 0 0 1 15 15v54a15 15 
0 0 0 15 15"></path><path d="M431.5 115h30"></path><g>
+<path d="M461.5 115h0.0"></path><path d="M850.0 115h0.0"></path><g 
class="terminal">
+<path d="M461.5 115h0.0"></path><path d="M490.0 115h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="461.5" y="104"></rect><text 
x="475.75" y="119">(</text></g><path d="M490.0 115h10"></path><path d="M500.0 
115h10"></path><g>
+<path d="M510.0 115h0.0"></path><path d="M628.0 115h0.0"></path><path 
d="M510.0 115h15"></path><g class="non-terminal">
+<path d="M525.0 115h0.0"></path><path d="M613.0 115h0.0"></path><rect 
height="22" width="88.0" x="525.0" y="104"></rect><text x="569.0" 
y="119">argument</text></g><path d="M613.0 115h15"></path><path d="M525.0 
115a15 15 0 0 0 -15 15v12a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M525.0 157h29.75"></path><path d="M583.25 157h29.75"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="554.75" y="146"></rect><text 
x="569.0" y="161">,</text></g><path d="M613.0 157a15 15 0 0 0 15 -15v-12a15 15 
0 0 0 -15 -15"></path></g><path d="M628.0 115h10"></path><path d="M638.0 
115h10"></path><g class="terminal">
+<path d="M648.0 115h0.0"></path><path d="M676.5 115h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="648.0" y="104"></rect><text 
x="662.25" y="119">)</text></g><path d="M676.5 115h10"></path><path d="M686.5 
115h10"></path><g class="terminal">
+<path d="M696.5 115h0.0"></path><path d="M733.5 115h0.0"></path><rect 
height="22" rx="10" ry="10" width="37.0" x="696.5" y="104"></rect><text 
x="715.0" y="119">As</text></g><path d="M733.5 115h10"></path><path d="M743.5 
115h10"></path><g class="terminal">
+<path d="M753.5 115h0.0"></path><path d="M850.0 115h0.0"></path><rect 
height="22" rx="10" ry="10" width="96.5" x="753.5" y="104"></rect><text 
x="801.75" y="119">type-name</text></g></g><path d="M850.0 
115h30"></path></g><path d="M880.0 115h10"></path><g class="non-terminal">
+<path d="M890.0 115h0.0"></path><path d="M995.0 115h0.0"></path><rect 
height="22" width="105.0" x="890.0" y="104"></rect><text x="942.5" 
y="119">statements</text></g><path d="M995.0 115h10"></path><path d="M1005.0 
115h10"></path><g class="terminal">
+<path d="M1015.0 115h0.0"></path><path d="M1137.0 115h0.0"></path><rect 
height="22" rx="10" ry="10" width="122.0" x="1015.0" y="104"></rect><text 
x="1076.0" y="119">End Function</text></g></g><path d="M1137.0 
115h10"></path><path d="M 1147.0 115 h 20 m -10 -10 v 20 m 10 -20 v 
20"></path></g></svg>
\ No newline at end of file
diff --git a/source/media/helpimg/sbasic/Option_statement.svg 
b/source/media/helpimg/sbasic/Option_statement.svg
new file mode 100644
index 000000000..0ef3391cc
--- /dev/null
+++ b/source/media/helpimg/sbasic/Option_statement.svg
@@ -0,0 +1,45 @@
+ <svg class="railroad-diagram" height="272" viewBox="0 0 494.5 272" 
width="494.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 21v20m10 -20v20m-10 -10h20"></path></g><path d="M40 
31h10"></path><g>
+<path d="M50 31h0.0"></path><path d="M444.5 31h0.0"></path><g class="terminal">
+<path d="M50.0 31h0.0"></path><path d="M121.0 31h0.0"></path><rect height="22" 
rx="10" ry="10" width="71.0" x="50.0" y="20"></rect><text x="85.5" 
y="35">Option</text></g><path d="M121.0 31h10"></path><g>
+<path d="M131.0 31h0.0"></path><path d="M444.5 31h0.0"></path><path d="M131.0 
31h30"></path><g>
+<path d="M161.0 31h0.0"></path><path d="M414.5 31h0.0"></path><g>
+<path d="M161.0 31h0.0"></path><path d="M326.0 31h0.0"></path><path d="M161.0 
31h30"></path><g class="terminal">
+<path d="M191.0 31h25.5"></path><path d="M270.5 31h25.5"></path><rect 
height="22" rx="10" ry="10" width="54.0" x="216.5" y="20"></rect><text 
x="243.5" y="35">Base</text></g><path d="M296.0 31h30"></path><path d="M161.0 
31a15 15 0 0 1 15 15v12a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M191.0 73h0.0"></path><path d="M296.0 73h0.0"></path><rect 
height="22" rx="10" ry="10" width="105.0" x="191.0" y="62"></rect><text 
x="243.5" y="77">VBASupport</text></g><path d="M296.0 73a15 15 0 0 0 15 
-15v-12a15 15 0 0 1 15 -15"></path></g><g>
+<path d="M326.0 31h0.0"></path><path d="M414.5 31h0.0"></path><path d="M326.0 
31h30"></path><g class="terminal">
+<path d="M356.0 31h0.0"></path><path d="M384.5 31h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="356.0" y="20"></rect><text 
x="370.25" y="35">0</text></g><path d="M384.5 31h30"></path><path d="M326.0 
31a15 15 0 0 1 15 15v12a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M356.0 73h0.0"></path><path d="M384.5 73h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="356.0" y="62"></rect><text 
x="370.25" y="77">1</text></g><path d="M384.5 73a15 15 0 0 0 15 -15v-12a15 15 0 
0 1 15 -15"></path></g></g><path d="M414.5 31h30"></path><path d="M131.0 31a15 
15 0 0 1 15 15v54a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M161.0 115h70.0"></path><path d="M344.5 115h70.0"></path><rect 
height="22" rx="10" ry="10" width="113.5" x="231.0" y="104"></rect><text 
x="287.75" y="119">ClassModule</text></g><path d="M414.5 115a15 15 0 0 0 15 
-15v-54a15 15 0 0 1 15 -15"></path><path d="M131.0 31a15 15 0 0 1 15 15v96a15 
15 0 0 0 15 15"></path><g class="terminal">
+<path d="M161.0 157h74.25"></path><path d="M340.25 157h74.25"></path><rect 
height="22" rx="10" ry="10" width="105.0" x="235.25" y="146"></rect><text 
x="287.75" y="161">Compatible</text></g><path d="M414.5 157a15 15 0 0 0 15 
-15v-96a15 15 0 0 1 15 -15"></path><path d="M131.0 31a15 15 0 0 1 15 15v138a15 
15 0 0 0 15 15"></path><g class="terminal">
+<path d="M161.0 199h82.75"></path><path d="M331.75 199h82.75"></path><rect 
height="22" rx="10" ry="10" width="88.0" x="243.75" y="188"></rect><text 
x="287.75" y="203">Explicit</text></g><path d="M414.5 199a15 15 0 0 0 15 
-15v-138a15 15 0 0 1 15 -15"></path><path d="M131.0 31a15 15 0 0 1 15 15v180a15 
15 0 0 0 15 15"></path><g class="terminal">
+<path d="M161.0 241h57.25"></path><path d="M357.25 241h57.25"></path><rect 
height="22" rx="10" ry="10" width="139.0" x="218.25" y="230"></rect><text 
x="287.75" y="245">Private Module</text></g><path d="M414.5 241a15 15 0 0 0 15 
-15v-180a15 15 0 0 1 15 -15"></path></g></g><path d="M444.5 31h10"></path><path 
d="M 454.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
\ No newline at end of file
diff --git a/source/media/helpimg/sbasic/Property-Get_statement.svg 
b/source/media/helpimg/sbasic/Property-Get_statement.svg
new file mode 100644
index 000000000..6671ed85e
--- /dev/null
+++ b/source/media/helpimg/sbasic/Property-Get_statement.svg
@@ -0,0 +1,48 @@
+<svg class="railroad-diagram" height="166" viewBox="0 0 986.0 166" 
width="986.0" 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 83v20m10 -20v20m-10 -10h20"></path></g><path d="M40 
93h10"></path><g>
+<path d="M50 93h0.0"></path><path d="M936.0 93h0.0"></path><g>
+<path d="M50.0 93h0.0"></path><path d="M249.5 93h0.0"></path><path d="M50.0 
93a15 15 0 0 0 15 -15v-43a15 15 0 0 1 15 -15"></path><g>
+<path d="M80.0 20h139.5"></path></g><path d="M219.5 20a15 15 0 0 1 15 15v43a15 
15 0 0 0 15 15"></path><path d="M50.0 93h30"></path><g>
+<path d="M80.0 93h0.0"></path><path d="M219.5 93h0.0"></path><path d="M80.0 
93a15 15 0 0 0 15 -15v-12a15 15 0 0 1 15 -15"></path><g class="terminal">
+<path d="M110.0 51h4.25"></path><path d="M185.25 51h4.25"></path><rect 
height="22" rx="10" ry="10" width="71.0" x="114.25" y="40"></rect><text 
x="149.75" y="55">Global</text></g><path d="M189.5 51a15 15 0 0 1 15 15v12a15 
15 0 0 0 15 15"></path><path d="M80.0 93h30"></path><g class="terminal">
+<path d="M110.0 93h4.25"></path><path d="M185.25 93h4.25"></path><rect 
height="22" rx="10" ry="10" width="71.0" x="114.25" y="82"></rect><text 
x="149.75" y="97">Public</text></g><path d="M189.5 93h30"></path><path d="M80.0 
93a15 15 0 0 1 15 15v12a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M110.0 135h0.0"></path><path d="M189.5 135h0.0"></path><rect 
height="22" rx="10" ry="10" width="79.5" x="110.0" y="124"></rect><text 
x="149.75" y="139">Private</text></g><path d="M189.5 135a15 15 0 0 0 15 
-15v-12a15 15 0 0 1 15 -15"></path></g><path d="M219.5 93h30"></path></g><path 
d="M249.5 93h10"></path><g class="terminal">
+<path d="M259.5 93h0.0"></path><path d="M381.5 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="122.0" x="259.5" y="82"></rect><text 
x="320.5" y="97">Property Get</text></g><path d="M381.5 93h10"></path><path 
d="M391.5 93h10"></path><g class="terminal">
+<path d="M401.5 93h0.0"></path><path d="M455.5 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="54.0" x="401.5" y="82"></rect><text 
x="428.5" y="97">name</text></g><path d="M455.5 93h10"></path><g>
+<path d="M465.5 93h0.0"></path><path d="M679.0 93h0.0"></path><path d="M465.5 
93a15 15 0 0 0 15 -15v-12a15 15 0 0 1 15 -15"></path><g>
+<path d="M495.5 51h32.75"></path><path d="M616.25 51h32.75"></path><g 
class="non-terminal">
+<path d="M528.25 51h0.0"></path><path d="M616.25 51h0.0"></path><rect 
height="22" width="88.0" x="528.25" y="40"></rect><text x="572.25" 
y="55">type-car</text></g></g><path d="M649.0 51a15 15 0 0 1 15 15v12a15 15 0 0 
0 15 15"></path><path d="M465.5 93h30"></path><g>
+<path d="M495.5 93h0.0"></path><path d="M649.0 93h0.0"></path><g 
class="terminal">
+<path d="M495.5 93h0.0"></path><path d="M532.5 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="37.0" x="495.5" y="82"></rect><text 
x="514.0" y="97">As</text></g><path d="M532.5 93h10"></path><path d="M542.5 
93h10"></path><g class="terminal">
+<path d="M552.5 93h0.0"></path><path d="M649.0 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="96.5" x="552.5" y="82"></rect><text 
x="600.75" y="97">type-name</text></g></g><path d="M649.0 
93h30"></path></g><path d="M679.0 93h10"></path><g class="non-terminal">
+<path d="M689.0 93h0.0"></path><path d="M794.0 93h0.0"></path><rect 
height="22" width="105.0" x="689.0" y="82"></rect><text x="741.5" 
y="97">statements</text></g><path d="M794.0 93h10"></path><path d="M804.0 
93h10"></path><g class="terminal">
+<path d="M814.0 93h0.0"></path><path d="M936.0 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="122.0" x="814.0" y="82"></rect><text 
x="875.0" y="97">End Property</text></g></g><path d="M936.0 93h10"></path><path 
d="M 946.0 93 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
\ No newline at end of file
diff --git a/source/media/helpimg/sbasic/Property-Set_statement.svg 
b/source/media/helpimg/sbasic/Property-Set_statement.svg
new file mode 100644
index 000000000..51235b174
--- /dev/null
+++ b/source/media/helpimg/sbasic/Property-Set_statement.svg
@@ -0,0 +1,48 @@
+<svg class="railroad-diagram" height="166" viewBox="0 0 1049.0 166" 
width="1049.0" 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 83v20m10 -20v20m-10 -10h20"></path></g><path d="M40 
93h10"></path><g>
+<path d="M50 93h0.0"></path><path d="M999.0 93h0.0"></path><g>
+<path d="M50.0 93h0.0"></path><path d="M249.5 93h0.0"></path><path d="M50.0 
93a15 15 0 0 0 15 -15v-43a15 15 0 0 1 15 -15"></path><g>
+<path d="M80.0 20h139.5"></path></g><path d="M219.5 20a15 15 0 0 1 15 15v43a15 
15 0 0 0 15 15"></path><path d="M50.0 93h30"></path><g>
+<path d="M80.0 93h0.0"></path><path d="M219.5 93h0.0"></path><path d="M80.0 
93a15 15 0 0 0 15 -15v-12a15 15 0 0 1 15 -15"></path><g class="terminal">
+<path d="M110.0 51h4.25"></path><path d="M185.25 51h4.25"></path><rect 
height="22" rx="10" ry="10" width="71.0" x="114.25" y="40"></rect><text 
x="149.75" y="55">Global</text></g><path d="M189.5 51a15 15 0 0 1 15 15v12a15 
15 0 0 0 15 15"></path><path d="M80.0 93h30"></path><g class="terminal">
+<path d="M110.0 93h4.25"></path><path d="M185.25 93h4.25"></path><rect 
height="22" rx="10" ry="10" width="71.0" x="114.25" y="82"></rect><text 
x="149.75" y="97">Public</text></g><path d="M189.5 93h30"></path><path d="M80.0 
93a15 15 0 0 1 15 15v12a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M110.0 135h0.0"></path><path d="M189.5 135h0.0"></path><rect 
height="22" rx="10" ry="10" width="79.5" x="110.0" y="124"></rect><text 
x="149.75" y="139">Private</text></g><path d="M189.5 135a15 15 0 0 0 15 
-15v-12a15 15 0 0 1 15 -15"></path></g><path d="M219.5 93h30"></path></g><path 
d="M249.5 93h10"></path><g class="terminal">
+<path d="M259.5 93h0.0"></path><path d="M347.5 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="88.0" x="259.5" y="82"></rect><text 
x="303.5" y="97">Property</text></g><path d="M347.5 93h10"></path><g>
+<path d="M357.5 93h0.0"></path><path d="M463.0 93h0.0"></path><path d="M357.5 
93a15 15 0 0 0 15 -15v-12a15 15 0 0 1 15 -15"></path><g class="terminal">
+<path d="M387.5 51h0.0"></path><path d="M433.0 51h0.0"></path><rect 
height="22" rx="10" ry="10" width="45.5" x="387.5" y="40"></rect><text 
x="410.25" y="55">Let</text></g><path d="M433.0 51a15 15 0 0 1 15 15v12a15 15 0 
0 0 15 15"></path><path d="M357.5 93h30"></path><g class="terminal">
+<path d="M387.5 93h0.0"></path><path d="M433.0 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="45.5" x="387.5" y="82"></rect><text 
x="410.25" y="97">Set</text></g><path d="M433.0 93h30"></path></g><path 
d="M463.0 93h10"></path><g class="terminal">
+<path d="M473.0 93h0.0"></path><path d="M527.0 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="54.0" x="473.0" y="82"></rect><text 
x="500.0" y="97">name</text></g><path d="M527.0 93h10"></path><path d="M537.0 
93h10"></path><g class="terminal">
+<path d="M547.0 93h0.0"></path><path d="M575.5 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="547.0" y="82"></rect><text 
x="561.25" y="97">(</text></g><path d="M575.5 93h10"></path><path d="M585.5 
93h10"></path><g class="non-terminal">
+<path d="M595.5 93h0.0"></path><path d="M683.5 93h0.0"></path><rect 
height="22" width="88.0" x="595.5" y="82"></rect><text x="639.5" 
y="97">argument</text></g><path d="M683.5 93h10"></path><path d="M693.5 
93h10"></path><g class="terminal">
+<path d="M703.5 93h0.0"></path><path d="M732.0 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="703.5" y="82"></rect><text 
x="717.75" y="97">)</text></g><path d="M732.0 93h10"></path><path d="M742.0 
93h10"></path><g class="non-terminal">
+<path d="M752.0 93h0.0"></path><path d="M857.0 93h0.0"></path><rect 
height="22" width="105.0" x="752.0" y="82"></rect><text x="804.5" 
y="97">statements</text></g><path d="M857.0 93h10"></path><path d="M867.0 
93h10"></path><g class="terminal">
+<path d="M877.0 93h0.0"></path><path d="M999.0 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="122.0" x="877.0" y="82"></rect><text 
x="938.0" y="97">End Property</text></g></g><path d="M999.0 93h10"></path><path 
d="M 1009.0 93 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
\ No newline at end of file
diff --git a/source/media/helpimg/sbasic/ReDim_statement.svg 
b/source/media/helpimg/sbasic/ReDim_statement.svg
new file mode 100644
index 000000000..5f26deaef
--- /dev/null
+++ b/source/media/helpimg/sbasic/ReDim_statement.svg
@@ -0,0 +1,54 @@
+<svg class="railroad-diagram" height="206" viewBox="0 0 864.5 206" 
width="864.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 61v20m10 -20v20m-10 -10h20"></path></g><path d="M40 
71h10"></path><g class="terminal">
+<path d="M50 71h0.0"></path><path d="M112.5 71h0.0"></path><rect height="22" 
rx="10" ry="10" width="62.5" x="50.0" y="60"></rect><text x="81.25" 
y="75">ReDim</text></g><path d="M112.5 71h10"></path><g>
+<path d="M122.5 71h0.0"></path><path d="M270.5 71h0.0"></path><path d="M122.5 
71h30"></path><g>
+<path d="M152.5 71h88.0"></path></g><path d="M240.5 71h30"></path><path 
d="M122.5 71a15 15 0 0 1 15 15v1a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M152.5 102h0.0"></path><path d="M240.5 102h0.0"></path><rect 
height="22" rx="10" ry="10" width="88.0" x="152.5" y="91"></rect><text 
x="196.5" y="106">Preserve</text></g><path d="M240.5 102a15 15 0 0 0 15 
-15v-1a15 15 0 0 1 15 -15"></path></g><path d="M270.5 71h10"></path><g>
+<path d="M280.5 71h0.0"></path><path d="M814.5 71h0.0"></path><path d="M280.5 
71h15"></path><g>
+<path d="M295.5 71h0.0"></path><path d="M799.5 71h0.0"></path><path d="M295.5 
71a15 15 0 0 0 15 -15v-21a15 15 0 0 1 15 -15"></path><g>
+<path d="M325.5 20h444.0"></path></g><path d="M769.5 20a15 15 0 0 1 15 
15v21a15 15 0 0 0 15 15"></path><path d="M295.5 71h30"></path><g>
+<path d="M325.5 71h0.0"></path><path d="M769.5 71h0.0"></path><g 
class="terminal">
+<path d="M325.5 71h0.0"></path><path d="M413.5 71h0.0"></path><rect 
height="22" rx="10" ry="10" width="88.0" x="325.5" y="60"></rect><text 
x="369.5" y="75">variable</text></g><path d="M413.5 71h10"></path><g>
+<path d="M423.5 71h0.0"></path><path d="M769.5 71h0.0"></path><path d="M423.5 
71h30"></path><g>
+<path d="M453.5 71h0.0"></path><path d="M739.5 71h0.0"></path><g>
+<path d="M453.5 71h0.0"></path><path d="M576.0 71h0.0"></path><path d="M453.5 
71a15 15 0 0 0 15 -15v-1a15 15 0 0 1 15 -15"></path><g>
+<path d="M483.5 40h62.5"></path></g><path d="M546.0 40a15 15 0 0 1 15 15v1a15 
15 0 0 0 15 15"></path><path d="M453.5 71h30"></path><g class="non-terminal">
+<path d="M483.5 71h0.0"></path><path d="M546.0 71h0.0"></path><rect 
height="22" width="62.5" x="483.5" y="60"></rect><text x="514.75" 
y="75">array</text></g><path d="M546.0 71h30"></path></g><path d="M576.0 
71h10"></path><g>
+<path d="M586.0 71h0.0"></path><path d="M739.5 71h0.0"></path><g 
class="terminal">
+<path d="M586.0 71h0.0"></path><path d="M623.0 71h0.0"></path><rect 
height="22" rx="10" ry="10" width="37.0" x="586.0" y="60"></rect><text 
x="604.5" y="75">As</text></g><path d="M623.0 71h10"></path><path d="M633.0 
71h10"></path><g class="non-terminal">
+<path d="M643.0 71h0.0"></path><path d="M739.5 71h0.0"></path><rect 
height="22" width="96.5" x="643.0" y="60"></rect><text x="691.25" 
y="75">type-name</text></g></g></g><path d="M739.5 71h30"></path><path 
d="M423.5 71a15 15 0 0 1 15 15v32a15 15 0 0 0 15 15"></path><g>
+<path d="M453.5 133h32.75"></path><path d="M706.75 133h32.75"></path><g 
class="non-terminal">
+<path d="M486.25 133h0.0"></path><path d="M574.25 133h0.0"></path><rect 
height="22" width="88.0" x="486.25" y="122"></rect><text x="530.25" 
y="137">type-car</text></g><path d="M574.25 133h10"></path><g>
+<path d="M584.25 133h0.0"></path><path d="M706.75 133h0.0"></path><path 
d="M584.25 133a15 15 0 0 0 15 -15v-1a15 15 0 0 1 15 -15"></path><g>
+<path d="M614.25 102h62.5"></path></g><path d="M676.75 102a15 15 0 0 1 15 
15v1a15 15 0 0 0 15 15"></path><path d="M584.25 133h30"></path><g 
class="non-terminal">
+<path d="M614.25 133h0.0"></path><path d="M676.75 133h0.0"></path><rect 
height="22" width="62.5" x="614.25" y="122"></rect><text x="645.5" 
y="137">array</text></g><path d="M676.75 133h30"></path></g></g><path d="M739.5 
133a15 15 0 0 0 15 -15v-32a15 15 0 0 1 15 -15"></path></g></g><path d="M769.5 
71h30"></path></g><path d="M799.5 71h15"></path><path d="M295.5 71a15 15 0 0 0 
-15 15v74a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M295.5 175h237.75"></path><path d="M561.75 175h237.75"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="533.25" y="164"></rect><text 
x="547.5" y="179">,</text></g><path d="M799.5 175a15 15 0 0 0 15 -15v-74a15 15 
0 0 0 -15 -15"></path></g><path d="M814.5 71h10"></path><path d="M 824.5 71 h 
20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
\ No newline at end of file
diff --git a/source/media/helpimg/sbasic/Sub_statement.svg 
b/source/media/helpimg/sbasic/Sub_statement.svg
new file mode 100644
index 000000000..f1e46ae8d
--- /dev/null
+++ b/source/media/helpimg/sbasic/Sub_statement.svg
@@ -0,0 +1,52 @@
+<svg class="railroad-diagram" height="166" viewBox="0 0 968.5 166" 
width="968.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 83v20m10 -20v20m-10 -10h20"></path></g><path d="M40 
93h10"></path><g>
+<path d="M50 93h0.0"></path><path d="M918.5 93h0.0"></path><g>
+<path d="M50.0 93h0.0"></path><path d="M249.5 93h0.0"></path><path d="M50.0 
93a15 15 0 0 0 15 -15v-43a15 15 0 0 1 15 -15"></path><g>
+<path d="M80.0 20h139.5"></path></g><path d="M219.5 20a15 15 0 0 1 15 15v43a15 
15 0 0 0 15 15"></path><path d="M50.0 93h30"></path><g>
+<path d="M80.0 93h0.0"></path><path d="M219.5 93h0.0"></path><path d="M80.0 
93a15 15 0 0 0 15 -15v-12a15 15 0 0 1 15 -15"></path><g class="terminal">
+<path d="M110.0 51h4.25"></path><path d="M185.25 51h4.25"></path><rect 
height="22" rx="10" ry="10" width="71.0" x="114.25" y="40"></rect><text 
x="149.75" y="55">Global</text></g><path d="M189.5 51a15 15 0 0 1 15 15v12a15 
15 0 0 0 15 15"></path><path d="M80.0 93h30"></path><g class="terminal">
+<path d="M110.0 93h4.25"></path><path d="M185.25 93h4.25"></path><rect 
height="22" rx="10" ry="10" width="71.0" x="114.25" y="82"></rect><text 
x="149.75" y="97">Public</text></g><path d="M189.5 93h30"></path><path d="M80.0 
93a15 15 0 0 1 15 15v12a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M110.0 135h0.0"></path><path d="M189.5 135h0.0"></path><rect 
height="22" rx="10" ry="10" width="79.5" x="110.0" y="124"></rect><text 
x="149.75" y="139">Private</text></g><path d="M189.5 135a15 15 0 0 0 15 
-15v-12a15 15 0 0 1 15 -15"></path></g><path d="M219.5 93h30"></path></g><path 
d="M249.5 93h10"></path><g class="terminal">
+<path d="M259.5 93h0.0"></path><path d="M305.0 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="45.5" x="259.5" y="82"></rect><text 
x="282.25" y="97">Sub</text></g><path d="M305.0 93h10"></path><path d="M315.0 
93h10"></path><g class="terminal">
+<path d="M325.0 93h0.0"></path><path d="M379.0 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="54.0" x="325.0" y="82"></rect><text 
x="352.0" y="97">name</text></g><path d="M379.0 93h10"></path><g>
+<path d="M389.0 93h0.0"></path><path d="M704.0 93h0.0"></path><path d="M389.0 
93a15 15 0 0 0 15 -15v-21a15 15 0 0 1 15 -15"></path><g>
+<path d="M419.0 42h255.0"></path></g><path d="M674.0 42a15 15 0 0 1 15 
15v21a15 15 0 0 0 15 15"></path><path d="M389.0 93h30"></path><g>
+<path d="M419.0 93h0.0"></path><path d="M674.0 93h0.0"></path><g 
class="terminal">
+<path d="M419.0 93h0.0"></path><path d="M447.5 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="419.0" y="82"></rect><text 
x="433.25" y="97">(</text></g><path d="M447.5 93h10"></path><g>
+<path d="M457.5 93h0.0"></path><path d="M635.5 93h0.0"></path><path d="M457.5 
93a15 15 0 0 0 15 -15v-1a15 15 0 0 1 15 -15"></path><g>
+<path d="M487.5 62h118.0"></path></g><path d="M605.5 62a15 15 0 0 1 15 15v1a15 
15 0 0 0 15 15"></path><path d="M457.5 93h30"></path><g>
+<path d="M487.5 93h0.0"></path><path d="M605.5 93h0.0"></path><path d="M487.5 
93h15"></path><g class="non-terminal">
+<path d="M502.5 93h0.0"></path><path d="M590.5 93h0.0"></path><rect 
height="22" width="88.0" x="502.5" y="82"></rect><text x="546.5" 
y="97">argument</text></g><path d="M590.5 93h15"></path><path d="M502.5 93a15 
15 0 0 0 -15 15v12a15 15 0 0 0 15 15"></path><g class="terminal">
+<path d="M502.5 135h29.75"></path><path d="M560.75 135h29.75"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="532.25" y="124"></rect><text 
x="546.5" y="139">,</text></g><path d="M590.5 135a15 15 0 0 0 15 -15v-12a15 15 
0 0 0 -15 -15"></path></g><path d="M605.5 93h30"></path></g><path d="M635.5 
93h10"></path><g class="terminal">
+<path d="M645.5 93h0.0"></path><path d="M674.0 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="28.5" x="645.5" y="82"></rect><text 
x="659.75" y="97">)</text></g></g><path d="M674.0 93h30"></path></g><path 
d="M704.0 93h10"></path><g class="non-terminal">
+<path d="M714.0 93h0.0"></path><path d="M819.0 93h0.0"></path><rect 
height="22" width="105.0" x="714.0" y="82"></rect><text x="766.5" 
y="97">statements</text></g><path d="M819.0 93h10"></path><path d="M829.0 
93h10"></path><g class="terminal">
+<path d="M839.0 93h0.0"></path><path d="M918.5 93h0.0"></path><rect 
height="22" rx="10" ry="10" width="79.5" x="839.0" y="82"></rect><text 
x="878.75" y="97">End Sub</text></g></g><path d="M918.5 93h10"></path><path 
d="M 928.5 93 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
\ No newline at end of file
diff --git a/source/text/sbasic/shared/03102100.xhp 
b/source/text/sbasic/shared/03102100.xhp
index af326b4c1..e6f9f49b1 100644
--- a/source/text/sbasic/shared/03102100.xhp
+++ b/source/text/sbasic/shared/03102100.xhp
@@ -27,7 +27,6 @@
 
 <body>
 
-
 <section id="dimtext">
 <bookmark xml-lang="en-US" branch="index" id="bm_id3149812">
   <bookmark_value>Dim statement</bookmark_value>
@@ -35,73 +34,118 @@
   <bookmark_value>dimensioning arrays</bookmark_value>
 </bookmark>
 
-
-<paragraph id="hd_id3149812" role="heading" level="1" xml-lang="en-US"><link 
href="text/sbasic/shared/03102100.xhp" name="Dim Statement">Dim 
Statement</link></paragraph>
-<paragraph id="par_id3143271" role="paragraph" xml-lang="en-US">Declares a 
variable or an array.</paragraph>
+<h1 id="hd_id3149812" xml-lang="en-US"><link 
href="text/sbasic/shared/03102100.xhp" name="Dim Statement">Dim 
Statement</link></h1>
+<paragraph id="par_id3143271" role="paragraph">Declares variables or 
arrays.</paragraph>
 </section>
-<paragraph id="par_id3154686" role="paragraph" xml-lang="en-US">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 id="par_id3154686" role="paragraph" xml-lang="en-US">If the 
variables are separated by commas - for example <literal>Dim sPar1, sPar2, 
sPar3 As String</literal> - first ones get defined as Variant variables. A new 
line, or colon sign (<emph>:</emph>), help separate variable 
definitions.</paragraph>
 <bascode>
-<paragraph id="par_idm871116272" role="bascode" localize="false" 
xml-lang="en-US">Dim sPar1 As String</paragraph>
-<paragraph id="par_idm871115040" role="bascode" localize="false" 
xml-lang="en-US">Dim sPar2 As String</paragraph>
-<paragraph id="par_idm871113808" role="bascode" localize="false" 
xml-lang="en-US">Dim sPar3 As String</paragraph>
+  <paragraph id="par_idm871116272" role="bascode" localize="false">Dim sPar1 
As String</paragraph>
+  <paragraph id="par_idm871115040" role="bascode" localize="false">Dim sPar2 
As String, SPar3 As String</paragraph>
+  <paragraph role="bascode" id="bas_id591587474364949" localize="false">Dim 
Units as Integer : Dim EULER As Double</paragraph>
 </bascode>
-<paragraph id="par_id3152576" role="paragraph" xml-lang="en-US">Dim declares 
local variables within subroutines. Global variables are declared with the 
PUBLIC or the PRIVATE statement.</paragraph>
+<paragraph id="par_id3152576" role="paragraph" 
xml-lang="en-US"><literal>Dim</literal> declares local variables within 
subroutines. Global variables are declared with the <literal>Global</literal>, 
<literal>Public</literal> or the <literal>Private</literal> 
statement.</paragraph>
 
-<paragraph id="hd_id3156443" role="heading" level="2" 
xml-lang="en-US">Syntax:</paragraph>
+<embed href="text/sbasic/shared/00000003.xhp#functsyntax"/>
+<paragraph role="paragraph" id="par_id971587473488701">
+  <image src="media/helpimg/sbasic/Dim_statement.svg" 
id="img_id4156296484514"><alt xml-lang="en-US" id="alt_id15152796484514">Dim 
Statement diagram</alt></image>
+</paragraph>
 <bascode>
-<paragraph id="par_id3149412" role="bascode" xml-lang="en-US">[ReDim]Dim 
VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As 
VarType][,...]]</paragraph>
+<paragraph id="par_id3149412" role="bascode" xml-lang="en-US">Dim variable 
[(start To end)] [As type-name][, variable2[type-char] [(start To end)] 
[,...]]</paragraph>
 </bascode>
 
-<paragraph id="hd_id3147397" role="heading" level="2" 
xml-lang="en-US">Parameters:</paragraph>
-<paragraph id="par_id3154730" role="paragraph" xml-lang="en-US"> 
<emph>VarName:</emph> Any variable or array name.</paragraph>
-<paragraph id="par_id3147125" role="paragraph" xml-lang="en-US"> <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 id="par_id3153877" role="paragraph" xml-lang="en-US">Start and End 
can be numerical expressions if ReDim is applied at the procedure 
level.</paragraph>
-<paragraph id="par_id3153510" role="paragraph" xml-lang="en-US"> 
<emph>VarType:</emph> Key word that declares the data type of a 
variable.</paragraph>
-<paragraph id="par_id3154015" role="paragraph" xml-lang="en-US"> 
<emph>Keyword:</emph> Variable type</paragraph>
-<paragraph id="par_id3153949" role="paragraph" xml-lang="en-US"> 
<emph>Bool:</emph> Boolean variable (True, False)</paragraph>
-<paragraph id="par_id3156275" role="paragraph" xml-lang="en-US"> 
<emph>Currency:</emph> Currency-Variable (Currency with 4 Decimal 
places)</paragraph>
+<section id="DimCommons">
+<embed href="text/sbasic/shared/00000003.xhp#functparameters"/>
+<paragraph id="par_id3154730" role="paragraph" xml-lang="en-US"> 
<emph>variable:</emph> Any variable or array name.</paragraph>
+<paragraph id="par_id3147125" role="paragraph" xml-lang="en-US"> <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 id="par_id3153877" role="paragraph" xml-lang="en-US"> 
<emph>start</emph> and <emph>end</emph> can be numerical expressions if 
<literal>ReDim</literal> is applied at the procedure level.</paragraph>
+
+<paragraph id="par_id3154510" role="paragraph" xml-lang="en-US"> 
<emph>type-name:</emph> Keyword that declares the data type of a 
variable.</paragraph>
+<paragraph role="paragraph" id="par_id971587473508701">
+  <image src="media/helpimg/sbasic/type-name_fragment.svg" 
id="img_id4156296484515"><alt xml-lang="en-US" 
id="alt_id15152796484515">primitive data types fragment</alt></image>
+</paragraph>
+<paragraph role="paragraph" id="par_id21587557790810"> <emph>Byte:</emph> Byte 
variable (0-255)</paragraph>
+<paragraph id="par_id3153949" role="paragraph" xml-lang="en-US"> 
<emph>Boolean:</emph> Boolean variable (True, False)</paragraph>
+<paragraph id="par_id3156275" role="paragraph" xml-lang="en-US"> 
<emph>Currency:</emph> Currency variable (Currency with 4 Decimal 
places)</paragraph>
 <paragraph id="par_id3156057" role="paragraph" xml-lang="en-US"> 
<emph>Date:</emph> Date variable</paragraph>
-<paragraph id="par_id3148405" role="paragraph" xml-lang="en-US"> 
<emph>Double:</emph> Double-precision floating-point variable (1,79769313486232 
x 10E308 - 4,94065645841247 x 10E-324)</paragraph>
+<paragraph id="par_id3148405" role="paragraph" xml-lang="en-US"> 
<emph>Double:</emph> Double-precision floating-point variable (1,79769313486232 
x 10E308 - 4,94065645841247 x 10E-324)</paragraph>
 <paragraph id="par_id3148916" role="paragraph" xml-lang="en-US"> 
<emph>Integer:</emph> Integer variable (-32768 - 32767)</paragraph>
 <paragraph id="par_id3150045" role="paragraph" xml-lang="en-US"> 
<emph>Long:</emph> Long integer variable (-2.147.483.648 - 
2.147.483.647)</paragraph>
-<paragraph id="par_id3149255" role="paragraph" xml-lang="en-US"> 
<emph>Object:</emph> Object variable (Note: this variable can only subsequently 
be defined with Set!)</paragraph>
+<paragraph id="par_id3149255" role="paragraph" xml-lang="en-US"> 
<emph>Object:</emph> Object variable (Note: this variable can only subsequently 
be defined with <literal>Set</literal>!)</paragraph>
 <paragraph id="par_id3155937" role="paragraph" xml-lang="en-US"> 
<emph>Single:</emph> Single-precision floating-point variable (3,402823 x 10E38 
- 1,401298 x 10E-45).</paragraph>
 <paragraph id="par_id3151251" role="paragraph" xml-lang="en-US"> 
<emph>String:</emph> String variable consisting of a maximum of 64,000 ASCII 
characters.</paragraph>
-<paragraph id="par_id3154704" role="paragraph" xml-lang="en-US"> 
<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 id="par_id3146316" role="paragraph" xml-lang="en-US">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 id="par_id3154704" role="paragraph" xml-lang="en-US"> 
<emph>Variant:</emph> Variant variable type (contains all types, specified by 
definition). If a type name is not specified, variables are automatically 
defined as Variant Type, unless a statement from <literal>DefBool</literal> to 
<literal>DefVar</literal> is used.</paragraph>
+<paragraph id="par_id3153510" role="paragraph" 
xml-lang="en-US"><emph>type-char:</emph> Special character that declares the 
data type of a variable.</paragraph><paragraph role="paragraph" 
id="par_id971587473518701">
+  <image src="media/helpimg/sbasic/type-car_fragment.svg" 
id="img_id4156296484516"><alt xml-lang="en-US" id="alt_id15152796484516">Type 
declaration characters fragment</alt></image>
+</paragraph>
+<paragraph id="par_id3146316" role="paragraph" xml-lang="en-US">In 
%PRODUCTNAME Basic, you do not need to declare variables explicitly. However, 
you need to declare arrays before you can use them. You can declare a variable 
with the <literal>Dim</literal> statement, using commas (<emph>,</emph>) to 
separate multiple declarations. To declare a variable type, enter a 
type-declaration character following the name or use a corresponding type 
keyword name.</paragraph>
+<table id="tab_id821587558178871">
+  <tablerow>
+    <tablecell><paragraph id="par_id411587558178871" 
role="tablehead">Declaration character</paragraph></tablecell>
+    <tablecell><paragraph id="par_id851587558178871" role="tablehead">Variable 
type name</paragraph></tablecell>
+  </tablerow>
+  <tablerow>
+    <tablecell><paragraph id="par_id211587558178871" 
role="tablecontent">%</paragraph></tablecell>
+    <tablecell><paragraph id="par_id42587558178871" 
role="tablecontent">Integer</paragraph></tablecell>
+  </tablerow>
+  <tablerow>
+    <tablecell><paragraph id="par_id221587558178871" 
role="tablecontent">&amp;</paragraph></tablecell>
+    <tablecell><paragraph id="par_id43587558178871" 
role="tablecontent">Long</paragraph></tablecell>
+  </tablerow>
+  <tablerow>
+    <tablecell><paragraph id="par_id231587558178871" 
role="tablecontent">!</paragraph></tablecell>
+    <tablecell><paragraph id="par_id44587558178871" 
role="tablecontent">Single</paragraph></tablecell>
+  </tablerow>
+  <tablerow>
+    <tablecell><paragraph id="par_id241587558178871" 
role="tablecontent">#</paragraph></tablecell>
+    <tablecell><paragraph id="par_id45587558178871" 
role="tablecontent">Double</paragraph></tablecell>
+  </tablerow>
+  <tablerow>
+    <tablecell><paragraph id="par_id251587558178871" 
role="tablecontent">$</paragraph></tablecell>
+    <tablecell><paragraph id="par_id46587558178871" 
role="tablecontent">String</paragraph></tablecell>
+  </tablerow>
+</table>
+
+<paragraph role="paragraph" id="par_id441587477911298"> <emph>array:</emph> 
Array declaration.</paragraph>
+<paragraph role="paragraph" id="par_id971587473519701">
+  <image src="media/helpimg/sbasic/array_fragment.svg" 
id="img_id4156296485516"><alt xml-lang="en-US" id="alt_id15152796485516">array 
fragment</alt></image>
+</paragraph>
 <paragraph id="par_id3149924" role="paragraph" xml-lang="en-US">$[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 id="par_id3148488" role="paragraph" xml-lang="en-US">Arrays are 
declared with the Dim statement. There are two methods to define the index 
range:</paragraph>
-<paragraph id="par_id3154662" role="paragraph" xml-lang="en-US">DIM text(20) 
as String REM 21 elements numbered from 0 to 20</paragraph>
-<paragraph id="par_id3155604" role="paragraph" xml-lang="en-US">DIM text(5 to 
25) as String REM 21 elements numbered from 5 to 25</paragraph>
-<paragraph id="par_id3151274" role="paragraph" xml-lang="en-US">DIM text(-15 
to 5) as String REM 21 elements (including 0)</paragraph>
-<paragraph id="par_id3152774" role="paragraph" xml-lang="en-US">REM numbered 
from -15 to 5</paragraph>
-<paragraph id="par_id3150829" role="paragraph" 
xml-lang="en-US">Two-dimensional data field</paragraph>
-<paragraph id="par_id3149529" role="paragraph" xml-lang="en-US">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 id="par_id3159239" role="paragraph" xml-lang="en-US">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 id="par_id3148488" role="paragraph" xml-lang="en-US">Arrays are 
declared with the <literal>Dim</literal> statement. There are multiple ways to 
define the index range:</paragraph>
+<bascode>
+  <paragraph role="bascode" id="bas_id381587475057846" xml-lang="en-US">Dim 
text(20) As String ' 21 elements numbered from 0 to 20</paragraph>
+  <paragraph role="bascode" id="bas_id1001587475058292" xml-lang="en-US">Dim 
value(5 to 25) As Integer ' 21 values numbered from 5 to 25</paragraph>
+  <paragraph role="bascode" id="bas_id481587475059423" xml-lang="en-US">Dim 
amount(-15 to 5) As Currency ' 21 amounts (including 0), numbered from -15 to 
5</paragraph>
+  <paragraph role="bascode" id="bas_id621587475059824" xml-lang="en-US">REM 
Two-dimensional data field</paragraph>
+  <paragraph role="bascode" id="bas_id11587475060830" xml-lang="en-US">Dim 
table$(20,2) ' 63 items; from 0 to 20 level 1, from 0 to 20 level 2 and from 0 
to 20 level 3.</paragraph>
+</bascode>
+
+<paragraph id="par_id3159239" role="paragraph" xml-lang="en-US">You can 
declare an array types as dynamic if a <literal>ReDim</literal> 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 
<literal>ReDim</literal>. You can only define dimensions with numeric 
expressions. This ensures that the fields are only as large as 
necessary.</paragraph>
+</section>
 
-<paragraph id="hd_id3150344" role="heading" level="2" 
xml-lang="en-US">Example:</paragraph>
+<embed href="text/sbasic/shared/00000003.xhp#functexample"/>
 <bascode>
-<paragraph id="par_idm871051008" role="bascode" localize="false" 
xml-lang="en-US">Sub ExampleDim1</paragraph>
-<paragraph id="par_idm871049776" role="bascode" localize="false" 
xml-lang="en-US">Dim sVar As String</paragraph>
-<paragraph id="par_idm871048544" role="bascode" localize="false" 
xml-lang="en-US">Dim iVar As Integer</paragraph>
-<paragraph id="par_id3154657" role="bascode" xml-lang="en-US">    sVar = 
"Office"</paragraph>
-<paragraph id="par_idm871045600" role="bascode" localize="false" 
xml-lang="en-US">End Sub</paragraph>
-<paragraph id="par_idm871044368" role="bascode" localize="false" 
xml-lang="en-US"> </paragraph>
-<paragraph id="par_idm871043120" role="bascode" localize="false" 
xml-lang="en-US">Sub ExampleDim2</paragraph>
-<paragraph id="par_id3149036" role="bascode" xml-lang="en-US">' 
Two-dimensional data field</paragraph>
-<paragraph id="par_idm871040112" role="bascode" localize="false" 
xml-lang="en-US">Dim stext(20,2) As String</paragraph>
-<paragraph id="par_id3153782" role="bascode" xml-lang="en-US">Const sDim As 
String = " Dimension:"</paragraph>
-<paragraph id="par_idm871037136" role="bascode" localize="false" 
xml-lang="en-US">For i = 0 To 20</paragraph>
-<paragraph id="par_idm871035904" role="bascode" localize="false" 
xml-lang="en-US">    For ii = 0 To 2</paragraph>
-<paragraph id="par_idm871034672" role="bascode" localize="false" 
xml-lang="en-US">        stext(i,ii) = str(i) &amp; sDim &amp; 
str(ii)</paragraph>
-<paragraph id="par_idm871033392" role="bascode" localize="false" 
xml-lang="en-US">    Next ii</paragraph>
-<paragraph id="par_idm871032160" role="bascode" localize="false" 
xml-lang="en-US">Next i</paragraph>
-<paragraph id="par_idm871030928" role="bascode" localize="false" 
xml-lang="en-US">For i = 0 To 20</paragraph>
-<paragraph id="par_idm871029696" role="bascode" localize="false" 
xml-lang="en-US">    For ii = 0 To 2</paragraph>
-<paragraph id="par_idm871028464" role="bascode" localize="false" 
xml-lang="en-US">        MsgBox stext(i,ii)</paragraph>
-<paragraph id="par_idm871027216" role="bascode" localize="false" 
xml-lang="en-US">    Next ii</paragraph>
-<paragraph id="par_idm871025984" role="bascode" localize="false" 
xml-lang="en-US">Next i</paragraph>
-<paragraph id="par_idm871024752" role="bascode" localize="false" 
xml-lang="en-US">End Sub</paragraph>
+<paragraph id="par_idm871051008" role="bascode" localize="false">Sub 
ExampleDim1</paragraph>
+<paragraph id="par_idm871049776" role="bascode" localize="false">Dim sVar As 
String</paragraph>
+<paragraph id="par_idm871048544" role="bascode" localize="false">Dim iVar As 
Integer</paragraph>
+<paragraph id="par_id3154657" role="bascode"  localize="false">    sVar = 
"Office"</paragraph>
+<paragraph id="par_idm871045600" role="bascode" localize="false">End 
Sub</paragraph>
+<paragraph id="par_idm871044368" role="bascode" localize="false"> </paragraph>
+<paragraph id="par_idm871043120" role="bascode" localize="false">Sub 
ExampleDim2</paragraph>
+<paragraph id="par_id3149036" role="bascode" xml-lang="en-US">  ' 
Two-dimensional data field</paragraph>
+<paragraph id="par_idm871040112" role="bascode" localize="false">    Dim 
stext(20,2) As String</paragraph>
+<paragraph id="par_id3153782" role="bascode" xml-lang="en-US">  Const sDim As 
String = " Dimension:"</paragraph>
+<paragraph id="par_idm871037136" role="bascode" localize="false">  For i = 0 
To 20</paragraph>
+<paragraph id="par_idm871035904" role="bascode" localize="false">    For ii = 
0 To 2</paragraph>
+<paragraph id="par_idm871034672" role="bascode" localize="false">        
stext(i,ii) = str(i) &amp; sDim &amp; str(ii)</paragraph>
+<paragraph id="par_idm871033392" role="bascode" localize="false">    Next 
ii</paragraph>
+<paragraph id="par_idm871032160" role="bascode" localize="false">  Next 
i</paragraph>
+<paragraph id="par_idm871030928" role="bascode" localize="false">  For i = 0 
To 20</paragraph>
+<paragraph id="par_idm871029696" role="bascode" localize="false">    For ii = 
0 To 2</paragraph>
+<paragraph id="par_idm871028464" role="bascode" localize="false">        
MsgBox stext(i,ii)</paragraph>
+<paragraph id="par_idm871027216" role="bascode" localize="false">    Next 
ii</paragraph>
+<paragraph id="par_idm871025984" role="bascode" localize="false">  Next 
i</paragraph>
+<paragraph id="par_idm871024752" role="bascode" localize="false">End 
Sub</paragraph>
 </bascode>
 </body>
 
diff --git a/source/text/sbasic/shared/03102101.xhp 
b/source/text/sbasic/shared/03102101.xhp
index 6d00c0226..8c71168a4 100644
--- a/source/text/sbasic/shared/03102101.xhp
+++ b/source/text/sbasic/shared/03102101.xhp
@@ -33,54 +33,34 @@
   <bookmark_value>ReDim statement</bookmark_value>
 </bookmark>
 
-
-<paragraph id="hd_id3150398" role="heading" level="1" xml-lang="en-US"><link 
href="text/sbasic/shared/03102101.xhp" name="ReDim Statement">ReDim 
Statement</link></paragraph>
-<paragraph id="par_id3154685" role="paragraph" xml-lang="en-US">Declares a 
variable or an array.</paragraph>
+<h1 id="hd_id3150398" xml-lang="en-US"><link 
href="text/sbasic/shared/03102101.xhp" name="ReDim Statement">ReDim 
Statement</link></h1>
+<paragraph id="par_id3154685" role="paragraph" xml-lang="en-US">Declares or 
redefines variables or arrays.</paragraph>
 </section>
 
-<paragraph id="hd_id3154218" role="heading" level="2" 
xml-lang="en-US">Syntax:</paragraph>
+<embed href="text/sbasic/shared/00000003.xhp#functsyntax"/>
+<paragraph role="paragraph" id="par_id971587473488701">
+  <image src="media/helpimg/sbasic/ReDim_statement.svg" 
id="img_id4156296484514"><alt xml-lang="en-US" id="alt_id15152796484514">ReDim 
Statement diagram</alt></image>
+</paragraph>
 <bascode>
-<paragraph id="par_id3156214" role="bascode" xml-lang="en-US">[ReDim]Dim 
VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As 
VarType][,...]]</paragraph>
+<paragraph id="par_id3156214" role="bascode">ReDim [Preserve] variable [(start 
To end)] [As type-name][, variable2 [(start To end)] [As 
type-name][,...]]</paragraph>
 </bascode>
-<paragraph id="par_id711996" role="paragraph" xml-lang="en-US">Optionally, you 
can add the <emph>Preserve</emph> keyword as a parameter to preserve the 
contents of the array that is redimensioned.</paragraph>
+<paragraph id="par_id711996" role="paragraph">Optionally, add the 
<literal>Preserve</literal> keyword to preserve the contents of the array that 
is redimensioned. <literal>ReDim</literal> can only be used in 
subroutines.</paragraph>
 
-<paragraph id="hd_id3148451" role="heading" level="2" 
xml-lang="en-US">Parameters:</paragraph>
-<paragraph id="par_id3156423" role="paragraph" xml-lang="en-US"> 
<emph>VarName:</emph> Any variable or array name.</paragraph>
-<paragraph id="par_id3149562" role="paragraph" xml-lang="en-US"> <emph>Start, 
End:</emph> Numerical values or constants that define the number of elements 
(NumberElements=(end-start)+1) and the index range.</paragraph>
-<paragraph id="par_id3155307" role="paragraph" xml-lang="en-US">Start and End 
can be numeric expressions if ReDim is used at the procedure level.</paragraph>
-<paragraph id="par_id3153951" role="paragraph" xml-lang="en-US"> 
<emph>VarType:</emph> Keyword that declares the data type of a 
variable.</paragraph>
-<paragraph id="par_id3147317" role="paragraph" xml-lang="en-US"> 
<emph>Keyword:</emph> Variable type</paragraph>
-<paragraph id="par_id3153728" role="paragraph" xml-lang="en-US"> <emph>Bool: 
</emph>Boolean variable (True, False)</paragraph>
-<paragraph id="par_id3146121" role="paragraph" xml-lang="en-US"> 
<emph>Date:</emph> Date variable</paragraph>
-<paragraph id="par_id3159156" role="paragraph" xml-lang="en-US"> 
<emph>Double:</emph> Double floating point variable (1.79769313486232x10E308 - 
4.94065645841247x10E-324)</paragraph>
-<paragraph id="par_id3148616" role="paragraph" xml-lang="en-US"> 
<emph>Integer:</emph> Integer variable (-32768 - 32767)</paragraph>
-<paragraph id="par_id3147348" role="paragraph" xml-lang="en-US"> 
<emph>Long:</emph> Long integer variable (-2,147,483,648 - 
2,147,483,647)</paragraph>
-<paragraph id="par_id3149412" role="paragraph" xml-lang="en-US"> 
<emph>Object:</emph> Object variable (can only be subsequently defined by 
Set!)</paragraph>
-<paragraph id="par_id3154729" role="paragraph" xml-lang="en-US"> 
<emph>[Single]:</emph> Single floating-point variable (3.402823x10E38 - 
1.401298x10E-45). If no key word is specified, a variable is defined as Single, 
unless a statement from DefBool to DefVar is used.</paragraph>
-<paragraph id="par_id3148458" role="paragraph" xml-lang="en-US"> 
<emph>String:</emph> String variable containing a maximum of 64,000 ASCII 
characters.</paragraph>
-<paragraph id="par_id3149581" role="paragraph" xml-lang="en-US"> 
<emph>Variant: </emph>Variant variable type (can contain all types and is set 
by definition).</paragraph>
-<paragraph id="par_id3155601" role="paragraph" xml-lang="en-US">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 id="par_id3153415" role="paragraph" xml-lang="en-US">$[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 id="par_id3146971" role="paragraph" xml-lang="en-US">There are two 
ways to set the range of indices for arrays declared with the Dim 
statement:</paragraph>
-<paragraph id="par_id3153950" role="paragraph" xml-lang="en-US">DIM text(20) 
As String REM 21 elements numbered from 0 to 20</paragraph>
-<paragraph id="par_id3146912" role="paragraph" xml-lang="en-US">DIM text(5 to 
25) As String REM 21 elements numbered from 5 to 25</paragraph>
-<paragraph id="par_id3153709" role="paragraph" xml-lang="en-US">DIM text$(-15 
to 5) As String REM 21 elements (0 inclusive),</paragraph>
-<paragraph id="par_id3150321" role="paragraph" xml-lang="en-US">rem numbered 
from -15 to 5</paragraph>
-<paragraph id="par_id3149018" role="paragraph" xml-lang="en-US">Variable 
fields, regardless of type, can be made dynamic if they are dimensioned by 
ReDim at the procedure level in subroutines or functions. Normally, you can 
only set the range of an array once and you cannot modify it. Within a 
procedure, you can declare an array using the ReDim statement with numeric 
expressions to define the range of the field sizes.</paragraph>
+<embed href="text/sbasic/shared/03102100.xhp#DimCommons"/>
 
 <paragraph id="hd_id3148405" role="heading" level="2" 
xml-lang="en-US">Example:</paragraph>
 <bascode>
-<paragraph id="par_idm1341054016" role="bascode" localize="false" 
xml-lang="en-US">Sub ExampleRedim</paragraph>
-<paragraph id="par_idm1341052784" role="bascode" localize="false" 
xml-lang="en-US">Dim iVar() As Integer, iCount As Integer</paragraph>
-<paragraph id="par_idm1341051520" role="bascode" localize="false" 
xml-lang="en-US">ReDim iVar(5) As Integer</paragraph>
-<paragraph id="par_idm1341050272" role="bascode" localize="false" 
xml-lang="en-US">For iCount = 1 To 5</paragraph>
-<paragraph id="par_idm1341049040" role="bascode" localize="false" 
xml-lang="en-US">    iVar(iCount) = iCount</paragraph>
-<paragraph id="par_idm1341047792" role="bascode" localize="false" 
xml-lang="en-US">Next iCount</paragraph>
-<paragraph id="par_idm1341046560" role="bascode" localize="false" 
xml-lang="en-US">ReDim iVar(10) As Integer</paragraph>
-<paragraph id="par_idm1341045312" role="bascode" localize="false" 
xml-lang="en-US">For iCount = 1 To 10</paragraph>
-<paragraph id="par_idm1341044080" role="bascode" localize="false" 
xml-lang="en-US">    iVar(iCount) = iCount</paragraph>
-<paragraph id="par_idm1341042832" role="bascode" localize="false" 
xml-lang="en-US">Next iCount</paragraph>
-<paragraph id="par_idm1341041600" role="bascode" localize="false" 
xml-lang="en-US">End Sub</paragraph>
+<paragraph id="par_idm1341054016" role="bascode" localize="false">Sub 
ExampleRedim</paragraph>
+<paragraph id="par_idm1341052784" role="bascode" localize="false">    Dim 
iVar() As Integer, iCount As Byte</paragraph>
+<paragraph id="par_idm1341051520" role="bascode" localize="false">    ReDim 
iVar(5) As Integer</paragraph>
+<paragraph id="par_idm1341050272" role="bascode" localize="false">    For 
iCount = 1 To 5</paragraph>
+<paragraph id="par_idm1341049040" role="bascode" localize="false">        
iVar(iCount) = iCount</paragraph>
+<paragraph id="par_idm1341047792" role="bascode" localize="false">    Next 
iCount</paragraph>
+<paragraph id="par_idm1341046560" role="bascode" localize="false">    ReDim 
iVar(10) As Integer</paragraph>
+<paragraph id="par_idm1341045312" role="bascode" localize="false">    For 
iCount = 1 To 10</paragraph>
+<paragraph id="par_idm1341044080" role="bascode" localize="false">        
iVar(iCount) = iCount</paragraph>
+<paragraph id="par_idm1341042832" role="bascode" localize="false">    Next 
iCount</paragraph>
+<paragraph id="par_idm1341041600" role="bascode" localize="false">End 
Sub</paragraph>
 </bascode>
 </body>
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to