program htmllinkdemo; {$mode objfpc} uses JS, Classes, SysUtils, Web, p2jsres; {$R left.png} {$R right.png} {$R up.png} {$R down.png} Const MaxImages = 4; ImageResources : Array[1..MaxImages] of string = ('up','right','down','left'); Var Img : TJSHTMLImageElement; CurrentImage: Integer = 1; Procedure ShowCurrentImage; Var aInfo : TResourceInfo; begin if not GetResourceInfo(ImageResources[CurrentImage],aInfo) then Writeln('No info for image ',ImageResources[CurrentImage]) else Img.Src:='data:'+aInfo.format+';base64,'+aInfo.Data; end; function RotateImage(aEvent: TJSMouseEvent): boolean; begin Inc(CurrentImage); if CurrentImage>MaxImages then CurrentImage:=1; ShowCurrentImage; end; begin SetResourceSource(rsHTML); Img:=TJSHTMLImageElement(Document.GetElementByID('theimage')); Img.OnClick:=@RotateImage; ShowCurrentImage; end.