Anda di halaman 1dari 4

unit Flagu; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, ULaguku,

StdCtrls, JPEG, ExtCtrls, UData, ExtDlgs; const MAKS_DATA=100; type TFormLagu = class(TForm) StringGridLagu: TStringGrid; Label1: TLabel; Label2: TLabel; EditNama: TEdit; RadioButtonAnak: TRadioButton; RadioButtonDewasa: TRadioButton; ImageFoto: TImage; ButtonTambah: TButton; Label3: TLabel; EditPencipta: TEdit; Label4: TLabel; EditJudul: TEdit; Label5: TLabel; ButtonUbah: TButton; OpenPictureDialogFoto: TOpenPictureDialog; ButtonFoto: TButton; ButtonHapus: TButton; ButtonSimpan: TButton; ButtonSelesai: TButton; Label6: TLabel; Shape1: TShape; Shape2: TShape; Shape3: TShape; procedure ButtonSelesaiClick(Sender: TObject); procedure ButtonSimpanClick(Sender: TObject); procedure ButtonHapusClick(Sender: TObject); procedure ButtonFotoClick(Sender: TObject); procedure ButtonUbahClick(Sender: TObject); procedure ButtonTambahClick(Sender: TObject); procedure StringGridLaguSelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); procedure FormCreate(Sender: TObject); private { Private declarations } DaftarLagu:Array[1..MAKS_DATA] of TLagu; JumlahLagu:Integer; brs:integer; public { Public declarations } end; var FormLagu: TFormLagu; implementation {$R *.dfm}

//tentukan jmlh baris pd stringgrid beserta judulnya StringGridLagu.RowCount:=JumlahLagu+1; StringGridLagu.Cells[0,0]:='JUDUL'; StringGridLagu.Cells[1,0]:='PENYANYI'; StringGridLagu.Cells[2,0]:='PENCIPTA'; StringGridLagu.Cells[3,0]:='KATEGORI'; //tampilkan di StringGrid for j := 1 to JumlahLagu do begin if DaftarLagu[j].perolehKategori= True then Katstring := 'Anak' else Katstring := 'Dewasa'; StringGridLagu.Cells[0,j] := DaftarLagu[j].perolehJudul(); StringGridLagu.Cells[1,j] := DaftarLagu[j].perolehPenyanyi(); StringGridLagu.Cells[2,j] := DaftarLagu[j].perolehPencipta(); StringGridLagu.Cells[3,j] := Katstring; end; //memberikan nilai berupa nama file ke variabel Foto lewat prosedur ubahFoto {DaftarLagu[1].ubahFoto('judika.jpg'); DaftarLagu[2].ubahFoto('bondan.jpg'); DaftarLagu[3].ubahFoto('st12.jpg');} //tampilan awal pd kotak dialog EditJudul.Text:=DaftarLagu[1].perolehJudul(); EditNama.Text:= DaftarLagu[1].perolehPenyanyi(); EditPencipta.Text:=DaftarLagu[1].perolehPencipta(); //menyesuaikan radiobutton dgn isi default(1) if StringGridLagu.Cells[3,1]= 'Anak' then RadioButtonAnak.Checked:=True else RadioButtonDewasa.Checked:=True; //memanggil foto yang bersangkutan dan menampilkannya di TImage; If FileExists('C:\delphiku\Tugas Delphi\Foto\'+DaftarLagu[brs].perolehFoto)=True then ImageFoto.Picture.LoadFromFile('C:\delphiku\Tugas Delphi\Foto\'+DaftarLagu[brs].perolehFoto) else if StringGridLagu.Cells[3,brs]='Anak' then ImageFoto.Picture.LoadFromFile('C:\delphiku\Tugas Delphi\Foto\kuning.jpg') else ImageFoto.Picture.LoadFromFile('C:\delphiku\Tugas Delphi\Foto\hitam.jpg'); end;

procedure TFormLagu.StringGridLaguSelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin brs := ARow; //ShowMessage(IntToStr(ARow)); EditJudul.Text := StringGridLagu.Cells[0, ARow]; EditNama.Text := StringGridLagu.Cells[1, ARow]; EditPencipta.Text := StringGridLagu.Cells[2, ARow]; if StringGridLagu.Cells[3, ARow]= 'Anak' then RadioButtonAnak.Checked:=True else RadioButtonDewasa.Checked:=True;

