| | |
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
Autor | Správa |
---|
Registrovaný: 28.11.12 Prihlásený: 25.01.13 Príspevky: 6 Témy: 3 |
Chcela by som vas poziadat, 31.01 mam posledny termin skusky, programujem vo velkom ale vela veci mi nie je jasnych, nechcem aby mi tu niekto za mna robil ulohy to nie ale budem rada ak ma niekto usmerni alebo ak je tu niekto ochotny ma doucit za financnu odmenu z BA budem velmi rada, mne sa nepodarilo zatial nikoho najst a velmi mi na tej skuske zalezi, chcela by som pomôct na dnes s touto vecou...
mam toto:
Do formulára vložte tlačidlo, ktorému zmeňte popis na "Pyramída". Napíšte program, ktorý zabezpečí, aby sa pri jeho stlačení zmazala grafická plocha a náhodnou farbou sa nakreslila pyramída. Výška jedného stupňa pyramídy je 20 a šírka najmenšieho stupňa je tiež 20. Každý ďalší stupeň je o 40 väčší. Počet stupňov zadajte do Edit.
procedure TForm1.Button2Click(Sender: TObject); var i,x,y,a:Integer; begin for i:=0 to a do begin a:=StrToIntDef(Edit1.Text,10); x:=Image1.Width; y:=0; Image1.Canvas.Rectangle(x+20+i*a,y+20+i*a,x+20+(i+1)*a,y+20+(i+1)*a); y:=y+40; end;
end;
Ja viem ze mam nieco zle, ale chcem vediet co, ja sa s tym neskutocne trapim, Prosim vas, pomôzte mi.
|
|
Registrovaný: 06.04.10 Prihlásený: 18.02.14 Príspevky: 47 Témy: 2 |
Form obsahuje Image1 (velkost[200,200]), Edit1 a Button1. Maximalna velkost pyramidy je 4 (vysvetlene v kode). Polygon je n-uholnik. Takze napiseme vrchlovy a on ich pospaja (v nasom pripade A,B,C kde C je vrchol). Kód: const velkost = 20; var Form1: TForm1; farba: TColor; sirka,vyska,stupne: Byte;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin Randomize; // prekreslime kresliacu plochu Image1.Picture := nil; // vygenerujeme farbu pre pyramidu farba := RGB(Random(255),Random(255),Random(255)); sirka := Image1.Width; vyska := Image1.Height; stupne := StrToInt(Edit1.Text); // nastavime farbu stetca Image1.Canvas.Brush.Color := farba; // velkost pyramidy bude o 1 do max. 4 (velkost image1 = 200) -> 20 + "4"*40 = 180; 5 uz je vela! if ((stupne >= 1) and (stupne < Trunc((Image1.Height)/40))) then Image1.Canvas.Polygon([ Point(Trunc(sirka/2) - Trunc(velkost/2) - (stupne-1)*velkost,sirka), Point(Trunc(sirka/2) + Trunc(velkost/2) + (stupne-1)*velkost,sirka), Point(Trunc(sirka/2),vyska - velkost-(stupne-1)*40)]) else begin ShowMessage('zle parametre'); Image1.Picture := nil; end; end;
|
|
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|