All pastes #1664232 Raw Edit

Untitled

public text v1 · immutable
#1664232 ·published 2009-11-10 00:11 UTC
rendered paste body
; -----------------------
on 1:dialog:ModuleWin:sclick:8: {
  var %smodule = $did(ModuleWin,3).seltext
  var %depends = $right( $+ $read(modules\ $+ %smodule $+ .mrc,4),-2)
  if (%depends == 0) {
    .unload -rs modules\ $+ %smodule $+ .mrc
    var %curtotal = $did(ModuleWin,3).lines
    var %curline = 1
    while (%curline <= %curtotal) {
      if (%smodule == $did(ModuleWin,3, $+ %curline $+ ).text) {
        did -d ModuleWin 3 %curline
        break
      }
      inc %curline
    }
    did -b ModuleWin 8
  }
  else {
    var %meetsdep = 1
    var %totaldeps = $numtok( $+ %depends $+ ,32)
    var %totalscripts = $script(0)
    var %curdep = 1
    var %curscript
    var %deptext
    var %depchunk
    var %scripttext
    while (%curdep <= %totaldeps) {
      %curscript = 1
      %deptext = $gettok( $+ %depends $+ , $+ %curdep $+ ,32)
      %depchunk = 1
      while (%curscript <= %totalscripts) {
        %scripttext = $left( $+ $nopath( $+ $script( $+ %curscript $+ )),-4)
        if (%deptext == %scripttext) { %depchunk = 0 }
        inc %curscript
      }
      if (%depchunk == 0) {
        %meetsdep = 0
        break
      }
      inc %curdep
    }
    if (%meetsdep == 1) {
      .unload -rs modules\ $+ %smodule $+ .mrc
      var %curtotal = $did(ModuleWin,3).lines
      var %curline = 1
      while (%curline <= %curtotal) {
        if (%smodule == $did(ModuleWin,3, $+ %curline $+ ).text) {
          did -d ModuleWin 3 %curline
          break
        }
        inc %curline
      }
      did -b ModuleWin 8
    }
    else {
      msgbox The following modules still need %smodule $+ : %depends
      did -b ModuleWin 8
    }
  }
}