Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.14;
Скачать: CL | DM;

Вниз

!!!Помогите пожалуйста!!!   Найти похожие ветки 

 
volodiya ©   (2006-12-24 18:30) [0]

Кто нибудь помогите!!Нам препод не объясняет нечего!!Но требует!!!Как нарисовать в цикле квадрат?И с помощью этого цикла узор из 9 квадратов?


 
Ученик чародея ©   (2006-12-24 18:51) [1]

Canvas

Rectangle
или
MoveTo
LineTo


 
vrem   (2006-12-24 19:14) [2]

Цикл отрисовки квадрата:
1. рисуй квадрат
2. если квадрат не дорисован, перейди к пункту 1.
3. квадрат дорисован, конец.


 
palva ©   (2006-12-24 19:33) [3]

> Нам препод не объясняет нечего!!Но требует!!!
Требуйте деньги назад. Страсбургский суд вас в беде не оставит.


 
ors_archangel ©   (2006-12-24 19:37) [4]

Может быть так:

{ Риуем 9 квадратов }
for i := 0 to 8 do begin
 l := (i div 3) * (w + 10);
 r := l + w;
 t := (i mod 3) * (h + 10);
 b := t + h;
 { Рисуем красный квадрат }
 with Canvad do begin
   for x := l to r do
   for y := t to b do
     Pixels[x,y] := clRed;
 end;
end;


 
Gydvin ©   (2006-12-24 21:17) [5]

а что, так сложно?


 
@!!ex ©   (2006-12-25 00:21) [6]


> Gydvin ©   (24.12.06 21:17) [5]

Тут же думать надо... Книжку почитать, хотя бы первые 10 страниц......

"Хорошего ученика, не может испортить самый плохой учитель" (С) Не помню кто.
Это к наезду на учителя.


 
Kostafey ©   (2006-12-25 01:24) [7]

> "Хорошего ученика, не может испортить самый плохой учитель"
> (С)

Чушь ! Экспериментально доказано обратное !


 
Real ©   (2006-12-25 01:54) [8]


> Нам препод не объясняет нечего!!Но требует


Вообще, препод объясняет только тем, кто интересуется. Лично мне - не пофиг: объяснять бревну или слущающему человеку. Поэтому когда вы делаете вид что учитесь - препод делает вид что объясняет, и правильно делает. Раз с такими вопросами пришел на форум - то наверняка даже не пробовал открывать лит-ру по программированию.


 
Полиграф Полиграфович   (2006-12-25 03:00) [9]

Если я все правильно понял то:

procedure TForm1.FormPaint(Sender: TObject);
var
 I, x, y: Integer;
begin
 x := 0;
 y := 0;
 for I := 1 to 8 do begin
   if i = 1 then
     canvas.Rectangle(0, 0, 90, 90);
   if (i mod 3) = 0 then begin
     y := y + 30;
     x := 0;
   end
   else
     x := x + 30;
   canvas.Rectangle(x, y, x + 31, y + 31);
 end;
end;


 
ors_archangel ©   (2006-12-25 04:27) [10]

Самый зациклинный пример :)

 Randomize;
 for x := 1 to w-1 do
  for y := 1 to h-1 do
   for kx := 0 to 2 do
    for ky := 0 to 2 do
     Pixels[(w+1)*kx+x,(h+1)*ky+y] := Random(1 shl 24 - 1);


 
Gydvin ©   (2006-12-25 06:56) [11]


> Полиграф Полиграфович   (25.12.06 03:00) [9]


зачем так сложно

var
 x, y, a: integer;
begin
 a := 40;
 for x := 0 to 2 do
   for y := 0 to 2 do
     canvas.Rectangle(x * a, y * a, x * a + a, y * a + a);


И вообще я так понял

