{"id":2544,"date":"2014-12-15T11:22:33","date_gmt":"2014-12-15T11:22:33","guid":{"rendered":"https:\/\/www.mjtnet.com\/blog\/?p=2544"},"modified":"2014-12-15T19:07:30","modified_gmt":"2014-12-15T19:07:30","slug":"happy-holidays","status":"publish","type":"post","link":"https:\/\/www.mjtnet.com\/blog\/2014\/12\/15\/happy-holidays\/","title":{"rendered":"Happy Holidays"},"content":{"rendered":"<p>Just a quick note to wish all our customers and readers of this blog good tidings for this festive season. Whether you celebrate this time of the year or not, we&#8217;ll be raising a glass to all of you.<\/p>\n<p>Forum regular JRL has put together <a href=\"https:\/\/www.mjtnet.com\/forum\/viewtopic.php?f=15&#038;t=8606&#038;p=37893#p37887\">this snazzy little Macro Scheduler script<\/a>. Paste it into a new macro and hit run for some festive cheer:<\/p>\n<pre class=\"brush:macroscript\">OnEvent>key_down,VK27,0,Quit\r\nSRT>Quit\r\n  SetControlText>Sparkler,TEdit,1,Complete\r\n  WaitWindowClosed>Sparkler\r\n  Wait>1\r\n  DeleteFile>%temp_dir%Sparkler.scp\r\n  Exit>0\r\nEND>Quit\r\n\r\nDeleteFile>%temp_dir%Sparkler.scp\r\nLabelToVar>SparkleScript,vScrData\r\n\r\nDialog>Dialog1\r\nobject Dialog1: TForm\r\n  BorderStyle = bsNone\r\n  Caption = 'Happy Holidays'\r\n  ClientHeight = 330\r\n  ClientWidth = 780\r\n  Color = 111111\r\n  Position = poScreenCenter\r\n  object Panel3: TPanel\r\n    Left = 0\r\n    Top = 0\r\n    Width = 780\r\n    Height = 330\r\n    BevelEdges = []\r\n    BevelOuter = bvNone\r\n    Caption = 'And a Happy New Year'\r\n    Color = 111111\r\n    Font.Charset = ANSI_CHARSET\r\n    Font.Color = clRed\r\n    Font.Height = -80\r\n    Font.Name = 'Vladimir Script'\r\n    Font.Style = []\r\n    ParentFont = False\r\n    Visible = False\r\n  end\r\n  object Panel2: TPanel\r\n    Left = 0\r\n    Top = 0\r\n    Width = 780\r\n    Height = 330\r\n    BevelEdges = []\r\n    BevelOuter = bvNone\r\n    Caption = 'Merry Christmas'\r\n    Color = 111111\r\n    Font.Charset = ANSI_CHARSET\r\n    Font.Color = clRed\r\n    Font.Height = -96\r\n    Font.Name = 'Old English Text MT'\r\n    Font.Style = []\r\n    ParentFont = False\r\n  end\r\n  object Panel1: TPanel\r\n    Left = 0\r\n    Top = 0\r\n    Width = 780\r\n    Height = 330\r\n    BevelEdges = []\r\n    BevelOuter = bvNone\r\n    Caption = ''\r\n    Color = 111111\r\n  end\r\nend\r\nEndDialog>Dialog1\r\n\r\nShow>Dialog1\r\n\r\nExecuteFile>%temp_dir%Sparkler.scp\r\n\r\nLet>WIN_USEHANDLE=1\r\n  GetWindowPos>Dialog1.handle,Dia1X,Dia1Y\r\nLet>WIN_USEHANDLE=0\r\nAdd>Dia1Y,165\r\nLet>StartY=Dia1Y\r\nLet>YFlag=1\r\nWait>0.3\r\n\r\nLet>kk=0\r\nRepeat>kk\r\n  Add>kk,4\r\n  If>Dia1Y>{%StartY%+20}\r\n    Let>YFlag=0\r\n  EndIf\r\n  If>Dia1Y<{%StartY%-20}\r\n    Let>YFlag=1\r\n  EndIf\r\n  Add>Dia1X,4\r\n  If>YFlag=1\r\n    Add>Dia1Y,8\r\n  Else\r\n    Sub>Dia1Y,8\r\n  EndIf\r\n  Wait>0.025\r\n  If>Dia1X>40\r\n    SetControlText>Sparkler,TEdit,1,%Dia1X%;%Dia1Y%\r\n  EndIf\r\n  SetDialogProperty>Dialog1,Panel1,Left,kk\r\nUntil>kk>750\r\n\r\nTimer>Begin\r\n\r\nGetWindowPos>Sparkler,SparkX,SparkY\r\n\r\nLabel>Loop\r\nIf>{%Dia1X%<%SparkX%+150}\r\n  Add>Dia1X,1\r\nEndIf\r\nIf>Dia1Y>StartY\r\n  Sub>Dia1Y,1\r\nEndIf\r\nIf>Dia1Y<StartY\r\n  Add>Dia1Y,1\r\nEndIf\r\nSetControlText>Sparkler,TEdit,1,%Dia1X%;%Dia1Y%\r\nWait>0.01\r\nTimer>Stop\r\nIf>{%Stop%-%Begin%>5000}\r\n  GoSub>Fade\r\nEndIf\r\nGoto>Loop\r\n\r\nSRT>Fade\r\n  SetDialogProperty>Dialog1,,AlphaBlend,True\r\n  Let>Fader=255\r\n  Repeat>Fader\r\n    Sub>Fader,5\r\n    SetDialogProperty>Dialog1,,AlphaBlendValue,Fader\r\n    Wait>0.1\r\n  Until>Fader<0\r\n  Let>Fader=255\r\n  SetDialogProperty>Dialog1,Panel3,Visible,True\r\n  SetDialogProperty>Dialog1,Panel2,Visible,False\r\n  SetDialogProperty>Dialog1,,AlphaBlendValue,Fader\r\n  Wait>3\r\n  Timer>Begin\r\n  GetScreenRes>ScreenX,ScreenY\r\n  While>{%Stop%-%Begin%<10000}\r\n    Timer>Stop\r\n    Random>100,Pct\r\n    Add>pct,1\r\n    Let>Dia1X={round(%ScreenX%*(%pct%\/100))}\r\n    Random>100,Pct\r\n    Add>pct,1\r\n    Let>Dia1Y={round(%ScreenY%*(%pct%\/100))}\r\n    SetControlText>Sparkler,TEdit,1,%Dia1X%;%Dia1Y%\r\n    Sub>Fader,5\r\n    SetDialogProperty>Dialog1,,AlphaBlendValue,Fader\r\n    Wait>0.2\r\n  EndWhile\r\n  SetControlText>Sparkler,TEdit,1,Complete\r\n  WaitWindowClosed>Sparkler\r\n  Wait>1\r\n  DeleteFile>%temp_dir%Sparkler.scp\r\n  \r\n  Exit>0\r\nEND>Fade\r\n\r\n\/*\r\nSparkleScript:\r\nLet>size=200\r\n\r\nOnEvent>key_down,vk27,0,Quit\r\n\r\nSRT>Quit\r\n  Exit>0\r\nEND>Quit\r\n\r\nDialog>Dialog2\r\nobject Dialog2: TForm\r\n  BorderStyle = bsNone\r\n  Caption = 'Sparkler'\r\n  Color = 1\r\n  TransparentColor = True\r\n  TransparentColorValue = 1\r\n  object Panel1: TPanel\r\n    Left = 0\r\n    Top = 0\r\n    BevelOuter = bvNone\r\n    Caption = 'Panel1'\r\n    Color = 1\r\n    TabOrder = 0\r\n  end\r\n  object Edit1: TEdit\r\n    Text = '-1000;-1000'\r\n    Visible = False\r\n  end\r\nend\r\nEndDialog>Dialog2\r\n\r\nLet>WIN_USEHANDLE=1\r\n  MoveWindow>Dialog2.handle,-1000,-1000\r\nLet>WIN_USEHANDLE=0\r\nAddDialogHandler>Dialog2,,OnClose,Quit\r\nSetDialogProperty>Dialog2,,ClientHeight,size\r\nSetDialogProperty>Dialog2,,ClientWidth,size\r\nSetDialogProperty>Dialog2,Panel1,Height,size\r\nSetDialogProperty>Dialog2,Panel1,Width,size\r\nSetDialogProperty>Dialog2,,AlphaBlend,True\r\nSetDialogProperty>Dialog2,,AlphaBlendValue,0\r\nShow>Dialog2\r\n\r\nLet>halfSize={round(%size%\/2)}\r\nLet>85Per={round(%halfSize%*0.85)}\r\nLet>15Per={round(%halfSize%*0.15)}\r\nLet>ang2=0\r\nLet>kk=0\r\nSetDialogProperty>Dialog2,,AlphaBlendValue,255\r\nRepeat>kk\r\n  GetDialogProperty>Dialog2,Edit1,Text,vPos\r\n  If>vPos=Complete\r\n    Let>kk=-100\r\n    Goto>Done\r\n  EndIf\r\n  Separate>vPos,;,Cur\r\n  Sub>Cur_1,%halfSize%\r\n  Sub>Cur_2,%halfSize%\r\n  MoveWindow>Sparkler,Cur_1,Cur_2\r\n  Add>kk,1\r\n  Random>85Per,res\r\n  Add>res,%15Per%\r\n  Random>50,color\r\n  Add>Color,45500\r\n  Random>90,ang2\r\n  Let>ang2=%ang2%*4\r\n  GoSub>Angle,Dialog2,Panel1,ang2,%halfSize%,%halfSize%,%halfSize%,4,1\r\n  Random>90,ang3\r\n  Let>ang3=%ang3%*4\r\n  GoSub>Angle,Dialog2,Panel1,ang3,%halfSize%,%halfSize%,%halfSize%,4,1\r\n  Random>90,ang\r\n  Let>ang=%ang%*4\r\n  SetDialogProperty>Dialog2,Panel1,caption,space\r\n  GoSub>Angle,Dialog2,Panel1,ang,%halfSize%,%halfSize%,res,2,color\r\n  Label>Done\r\nUntil>kk<0\r\n\r\n\/\/Angle Usage:\r\n\/\/GoSub>Angle,Dialog,Object,Angle(in degrees),XStart,YStart,Length,PenSize,PenColor\r\n\/\/Requires Drawline subroutine\r\nSRT>Angle\r\n  Let>DegreeAngle=Angle_var_3\r\n  Let>XStart=Angle_var_4\r\n  Let>Ystart=Angle_var_5\r\n  Let>LineLength=Angle_var_6\r\n  Let>RadAngle={%DegreeAngle%*(pi\/180)}\r\n  Let>XEnd={trunc((cos(%RadAngle%))*%LineLength%)}\r\n  Let>YEnd={trunc((sin(%RadAngle%))*%LineLength%)}\r\n  Let>XEnd=%XEnd%+%XStart%\r\n  Let>YEnd=%YEnd%+%YStart%\r\n  GoSub>DrawLine,%Angle_var_1%.%Angle_var_2%.Handle,Angle_var_7,Angle_var_8,XStart,YStart,XEnd,YEnd\r\nEND>Angle\r\n\r\nSRT>DrawLine\r\n  LibFunc>user32,GetDC,HDC,%DrawLine_var_1%\r\n  LibFunc>gdi32,CreatePen,Penres,0,%DrawLine_var_2%,%DrawLine_var_3%\r\n  LibFunc>gdi32,SelectObject,SOPres,hdc,Penres\r\n  Libfunc>gdi32,MoveToEx,mtres,HDC,%DrawLine_var_4%,%DrawLine_var_5%,0\r\n  LibFunc>gdi32,LineTo,ltres,hdc,%DrawLine_var_6%,%DrawLine_var_7%\r\n  LibFunc>gdi32,DeleteObject,DOres,Penres\r\n  LibFunc>user32,ReleaseDC,RDCres,HDC_1,HDC\r\nEND>DrawLine\r\n*\/<\/pre>\n<p>Enjoy! \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Just a quick note to wish all our customers and readers of this blog good tidings for this festive season. Whether you celebrate this time of the year or not, we&#8217;ll be raising a glass to all of you. Forum regular JRL has put together this snazzy little Macro Scheduler script. Paste it into a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5,26,6],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.mjtnet.com\/blog\/wp-json\/wp\/v2\/posts\/2544"}],"collection":[{"href":"https:\/\/www.mjtnet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mjtnet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mjtnet.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mjtnet.com\/blog\/wp-json\/wp\/v2\/comments?post=2544"}],"version-history":[{"count":5,"href":"https:\/\/www.mjtnet.com\/blog\/wp-json\/wp\/v2\/posts\/2544\/revisions"}],"predecessor-version":[{"id":2548,"href":"https:\/\/www.mjtnet.com\/blog\/wp-json\/wp\/v2\/posts\/2544\/revisions\/2548"}],"wp:attachment":[{"href":"https:\/\/www.mjtnet.com\/blog\/wp-json\/wp\/v2\/media?parent=2544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mjtnet.com\/blog\/wp-json\/wp\/v2\/categories?post=2544"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mjtnet.com\/blog\/wp-json\/wp\/v2\/tags?post=2544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}