M. Khozinul Mahfudz (10.111.0358)
Pemrograman API
// untuk menentukan lokasi yang akan dibuka
fmp3:=TFileStream.Create(mp3File, fmOpenRead);
pengertian:
dibuat untuk menciptakan contoh TfileStream,. Ini membuka file dengan mode FileName mode, yang dapat memiliki salah satu dari nilai berikut:
fmCreate TFileStream.Create menciptakan sebuah file baru jika diperlukan.
TFileStream.Create fmOpenRead membuka file dengan akses read-only.
TFileStream.Create fmOpenWrite membuka file dengan menulis-hanya akses.
TFileStream.Create fmOpenReadWrite membuka file dengan akses baca-tulis.
try
//mencari letak atau posisi file pada ID3
fmp3.position:=fmp3.size-128;
Pengertian:
Properti Position pada Delphi menunjukkan bagaimana menentukan posisi awal form. Nilai default poDesigned menunjukkan bahwa form akan muncul di mana rancangan dan di mana menggunakan sifat posisional (Kiri dan Top) dan ukuran (Lebar dan Tinggi) dari properti form.
//membaca file mp3 sebanyak ukuran dari ID3
fmp3.Read(ID3,SizeOf(ID3));
Pengertian:
Prosedur Read akan membaca satu baris data dari sebuah file atau console.
Read dari file biner untyped, gunakan BlockRead.
Read tidak menggunakan buffer - BlockRead lebih efisien.
Read juga merupakan direktif Delphi. Hal ini digunakan dengan kata kunci Properti.
finally
//menghapus fmp3
fmp3.free;
end;
{ or the non Stream approach - as in ChangeID3Tag procedure}
try
//memasukkan file dari variabel fmp3 yang berlokasi di fmp3
AssignFile(fMP3, mp3File);
Pengertian:
Prosedur AssignFile memberikan nilai untuk filehandle untuk FileName dalam persiapan untuk membaca atau menulis ke file
//untuk mereset fmp3
Reset(fMP3);
Pengertian:
Prosedur reset ini digunakan membuka file yang diberikan oleh filehandle untuk membaca, menulis atau membaca dan menulis akses. Dan juga harus menggunakan AssignFile untuk menetapkan file untuk filehandle sebelum menggunakan Reset.Gunakan Write atau writeln untuk menulis ke file setelah ulang ini dijalankan.
Try
//mencari file yang bertipe mp3
Seek(fMP3, FileSize(fMP3) - 128);
Pengertian:
Prosedur seek mencari posisi record yang berupasebuah file biner terbuka yang diberikan oleh filehandle ke RecordNumber pada posisi baru. File harus ditetapkan dengan AssignFile dan dibuka dengan Reset Rewrite
//mengkunci data yang telah ditemukan
BlockRead(fMP3, ID3, SizeOf(ID3));
Pengertian:
Prosedur BlockRead digunakan untuk membaca catatan RecordCount data ke dalam buffer dari file biner untyped diberikan oleh filehandle itu. File harus telah ditetapkan menggunakan AssignFile dan dibuka dengan Reset.
finally
end;
finally
//mengkosongkan nilai dari fmp3
CloseFile(fMP3);
Pengertian:
Prosedur CloseFile menutup sebuah file yang terbuka yang diberikan oleh filehandle.File harus telah ditetapkan, dan dibuka dengan append, Reset atau Rewrite.
end;
//jika properti TAG dari mp3 tersebut tidak sama denga TAG maka akan ditampilkan pesan error
if ID3.Tag <> 'TAG' then begin
Title.Text:='Wrong or no ID3 tag information';
Artist.Text:='Wrong or no ID3 tag information';
Album.Text:='Wrong or no ID3 tag information';
Year.Text:='Wrong or no ID3 tag information';
Genre.Text:='Wrong or no ID3 tag information';
Comment.Text:='Wrong or no ID3 tag information';
Pengertian:
Tag ID3 disimpan dalam 128 bytes terakhir dari file MPEG layer 3. Ini dimulai dengan string 'TAG'. Jika string ini tidak ada,maka informasi ID3 telah dihapus.
end
//jika properti TAG sama dengan 'TAG' maka akan ditampilkan informasi dari mp3 tersebut
else begin
Title.Text:=ID3.Title;
Artist.Text:=ID3.Artist;
Album.Text:=ID3.Album;
Year.Text:=ID3.Year;
//jika properti genre ditemukan diantara 0 sampai maxidgenre, maka genre akan ditampilkan denhan format string
if ID3.Genre in [0..MaxID3Genre] then
Genre.Text:=ID3Genre[ID3.Genre]
//jika tidak ditemukan, maka genre akan ditampilkan dengan hasil angka
else
Genre.Text:=IntToStr(ID3.Genre);
Comment.Text:=ID3.Comment
end;
end;