Πρόταση Dim

Περιεχόμενα

# Δήλωση Dim

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

Εάν οι μεταβλητές χωρίζονται με κόμματα - παραδείγματος χάρη Dim v1, v2, v3 As String - οι πρώτες καθορίζονται ως μεταβλητές παραλλαγής. Νέα γραμμή, ή σύμβολο άνω-κάτω τελείας (:), βοηθούν στον διαχωρισμό ορισμών μεταβλητών.

      Dim text As String
      Dim pv As com.sun.star.beans.PropertyValue, d As Date
      Dim Units as Integer : Dim EULER As Double

Dim δηλώνει τοπικές μεταβλητές μέσα σε υπορουτίνες. Καθολικές μεταβλητές δηλώνονται με τη δήλωση Global, Public ή την Private.

### Σύνταξη:

    Μεταβλητή Dim [(αρχή έως τέλος)] [ως όνομα τύπου][, μεταβλητή2[χαρακτήρες] [(αρχή έως τέλος)] [,...]]

Ο τελεστής New (Νέος) είναι προαιρετικός όταν ρυθμίζετε την επιλογή Option Compatible (Συμβατή επιλογή).

### Παράμετροι:

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

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

Byte (ψηφιολέξη): μεταβλητή ψηφιολέξης (0-255)

Μπουλ: Μεταβλητή Μπουλ (Αληθές, ψευδές)

Νόμισμα: Μεταβλητή νομίσματος (Νόμισμα με 4 δεκαδικά)

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

Διπλό: Μεταβλητή κινητής υποδιαστολής διπλής ακρίβειας (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

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

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

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

Single: Μεταβλητή κινητής υποδιαστολής απλής ακριβείας (3,402823 x 10E38 - 1,401298 x 10E-45).

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

Παραλλαγή: Τύπος μεταβλητής παραλλαγής (περιέχει όλους τους τύπους, καθορίζεται με ορισμό). Εάν ένα όνομα τύπου δεν καθορίζεται, οι μεταβλητές ορίζονται ως τύπος παραλλαγής, εκτός και χρησιμοποιείται πρόταση από DefBool έως DefVar.

αντικείμενο: Αντικείμενο Universal Network object (UNO) ή στιγμιότυπο αντικειμένου ClassModule.

char (χαρακτήρας): Ειδικός χαρακτήρας που δηλώνει τον τύπο δεδομένων μεταβλητής.

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

Declaration character | Variable type name
--- | ---
% | Integer
& | Long
! | Single
# | Double
$ | String
@ | Currency

πίνακας: Δήλωση πίνακα.

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

έναρξη και τέλος μπορούν να είναι αριθμητικές εκφράσεις εάν εφαρμόζεται ReDim στο επίπεδο διεργασίας.

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

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

      Dim text(20) As String ' 21 στοιχεία αριθμημένα από 0 έως 20
      Dim value(5 to 25) As Integer ' 21 τιμές αριθμημένες από 5 έως 25
      Dim amount(-15 to 5) As Currency ' 21 ποσότητες (συμπεριλαμβανομένου του 0), αριθμημένες από -15 έως 5
      REM Δισδιάστατο πεδίο δεδομένων
      Dim table$(20,2) ' 63 στοιχεία· από ο έως 20 επιπέδου 1, από 0 έως 20 επιπέδου 2 και από ο έως 20 επιπέδου 3.

Μπορείτε να δηλώσετε τύπους πίνακα ως δυναμικούς εάν μια πρόταση ReDim καθορίζει τον αριθμό των διαστάσεων στην υπορουτίνα ή τη συνάρτηση που περιέχει τον πίνακα. Γενικά, μπορείτε να ορίσετε μόνο μία διάσταση πίνακα μια φορά και δεν μπορείτε να την τροποποιήσετε. Μέσα σε υπορουτίνα, μπορείτε να δηλώσετε έναν πίνακα με ReDim. Μπορείτε να ορίσετε μόνο διαστάσεις με αριθμητικές εκφράσεις. Αυτό διασφαλίζει ότι τα πεδία είναι τόσο μεγάλα όσο χρειάζεται.

### Παράδειγμα:

    Sub ExampleDim1
    Dim sVar As String
    Dim iVar As Integer
        sVar = "Office"
    End Sub

    Sub ExampleDim2
      ' Δισδιάστατο πεδίο δεδομένων
        Dim stext(20,2) As String
      Const sDim as String = " Διάσταση:"
      For i = 0 To 20
        For ii = 0 To 2
            stext(i,ii) = str(i) & sDim & str(ii)
        Next ii
      Next i
      For i = 0 To 20
        For ii = 0 To 2
            MsgBox stext(i,ii)
        Next ii
      Next i
    End Sub

Σχετικά θέματα

Τελεστής New