Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.015 c
15-1166634448
Pit_q
2006-12-20 20:07
2007.01.14
Настольый теннис


15-1166716954
kaZaNoVa
2006-12-21 19:02
2007.01.14
Всем Привет)


2-1167126420
algol
2006-12-26 12:47
2007.01.14
банки SF2


2-1166697948
VitV
2006-12-21 13:45
2007.01.14
Проблема с процедурой


3-1161844347
Alexey123
2006-10-26 10:32
2007.01.14
Скроллинги в DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский