Aquí tienes un
ejemplo y explicación de TStream y derivados.
El concepto es simple: Tienes una cantidad de información (da igual si binario, texto, ...lo que sea, incluso puedes mezclar ambos en el mismo Stream) y lo envias a un descendiente de TStream:
- Usa TMemoryStream para copiar o mover datos en memoria
- Usa TFileStream para tener la capacidad de guardar en disco y recuperar de él.
Y ya solo queda indicarte cómo moverte dentro de él (seek), para leer (read) y escribir en él (como supones: write), también tienes la forma de saber el tamaño (ahora no recuerdo ainsss)
Lo del scroll vertical.... bueno, algunos programas lo que hacen es poner un TScrollbar a la derecha del TMemo y parace que es sólo un componente. Ahora ese Scroll puedes controlarlo a voluntad:
- Sabiendo el tamaño del Stream, configuras sus propiedades Max y Min
- Leyendo la posición del scroll, sabes en qué parte se está desplazando el usuario.
- Controlando sus eventos, puedes ordenar la carga de esa parte (usando seek y read del stream).
Saludos