RECORD, ARRAY, DAN POINTER

By pelita nuramini - Maret 25, 2019

 CODING


Procedure TFormBab2.FormCreate (Sender : Tobject);
type
   TRecBuku = record
   Judul : String [60] ;
   Pengarang : String [60] ;
   Jumlah : byte;
 end;

TArrayRecBuku = array [1..10000] of sTRecBuku;
TptrBuku = ArrayRecBuku;

var
    ptrData               : TptrBuku;
    I, JumElemen     : Longint;
    Teks                    : String;

begin
    //Alokasi Memori
    JumElemen  := 5 ;
    GetMem (PtrData, JumElemen *  Sizeof (TrecBuku));
 
   //Pemberian Nilai ke field yang ditunjuk PtrData
 
  ptrData^[1].Judul := 'Octopussy';
  ptrData^[1].Pengarang := 'Ian Flammings';
  ptrData^[1].Jumlah := 2;

  ptrData^[2].Judul := 'Meriam Benteng Navarone';
  ptrData^[2].Pengarang := 'Allistair McClean';
  ptrData^[2].Jumlah := 4;

  ptrData^[3].Judul := 'Badai Pasti Berlalu';
  ptrData^[3].Pengarang := 'Allistair McClean';
  ptrData^[3].Jumlah := 4;

  ptrData^[4].Judul := 'Ajax';
  ptrData^[4].Pengarang := 'Abdul Kadir';
  ptrData^[4].Jumlah := 10;

  ptrData^[5].Judul := 'PHP dan MYSQL';
  ptrData^[5].Pengarang := 'Abdul Kadir';
  ptrData^[5].Jumlah := 10;

  //Tampilkan Data buku melalui PtrData
  Teks := ' ' ;
   for I := 1 to JumElemen do
        Teks := Teks +
             'Judul : ' + PtrData^[I].Judul + #13#10 +
             'Pengarang : ' + PtrData^[I].Pengarang + #13#10 +
             'Jumlah : ' + IntToStr (PtrData^[I].Jumlah) +
             #13#10#13#10;

  LabelInfo.Caption := Teks;

  //Deklarasi memori
  FreeMem (PtrData)
end;

end.


  • Share:

You Might Also Like

0 komentar