Strømme, strømme, TStream i Delphi

Hvad er en strøm? Tstream?

En strøm er, hvad navnet antyder: en flydende "flod af data". En strøm har en begyndelse, en ende, og du er altid et sted imellem disse to punkter.

Ved brug af Delphis TStream-objekter, du kan læse fra eller skrive til forskellige typer lagringsmedier, såsom diskfiler, dynamisk hukommelse og så videre.

Hvilke data kan en strøm indeholde?

En stream kan indeholde alt, hvad du kan lide i den rækkefølge, du kan lide. I eksempeleksemplet, der ledsager denne artikel, bruges poster i fast størrelse til enkelthedsformål, men du kan skrive en hvilken som helst blanding af variabel størrelse til en stream. Husk dog, at du er ansvarlig for husholdningen. Der er ingen måde, som Delphi kan "huske", hvilken slags data der er i en strøm, eller i hvilken rækkefølge!

Streams versus Arrays

Arrays har den ulempe at have en fast størrelse, der skal være kendt på kompileringstidspunktet. Ok, du kan bruge dynamiske arrays.

En strøm på den anden side kan vokse op til størrelsen på den tilgængelige hukommelse, som er betydeligt stor på dagens systemer uden "husholdningsopgaver".

instagram viewer

En strøm kan ikke indekseres, som en matrix kan. Men som du ser nedenfor, er det meget let at "gå" op og ned i en strøm.

Streams kan gemmes / indlæses til / fra filer i en enkel operation.

Aromaer af strømme

Tstream er basistypen (abstrakt) for strømobjekter. At være abstrakt betyder, at TStream aldrig bør bruges som sådan, men kun i dets efterkommerformer. For at streame alle slags oplysninger skal du vælge en efterkommerklasse i henhold til de specifikke data og lagerbehov. For eksempel:

  • TFileStream (til arbejde med filer)
  • TMemoryStream (til arbejde med en hukommelsesbuffer)
  • TStringStream (til at manipulere strenge i hukommelsen)
  • TBlobStream (til arbejde med BLOB-felter)
  • TWinSocketStream (til læsning og skrivning via en socketforbindelse)
  • TOleStream (til brug af en COM-interface til at læse og skrive)

Som du vil se, er TmemoryStream og TFileStream bemærkelsesværdigt udskiftelige og kompatible.

Download prøveprojekt!

instagram story viewer