Ce este un flux? TStream?
Un flux este ceea ce sugerează numele său: un „râu de date” curgător. Un flux are un început, un sfârșit și ești mereu undeva între aceste două puncte.
Utilizarea Delphi Obiecte TStream pe care le puteți citi sau scrie în diverse tipuri de suporturi de stocare, cum ar fi fișiere cu disc, memorie dinamică și așa mai departe.
Ce date poate conține un flux?
Un flux poate conține orice îți place, în ordinea dorită. În exemplul de proiect care însoțește acest articol, înregistrările cu dimensiuni fixe sunt utilizate în scopuri de simplitate, dar puteți scrie orice amestec de date de dimensiuni variabile într-un flux. Amintiți-vă însă că _y_ sunt responsabili pentru gospodărie. Nu există niciun fel în care Delphi să poată „aminti” ce fel de date sunt într-un flux sau în ce ordine!
Fluxuri versus diagrame
Schițele au dezavantajul de a avea o dimensiune fixă care trebuie cunoscută la timp de compilare. Ok, puteți utiliza tablouri dinamice.
Pe de altă parte, un flux poate crește până la dimensiunea memoriei disponibile, care are o dimensiune considerabil de mare pe sistemele de astăzi, fără nicio treabă de „gospodărie”.
Un flux nu poate fi indexat, așa cum poate fi un tablou. Dar după cum veți vedea mai jos, „mersul” în sus și în jos printr-un flux este foarte ușor.
Fluxurile pot fi salvate / încărcate în / din fișiere într-o singură operație.
Arome de fluxuri
TStream este tipul de clasă de bază (abstract) pentru obiectele flux. A fi abstract înseamnă că TStream nu trebuie folosit niciodată ca atare, ci doar în formele sale descendente. Pentru a transmite orice tip de informații, alegeți o clasă descendentă în funcție de datele specifice și nevoile de stocare. De exemplu:
- TFileStream (pentru lucrul cu fișierele)
- TMemoryStream (pentru lucrul cu un tampon de memorie)
- TStringStream (pentru manipularea șirurilor de memorie)
- TBlobStream (pentru lucrul cu câmpurile BLOB)
- TWinSocketStream (pentru citire și scriere printr-o conexiune de socket)
- TOleStream (pentru utilizarea unei interfețe COM pentru citire și scriere)
După cum veți vedea, TmemoryStream și TFileStream sunt remarcabil schimbabile și compatibile.
Descărcați proiectul de probă!