ok here is an example, <br>(look the red letters)<br><br><br>///////////////////////////////////////////////////////////////////////////////////////<br>program drawtest;<br><br>{$mode objfpc}{$H+}<br><br>uses<br>  {$IFDEF UNIX}{$IFDEF UseCThreads}<br>
  cthreads,<br>  {$ENDIF}{$ENDIF}<br>  Classes,<br>  fpgfx,<br>  gfxbase,<br>  gui_form,<br>  math,crt,<br>  gfx_imgfmt_bmp;<br>  <br>type<br><br>  TMainForm = class(TfpgForm)<br>   public<br>  img: TfpgImage;<br>     constructor Create(AOwner: TComponent); override;<br>
    destructor  Destroy; override;<br>     procedure   HandlePaint; override;<br>      end;<br><br>Const<br><br>m=1000;<br><br>Var<br> results : array [1..m] of integer;<br>   intS : array[1..m,1..2] of integer;<br>    <br>
  <br>    i     :longint; <br>    x2,y2,l1,l2 :integer;   <br>frm: TMainForm;<br><br>{ TMainForm }<br>FUNCTION logos(c,b :integer): integer;<br>BEGIN<br>  logos:= (l1*c+(l2-l1)*b) div (l2)<br> END;<br><br>constructor TMainForm.Create(AOwner: TComponent);<br>
begin<br>  inherited Create(AOwner);<br>  WindowTitle := 'ÅëëçíéêÜ ãñÜììáôá ';<br>  SetPosition(1000, 1000, 1024, 768);<br>   Sizeable := False;<br><br>end;<br><br>destructor TMainForm.Destroy;<br>begin<br>  img.Free;<br>
  inherited Destroy;<br>end;<br>procedure MainProc;<br><br>begin<br>  fpgApplication.Initialize;<br>  frm := TMainForm.Create(nil);<br>  frm.Show;<br>  fpgApplication.Run;<br>  frm.Free; <br>end;<br>procedure TMainForm.HandlePaint;<br>
<br><br>var<br>x,R,y,u:real;<br>n,k:integer;<br>Begin<br><br>  Canvas.BeginDraw;<br>  inherited HandlePaint;<br>  Canvas.Clear(clWhite);<br>  Canvas.DrawImage(1024, 768, img);<br>l1:=1;<br>l2:=2;<br>    n:=3;<br>    R:=intpower(380,n);<br>
<br>    k:=0;<br>    u:=pi/2;<br>    For i:= 1 to n do<br>    Begin<br>        x:=power(R,(1/n))*cos(((2*k*pi+u)/n))+512;<br>        y:=power(R,(1/n))*sin(((2*k*pi+u)/n))+384;<br>        ints[i,1]:=trunc(x);<br>        ints[i,2]:=trunc(y);<br>
        k:=k+1;<br>        <br>    end;{For-loop}<br>    Canvas.SetColor(clBlack);<br>    Canvas.DrawLine(intS[1,1], intS[1,2],intS[n,1], intS[n,2]);<br>    For i:=2 to n do <br>    Canvas.DrawLine(intS[i-1,1], intS[i-1,2],ints[i,1], intS[i,2]);<br>
<br>    Canvas.EndDraw;<br>    Randomize;<br><br>    For i:=1 to m do <br>    begin<br>        results[i]:=random(n)+1;<br>    end;{For-loop}<br>X2:= 500;<br>y2:=500;<br><br>For i:=1 to m do  <b><span style="color: rgb(255, 0, 0);">// if <u>m</u> is very big (e.g 1000000) the user gets a black screen until all the points are drawn </span></b><br>
    Begin           <br>        x2:=logos(x2,intS[results[i],1]);<br>        y2:=logos(y2,intS[results[i],2]);<br>    Canvas.BeginDraw;<br>         Canvas.Pixels[x2, y2] := clblack;<span style="color: rgb(102, 0, 204);"></span><br>
    Canvas.EndDraw;<br>    end;{For-loop}<br>  <br>end;<br><br>begin<br>  MainProc;<br>end.<br>///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////<br>
<br>So <span style="color: rgb(0, 0, 0);"> is there any way to</span> show to the user the points <u>the moment</u> they are drawn ? In other words i want to make a window which draws and shows points real-time.<br><br>Is these explanation good enough ? If it isn't, i can make a more simple example.<br>
<br><br><br><br><div class="gmail_quote">2009/6/24 Graeme Geldenhuys <span dir="ltr"><<a href="mailto:graemeg@opensoft.homeip.net">graemeg@opensoft.homeip.net</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">kota kota wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Now i need some more specific information: Is there any way to show the drawing's steps(created on a Canvas) before the final image is ready?<br>
</blockquote>
<br></div>
Sorry, I do not understand? What drawings?<br>
<br>
<br>
<br>
Regards,<br>
- Graeme -<br>
<br>
________________________________________________<br>
fpGUI - a cross-platform Free Pascal GUI toolkit<div><div></div><div class="h5"><br>
<a href="http://opensoft.homeip.net/fpgui/" target="_blank">http://opensoft.homeip.net/fpgui/</a><br>
<br>
_______________________________________________<br>
fpc-pascal maillist  -  <a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank">fpc-pascal@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/mailman/listinfo/fpc-pascal" target="_blank">http://lists.freepascal.org/mailman/listinfo/fpc-pascal</a><br>
</div></div></blockquote></div><br>