Skocz do zawartości

firepg

Użytkownicy
  • Postów

    5
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez firepg

  1. 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.

  2. 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:

  3. 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ę.

  4. 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.

×
×
  • Dodaj nową pozycję...