! SlideShow.DLG - Program to create a server independent slide show based of the JPG files
!		  in a folder.
!                R Lucas   060711
!                Execution:  WinFICS SlideShow.dlg


DECLARE 
        _FLG     = %N1
        _seltxt  = %A26
        _UNC     = %A80
        _PATH    = %A80
        _msgtxt  = %A30
        _ttl     = %A60
        _JPG(1000) (_j) = %A40
;

ARRAY _SelT   (_CTL) = "TEXT" "Select the folder containing your JPGs:"   5  14 125  10 _FLG ;

ARRAY _Fld    (_CTL) = "EDIT" _UNC                                      132  13 160  10 _FLG ;

ARRAY _SelN   (_CTL) = "TEXT" "Enter the title for your slide show:"      5  34 125  10 _FLG ;

ARRAY _Nam    (_CTL) = "EDIT" _ttl                                      132  33 160  10 _FLG ;

ARRAY _MExit  (_CTL) = "PUSH" "&Exit"                                   142  55  40  15 _EXT ;

ARRAY _Go     (_CTL) = "PUSH" "&Create the slide show"                   20  55 100  15 _EXT ;

ARRAY _msg    (_CTL) = "TEXT" _msgtxt                                   205  57 155  15 _FLG ;

ARRAY _jpg    (_CTL) = "LISTBOX" "_JPG"                                 205  68   1   1 _FLG ;

ARRAY _SLIDESH (_DLG) = "Create a slide show for your JPGs"
                        "_SlidePr"
                        40 40 300  80 0
                        _SelT
                        _Fld
                        _SelN
                        _Nam
                        _Go
                        _MExit
                        _msg
                        _jpg
;

MACRO: _SlidePr

   ARRAY GET_UNC = _PATH _UNC ;

   IF _CLICK_ = "Initialize" THEN
       IF _UNC = _BLANK_ THEN
          FUNCTION = GET_UNC
          _UNC = _PATH
       ENDIF
   ELSEIF _CLKLBL_ = "_Go" THEN
      _msgtxt = "Working..."
      DISPLAY = _msg
      MACRO = _MAKESHO
   ELSEIF _CLKLBL_ = "_MExit" THEN
      STOP
   ENDIF

MACRO: _MAKESHO

!   MESSAGE = "In _MAKESHO"
   
   ARRAY GET_DIR = _PATH "_jpg" "   " "FILES" ;
   
   DECLARE _STRING = %A180 _Zj = ZZZZ _filnam = %A100 _DQ_ = """ _Home = %A80 ;
   
   SET_DIR = _UNC
   
   _filnam = _ttl // ".htm"
   SQUEEZE = _filnam
   _Home = SQUEEZE
!   MESSAGE = SQUEEZE
!   STOP
   OPEN (1,LIST) = SQUEEZE
   _STRING = "<center><h2>View: <a href=frame0001.htm>" // _ttl // "</a></h2></center>"
   WRITE (1,TRIM) = _STRING
   CLOSE (1)
   
   _STRING = _UNC // "\*.jpg"
   SQUEEZE = _STRING
   
   _PATH = SQUEEZE
!   MESSAGE = _PATH
   FUNCTION = GET_DIR
   
   DO 10 OVER _JPG
      IF _JPG = _BLANK_ THEN
         IF _j = 1 THEN EXIT 10 ;
         _j = _j - 1
         _STRING = _JPG
         OPEN (1,LIST) = _filnam
         _filnam = _ttl // ".htm"
         SQUEEZE = _filnam
         _STRING = "<head><meta http-equiv=" // _DQ_ // "refresh" // _DQ_ // "content=" // 
         _DQ_ // "3;url=" // SQUEEZE // _DQ_ // "></head>"
         WRITE (1,TRIM) = _STRING
         _Zj = _j
         _STRING = "<center><img src=" // _JPG // "></center>"
         WRITE (1,TRIM) = _STRING
         _STRING = "<HR><a href=" // _DQ_ // _Home // _DQ_ // ">Stop the slideshow</a><p>"
         WRITE (1,TRIM) = _STRING
         _STRING = "<ADDRESS><address><A HREF=" // _DQ_ // "mailto:randy@lucasco.info" // _DQ_ // ">Randy Lucas &lt;randy@lucasco.info&gt;</a></address></ADDRESS><l><font size=-2>LAST UPDATED:</l> <B>July 11, 2006</B></font>"
         WRITE (1,TRIM) = _STRING
         CLOSE (1)
         EXIT 10
      ENDIF
      _STRING = _JPG
      _Zj = _j
      _filnam = "Frame" // _Zj // ".htm"
      _Zj = _j + 1
      OPEN (1,LIST) = _filnam
      _STRING = "<head><meta http-equiv=" // _DQ_ // "refresh" // _DQ_ // "content=" // 
      _DQ_ // "3;url=frame" // _Zj // ".htm" // _DQ_ // "></head>"
      		
!      MESSAGE = _STRING
!      STOP
      
      WRITE (1,TRIM) = _STRING
      _Zj = _j
      _STRING = "<center><img src=" // _JPG // "></center>"
      WRITE (1,TRIM) = _STRING
      _STRING = "<HR><a href=" // _DQ_ // _Home // _DQ_ // ">Stop the slideshow</a><p>"
      WRITE (1,TRIM) = _STRING
      _STRING = "<ADDRESS><address><A HREF=" // _DQ_ // "mailto:randy@lucasco.info" // _DQ_ // ">Randy Lucas &lt;randy@lucasco.info&gt;</a></address></ADDRESS><l><font size=-2>LAST UPDATED:</l> <B>July 11, 2006</B></font>"
      WRITE (1,TRIM) = _STRING
      CLOSE (1)
!      MESSAGE = _STRING
   END 10
      
   _msgtxt = "Your Slide Show is ready!"
   DISPLAY = _msg
  
FINISH
