firepg
-
Postów
5 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Odpowiedzi opublikowane przez firepg
-
-
Oto procedura:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure sierp(a,b,c,d,e,f,g,h:integer);
var
Form1: TForm1;
x1,x2,x3,x4,y1,y2,y3,y4: integer;
implementation
procedure sierp(a,b,c,d,e,f,g,h:integer);
var x1,x2,x3,x4,y1,y2,y3,y4: integer;
begin
If c-a>5 then
begin
form1.Canvas.MoveTo(a, B) ;
form1.Canvas.LineTo(c,d);
form1.Canvas.LineTo(e,f);
form1.Canvas.LineTo(g,h);
form1.Canvas.LineTo(a, B) ;
x1:=round((a+c)*1/2);
x2:=round((c+e)*1/2);
x3:=round((e+g)*1/2);
x4:=round((g+a)*1/2);
y1:=round((b+d)*1/2);
y2:=round((d+f)*1/2);
y3:=round((f+h)*1/2);
y4:=round((h+ B) *1/2);
sierp(a,b,x1,y1,c,d,x2,y2);
sierp(c,d,x2,y2,e,f,x3,y3);
sierp(e,f,x3,y3,g,h,x4,y4);
sierp(g,h,x4,y4,a,b,x1,y1);
end;
end;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
x1:=100;
x2:=400;
x3:=400;
x4:=100;
y1:=400;
y2:=400;
y3:=100;
y4:=100;
sierp(x1,y1,x2,y2,x3,y3,x4,y4);
end;
end.
Proszę o szybkie odpowiedzi, dotyczące tego problemu.
-
Pracę mam na komputerze w pracowni. Teraz piszę na laptopie.
Z tego co pamiętam to tak:
Podstawiłem do pracy 4 punkty (x1,y1)(x2,y2)(x3,y3)(x4,y4) . Podstawilem też za nie litery w procedurze (a,B)(c,d)(e,f)(g,h). Miałem napisana procedure: If c-a>5 then (tutaj zależy mi na tym, żeby nie rysowało mi takich mini kwadracików). Wtedy podstawiam funkcję canvas. Lineto i Moveto do współrzędnych a,b,c,d,e,f,g,h, w zależności od boków. Na samym końcu mam duży kwadrat, od którego wychodzimoja procedura z punktami A(100,400), B(400,400),C (400,100) i D(100,100). Dla mnie wydaje się cała procedura dobrze zrboiona, ale tak na pewno nie jest. Gdzieś jest błąd tylko, że ja go nie widzę. Prcę wstwie jutro ok. 8:00. Będę prosił o szybką odpowiedź, bo mam czas tylko do 9:40. Wtedy już muszę oddać pracę. Licze na Was, że mi pomożecie. Do jutra :thumbsup:
-
Ja już zrobiłem trójkąt pascala, trochę się w tym orientuję, ale nie mogę zrobić tego samegoz kwadratami... Rysuje mi jeden duży kwadrat, w śordku jakieś 3 linie i się program zawiesza. Wydaje się wszystko dobrze zrobione, ale coś nie chodzi :(
Pracę mam mieć na jutro. Jeżeli ktoś się orientuje w trójkącie pascala, prosiłbym o to żeby napisał podobną procedurę tylko z kwadratami. Z góry dziękuję.
-
Mam napisać procedurę, która ma rysować mi 100 kwadratów, w takim porządku jak trójkąt Pascala, tylko tutaj ma być 1 duży kwadrat i w nim mniejsze kwadraty. Ma być ich razem 100. Kompletnie nie wiem jak się do tego zabrać. Czy ktoś mi napisze gotową procedurę? Będę bardzo wdzięczny.
Delphi 7 rysowanie 100 kwadratów
w Pascal, Delphi
Opublikowano
Temat do zamknięcia. Znalazłem bład. Trzeba bylo podstawić dodatkową współrzędną S(x5,y5) - jest to środek. Po podstawieniu do danych wszystko pięknie śmiga.