procedure TFormLagu.FormCreate(Sender: TObject); var DataLagu: TLarikData; FileLagu : TDatafile; j:integer; Katstring:string; begin brs := 1; //membuat objek {DaftarLagu[1] := TLagu.Create('Kehilangan','Judika', 'Judika' ,False); DaftarLagu[2] := TLagu.Create('Lumba-Lumba','Bondan', 'Pak Kasur',True); DaftarLagu[3] := TLagu.Create('Saat Terakhir','ST 12', 'Charlie',False);} //JumlahLagu:=3; // Muat data dari file FileLagu := TDatafile.Create('C:\delphiku\Tugas Delphi\Lagu.dta'); JumlahLagu := FileLagu.bacaData(DataLagu); for J := 1 to JumlahLagu do DaftarLagu[J] := TLagu.Create(DataLagu[J].Judul, DataLagu[J].Penyanyi, DataLagu[J].Pencipta, DataLagu[J].Kategori, DataLagu[J].Foto); 1

//memanggil foto yang bersangkutan dan menampilkannya di TImage; If FileExists('C:\delphiku\Tugas Delphi\Foto\'+DaftarLagu[brs].perolehFoto)=True then ImageFoto.Picture.LoadFromFile('C:\delphiku\Tugas Delphi\Foto\'+DaftarLagu[brs].perolehFoto) else if StringGridLagu.Cells[3,brs]='Anak' then ImageFoto.Picture.LoadFromFile('C:\delphiku\Tugas Delphi\Foto\kuning.jpg') else ImageFoto.Picture.LoadFromFile('C:\delphiku\Tugas Delphi\Foto\hitam.jpg'); end;

procedure TFormLagu.ButtonUbahClick(Sender: TObject); begin

//tampil di Radiobutton if RadiobuttonAnak.Checked=True then StringGridLagu.Cells[3, brs] := 'Anak' else StringGridLagu.Cells[3, brs] := 'Dewasa'; //tampil di stringgrid StringGridLagu.Cells[0, brs] := EditJudul.Text; StringGridLagu.Cells[1, brs] := EditNama.Text; StringGridLagu.Cells[2, brs] := EditPencipta.Text; DaftarLagu[brs].UbahJudul(EditJudul.Text); DaftarLagu[brs].UbahPenyanyi(EditNama.Text); DaftarLagu[brs].UbahPencipta(EditPencipta.Text); DaftarLagu[brs].UbahKategori(RadioButtonAnak.Checked);

If RadioButtonAnak.Checked=True then StringGridLagu.Cells[3,JumlahLagu]:='Anak' else StringGridLagu.Cells[3,JumlahLagu]:='Dewasa'; DaftarLagu[JumlahLagu] := TLagu.Create(); DaftarLagu[jumlahLagu].ubahJudul(EditJudul.Text); DaftarLagu[jumlahLagu].UbahPenyanyi(EditNama.Text); DaftarLagu[jumlahLagu].UbahPencipta(EditPencipta.Text); DaftarLagu[jumlahLagu].ubahKategori(RadioButtonAnak.Checked); end;

procedure TFormLagu.ButtonHapusClick(Sender: TObject); begin

{DaftarLagu[brs].UbahNama(EditNama.Text); DaftarLagu[brs].UbahPencipta(EditPencipta.Text); DaftarLagu[brs].UbahKategori(RadioButtonAnak.Checked); } end;

//ShowMessage(inttostr(jumlahLagu)); while brs < jumlahLagu do begin StringGridLagu.Cells[0, brs]:=StringGridLagu.Cells[0, brs+1]; StringGridLagu.Cells[1, brs]:=StringGridLagu.Cells[1, brs+1]; DaftarLagu[brs]:=DaftarLagu[brs+1]; brs:=brs+1; end; //mengurangi jumlah Lagu if jumlahLagu>0 then JumlahLagu:=JumlahLagu - 1; //mengurangi jumlah baris StringGridLagu.RowCount := StringGridLagu.RowCount- 1; //end ; if JumlahLagu = 0 then begin StringGridLagu.RowCount:= 2; StringGridLagu.Cells[0,1]:=''; StringGridLagu.Cells[1,1]:=''; StringGridLagu.FixedRows:=1; //ShowMessage(inttostr(brs)); end; end;

procedure TFormLagu.ButtonSimpanClick(Sender: TObject); var FileLagu : TDatafile; Data : TLarikData; J : Integer; begin // mencopy data for J := 1 to JumlahLagu do begin Data[J].Judul := DaftarLagu[J].perolehJudul; Data[J].Penyanyi := DaftarLagu[J].perolehPenyanyi; Data[J].Pencipta := DaftarLagu[J].perolehPencipta; Data[J].Kategori := DaftarLagu[J].perolehKategori; Data[J].Foto := DaftarLagu[J].perolehFoto; end; // penyimpanan FileLagu := TDatafile.Create('C:\delphiku\Tugas Delphi\Lagu.dta'); FileLagu.simpanData(Data, JumlahLagu); ShowMessage('Simpan Berhasil'); end;

