Форум: "Прочее";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
Вниз!!!Помогите пожалуйста!!! Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.012 c