Kaj je tok? TStream?
Tok je tisto, kar pove njegovo ime: tekoča "reka podatkov". Tok ima začetek, konec in vedno ste nekje med tema dvema točkama.
Uporaba Delfi Predmeti TStream, iz katerih lahko berete ali pišete na različne vrste pomnilniških medijev, kot so diskovne datoteke, dinamični pomnilnik ipd.
Katere podatke lahko vsebuje tok?
Tok lahko vsebuje karkoli želite, v vrstnem redu, ki ga želite. V primeru projekta, ki je priložen temu članku, se za preprostost uporabljajo zapisi fiksne velikosti, vendar lahko v tok napišete poljubno kombinacijo podatkov spremenljive velikosti. Ne pozabite pa, da ste za gospodinjstvo odgovorni _you_. Delphi se nikakor ne more spomniti, kakšni podatki so v toku ali v kakšnem vrstnem redu!
Potoki nizov
Pomanjkljivosti nizov so fiksne velikosti, ki jih je treba poznati ob prevajanju. Ok, lahko uporabite dinamične matrike.
Tok na drugi strani lahko naraste do velikosti razpoložljivega pomnilnika, ki je v današnjih sistemih precej velik, brez kakršnih koli "gospodinjskih" opravil.
Toka ni mogoče indeksirati, kot lahko niz. A kot boste videli spodaj, je "hoja" navzgor in navzdol po potoku zelo enostavna.
Tokove je mogoče shraniti / naložiti v / iz datotek v eni preprosti operaciji.
Okusi potokov
TStream je osnovni (abstraktni) razred razreda za tokovne predmete. Če ste abstraktni, pomeni, da TStream nikoli ne bi smeli uporabljati kot takega, ampak le v obliki potomcev. Za pretok poljubnih informacij izberite razred potomcev v skladu s posebnimi potrebami po podatkih in shranjevanju. Na primer:
- TFileStream (za delo z datotekami)
- TMemoryStream (za delo s pomnilniškim pomnilnikom)
- TStringStream (za upravljanje nizov v spominu)
- TBlobStream (za delo s polji BLOB)
- TWinSocketStream (za branje in pisanje prek vtičnice)
- TOleStream (za uporabo vmesnika COM za branje in pisanje)
Kot boste videli, sta TmemoryStream in TFileStream izjemno izmenljivi in združljivi.
Prenesite vzorčni projekt!