procedure TFormLagu.ButtonFotoClick(Sender: TObject); var Nama_file,Sumber,Target:String; begin Nama_file:=''; OpenPictureDialogFoto.InitialDir:='Foto'; OpenPictureDialogFoto.Title:='Memilih Foto'; If OpenPictureDialogFoto.Execute=True then begin Nama_file:=ExtractFileName(OpenPictureDialogFoto.FileName); //ShowMessage(OpenPictureDialogFoto.FileName); ImageFoto.Picture.LoadFromFile(Nama_file); //DaftarLgu[brs].ubahFoto(Nama_file); end else exit; //Untuk membuat copy-an file ke folder Foto DaftarLagu[brs].ubahFoto(Nama_file); Sumber:=Nama_file; Target:='C:\delphiku\Tugas Delphi\Foto\'+Nama_file; CopyFile(PChar(Sumber),PChar(Target),false); //if OpenPictureDialogFoto.Execute=False then //ImageFoto.Picture.LoadFromFile('C:\delphiku\Tugas Delphi\Foto\'+DaftarArtis[jreng].perolehFoto); end;

procedure TFormLagu.ButtonSelesaiClick(Sender: TObject); begin close; end; end.

procedure TFormLagu.ButtonTambahClick(Sender: TObject); begin JumlahLagu:=JumlahLagu+1; StringGridLagu.RowCount:=JumlahLagu+1; //JumlahArtis:=JumlahTambah; //DaftarArtis[jumlahArtis].ubahNama(EditNama.Text); //DaftarArtis[jumlahArtis].ubahKelamin(RadioButtonPria.Checked); StringGridLagu.Cells[0,JumlahLagu]:=EditJudul.Text; StringGridLagu.Cells[1,JumlahLagu]:=EditNama.Text; StringGridLagu.Cells[2,JumlahLagu]:=EditPencipta.Text; 2

Write (Berkas, Data[j]); end; finally CloseFile(Berkas) ; end; end; unit UData; interface uses SysUtils, Dialogs, ULaguku; type TRecData = Record Judul: String[64]; Penyanyi: String[64]; Pencipta: String[64]; Kategori: Boolean; Foto : String[64]; end; TLarikData = ARRAY[1..100] of TRecData; TDatafile = class (TObject) private { Private declarations } NamaFile: String; public { Public declarations } constructor Create(NamaFile: String); function bacaData(var Data: TLarikData): Integer; procedure simpanData(Data: TLarikData; JumData: Integer); end; implementation constructor TDatafile.Create(NamaFile: String); begin Self.NamaFile := NamaFile; end; function TDatafile.bacaData(var Data: TLarikData): Integer; var Berkas : File of TRecData; RecData: TRecData; JumData: Integer; begin if Not FileExists(self.NamaFile) then begin Exit; end; JumData := 0; // Baca data AssignFile(Berkas, self.NamaFile); Reset(Berkas); try while Not Eof(Berkas) do begin Read(Berkas, RecData); JumData := JumData + 1; Data[JumData].Judul := RecData.Judul; Data[JumData].Penyanyi := RecData.Penyanyi; Data[JumData].Pencipta := RecData.Pencipta; Data[JumData].Kategori := RecData.Kategori; Data[JumData].Foto := RecData.Foto; end; finally CloseFile(Berkas); end; bacaData := JumData; end; procedure TDatafile.simpanData(Data: TLarikData; JumData: Integer); var Berkas : File of TRecData; RecData: TRecData; j : Integer; begin AssignFile(Berkas, self.NamaFile) ; Rewrite(Berkas); try for j := 1 to JumData do begin 3 procedure TLagu.UbahKategori(Kategori: Boolean); begin end. unit ULaguku; interface uses SysUtils, Dialogs; type TLagu = class (TObject) private { Private declarations } Judul: String; Penyanyi: String; Pencipta: String; Kategori: Boolean; Foto : String; public { Public declarations } constructor Create(Judul: String=''; Penyanyi: String=''; Pencipta: String=''; Kategori: Boolean=TRue; Foto : String=''); function perolehJudul: String; function perolehPenyanyi: String; function perolehPencipta: String; function perolehKategori: Boolean; function perolehFoto: String; procedure UbahJudul(Judul: string); procedure UbahPenyanyi(Penyanyi: string); procedure UbahPencipta(Pencipta: string); procedure UbahKategori(Kategori: Boolean); procedure ubahFoto(NamaFoto: String); end; implementation constructor TLagu.Create(Judul: String; Penyanyi: String; Pencipta: String; Kategori: Boolean; Foto : String); begin Self.Judul := Judul; Self.Penyanyi := Penyanyi; Self.Pencipta := Pencipta; Self.Kategori := Kategori; Self.Foto := Foto; end; function TLagu.perolehJudul: String; begin perolehJudul:= Judul; end; function TLagu.perolehKategori: Boolean; begin perolehKategori:= Kategori; end; function TLagu.perolehFoto:String; begin perolehFoto:=Foto; end; function TLagu.perolehPencipta: String; begin perolehPencipta:= Pencipta; end; function TLagu.perolehPenyanyi: String; begin perolehPenyanyi := Penyanyi; end; procedure TLagu.ubahFoto(NamaFoto: String); begin Foto := NamaFoto; end; procedure TLagu.UbahJudul(Judul: string); begin self.Judul := Judul; end;

