Πρόταση ReDim

Δηλώνει μια μεταβλητή ή έναν πίνακα.

Σύνταξη:

[ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]

Προαιρετικά, μπορείτε να προσθέσετε την εντολή Preserve σαν παράμετρο για να κρατήσετε το περιεχόμενο του πίνακα που αλλάζει μέγεθος.

Παράμετροι:

VarName: Οποιοδήποτε όνομα μεταβλητής ή πίνακα.

Start, End: Αριθμητικές τιμές ή σταθερές που καθορίζουν τον αριθμό των στοιχείων (NumberElements=(end-start)+1) και το εύρος των δεικτών.

Οι παράμετροι Start και End μπορεί να είναι αριθμητικές παραστάσεις, αν η πρόταση ReDim εφαρμόζεται σε επίπεδο διαδικασίας.

VarType: Λέξη-κλειδί που χρησιμοποιείται για να δηλώσει τον τύπο δεδομένων μιας μεταβλητής.

Keyword: Τύπος μεταβλητής

Bool: Boolean, δυαδική μεταβλητή (True, False)

Date: Μεταβλητή ημερομηνίας

Double: Μεταβλητή κινητής υποδιαστολής διπλής ακριβείας (1.79769313486232 x 10E308 - 4.94065645841247 x 10E-324)

Integer: Ακέραια μεταβλητή (-32768 - 32767)

Long: Ακέραια μεταβλητή μεγάλου μήκους (-2.147.483.648 -2.147.483.647)

Object: Μεταβλητή αντικειμένου (μπορεί να οριστεί μόνο αργότερα με Set!)

[Single]: Μεταβλητή κινητής υποδιαστολής απλής ακριβείας (3,402823 x 10E38 - 1,401298 x 10E-45). Αν δεν έχει καθοριστεί κάποια λέξη-κλειδί, μια μεταβλητή καθορίζεται ως απλής ακριβείας, εκτός και αν χρησιμοποιήθηκε παράσταση από DefBool έως DefVar.

String: Μεταβλητή συμβολοσειράς που αποτελείται από 64.000 χαρακτήρες ASCII το μέγιστο.

Variant: Τύπος μεταβλητής Variant (μπορεί να περιέχει όλους τους τύπους και καθορίζεται εξ ορισμού).

Στην LibreOffice Basic, δεν χρειάζεται να δηλώσετε τις μεταβλητές σας ρητά. Εντούτοις, πρέπει να δηλώσετε έναν πίνακα προτού να μπορέσετε να τον χρησιμοποιήσετε. Μπορείτε να δηλώσετε μια μεταβλητή με την δήλωση Dim, χρησιμοποιώντας τα κόμματα ως διαχωριστικό για πολλαπλές δηλώσεις. Για να δηλώσετε έναν τύπο μεταβλητής, εισάγετε έναν χαρακτήρα τύπου-δήλωσης μετά από το όνομα ή χρησιμοποιήστε την αντίστοιχη λέξη-κλειδί.

Η LibreOffice Basic υποστηρίζει τους μονοδιάστατους ή πολυδιάστατους πίνακες που καθορίζονται από έναν συγκεκριμένο τύπο μεταβλητών. Οι πίνακες είναι κατάλληλοι εάν το πρόγραμμα σας περιέχει καταλόγους ή τους πίνακες που θέλετε να επεξεργαστείτε. Το πλεονέκτημα των πινάκων είναι ότι είναι δυνατό να επεξεργαστούν τα στοιχεία σύμφωνα με τους δείκτες τους, οι οποίοι μπορούν να έχουν την μορφή αριθμητικών εκφράσεων ή μεταβλητών.

Υπάρχουν δύο τρόποι για να καθορίσετε το εύρος των δεικτών για πίνακες που δηλώνονται με μια πρόταση Dim:

DIM text(20) As String REM 21 στοιχεία με αρίθμηση από 0 έως 20

DIM text(5 to 25) As String REM 21 στοιχεία με αρίθμηση από 5 έως 25

DIM text$(-15 to 5) As String REM 21 στοιχεία (μαζί με το 0),

rem αριθμημένα από -15 εως το 5

Τα πεδία μεταβλητών, ανεξάρτητα από τον τύπο, μπορούν να γίνουν δυναμικά αν οι διαστάσεις τους καθοριστούν με την πρόταση ReDim σε επίπεδο διαδικασίας (δηλ. σε Sub ή Function). Συνήθως το εύρος ενός πίνακα μπορεί να καθοριστεί μία μόνο φορά και δεν μπορεί να τροποποιηθεί. Εντός μιας διαδικασίας, ένας πίνακας μπορεί να δηλωθεί με ReDim χρησιμοποιώντας αριθμητικές παραστάσεις για τον καθορισμό του εύρους των μεγεθών των πεδίων.

Παράδειγμα:

Sub ExampleRedim

Dim iVar() As Integer, iCount As Integer

ReDim iVar(5) As Integer

For iCount = 1 To 5

    iVar(iCount) = iCount

Next iCount

ReDim iVar(10) As Integer

For iCount = 1 To 10

    iVar(iCount) = iCount

Next iCount

End Sub