Κατανόηση και χρήση των τύπων δεδομένων εγγραφής στους Δελφούς

Σκηνικά είναι εντάξει, συστοιχίες είναι τέλεια.

Ας υποθέσουμε ότι θέλουμε να δημιουργήσουμε τρεις μονοδιάστατες συστοιχίες για 50 μέλη στην κοινότητα προγραμματισμού μας. Ο πρώτος πίνακας είναι για τα ονόματα, ο δεύτερος για τα μηνύματα ηλεκτρονικού ταχυδρομείου και ο τρίτος για τον αριθμό των μεταφορτώσεων (εξαρτημάτων ή εφαρμογών) στην κοινότητά μας.

Κάθε πίνακας (κατάλογος) θα έχει αντιστοιχούν ευρετήρια και άφθονο κώδικα για τη διατήρηση και των τριών λιστών παράλληλα. Φυσικά, θα μπορούσαμε να δοκιμάσουμε με ένα τρισδιάστατο πίνακα, αλλά τι γίνεται με τον τύπο του; Χρειαζόμαστε συμβολοσειρά για ονόματα και e-mails, αλλά έναν ακέραιο για τον αριθμό των μεταφορτώσεων.

Ο τρόπος εργασίας με μια τέτοια δομή δεδομένων είναι να χρησιμοποιήσετε τους Δελφούς δομή καταγραφής.

TMember = Εγγραφή...

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

Ουσιαστικά, α η δομή δεδομένων καταγραφής μπορεί να συνδυάσει οποιονδήποτε ενσωματωμένο τύπο Delphi

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

Ο τύπος TMember περιέχει τρία πεδία: μια τιμή συμβολοσειράς που ονομάζεται Όνομα (για να κρατηθεί το όνομα ενός μέλους), μια τιμή ενός τύπου συμβολοσειράς που ονομάζεται eMail (για ένα e-mail) και έναν ακέραιο (Cardinal) που ονομάζεται Posts (για να κρατήσει τον αριθμό των υποβολών στο κοινότητα).

Μόλις έχουμε ρυθμίσει τον τύπο εγγραφής, μπορούμε να δηλώσουμε μια μεταβλητή ως τύπου TMember. Το TMember είναι τώρα εξίσου καλός μεταβλητός τύπος για μεταβλητές όπως οποιοσδήποτε από αυτούς Δελφοί's ενσωματωμένα είδη όπως το String ή το Integer. Σημείωση: η δήλωση τύπου TMember, δεν διαθέτει καμία μνήμη για τα πεδία Name, eMail και Posts.

Για να δημιουργήσουμε πραγματικά ένα στιγμιότυπο του αρχείου TMember, πρέπει να δηλώσουμε μια μεταβλητή τύπου TMember, όπως στον ακόλουθο κώδικα:

Τώρα, όταν έχουμε ένα αρχείο, χρησιμοποιούμε μια κουκκίδα για να απομονώσουμε τα πεδία του DelphiGuide.

Σημείωση: το παραπάνω κομμάτι του κώδικα θα μπορούσε να ξαναγραφεί με τη χρήση του μελέξη-κλειδί.

Τώρα μπορούμε να αντιγράψουμε τις τιμές των πεδίων του DelphiGuide στο AMember.

Πεδίο εγγραφής και ορατότητα

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

Μια σειρά αρχείων

Εφόσον το TMember λειτουργεί όπως οποιοσδήποτε άλλος τύπος Object Pascal, μπορούμε να δηλώσουμε μια σειρά μεταβλητών εγγραφών:

Σημείωση: Δείτε πώς μπορείτε να δηλώσει και να αρχίσει μια σταθερή σειρά αρχείων στους Δελφούς.

Εγγραφές ως πεδία εγγραφής

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

Συμπλήρωση όλων των πληροφοριών που απαιτούνται για ένα μόνο αρχείο είναι πλέον κάπως πιο δύσκολο. Περισσότερες περίοδοι (κουκίδες) είναι απαραίτητες για την πρόσβαση στα πεδία του TExpandedMember.

Εγγραφή με πεδία "Άγνωστα"

Ένας τύπος εγγραφής μπορεί να έχει ένα τμήμα παραλλαγής (δεν πρέπει να συγχέεται με τη μεταβλητή τύπου Variant). Οι εγγραφές παραλλαγών χρησιμοποιούνται, για παράδειγμα, όταν θέλουμε να δημιουργήσουμε έναν τύπο εγγραφής με πεδία για διαφορετικά είδη δεδομένων, αλλά γνωρίζουμε ότι δεν θα χρειαστεί ποτέ να χρησιμοποιήσουμε όλα τα πεδία σε ένα μόνο αρχείο παράδειγμα. Για να μάθετε περισσότερα σχετικά με τα τμήματα παραλλαγών στα αρχεία, ρίξτε μια ματιά στα αρχεία βοήθειας του Delphi. Η χρήση ενός παραλλακτικού τύπου εγγραφής δεν είναι ασφαλής ως προς το είδος και δεν αποτελεί συνιστώμενη πρακτική προγραμματισμού, ιδιαίτερα για αρχάριους.

Ωστόσο, τα αρχεία παραλλαγών μπορεί να είναι πολύ χρήσιμα, αν βρεθείτε ποτέ σε μια κατάσταση που θα τα χρησιμοποιήσετε.

instagram story viewer