Procedure SimpanBitmap; Var BMP:TBitmap; BS:TBlobStream; T:TTable; Begin // menyipakan stream yang akan disimpan ke blob database BS:=TTable.CreateBlobStream(TTable.FieldByName(‘gambar’),bmWrite); // membuat data Bitmap BMP:=TBitmap.Create; // menentukan nilai format pixel pada bitmap BMP.PixelFormat:=pf24bit; // menentukan lebar bitmap BMP.Width:=150; // menentukan tinggi bitmap BMP.Height:=150; // menggambar lingkaran penuh pada bitmap BMP.Canvas.Ellips(10,10,140,140); // menyimpan data bitmap ke dalam file BMP.SaveToFile(‘D:\gambar.bmp’); // menyimpan data bitmap ke dalam stream yang sudah disiapkan di atas BMP.SaveToStream(BS); End;
Atau contoh lain pada class TBitmap, anda bisa membaca data file BMP dan menyimpan datanya ke dalam data stream dengan menggunakan function LoadFromFile kemudian SaveToStream, atau sebaliknya bila anda hendak menyimpan data bitmap dari stream ke dalam bentuk file dengan menggunakan function LoadFromStream dan SaveToFile.
Lalu bagaimana jika file yang hendak disimpan ke dalam blob bukan file Bitmap misal MP3, maka anda bisa menggunakan class TFileStream untuk mengubah data file ke dalam data stream dan kemudian menyimpan data stream ke dalam blob, begitu juga sebaliknya dari data blob ke bentuk stream kemudian dari bentuk stream menyimpannya ke data file. Perhatikan contoh berikut :
Procedure simpan_MP3_dari_File_Ke_Blob; Var FS:TFileStream; BS:TBlobStream; Begin // menyiapkan data mp3 dari stream ke bentuk blob BS:=TTable1.CreateBlobStream(TTable1.FieldByName(‘mp3’),bmWrite); // mengambil data file dan merubahnya menjadi data stream FS:=TFileStream.Create(‘D:\lagu_1.mp3’, fmOpenRead); // meng-copy data stream pada FS ke BS // dan mengubahnya ke dalam data blob BS.CopyFrom(FS); // membebaskan memory FS dan BS BS.Free; FS.Free; End; Procedure simpan_MP3_dari_Blob_Ke_File; Var FS:TFileStream; BS:TBlobStream; Begin // mengambil data mp3 dari blob ke bentuk stream BS:=TTable1.CreateBlobStream(TTable1.FieldByName(‘mp3’),bmRead); // menyiapkan stream untuk diubah ke bentuk file FS:=TFileStream.Create(‘D:\lagu_1.mp3’,fmCreate or fmOpenWrite); // meng-copy data stream pada BS ke FS // dan mengubahnya ke dalam data file FS.CopyFrom(BS); // membebaskan memory FS dan BS BS.Free; FS.Free; End;
Class dasar Stream pada Delphi adalah TStream yang kemudian diturunkan menjadi TFileStream, TMemoryStream, TBlobStream, TWinSocketStream, TStringStream, TOleStream dan lain-lain. Penggunaan Stream pada Delphi sangat banyak
Tidak ada komentar:
Posting Komentar