Arsip: array dinamis

 
user image
more 14 years ago

tamara

master delphi, saya ingin menanyakan tentang arraydinamis pada gambar. algoritmanya berikut : var x,y : integer; kata : array of TImage; begin y := 1; setlength(kata,y); for x := 0 to y-1 do begin kata[x] := TImage.create(self); kata[x].Parent := Form1; kata[x].Left := y*Image1.Picture.Width; kata[x].Top := 63; kata[x].Visible := true; kata[x].Picture := Image1.Picture; if (Key = 'A') then ImageAplikasi.Picture.LoadFromFile('D:\huruf\A.bmp') else if (Key = 'B') then ImageAplikasi.Picture.LoadFromFile('D:\huruf\B.bmp') end; end; Permasalahan itu ketika di-run dan saya mengetikan huruf kedua pada editbox, posisinya bertukar dengan gambar huruf pertama. Jadi ketika saya mengetik A maka huruf A langsung keluar dan ketika saya mengetik huruf B, posisi A berganti ke kanan dan posisi B berada pada posisi A. apa ada yang salah pada program saya? Mohon bantuannya. Terima kasih.
user image
more 14 years ago

heriy4nt0

//geser seluruh image ke kanan
procedure ReLocatePicture;
var i:integer;
begin
    for i:=0 to componentcount -1 do
    begin
         if (components[i] is Timage) then
            with components[i] as Timage do
            begin
                 if top = 63 then left :=left + width;
            end;
    end;
end;
procedure ...keypress(..atau event lain);
var t:timage;      
begin
   RelocatePicture; //geser image ke kanan seluruhnya
   t:=timage.create(self);
   if key='A' then  t.picture.loadfromfile('your file')
   else if key = 'B'....then ..   
   else if key = 'C'...then...
   else if ........................
   t.top:=63;
   t.left:=25;
   t.parent:=self;
end;
catatan : posisi image berada pada 25 (default t.left=25 : kamu bisa ubah), width image untuk semua image adalah sama; tidak perlu menggunakan array dynamis selama tipe object VCL.
user image
more 14 years ago

tamara

kak heriy4nto masih eror, pada procedure ReLocatePicture; componentcount-nya dan component-nya undeclared.. apa perlu diinialisasi di atasnya? mjd variabel global? Mohon bantuannya lagi kak. Terima kasih.
user image
more 14 years ago

heriy4nt0

tempatkan procedure RelocatePicture di bagian private; kemudian tekan keyboard Ctrl+Shift+C untuk membuat procedure tsb otomatis ada dibagian implementasi,
type
       TForm1 = class(TForm)
       private
           procedure ReLocatePicture;
       public
       end;
selanjutnya pindahkan coding ke procedure tsb.
procedure TForm1.ReLocatePicture; 
var .............
begin
    ............pindahkan code tersebut ke dalam procedure ini
end;
user image
more 14 years ago

tamara

Kak heriy4nto terima kasih karena sudah programnya sudah jalan. Kak, gambar yang saya tampilkan itu kan berupa gambar huruf jadi ketika saya mengetikan 'HALO', hurufnya tidak tersusun dengan semestinya tapi jadi terbalik karena menggeser ke kanan 'OLAH' (jadi seperti ini kak). Apa bisa kita ubah agar gambar hurufnya tidak menggeser kekanan tapi image1 berada disamping image ke2 sehingga gambar hurufnya dapat tersusun rapi. Mohon bantuannya lagi kak, Terima kasih.
user image
more 14 years ago

tamara

salah kak, maksudnya image ke 2 berada disebelah kanan image1, dan begitu juga dengan image3 berada disebelah kanan image2. Terima kasih.
user image
more 14 years ago

heriy4nt0

hehe..kebalik ya, kalo gitu kan lebih mudah lagi, ga perlu procedure RealocatePicture itu, hanya perlu disimpan koordinat terakhir image ke variabel global, kirain kekanan gesernya :D

   TForm1 = class(TForm)
    private
       FLastposisi:integer;//global var menyimpan posisi terakhir image
    end;
procedure ...event FormCreate
-> FLastposisi :=23; //set last posisi ke koordinat awal image
procedure ...keypress(..atau event lain);
var t:timage;     
begin
   // RelocatePicture; <==delete this line
   ......
   t.top:=63;
   t.left:=FLastposisi; //<==change here
   FLastposisi:=FLastposisi + t.width; //<===change here
   t.parent:=self;
end; 
cat : width seluruh image sama.
user image
more 14 years ago

tamara

Kak heriy4nto sudah jalan dengan benar terima kasih banyak ya kak.. :lol: nggak bisa berhenti senyum nih. Kak, gambar saya itu kan sizenya w=150 dan h=130 tapi kenapa masih kepotong ya gambarnya? padahal semua huruf dari a-z sudah saya samakan ukurannya loh. Jadi pada waktu muncul huruf a apalagi huruf w terpotong sedikit, pengaruh apanya ya kak? Mohon bantuannya lagi kak, Terima kasih banyak. :wink:
more ...
  • Pages:
  • 1
Share to

Random Topic

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