Potoci, potoci, TStream u Delfima

Što je tok? TStream?

Tok je ono što mu ime govori: protočna "rijeka podataka". Tok ima početak, kraj i uvijek ste negdje između ove dvije točke.

koristeći Delphi-a TStream objekti iz kojih možete čitati ili ih pisati na različite vrste medija za pohranu, poput diskovnih datoteka, dinamičke memorije itd.

Koje podatke može sadržavati stream?

Tok može sadržavati sve što želite, redoslijedom koji želite. U primjeru projekta koji prati ovaj članak, za jednostavnost se koriste zapisi fiksne veličine, ali u stream možete upisati bilo koji miks podataka promjenjive veličine. Imajte na umu da ste vi odgovorni za kućanstvo. Nema šanse da se Delphi može "sjetiti" kakvih se podataka nalazi u toku ili kojim redoslijedom!

Struje Versus Arrays

Niz koji imaju nizovi su fiksne veličine koja se mora znati prilikom sastavljanja. Ok, možete koristiti dinamičke nizove.

S druge strane, stream može narasti do veličine dostupne memorije koja je na današnjim sustavima znatno velika, bez ikakvih poslova u kućanstvu.

instagram viewer

Tok se ne može indeksirati kao što to niz može. Ali kao što ćete vidjeti u nastavku, "hodanje" uzvodno i nizvodno je vrlo lako.

Struje se u jedan jednostavan rad mogu spremiti / učitati u / iz datoteka.

Arome potoka

TStream je osnovna (apstraktna) vrsta klase za tokovne objekte. Biti apstraktnim znači da se TStream nikada ne smije koristiti kao takav, već samo u njegovim potomcima. Za streaming bilo koje vrste podataka odaberite klasu potomaka prema posebnim podacima i potrebama pohrane. Na primjer:

  • TFileStream (za rad s datotekama)
  • TMemoryStream (za rad s memorijskim međuspremnikom)
  • TStringStream (za manipuliranje nizovima u memoriji)
  • TBlobStream (za rad s BLOB poljima)
  • TWinSocketStream (za čitanje i pisanje preko utičnice)
  • TOleStream (za korištenje COM sučelja za čitanje i pisanje)

Kao što ćete vidjeti, TmemoryStream i TFileStream nevjerojatno su izmjenjivi i kompatibilni.

Preuzmi primjer projekta!

instagram story viewer