Arsip: Cara mudah untuk Memasukkan TIMage ke Array?

 
user image
more 17 years ago

ivan

Teman2 yg baek, pada aplikasi saya ada 20 komponen Image ingin saya masukkan ke dalam array. Cara yg biasa lakukan adalah dengan:
begin
  ArrayGambar[1]:= Image1;
  ArrayGambar[2]:= Image2;
  ArrayGambar[3]:= Image3;
  ArrayGambar[4]:= Image4;
  ..
  ..
  ..
  ArrayGambar[20]:= Image20;
end;
saya merasa dengan cara seperti itu akan sangat memakan waktu dan capek. Buat teman2 ada gak cara praktis untuk memasukkan image ke dalam array yg praktis, mungkin dengan cara perulangan. for i:=1 to 20 do ArrayGambar[i]:= Image ..[i] //ini yg gak saya tau end butuh help nya donk guys...
user image
more 17 years ago

ImanD

pke ComponentCount az,

var
  i,j: integer;
begin
  j:=0;
  for i:=0 to ComponentCount-1 do
    if Components[i] is TImage then
    begin
      inc(j);
      ArrayGambar[j]:=(Components[i] as TImage);
    end;
end;
user image
more 17 years ago

ivan

thx bro ImanD, Saya memodifikasi script dari Bro ImanD dengan melakukan pengecekan Components[i].Name untuk mengelompokan jenis komponennya. Thx Bro
user image
more 17 years ago

ImanD

sip, klo bisamodifikasi script yg bro ivan ubah di sertakan juga biar rekan2 bisa tau dan mungkin ada yg lagi butuh juga
user image
more 17 years ago

ivan

OK mudah2an ada teman2 yg lain yg juga membutuhkannya. berikut hasil modifikasinya:
function TForm1.CariKomponen(nama: string): TImage;
var i: Integer;
begin
for i:= 0 to ComponentCount-1 do
begin
  if (Components[i].Name = nama) and (Components[i] is TImage) then
    begin
      result:= (Components[i] as TImage);
      exit;
    end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var i: Byte;
begin
for i:= 1 to 20 do
  begin
    ArrayGambar[i]:= CariKomponen('Image' + IntToStr(i));
  end;
end;
Semoga bermanfaat.
user image
more 17 years ago

ImanD

@ivan sorry,ga apa2 ya aku sederhanakan......

uses
  StrUtils;
var
  ArrayGambar: array  of TImage;
procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  for i:=0 to ComponentCount-1 do
    if Components[i] is TImage then
      ArrayGambar[StrToInt(AnsiReplaceStr((Components[i] as TImage).Name,'Image',''))]:=(Components[i] as TImage);
end;
user image
more 17 years ago

ivan

Thx Bro ImanD, function itu sengaja saya buat untuk pencarian komponen, karena sebenarnya Array of TImage nya gak cuman satu tp ada 10 hanya sekedar untuk pengelompokan dan penggunaan sesuai kebutuhan aja. Thx bro.
user image
more 17 years ago

ImanD

@ivan sip bro, aku mo kasih masukan az, klo u/ pencarian komponen lebih mudah pke
FindComponent();
az. klo u/ Array TImage-nya lebih baik pke variable dinamis az jadi meskipun berapapun jumlahnya ga usah edit coding. {sorry bukannya aku mo menggurui, semoga ini lebih bermanfaat u/ rekan2 semua} {xixiixi padahal lg ga ada kerjaan jd posting2 az, hehehehe}
user image
more 17 years ago

ivan

Seep seep, saya baru tau ada cara yg lebih praktis lagi pake findcomponent, sekali lagi makasih deh. Mau saya coba dulu.. Thx
user image
more 17 years ago

ivan

wekekkeke ternyata lebih simple, Bodohnya diriku sampe gak tau ada function seperti ini. Coba dari dulu tau, jadi gak usah susah2 input ke array secara manual :lol: :lol: Untungnya ada komunitas seperti ini jadi kita bisa sharing Thx Sekali lagi buat bro ImanD
more ...
  • Pages:
  • 1
  • 2
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com