procedure TForm1.Button1Click(Sender: TObject);
 procedure PaintRestangle(x, y, size: integer);
 var
   a: integer;
 begin
   with canvas do begin
     MoveTo(x, y);
     for a := 0 to 3 do begin

       case a of
         0: LineTo(x, y + size);
         1: LineTo(x + size, y + Size);
         2: LineTo(x + size, y);
         3: LineTo(x, y);
       end;
     end;
   end;
 end;
var
 x, w, h, size: integer;
begin
 repaint;
 randomize;
 size := 80;
 w := width - size;
 h := height - size;
 for x := 0 to 8 do begin
   PaintRestangle(random(w), random(h), size);
 end;
end;


:)


 
Elen ©   (2006-12-25 08:40) [12]

Всем привет!!!


> volodiya ©   (24.12.06 18:30)  
>
> Кто нибудь помогите!!Нам препод не объясняет нечего!!Но
> требует!!!Как нарисовать в цикле квадрат?И с помощью этого
> цикла узор из 9 квадратов?


Попробуй Это :


unit Unit1;

interface

uses     math,
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   ListBox1: TListBox;
   procedure Button1Click(Sender: TObject);
   procedure draw(cx,cy,BeginAngle:real; n:integer);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

//********* PROCEDURE**********
procedure TForm1.draw;
var rx,ry,x,y,angle, rang, ang:real;i:integer;
atp:array of TPoint;
begin

ang:=360/n;
angle:=(2*pi*ang)/360; rang:=angle;
SetLength(atp,n);
with form1 do begin
 //********* FOR ******************
 for  i:=0  to n  do
 begin
  rx:=(cos(angle+BeginAngle));
  ry:=(sin(angle+BeginAngle));
  atp[i].X:=round(cx+100*(rx));
  atp[i].Y:=round(cy+100*(ry));
angle:=angle+rang;
  end;
 //******* END FOR ****************
 Canvas.Polygon(atp);
end;
end;

//********* END PROCEDURE*******

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to 9 do
draw(100,100,i*2,4);
end;
end.


 
Ega23 ©   (2006-12-25 08:45) [13]


> ors_archangel ©   (24.12.06 19:37) [4]
> Полиграф Полиграфович   (25.12.06 03:00) [9]
> Gydvin ©   (25.12.06 06:56) [11]
> Elen ©   (25.12.06 08:40) [12]


Штрейкбрейкеры


 
Elen ©   (2006-12-25 08:48) [14]


> Штрейкбрейкеры

Не. Крейкгряберы. ;)


 
Тульский ©   (2006-12-25 09:15) [15]

у меня цикл круче всех:

procedure TForm1.Button1Click(Sender: TObject);
begin
 Draw(100,100,100, clGreen);
end;

procedure TForm1.Draw(const X, Y, B: Integer; const C: TColor = clBlack);
var I: Integer;
begin
 Randomize();
 for I := 0 to 100000 do
 begin
   self.Canvas.Pixels[X + Random(B), Y] := C;
   self.Canvas.Pixels[X, Y + Random(B)] := C;
   self.Canvas.Pixels[X + Random(B), Y + B] := C;
   self.Canvas.Pixels[X + B, Y + Random(B)] := C;
 end;
end;


 
Gydvin ©   (2006-12-25 09:40) [16]


> Тульский ©   (25.12.06 09:15) [15]

Точно! :0)



Страницы: 1 вся ветка

Текущий архив: 2007.01.14;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.076 c
2-1166713163
raqy.style
2006-12-21 17:59
2007.01.14
Помогите, пожалуйста, со списками.


15-1166649649
Chort
2006-12-21 00:20
2007.01.14
В чем ошибка?


6-1155810638
DesWind
2006-08-17 14:30
2007.01.14
TIdUDPserver


15-1167016780
Австралия
2006-12-25 06:19
2007.01.14
Что на заставке Google делают кенгуру ?


15-1166806523
oldman
2006-12-22 19:55
2007.01.14
Для тех, кто не любит Майкрософт...