self.Kategori := Kategori; end; procedure TLagu.UbahPencipta(Pencipta: string); begin self.Pencipta := Pencipta; end; procedure TLagu.UbahPenyanyi(Penyanyi: string); begin self.Penyanyi := Penyanyi; end; end.

Anda mungkin juga menyukai

  • 01 Pert 2
    01 Pert 2
    Dokumen31 halaman
    01 Pert 2
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • 3-Teknologi Open Source
    3-Teknologi Open Source
    Dokumen54 halaman
    3-Teknologi Open Source
    aswitoNR
    Belum ada peringkat
  • 7-Keamanan Komputer
    7-Keamanan Komputer
    Dokumen48 halaman
    7-Keamanan Komputer
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • CRM 3
    CRM 3
    Dokumen34 halaman
    CRM 3
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • WordPress Blogging Guide
    WordPress Blogging Guide
    Dokumen16 halaman
    WordPress Blogging Guide
    Tjoetjoe Moeljana
    Belum ada peringkat
  • CRM2
    CRM2
    Dokumen25 halaman
    CRM2
    Kemal Nur
    Belum ada peringkat
  • CRM 4
    CRM 4
    Dokumen31 halaman
    CRM 4
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • 2-Teknologi Open Source
    2-Teknologi Open Source
    Dokumen30 halaman
    2-Teknologi Open Source
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • PS Ac 8
    PS Ac 8
    Dokumen7 halaman
    PS Ac 8
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • Implementasibasisdatadalamxampp 121204185149 Phpapp02
    Implementasibasisdatadalamxampp 121204185149 Phpapp02
    Dokumen16 halaman
    Implementasibasisdatadalamxampp 121204185149 Phpapp02
    Kemal Nur
    Belum ada peringkat
  • Resume CRM
    Resume CRM
    Dokumen12 halaman
    Resume CRM
    Adityo Pratama
    Belum ada peringkat
  • Jadwal SP
    Jadwal SP
    Dokumen1 halaman
    Jadwal SP
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • 1 PB
    1 PB
    Dokumen9 halaman
    1 PB
    Shinta Hadinata
    Belum ada peringkat
  • 01 Paec
    01 Paec
    Dokumen9 halaman
    01 Paec
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • Jurnal Totolan KM Revisi
    Jurnal Totolan KM Revisi
    Dokumen19 halaman
    Jurnal Totolan KM Revisi
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • Materi Analisis Proses Bisnis4
    Materi Analisis Proses Bisnis4
    Dokumen41 halaman
    Materi Analisis Proses Bisnis4
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • Pertemuan 1
    Pertemuan 1
    Dokumen15 halaman
    Pertemuan 1
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • Jadwal SP
    Jadwal SP
    Dokumen1 halaman
    Jadwal SP
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • Hukum Carding
    Hukum Carding
    Dokumen12 halaman
    Hukum Carding
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • KOMPETENSI
    KOMPETENSI
    Dokumen33 halaman
    KOMPETENSI
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • Buku Tpa
    Buku Tpa
    Dokumen10 halaman
    Buku Tpa
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • Visual 9
    Visual 9
    Dokumen7 halaman
    Visual 9
    Adeetz Silver
    Belum ada peringkat
  • Knowledge Management Romi Satria Wahono
    Knowledge Management Romi Satria Wahono
    Dokumen6 halaman
    Knowledge Management Romi Satria Wahono
    Risma Jasa Dengok Wetan
    Belum ada peringkat
  • Buku Tpa
    Buku Tpa
    Dokumen10 halaman
    Buku Tpa
    Risma Jasa Dengok Wetan
    Belum ada peringkat