home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / applications / databases / databasepro / picbase / overview.rexx < prev    next >
OS/2 REXX Batch file  |  1995-07-10  |  3KB  |  154 lines

  1. /* Overview.rexx, 12.11.94 Jörg Richter */
  2.  
  3. OPTIONS RESULTS
  4.  
  5. thumbsize = 150
  6. style     = 2   /* Stil für 3D Rahmen, möglich ist 1, 2 oder 3 */
  7.  
  8. ADDRESS COMMAND
  9. 'C:Copy PicBase/Box0_' || style || '.iff PicBase/Box1_' || style || '.iff T:'
  10.  
  11. ADDRESS DataBase
  12.  
  13. GetMaskSize
  14. size = result
  15. width = WORD(size,1)
  16. height = WORD(size,2)
  17.  
  18. xoff = (width-((width%thumbsize)*thumbsize))%2
  19. yoff = (height-((height%thumbsize)*thumbsize))%2
  20.  
  21. doit = 1
  22.  
  23. DO FOREVER
  24.   IF doit = 1 THEN DO
  25.     Current
  26.     nr = result
  27.     CALL Overview
  28.     END
  29.   ADDRESS COMMAND "PicBase/PicControl"
  30.   command = RC
  31.   IF ((command > 2) & (command < 6)) THEN DO
  32.     qual = command
  33.     WaitCommand "Wählen Sie das Bild mit der Maus aus ..."
  34.     command = result
  35.   END
  36.   doit = 1
  37.   IF WORDS(command) > 1 THEN DO
  38.     mx = WORD(command,1)
  39.     my = WORD(command,2)
  40.     Current
  41.     ds = result
  42.     last = ds
  43.     select = nr + (mx-xoff)%thumbsize + ((my-yoff)%thumbsize)*(width%thumbsize)
  44.     Display Off
  45.     DO WHILE ds > select
  46.       LeftOne
  47.       ds = ds - 1
  48.     END
  49.     Display On
  50.     IF qual = 3 THEN DO
  51.       Show NEW
  52.       EXIT
  53.       END
  54.     ELSE DO
  55.       IF qual = 5 THEN DO
  56.         Mark
  57.         CALL ShowPicture ((mx-xoff)%thumbsize)*thumbsize+xoff ((my-yoff)%thumbsize)*thumbsize+yoff
  58.         END
  59.       ELSE
  60.         Execute 1
  61.       Display Off
  62.       DO WHILE ds < last
  63.         RightOne
  64.         ds = ds + 1
  65.       END
  66.       Display On
  67.       doit = 0
  68.       END
  69.     END
  70.   ELSE DO
  71.     IF command = 6 THEN DO
  72.       Display Off
  73.       Current
  74.       ds = result
  75.       DO WHILE ds > nr
  76.         LeftOne
  77.         ds = ds - 1
  78.       END
  79.       Display On
  80.       Show NEW
  81.       EXIT
  82.       END
  83.     IF command = 2 THEN DO
  84.       Display Off
  85.       Current
  86.       ds = result
  87.       nr = nr - (width%thumbsize)*(height%thumbsize)
  88.       IF nr < 1 THEN nr = 1
  89.       DO WHILE ds > nr
  90.         LeftOne
  91.         ds = ds - 1
  92.       END
  93.       Display On
  94.       END
  95.     END
  96. END
  97.  
  98. EXIT
  99.  
  100.  
  101. ShowPicture:
  102.  
  103. ARG xx yy .
  104.  
  105. GetData $F4
  106. name = result
  107. IsMarked
  108. IF RC = 5 THEN
  109.   LoadPic "T:box0_" || style || ".iff" xx yy
  110. ELSE
  111.   LoadPic "T:box1_" || style || ".iff" xx yy
  112. LoadPic name xx yy CENTER
  113. Current
  114. Text xx+4 yy+thumbsize-5 1 result
  115. /*
  116.   Statt einfach der Datensatznummer könnte auch der Bildname angezeigt werden:
  117.  
  118.   pos = LastPos("/",name)
  119.   Text xx+4 yy+thumbsize-5 1 SubStr(name,pos+1,Length(name)-pos)
  120. */
  121. RETURN
  122.  
  123.  
  124. Overview:
  125.  
  126. ClearMask
  127. Display Off
  128. x = xoff
  129. y = yoff
  130.  
  131. weiter = 1
  132.  
  133. DO WHILE weiter = 1
  134.  
  135.   CALL ShowPicture x y
  136.   x = x + thumbsize
  137.   IF x > width-thumbsize THEN DO
  138.     IF y < height-(thumbsize*2) THEN DO
  139.       x = xoff
  140.       y = y + thumbsize
  141.       END
  142.     ELSE
  143.       weiter = 0
  144.     END
  145.   RightOne
  146.   IF RC ~= 0 THEN
  147.     weiter = 0
  148.  
  149. END
  150.  
  151. Display On
  152.  
  153. RETURN
  154.