1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- library square;
- {$mode objfpc}
- uses
- SysUtils,JS, Web;
- Type
- TDrawSquare = record
- length,x,y : NativeInt;
- color : string;
- end;
- function draw(aCTX : TJSCanvasRenderingContext2D; aLength,aX,aY : NativeInt; aColor : String) : TDrawSquare;
- begin
- aCtx.fillStyle:=aColor;
- aCtx.fillRect(aX, aY, aLength, aLength);
- Result.length:=alength;
- Result.x:=aX;
- Result.y:=aY;
- Result.color:=aColor;
- end;
- Function randomSquare (aCTX : TJSCanvasRenderingContext2D) : TDrawSquare;
- var
- x,y,l : Integer;
- col : string;
- begin
- Col:=format('rgb(%d,%d,%d)',[Random(256),Random(256),Random(256)]);
- X:=Random(481);
- Y:=Random(320);
- L:=10+Random(9);
- Result:=Draw(aCtx,l,x,y,col);
- end;
- procedure reportArea (aLength : NativeInt; aListID : string);
- Var
- aItem,aList : TJSHTMLElement;
- begin
- aItem:=TJSHTMLElement(document.createElement('li'));
- aItem.textContent:=Format('Square area is %dpx squared.',[aLength*aLength]);
- aList:=TJSHTMLElement(document.getElementById(aListID));
- alist.appendChild(aItem);
- end;
- procedure reportPerimeter (aLength : NativeInt; aListID : string);
- Var
- aItem,aList : TJSHTMLElement;
- begin
- aItem:=TJSHTMLElement(document.createElement('li'));
- aItem.textContent:=Format('Square perimeter is %dpx.',[aLength*4]);
- aList:=TJSHTMLElement(document.getElementById(aListID));
- alist.appendChild(aItem);
- end;
- exports
- draw,
- randomSquare,
- reportArea,
- reportPerimeter;
- begin
- // Your code here
- end.
|