home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / viewer / hf-pv204.lha / PicView20 / PicViewAddOne.lha / Rexx / MakeGuide.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1996-07-30  |  3.1 KB  |  120 lines

  1. /*********************************************************/
  2. /* MakeGuide.rexx       $VER: 1.2 (1.8.96)  for PicView  */
  3. /* (C) 1996 Maik Solf            solf@madhouse.boerde.de */
  4. /* Im collecting handdrawn pictures, contact me 2 swap   */
  5. /*********************************************************/
  6.  
  7. OPTIONS RESULTS
  8. ADDRESS 'PICVIEW.1'
  9.  
  10. /* open rexxreqtools.library */
  11. IF ~SHOW('L',"rexxreqtools.library") THEN
  12.    IF ~ADDLIB("rexxreqtools.library", 0, -30, 0) THEN
  13.       EXIT 10
  14.  
  15. /* Vars */
  16. Enter='0a'x
  17. DEnter=Enter || Enter
  18.  
  19. /* User-Options */
  20. YourName='Maik Solf'
  21. Titel=Enter || '         @{b}Pictures from' YourName || Enter || '         -----------------------@{ub}' || Enter
  22.  
  23. /* get DefDir */
  24. DefDirFilename='PICVIEW:DefDirMakeGuide'
  25.  
  26. IF OPEN(handle,DefDirFilename,'R')=0 THEN DefDir='RAM:'
  27.                                      ELSE DefDir=READLN(handle)
  28. CLOSE(handle)
  29.  
  30. /* number of pictures */
  31. getentries
  32. Number=RESULT
  33. IF Number=0 THEN DO
  34.    rtezrequest('No pictures in current catalog.' , , 'MakeGuide.rexx' )
  35.    EXIT 5
  36. END
  37.  
  38. /* get filename */
  39. Filename=rtfilerequest(DefDir, , "Select File" , , , )
  40. IF rtresult==0 THEN DO
  41.    CALL rtezrequest('You didnt pick a file.' , , 'MakeGuide.rexx' )
  42.    EXIT 20
  43. END
  44.  
  45. /* parse Filename -> DefDir + File */
  46. DirEnd=1
  47. DO i=1 TO LENGTH(Filename)
  48.    IF SUBSTR(Filename,i,1)=':' THEN DirEnd=i
  49.    IF SUBSTR(Filename,i,1)='/' THEN DirEnd=i
  50. END
  51. DefDir=SUBSTR(Filename,1,DirEnd-1)
  52.  
  53. /* store DefDir */
  54. IF OPEN(handle,DefDirFilename,'W')~=0 THEN WRITELN(handle,DefDir)
  55. CLOSE(handle)
  56.  
  57. /* open file */
  58. IF OPEN(Handle,Filename,'W')=0 THEN DO
  59.    rtezrequest('Couldnt open file.' , , 'MakeGuide.rexx' )
  60.    EXIT 20
  61. END
  62.  
  63. /* write guide-head and titel */
  64. Head='@database "Pictures"' || Enter || '@author "' || YourName || '"' || DEnter || '@node "Main" "MyPictures"'
  65. WRITELN(Handle,Head)
  66. WRITELN(Handle,Titel)
  67.  
  68. DO i=0 TO Number-1
  69. /* get names of picture */
  70.    getpicdata i data name
  71.    Centername=CENTER(RESULT,34)
  72.    line='    ' || '@{"' || Centername || '" link "' || RESULT || '" 0}'
  73.    WRITELN(Handle,line)
  74. END
  75. WRITELN(Handle,'@endnode'||Enter)
  76.  
  77. DO i=0 TO Number-1
  78. /* get data of picture */
  79.    /* no parse because Space */
  80.    getpicdata i data name
  81.    NA=RESULT
  82.    getpicdata i data path
  83.    PA=RESULT
  84.    getpicdata i data file
  85.    FI=RESULT
  86.    getpicdata i data comment
  87.    CM=RESULT
  88.    getpicdata i data modetext
  89.    MT=RESULT
  90.    /* parse possible */
  91.    getpicdata i data weekday date time width height depth size format modeid
  92.    PARSE VAR RESULT WD DA TI WI HE DP SI FM MI
  93. /* convert to output */
  94.    CALL UP_Format
  95. /* write to Guide */
  96.    Line='@node "' || NA || '" "' || NA || '"' || DEnter
  97.    WRITELN(Handle,Line||Entry||'@endnode'||Enter)
  98. END
  99.  
  100. CLOSE(handle)
  101.  
  102. IF Number=1
  103.    THEN Ende=Number 'picture saved as guide.'
  104.    ELSE Ende=Number 'pictures saved as guide.'
  105.  
  106. rtezrequest(Ende , , 'MakeGuide.rexx' )
  107.  
  108. EXIT 0
  109.  
  110. UP_Format:
  111. /* chance your output */
  112.     Entry=''
  113.     Entry=Entry || '  Name   :' NA || Enter
  114.     Entry=Entry || '  Width  :' WI || Enter
  115.     Entry=Entry || '  Height :' HE || Enter
  116.     Entry=Entry || '  Depth  :' DP || Enter
  117.     Entry=Entry || '  Size   :' SI || Enter
  118.     Entry=Entry || '  Mode   :' MT || Enter
  119. RETURN
  120.