Patakok, patakok, TStream Delphiben

Mi az a patak? TStream?

A patak az, amit a neve sugall: egy áramló "adatfolyam". A pataknak van kezdete és vége, és mindig valahol a két pont között vagy.

használata Delphi TStream objektumok, amelyeket különféle tárolóeszközökről lehet olvasni, vagy azokba írni, például lemezfájlokat, dinamikus memóriákat stb.

Milyen adatokat tartalmazhat egy adatfolyam?

A patak bármilyen tetszés szerint tartalmazhat tetszés szerint. A cikkhez mellékelt példában a rögzített méretű rekordokat használják az egyszerűség kedvéért, de a változó méretű adatok bármilyen keverékét írhatják az adatfolyamba. Ne feledje azonban, hogy _you_ felelős a háztartásért. A Delphi semmilyen módon nem tudja "emlékezni" milyen adatok vannak a patakban, vagy milyen sorrendben!

Streams Versus Arrays

A tömbök hátránya, hogy rögzített méretük van, amelyet a fordításkor ismerni kell. Rendben, használhat dinamikus tömböket.

Másrészt egy adatfolyam a rendelkezésre álló memória méretére növekszik, amely a mai rendszerekben meglehetősen nagy, "háztartási" munkák nélkül.

instagram viewer

A patak nem indexelhető, mint egy tömb. De amint látni fogja az alábbiakat, a patak felfelé és lefelé "járása" nagyon egyszerű.

A stream-ek fájlokba menthetők / betölthetők egy egyszerű művelettel.

A patak íze

TStream a folyamobjektumok alap (absztrakt) osztálytípusa. Absztrakt lenni azt jelenti, hogy a TStream-t soha nem szabad ilyenként használni, hanem csak leszármazott formáiban. Bármilyen információ streamingjéhez válasszon egy leszármazott osztályt az adott adat- és tárolási igényeknek megfelelően. Például:

  • TFileStream (fájlok kezelésére)
  • TMemoryStream (memóriapufferrel való együttműködéshez)
  • TStringStream (a memóriában lévő karakterláncok kezelésére)
  • TBlobStream (a BLOB mezőkkel való együttműködéshez)
  • TWinSocketStream (olvasásra és írásra egy aljzaton keresztül)
  • TOleStream (COM felület olvasására és írására)

Mint látni fogja, a TmemoryStream és a TFileStream rendkívül cserélhető és kompatibilis.

Töltse le mintaprojekt!

instagram story viewer