home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #3 / amigamamagazinepolishissue1998.iso / bazy / muivideo / muitapes / arexx / groesster_platz.rexx < prev    next >
OS/2 REXX Batch file  |  1995-11-26  |  3KB  |  126 lines

  1. /*
  2.  *  groester_platz.rexx
  3.  *
  4.  *  Sucht die Cassette, auf der noch am meisten Platz ist.
  5.  *  Dazu werden sowohl die Daten aus MUIVideo, als auch
  6.  *  aus MUITapes herangezogen. Ist eine Cassette in
  7.  *  MUITapes unbekannt, so wird eine Bandlänge von 0 min
  8.  *  angenommen. Daher ist auf diesem Band nichts mehr frei.
  9.  *
  10.  *  ACHTUNG: Dieses Script nimmt an, das die Cassetten-
  11.  *           nummern dreistellig, mit führenden Nullen
  12.  *           sind! Ggf. muß das Script geändert werden.
  13.  *
  14.  *  $VER: differenz.rexx V1.0 (26.11.95)
  15.  *  Copyright by Christoph Kirsch
  16.  *
  17.  */
  18.  
  19. options results
  20.  
  21. address MUIVIDEO.1            /* MUIVideo fragen ... */
  22.  
  23. /*sleep*/
  24.  
  25. count                         /* ...Wieviele Filme in der Liste sind. */
  26. afilme = result
  27.  
  28. cmax = 0                      /* Variable für höchste Cassettennummer */
  29.  
  30. gauge 0 open                  /* Gauge auf und auf 0 */
  31.  
  32. do i=0 to afilme-1
  33.     gauge i*100/afilme
  34.     getquick i CASSETTE         /* Cassettennummer abfragen */
  35.     c = result
  36.     if c<'A' then do            /* numerisch? */
  37.         if c>cmax then cmax = c   /* Größte Cassettennummer feststellen */
  38.         end
  39. end
  40.  
  41. gauge 0                       /* Gauge wieder auf 0 */
  42.  
  43. do i=0 to cmax                /* Array für Spielzeiten initialisieren */
  44.     gauge i*100/cmax
  45.     n.i = 0
  46. end
  47.  
  48. n = 0
  49. a = 0
  50.  
  51. gauge 0                       /* Gauge wieder auf 0 */
  52.  
  53. do i=0 to afilme-1            /* Die Liste der Filme durchgehen */
  54.  
  55.     gauge i*100/afilme
  56.  
  57.     getquick i CASSETTE         /* Cassettennummer erfragen */
  58.     c = result
  59.     getquick i LAENGE           /* Filmlänge erfragen */
  60.     l = result
  61.     getquick i GESCHWINDIGKEIT  /* Bandgeschwindigkeit erfragen */
  62.     g = result
  63.  
  64.     a = strip(c,'L','0')        /* Führenden Nullen abschneiden */
  65.  
  66.     if c < 'A' then do
  67.         if g = 0 then do
  68.             n.a = n.a + l
  69.             end
  70.         else do
  71.             n.a = n.a + l/2
  72.             end
  73.         end
  74.  
  75. end
  76.  
  77. gauge 0
  78. wake
  79.  
  80. address MUITAPES.1            /* Jetzt mit Daten in MUITapes vergleichen */
  81.  
  82. maxfree  = 0
  83. freetape = 0
  84. tapelen  = 0
  85.  
  86. do i=1 to cmax
  87.  
  88.     address muivideo.1
  89.     gauge i*100/cmax
  90.     address muitapes.1
  91.  
  92.     p = length(i)
  93.     tape = overlay(i,'000',4-p)
  94.  
  95.     findtape tape               /* Ist das Band bekannt? */
  96.     x = result
  97.  
  98.     if x = "-1" then do         /* wenn noch nicht vorhanden ... */
  99.         free = 0 - n.i            /* ... von einer vollen Cassette ausgehen */
  100.         l = 0
  101.         end
  102.     else do
  103.         gototape x                /* Band auswählen */
  104.         get LAENGE                /* Bandlänge auslesen */
  105.         r = result
  106.         l = value(r)
  107.         free = l - n.i            /* und freien Platz berechnen */
  108.         end
  109.  
  110.     if free > maxfree then do   /* wenn mehr Platz als bisher */
  111.         maxfree  = free           /* Platz und Nummer merken */
  112.         freetape = i
  113.         tapelen  = l
  114.         end
  115.  
  116. end
  117.  
  118. address MUIVIDEO.1            /* MUIVideo zur Anzeige benutzen */
  119.  
  120. gauge 0 close
  121.  
  122. text = """" || 'Cassette = ' || freetape || '|Länge = ' || tapelen || '|davon frei : ' || maxfree || """"
  123.  
  124. requestnotify text
  125.  
  126.