Τι είναι ένα ρεύμα; TStream;
Ένα ρεύμα είναι αυτό που το λέει το όνομά του: ένα ρέον «ποτάμι δεδομένων». Ένα ρεύμα έχει μια αρχή, ένα τέλος και είστε πάντα κάπου μεταξύ αυτών των δύο σημείων.
Χρησιμοποιώντας Δελφούς Τα αντικείμενα TStream που μπορείτε να διαβάσετε ή να γράψετε σε διάφορα είδη μέσων αποθήκευσης, όπως αρχεία δίσκων, δυναμική μνήμη κ.ο.κ.
Τι δεδομένα μπορεί να περιέχει ένα ρεύμα;
Ένα ρεύμα μπορεί να περιέχει οτιδήποτε θέλετε, με τη σειρά που σας αρέσει. Στο παράδειγμα έργου που συνοδεύει αυτό το άρθρο, οι εγγραφές σταθερού μεγέθους χρησιμοποιούνται για σκοπούς απλούστευσης, αλλά μπορείτε να γράψετε οποιοδήποτε μίγμα δεδομένων μεταβλητού μεγέθους σε μια ροή. Θυμηθείτε όμως ότι είστε υπεύθυνοι για την οικιακή φροντίδα. Δεν υπάρχει τρόπος να «θυμούνται» οι Δελφοί τι είδους δεδομένα βρίσκονται σε μια ροή ή με ποια σειρά!
Ροές ενάντια σε πίνακες
Οι συστοιχίες έχουν το μειονέκτημα ότι έχουν ένα σταθερό μέγεθος που πρέπει να είναι γνωστό κατά τον χρόνο σύνταξης. Εντάξει, μπορείτε να χρησιμοποιήσετε δυναμικές συστοιχίες.
Ένα ρεύμα, από την άλλη πλευρά, μπορεί να φτάσει στο μέγεθος της διαθέσιμης μνήμης, το οποίο είναι αρκετά μεγάλο μέγεθος στα σημερινά συστήματα, χωρίς «οικιακές» δουλειές.
Δεν είναι δυνατή η ευρετηρίαση μιας ροής, όπως μπορεί να γίνει ένας πίνακας. Αλλά όπως θα δείτε παρακάτω, το "περπάτημα" πάνω και κάτω από ένα ρεύμα είναι πολύ εύκολο.
Τα ρεύματα μπορούν να αποθηκευτούν / φορτωθούν σε / από αρχεία σε μία απλή λειτουργία.
Γεύσεις ροών
TStream είναι ο βασικός (αφηρημένος) τύπος κλάσης για αντικείμενα ροής. Όντας αφηρημένο σημαίνει ότι το TStream δεν πρέπει ποτέ να χρησιμοποιείται ως τέτοιο, αλλά μόνο στις μορφές του. Για τη ροή οποιουδήποτε είδους πληροφοριών, επιλέξτε τάξη απογόνων σύμφωνα με τα συγκεκριμένα δεδομένα και τις ανάγκες αποθήκευσης. Για παράδειγμα:
- TFileStream (για εργασία με αρχεία)
- TMemoryStream (για εργασία με προσωρινή μνήμη)
- TStringStream (για τον χειρισμό των συμβολοσειρών εντός της μνήμης)
- TBlobStream (για εργασία με πεδία BLOB)
- TWinSocketStream (για ανάγνωση και εγγραφή μέσω σύνδεσης υποδοχής)
- TOleStream (για τη χρήση διεπαφής COM για ανάγνωση και εγγραφή)
Όπως θα δείτε, το TmemoryStream και το TFileStream είναι εξαιρετικά εναλλάξιμα και συμβατά.
Λήψη δείγματος έργου!