We help IT Professionals succeed at work.

Streaming ?

PPaul
PPaul asked
on
Medium Priority
471 Views
Last Modified: 2010-04-06
I've come accross streaming many times whill trying to learn Delphi 2.  I looked into the online help and was even more lost. Looking around, there is little to no write-ups on the subject and I'm going NUTS!! (At this point it's a short trip!!) I would like to know what it is and how to use it. An example would be nice. :-)
Comment
Watch Question

Author

Commented:
Edited text of question
Commented:
The book 'Secrets of Delphi 2' is (along with several others)an interesting and good one for the advanced Delphi developer. It is one of the places where you can find complete descriptions for component messages and Delphi STREAMS.

Regards

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Commented:
I think for 200 points an example or a better description could be added.  Pointing him to a book is a 50 pt. question response.  Most of these books are in the $50 - $75 range.

Commented:
Sorry about that, I didn't notice the points.

Commented:
Streams are objects used for managing data currents. There are two families of streams, one descending from TStream and another from TIStream.
Let's take for example TIStream: It's simply a common base that stablishes which methods its descendants will have to implement (having this way a common interface).

Once we have created a child from TIStream, we basicly use its three methods which will help us to write information, read information and move from one place to another from within the stream.The methods are write, read and seek.
An example of stream would be the child from TIStream TVirtualStream. This type allow us to use data that sometimes can be stored in memory and other times in disk without any differences in the code. The following piece of program creates an object that can be used with the same methods, but in some cases it'll be working with memory data and in other cases it'll be doing it with disk data.

  const
     str1: String = 'String1';
  var
     streamobj: TVirtualStream;

  begin
     if CheckBox1.Checked Then  {using memory}
        streamObj:=            TVirtualStream.Create(TIMemoryStream.Create(Nil))
     else                       {using disk}
           sreamObj:=TVirtualStream.Create (TIFileStream.Create            ('data.dat',fmCreate Or fmOpenWrite));

     streamobj.Write(String1. Length(String1)+1);

     streamobj.Free;
  end;

Hope this helps
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.