4vZfvOpbipg85Oke2QgG8Q changeset

Changeset393236386535 (b)
ParentNone (a)
ab
0+Sub StringShuffle()
0+        ThisComponent.CurrentSelection.FormulaArray = ArrayShuffle(ThisComponent.CurrentSelection.FormulaArray)
0+End Sub
0+
0+Function ArrayRange(ByVal min, ByVal max)
0+        Dim len
0+        len = max - min
0+        Dim res(len - 1)
0+        Dim n
0+        n = min
0+        Dim i
0+        For i = 0 To UBound(res)
0+                res(i) = n
0+                n = n + 1
0+        Next
0+        ArrayRange = res
0+End Function
0+
0+Function NumberRandom(ByVal min, ByVal max)
0+        Dim len
0+        len = max - min
0+        Dim res
0+        res = Int(Rnd() * len) + min
0+        NumberRandom = res
0+End Function
0+
0+Function ArrayShuffle(ByVal src())
0+        Dim res
0+        res = ArrayCopy(src)
0+        Dim t
0+        Dim j
0+        Dim u
0+        u = UBound(res)
0+        For i = u To 1 Step -1
0+                j = NumberRandom(0, i + 1)
0+                t = res(j)
0+                res(j) = res(i)
0+                res(i) = t
0+        Next
0+        ArrayShuffle = res
0+End Function
0+
0+Function ArrayCopy(ByVal src())
0+        Dim res(UBound(src))
0+        For i = 0 To UBound(res)
0+                res(i) = src(i)
0+        Next
0+        ArrayCopy = res
0+End Function
...
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
--- Revision None
+++ Revision 393236386535
@@ -0,0 +1,49 @@
+Sub StringShuffle()
+ ThisComponent.CurrentSelection.FormulaArray = ArrayShuffle(ThisComponent.CurrentSelection.FormulaArray)
+End Sub
+
+Function ArrayRange(ByVal min, ByVal max)
+ Dim len
+ len = max - min
+ Dim res(len - 1)
+ Dim n
+ n = min
+ Dim i
+ For i = 0 To UBound(res)
+ res(i) = n
+ n = n + 1
+ Next
+ ArrayRange = res
+End Function
+
+Function NumberRandom(ByVal min, ByVal max)
+ Dim len
+ len = max - min
+ Dim res
+ res = Int(Rnd() * len) + min
+ NumberRandom = res
+End Function
+
+Function ArrayShuffle(ByVal src())
+ Dim res
+ res = ArrayCopy(src)
+ Dim t
+ Dim j
+ Dim u
+ u = UBound(res)
+ For i = u To 1 Step -1
+ j = NumberRandom(0, i + 1)
+ t = res(j)
+ res(j) = res(i)
+ res(i) = t
+ Next
+ ArrayShuffle = res
+End Function
+
+Function ArrayCopy(ByVal src())
+ Dim res(UBound(src))
+ For i = 0 To UBound(res)
+ res(i) = src(i)
+ Next
+ ArrayCopy = res
+End Function