Ładny brzuch
Jak towrzy i odwoywa si do bitmap o nazwie zawartej w zmiennej string (lub zmiennej innego typu).
np.
var
nazwa : string;
procedura 1
begin
nazwa:=bitmap.create;
end;
procedura 2
begin
nazwa.canwas.draw(......);
end;
Jak to zrealizowa bo to co napisaem powyej oczywicie nie moe dziaa?
Nie wiem o co chodzi, ale chyba co takiego:
procedure TForm1.Button1Click(Sender: TObject); var Bmp: TBitmap; begin Bmp := TBitmap.Create; try Bmp.LoadFromFile('nazwa pliku'); // cokolwiek z wykorzystaniem bmp finally Bmp.Free; end; end;
Jak chcerz mie bitmap w zmiennej globalnej, to przed uyciem musisz da:
Bmp := TBitmap.Create;
a jak ju ci nie bdzie potrzebnaBmp.Free;
Uytkownik lukexpert edytowa ten post 10 stycze 2006, 17:56
Jemu chyba chodzi o to, by tworzy zmienne o nazwach nieznanych przed uruchomieniem programu (np. uytkownik wpisze do Edit1 "hejej", a program tworzy bitmap w zmiennej hejej (dobrze rozumiem?). Pytanie tylko: PO CO TO? :P
Wg mnie, jeli chcesz tworzy zmienne typu TBitmap i z gry nie wiesz, ile ich bdzie, lepiej wykorzysta tablic dynamiczn, przy czym musiaby pewnie napisa procedurki dodajce now bitmap i usuwajce jak wybran (bo bitmapy trzeba tworzy konstruktorem Create i zwalnia przez Free, nie wystarczy SetLength()).
Hmm... a moze tu chodzi o FindComponent, czyli np:
TImage(Form1.FindComponent(string_z_nazwa_komponentu)).Picture.Bitmap.Canvas.Draw( );
FindComponent odpada, poniewa TBitmap to klasa a nie komponent ;D
Faktem jest, e mona nazwywa bitmapy, ale mj sposb wie si z dodatkow zmienn typu array i wcale nie uatwia ycia.
IMHO najlepiej byoby uy TPaintBox (lub TImage) i wyszukiwa komponent wg. jego nazwy tak jak o tym napisa Kajetanek.
A jeszcze atwiej uywa TImageList, ale to wie si z ograniczeniem, e bitmapy musz by tej samej wielkoci (np. kada w rozmarze 320x200 pikseli)... :P
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
np.
var
nazwa : string;
procedura 1
begin
nazwa:=bitmap.create;
end;
procedura 2
begin
nazwa.canwas.draw(......);
end;
Jak to zrealizowa bo to co napisaem powyej oczywicie nie moe dziaa?
Nie wiem o co chodzi, ale chyba co takiego:
procedure TForm1.Button1Click(Sender: TObject); var Bmp: TBitmap; begin Bmp := TBitmap.Create; try Bmp.LoadFromFile('nazwa pliku'); // cokolwiek z wykorzystaniem bmp finally Bmp.Free; end; end;
Jak chcerz mie bitmap w zmiennej globalnej, to przed uyciem musisz da:
Bmp := TBitmap.Create;
a jak ju ci nie bdzie potrzebnaBmp.Free;
Uytkownik lukexpert edytowa ten post 10 stycze 2006, 17:56
Jemu chyba chodzi o to, by tworzy zmienne o nazwach nieznanych przed uruchomieniem programu (np. uytkownik wpisze do Edit1 "hejej", a program tworzy bitmap w zmiennej hejej (dobrze rozumiem?). Pytanie tylko: PO CO TO? :P
Wg mnie, jeli chcesz tworzy zmienne typu TBitmap i z gry nie wiesz, ile ich bdzie, lepiej wykorzysta tablic dynamiczn, przy czym musiaby pewnie napisa procedurki dodajce now bitmap i usuwajce jak wybran (bo bitmapy trzeba tworzy konstruktorem Create i zwalnia przez Free, nie wystarczy SetLength()).
Hmm... a moze tu chodzi o FindComponent, czyli np:
TImage(Form1.FindComponent(string_z_nazwa_komponentu)).Picture.Bitmap.Canvas.Draw( );
FindComponent odpada, poniewa TBitmap to klasa a nie komponent ;D
Faktem jest, e mona nazwywa bitmapy, ale mj sposb wie si z dodatkow zmienn typu array i wcale nie uatwia ycia.
IMHO najlepiej byoby uy TPaintBox (lub TImage) i wyszukiwa komponent wg. jego nazwy tak jak o tym napisa Kajetanek.
A jeszcze atwiej uywa TImageList, ale to wie si z ograniczeniem, e bitmapy musz by tej samej wielkoci (np. kada w rozmarze 320x200 pikseli)... :P