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.
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!