Programujeme v Delphi: Procedúry a grafika

Lukáš Kuzmiak  /  22. 07. 2003, 00:00

Takže týždeň prešiel ako voda a programovanie v Delphi je tu znova! Dnes si povieme niečo o vlastných funkciách, procedúrach a Grafike. Ako prvé si povieme aký je medzi nimi rozdiel.

Funkcia: zadáme určité hodnoty a funkcia nám nejakú vráti. Procedúra len niečo vykoná (nevracia nám žiadnu hodnotu). Najskôr teda funkcie, ukážeme si príklad funkcie na násobenie (aj keď nám bude asi na nič, lebo je veľmi jednoduchá, ale predsa):

function násobenie(x,y:integer):integer;
begin
Result := x * y;
end;

Vyvoláme ju napr. stlačením tlačidla Button a výsledok umiestnime do komponentu Edit:

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := IntToStr(nasobenie(2,8));
end;

Teraz tie procedúry. Procedúrou je napr. aj samotné stlačenie tlačidla Button všimnite si zápis:

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

Ukážeme si zase jednoduchý príklad (vloží do komponentu Edit určenú textovú hodnotu):

procedure napis(edit:TEdit; text:string);
begin
edit.text := text;
end;

Na formulár vložíme komponenty Edit a Button. Obsluha buttonu:

procedure TForm1.Button1Click(Sender: TObject);
begin
napis(Edit1,'blablabla');
end;

Ďalej si ukážeme prácu s grafikou. Na začiatok len jednoduchá grafika (obrázky a ich nastavenie v prostredí Delphi). Obrázok vložíme na formulár pomocou komponentu Image (záložka Additional). Pomocou vlastnosti Picture do neho načítame obrázok. Na začiatok si ukážeme veľmi jednoduché prekonvertovanie bitmapy na formát JPEG. Takže si zadefinujeme globálne premenné (to sú tie pre celú aplikáciu - na začiatok pod slovíčko var) a budú to:

bmp:TBitmap
jpg:TJpegImage

pozn. Na začiatku súboru (Unit) nájdeme slovíčko uses a za ním radu súborov napr. Windows, SysUtils ..... atď to sú súbory, ktoré sa pridajú k projektu (v každom z nich sú definované určité funkcie) a ak chceme využť typ premennej TJpegImage musíme dopísať k tejto rade aj súbor jpeg. Bez tohoto dopísania nám projekt nebude fungovať !!!!!

Vložíme na formulár tieto komponenty: 2x Button, Image, OpenDialog, SaveDialog. Obsluha Buttonu1:

procedure TForm1.Button1Click(Sender: TObject);
begin
bmp := TBitmap.Create;
if OpenDialog1.Execute then begin
bmp.LoadFromFile(OpenDialog1.FileName);
Image1.Picture.Bitmap := bmp;
end;
bmp.Free;
end;

Obsluha Buttonu2 potom bude:

procedure TForm1.Button1Click(Sender: TObject);
begin
jpg := TJpegImage.Create;
jpg.Assign(bmp);
if SaveDialog1.Execute then jpg.SaveToFile(SaveDialog1.FileName);
jpg.Free;
end;

Samozrejme, že OpenDialog a SaveDialog treba nastaviť tak aby fungovali logicky správne teda: Filtre nastavte OpenDialogu na *.bmp a SaveDialogu na *.jpg. Môžete nastaviť aj nejaké vlastnosti v Options. Myslím, že dnešná časť bola celkom jednoduchá, ale ak niečomu nerozumiete tu je môj Unit1.pas alebo mi napíšte na e-mail delphi@inet.sk. To by bolo na dnes všetko, viem, že je toho menej než obvykle, ale myslím, že to dnes bolo aj zložitejšie, než obvykle.

Takže opäť o týždeň!!
-LuKaSh_88-

Neprehliadnite: