Quick Mail Sender '98 — File Browser

QuickMailSender98v0.98 / QuickMailSender98v0.98 / QMS9802.mrc

QMS9802.mrc — 7.55 KB — Download this file

;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;Quick Mail Sender© '98 by Cromlech (c) 1998
;File 02 of 02

;~~REQUIREMENTS~~
;*WARNING: This will NOT look properly on a 640x400 display, Only on a 800x640 or higher pixels.
;Font "Courier New", comes with win95, will look VERY sloppy without this--trust me.


;for any questions, comments, etc... please e-mail me kritikal@hotmail.com
;Please read the README file before asking any questions and please refer to it first.

;Quick Mail Sender '98 is a trademark of ill-Soul Inc. 
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

on 1:load: {
  if ($q.ver == $null) {
    q.alert missing loaded file "QMS98.MRC"
    unload -rs $script
    halt
  }
}

on 1:start: {
  if ($q.ver == $null) {
    q.alert missing loaded file "QMS9802.MRC" 
    unload -rs $script
  }
  else {
    return
  }
}

alias q.lcheck {
  if ($window(@Server) != $null) {
    q.error Conflict error with @Server, please type in a server first.
  }
  %var.q-lst.1 = $findfile($mircdir,postoffices.lst,0)
  if (%var.q-lst.1 < 1) {
    q.error File "postoffices.lst" could not be found in $mircdir 
  }
  else {
    %var.q-lst.3 = $findfile($mircdir,postoffices.lst,1)
    if ($1 == $null) {
      q.list
    }
    elseif ($1 == -p) {
      q.pick
    }
    elseif ($1 == -c) {
      q.lst-close $2
    }
    elseif ($1 == -l) {
      q.lst $2
    }
    else {
      q.error Unknown switch "q.lcheck $1 $+ "
    }
  }
}

alias q.list {
  window -lt +f @q.list 144 153 328 24
  window -pt +b @q.lst-delete 144 177 78 17
  window -pt +b @q.lst-add 222 177 78 17
  window -pt +b @q.lst-close 300 177 78 17
  drawfill @q.lst-close 0 0 0 0
  drawtext -o @q.lst-close 5 courier new 10 0 C
  drawtext -o @q.lst-close 5 courier new 22 0 L
  drawtext -o @q.lst-close 5 courier new 34 0 O
  drawtext -o @q.lst-close 5 courier new 46 0 S
  drawtext -o @q.lst-close 5 courier new 58 0 E
  window -pt +s @q.lst-close 300 177 78 17
  drawfill @q.lst-close 0 0 0 0
  drawtext -o @q.lst-add 2 courier new 22 0 A
  drawtext -o @q.lst-add 2 courier new 34 0 D
  drawtext -o @q.lst-add 2 courier new 46 0 D
  window -pt +b @q.lst-add 222 177 78 17
  drawfill @q.lst-delete 1 1 0 0
  drawtext -o @q.lst-delete 0 courier new 0 0 D
  drawtext -o @q.lst-delete 0 courier new 12 0 E
  drawtext -o @q.lst-delete 0 courier new 24 0 L
  drawtext -o @q.lst-delete 0 courier new 36 0 E
  drawtext -o @q.lst-delete 0 courier new 48 0 T
  drawtext -o @q.lst-delete 0 courier new 60 0 E
  window -pt +b @q.lst-delete 144 177 78 17
  %var.q-lst.3 = $findfile($mircdir,postoffices.lst,1)
  :start
  inc %var.q-lst.2 1
  if (%var.q-lst.2 > $lines(%var.q-lst.3)) {
    unset %var.q-lst*
    halt
  }
  else {
    %var.q-lst.4 = $read -l $+ %var.q-lst.2 %var.q-lst.3
    aline @q.list $gettok(%var.q-lst.4,1,59)
    goto start
  }
}

alias q.pick {
  if (%var.q-lst.5 == $null) {
    halt
  }
  else {
    %var.q-lst.6 = $read -l $+ %var.q-lst.5 %var.q-lst.3
    %var.q-lst.8 = $gettok(%var.q-lst.6,2,59)
    %var.q-lst.7 = $calc(40 - $len(%var.q-lst.8))
    rline @Q.SEND 9 SERVER $str($chr(160),2) $+ : $+ %var.q-lst.8 $+ $str($chr(160),%var.q-lst.7) : $+ 12 $+ X $+  $str($chr(160),3) 12CLEAR 12LIST
    q.lst-close
    halt
  }
}

alias q.lst {
  if ($1 == -d) {
    if ($sline(@Q.list,0) == 0) {
      q.error please select a server to delete first.
    }
    else {
      write -dl $+ $sline(@Q.list,1).ln %var.q-lst.3
      q.lcheck -c -r
    }
  }
  if ($1 == -a) {
    %var.q-lst-1 = $$?="Enter Server's Name"
    %var.q-lst-2 = $$?="Enter Description"
    if ($len(%var.q-lst-1) > 40) {   
      unset %var.q-lst*
      q.error too many chars
    }
    else {
      write %var.q-lst.3 %var.q-lst-2 $+ $chr(59) $+ %var.q-lst-1
      q.lcheck -c -r
    }
  }
  else {
    unset %var.q-lst*
    halt
  } 
}

alias q.lst-close {
  window -c @Q.list
  window -c @q.lst-delete
  window -c @q.lst-close 
  window -c @q.lst-add
  if ($1 == -r) {
    q.list
  }
  else {
    unset %var.q-lst*
    halt
  }
}

alias qsearch {
  run -n command.com /c dir $left($mircdir,1) $+ :\*.bmp /s/b/a >> $mircdirqsearch.qms 
  .timer0 1 4 q.find
}

alias q.find {
  %var.qsm-f1 = 0
  %var.qsm-f2 = $mircdirqsearch.qms
  %var.qsm-f3 = $lines(%var.qsm-f2)
  :start
  inc %var.qsm-f1 1
  if (%var.qsm-f1 > %var.qsm-f3) {
    unset %var.qsm-f*
    .remove $mircdirqsearch.qms
    q.error Unable to locate splash file, please unzip this file. (*.bmp)
  }
  else {
    %var.qsm-f5 = $read -l $+ %var.qsm-f1 $mircdirqsearch.qms
    %var.qsm-f4 = $read -l1 %var.qsm-f5
    if (%var.qsm-f4 == BMÆc) {
      window -pt +f @Q.SPLASH 236 74 300 300 
      drawpic -c @Q.SPLASH 0 0 %var.qsm-f5 
      echo -s Splash file found " $+ %var.qsm-f5 $+ "
      echo -s Relocating Splash File to " $+ $mircdir $+ "
      .timer0 -o 1 5 window -c @Q.SPLASH
      .copy %var.qsm-f5 $mircdir
      .remove $mircdirqsearch.qms
      unset %var.qsm-f*
      halt
    }
    else {
      goto start
    }
  }
}

alias q.import {
  clear @Q.WRITE
  %var.qsm-1 = $dir="Load a *.qsm or *.txt file." $mircdir
  if (%var.qsm-1 == $null) { 
    unset %var.qsm-*
    halt
  }
  if (($right(%var.qsm-1,3) != qsm) && ($right(%var.qsm-1,3) != txt)) {
    q.error Invalid file type (*.qsm,*.txt only)
  }
  else {
    %var.qsm-2 = 0
    :start
    inc %var.qsm-2 1
    %var.qsm-3 = $read -l $+ %var.qsm-2 %var.qsm-1
    if (%var.qsm-3 == $null) {
      if (%var.qsm-2 > $lines(%var.qsm-1)) { 
        window -t +f @Complete 163 136 338 108 courier new 14
        aline -p @Complete Imported file $nopath(%var.qsm-3) Completed
        .timer0 -o 1 4 window -c @Complete
        unset %var.qsm-*
        halt
      }
      elseif (%var.qsm-2 <= $lines(%var.qsm-1)) {
        aline -p @Q.WRITE $chr(160)
        goto start
      }
    }
    elseif (%var.qsm-3 != $null) { 
      aline -p @Q.WRITE %var.qsm-3
      goto start
    }
  }
}

alias q.wrap {
  
  if (($chr(32) !isin $1-) && ($len($1-) > 95)) {
    :chr32
    inc %var.q.wrap.1 95
    %var.q.wrap.2 = $left($1-,%var.q.wrap.1)
    if (%var.q.wrap.1 > $len($1-)) {
      %var.q.wrap.3 = $right(%var.q.wrap.2,$calc(%var.q.wrap.1 - $len($1-)))
      unset %var.q.wrap.*
      halt
    }
    else {
      aline @Q.WRITE %var.q.wrap.2
      goto chr32
    }
  }  
  
  :start
  inc %var.q.wrap.1 1
  %var.q.wrap.3 = $gettok($1-,%var.q.wrap.1,32)
  
  if (%var.q.wrap.3 == $null) {
    aline @Q.WRITE %var.q.wrap.4 
    unset %var.q.wrap.*
    halt
  }
  
  if (%var.q.wrap.4 == $null) {
    %var.q.wrap.4 = %var.q.wrap.4 %var.q.wrap.3
    goto start
  }
  
  if ($calc($len(%var.q.wrap.3) + $len(%var.q.wrap.4)) > 95) {
    aline @Q.WRITE %var.q.wrap.4 
    unset %var.q.wrap.4
    %var.q.wrap.4 = %var.q.wrap.3
    goto start
  }
  
  else {
    %var.q.wrap.4 = %var.q.wrap.4 %var.q.wrap.3
    goto start
  }
}

alias q.alert {
  window -t +f @q.alert 263 136 338 108 courier new 14
  aline -p @q.alert $1-
  .timer0 -o 1 4 window -c @q.alert
  halt
}

alias q.test02 {
  return $true
}

menu @Q.list {
  dclick:/%var.q-lst.5 = $1 | /q.lcheck -p
}

menu @Q.lst-delete {
  sclick:/q.lcheck -l -d
}

menu @Q.lst-close {
  sclick:/q.lcheck -c
}

menu @Q.lst-add {
  sclick:/q.lcheck -l -a
}