Streaming, Streaming, TStream dalam Delphi

Apa itu Stream? TStream?

Aliran adalah apa yang namanya: aliran "sungai data". Aliran memiliki awal, akhir, dan Anda selalu berada di antara dua titik ini.

Menggunakan Delphi Objek TStream Anda dapat membaca atau menulis ke berbagai jenis media penyimpanan, seperti file disk, memori dinamis, dan sebagainya.

Data Apa Yang Dapat Dikandung Stream?

Aliran dapat berisi apa pun yang Anda suka, sesuai urutan yang Anda suka. Dalam proyek contoh yang menyertai artikel ini, catatan ukuran tetap digunakan untuk tujuan kesederhanaan, tetapi Anda bisa menulis campuran apa pun dari data berukuran variabel ke aliran. Namun ingat, bahwa _you_ bertanggung jawab atas rumah tangga tersebut. Tidak mungkin Delphi dapat "mengingat" jenis data apa yang ada dalam aliran, atau dalam urutan apa!

Streaming vs. Array

Array memiliki kelemahan memiliki ukuran tetap yang harus diketahui pada waktu kompilasi. Oke, Anda bisa menggunakan array dinamis.

Aliran di sisi lain, dapat tumbuh hingga ukuran memori yang tersedia, yang ukurannya sangat besar pada sistem saat ini, tanpa ada tugas "rumah tangga".

instagram viewer

Aliran tidak dapat diindeks, karena array dapat. Tetapi seperti yang akan Anda lihat di bawah, "berjalan" naik dan turun sungai sangat mudah.

Streaming dapat disimpan / dimuat ke / dari file dalam satu operasi sederhana.

Flavours of Streams

TStream adalah tipe kelas dasar (abstrak) untuk objek streaming. Menjadi abstrak berarti bahwa TStream tidak boleh digunakan seperti itu, tetapi hanya dalam bentuk turunannya. Untuk streaming segala jenis informasi, pilih kelas turunan sesuai dengan data spesifik dan kebutuhan penyimpanan. Sebagai contoh:

  • TFileStream (untuk bekerja dengan file)
  • TMemoryStream (untuk bekerja dengan buffer memori)
  • TStringStream (untuk memanipulasi string dalam memori)
  • TBlobStream (untuk bekerja dengan bidang BLOB)
  • TWinSocketStream (untuk membaca dan menulis melalui koneksi soket)
  • TOleStream (untuk menggunakan antarmuka COM untuk membaca dan menulis)

Seperti yang akan Anda lihat, TmemoryStream dan TFileStream sangat dipertukarkan dan kompatibel.

Unduh proyek sampel!

instagram story viewer