Quick Mail Sender '98 — File Browser
QuickMailSender98v0.98 / QuickMailSender98v0.98 / QMS98.mrc
QMS98.mrc — 23.99 KB — Download this file
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;Quick Mail Sender© '98 by Cromlech (c) 1998
;File 01 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.
;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;~~Remote Events~~ (socks)
on 1:sockopen:qsm: {
rline @Q.Update 4 Host Contacted Waiting for reply...
sockwrite -n qsm HELO $ip
return
}
on 1:sockread:qsm: {
sockread %var.qsm-3
;220
if ($gettok(%var.qsm-3,1,32) == 220) {
inc %var.qsm-220 1
rline @Q.update 4 Sending info to server, please hold...
return
}
;250s
elseif ($gettok(%var.qsm-3,1,32) == 250) {
inc %var.qsm-4 1
;Mailee
if (%var.qsm-4 == 1) {
sockwrite -n qsm mail from: $gettok(%var.qsm-1,2,32)
return
}
;Mailer
elseif (%var.qsm-4 == 2) {
sockwrite -n qsm rcpt to: $gettok(%var.qsm-1,1,32)
return
}
;Mail Data (@q.write)
elseif (%var.qsm-4 == 3) {
sockwrite -n qsm data
return
}
;Mail Quit
elseif (%var.qsm-4 == 4) {
sockwrite -n qsm quit
return
}
}
;354
elseif ($gettok(%var.qsm-3,1,32) == 354) {
rline @q.update 4 Writing message to server
sockwrite -tn qsm SUBJECT: %var.qsm-2
sockwrite -tn qsm X-SENDER: Quick Mail Sender v0.98 by Cromlech
sockwrite -tn qsm X-Originating-IP: $chr(91) $+ $ip $+ $chr(93)
sockwrite -tn qsm DATE: $q.day $+ , $q.month $q.year $time $duration($timezone)
%var.qsm-5 = 0
:start
inc %var.qsm-5 1
if (%var.qsm-5 > $line(@q.write,0)) {
sockwrite -n qsm .
rline @q.update 4 Message written; closing connection
return
}
else {
sockwrite -tn qsm $line(@q.write,%var.qsm-5)
goto start
}
}
;221
elseif ($gettok(%var.qsm-3,1,32) == 221) {
rline @q.update 4 Message Successfully Sent;
q.end
}
;500s
elseif ($gettok(%var.qsm-3,1,32) >= 500) {
rline @q.update 4 " $+ $gettok(%var.qsm-3,2-,32) $+ "
q.end
}
;other
else {
return
}
}
on 1:sockclose:qsm {
rline @q.update 4 Connection closed by server.
.timer0 1 4 window -c @q.update
unset %var.qsm-*
unset %var.q-*
}
;~~Remote Events~~ (input)
on 1:input:@Q.WRITE: {
window -c @Q.s-track
if (%var.q-indent != $null) {
if (%var.q-indentii == $null) {
%var.q-indentii = 1
}
q.wrap $str($chr(160),%var.q-indentii) $1-
unset %var.q-indent*
halt
}
else {
q.wrap $1-
halt
}
}
on 1:input:@MAILTO: {
window -c @MAILTO
if (($chr(64) !isin $1) || ($chr(32) isin $1-)) {
q.error Invalid or Insufficient parameter(s)
}
if ($len($1) > 40) {
q.error Too many characters
}
else {
%var.qsm-1 = $calc(40 - $len($1))
rline @Q.SEND 3 MAIL TO $+ $chr(160) : $+ $1 $+ $str($chr(160),%var.qsm-1) : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR
halt
}
else {
echo -s %var.qsm-3
return
}
}
on 1:input:@MAILFROM: {
window -c @MAILFROM
if (($chr(64) !isin $1) || ($chr(32) isin $1-)) {
q.error Invalid or Insufficient parameter(s)
}
if ($len($1) > 40) {
q.error Too many characters
}
else {
%var.qsm-1 = $calc(40 - $len($1))
rline @Q.SEND 5 MAIL FROM $+ : $+ $1 $+ $str($chr(160),%var.qsm-1) : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR
halt
}
}
on 1:input:@SUBJECT: {
window -c @SUBJECT
if ($len($1-) > 40) {
q.error Too many characters
}
else {
%var.qsm-1 = $calc(40 - $len($1-))
rline @Q.SEND 7 SUBJECT $chr(160) $+ : $+ $1- $+ $str($chr(160),%var.qsm-1) : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR
halt
}
}
on 1:input:@SERVER: {
window -c @SERVER
if ($chr(32) isin $1) {
q.error Invalid parameter(s)
}
if ($len($1) > 40) {
q.error Too many characters, Choose another server please.
}
else {
%var.qsm-1 = $calc(40 - $len($1-))
rline @Q.SEND 9 SERVER $str($chr(160),2) $+ : $+ $1- $+ $str($chr(160),%var.qsm-1) : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR 12LIST
halt
}
}
on 1:input:@Q.Eraser: {
window -c @Q.Eraser
rline @Q.WRITE %var.qem-2 $1-
unset %var.qem-*
halt
}
on 1:input:@q.filename: {
if ($1 == $null) {
window -c @q.filecancel
window -c @q.filename
window -c @q.filepic
halt
}
%var.qsm-2 = $1
%var.qsm-3 = $gettok(%var.qsm-2,1,46) $+ $chr(46) $+ qsm
%var.qsm-4 = %var.qsm-1 $+ %var.qsm-3
if ($exists(%var.qsm-4) == $true) {
window -t +f @Question 163 136 338 108 courier new 14
aline @Question $chr(160)
aline @Question $chr(160)
aline @Question Replace %var.qsm-4 $+ ?
aline @Question $chr(160)
aline @Question $str($chr(160),13) 12Okay 12Cancel
halt
}
else {
q.saveii
}
}
;~~Remote Events~~ (other)
on 1:load: {
if ($q.test02 != $true) {
echo -s Please simultaneously load both "QMS98.MRC" & "QMS9802.MRC"
unload -rs $script
}
if ($version < 5.31) {
echo -s You have an outdated mIRC Version for this Script, please go to 12http://www.mirc.com/ and download the latest version. Otherwise, this may cause problems in future use of this program.
unload -rs $script
}
else {
window -t +f @Q.S 163 136 338 108 courier new 14
aline -p @Q.S $str($chr(160),6) Quick Mail Sender© '98
aline @Q.S $str($chr(160),10) by Cromlech
aline @Q.S $chr(160)
aline @Q.S $chr(160)
.timer0 1 4 q.startup
}
}
on 1:start: {
if ($q.test02 != $true) {
echo -s ERROR: missing loaded file "QMS9802.MRC"
unload -rs $script
}
else {
return
}
}
;~~Aliases~~
alias q.month {
return $gettok($fulldate,2,32)
}
alias q.year {
return $right($fulldate,4)
}
alias q.day {
return $left($day,3)
}
alias qmail {
if ($window(@h.main) != $null) {
q.error please close out Harvester© Mail first.
}
window -t +f @Q.SEND 59 1 666 267 courier new 14
q.setup
}
alias q.setup {
aline @Q.SEND $str($chr(160),25) (12SEND)(12QUIT)
aline @Q.SEND $chr(160)
aline @Q.SEND MAIL TO $+ $chr(160) : $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR
aline @Q.SEND $str($chr(160),10) $+ $str($chr(175),41)
aline @Q.SEND MAIL FROM: $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR
aline @Q.SEND $str($chr(160),9) $str($chr(175),41)
aline @Q.SEND SUBJECT $chr(160) $+ : $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR
aline @Q.SEND $str($chr(160),9) $str($chr(175),41)
aline @Q.SEND SERVER $str($chr(160),2) $+ : $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR 12LIST
aline @Q.SEND $str($chr(160),9) $str($chr(175),41)
%var.qsm-1 = 0
:start
inc %var.qsm-1 1
if (%var.qsm-1 > 3) {
goto finish
}
else {
aline @Q.SEND $chr(160)
goto start
}
:finish
aline @Q.SEND $str($chr(160),12) Write 12 $+ X $+ On Top 12 $+ X $+ Save As 12 $+ X $+ Import 12 $+ X $+
unset %var.qsm-*
halt
}
alias q.ver {
return 0.98
}
alias q.send {
if ($line(@Q.WRITE,0) == 0) {
q.error No Message has been written.
}
;RCPT to - Mail From - Server
%var.qsm-1 = $remove($gettok($line(@Q.SEND,3),2,58),$chr(160)) $remove($gettok($line(@Q.SEND,5),2,58),$chr(160)) $remove($gettok($line(@Q.SEND,9),2,58),$chr(160))
;Subject
%var.qsm-2 = $remove($gettok($line(@Q.SEND,7),2,58),$chr(160))
if ($gettok(%var.qsm-1,3,32) == $null) {
unset %var.qsm-*
q.error Missing address or Server
}
window -t +f @Q.Update 163 136 338 108 courier new 14
aline @q.update $str($chr(160),16) 12Cancel
aline @q.update $chr(160)
aline @q.update $chr(160)
aline @Q.Update Looking up host $gettok(%var.qsm-1,3,32)
.timerQSM -o 0 30 q.down
sockopen qsm $gettok(%var.qsm-1,3,32) 25
}
alias q.down {
if (($calc($sock(qsm).ls - $sock(qsm).lr) <= 10) && ($sock(qsm).ls >= 90)) {
sockclose qsm
window -c @Q.Update
q.error Server must be down, try again later.
.timerQSM off
}
if ($sock(qsm) == $null) {
.timerQSM off
halt
}
else {
halt
}
}
alias q.quit {
%var.qsm-1 = $findfile($mircdir,*.bmp,0)
:start
inc %var.qsm-2 1
if (%var.qsm-2 > %var.qsm-1) {
q.quiter -b
}
else {
%var.qsm-3 = $findfile($mircdir,*.bmp,%var.qsm-2)
%var.qsm-4 = $read -l1 %var.qsm-3
if (%var.qsm-4 == BMÆc) {
window -pt +f @Q.SPLASH 236 74 300 300
drawpic -c @Q.SPLASH 0 0 %var.qsm-3
.timer0 -o 1 3 window -c @Q.SPLASH
q.quiter
}
else {
goto start
}
}
}
;q.quit continued
alias q.quiter {
.timerQSM off
unset %var.qsm-* %var.qem-* %var.q-*
window -c @Q.SEND
window -c @Q.WRITE
window -c @Q.Space
window -c @Q.w-close
window -c @Q.Indent
window -c @Q.s-track
window -c @q.list
window -c @mailto
window -c @Q.Erase
window -c @Q.Eraser
window -c @mailfrom
window -c @Subject
window -c @Q.w-clear
window -c @Server
window -c @Q.lst-add
window -c @Q.lst-delete
window -c @Q.lst-close
window -c @Q.delete
window -c @Q.filename
window -c @Q.filepic
window -c @Q.filecancel
sockclose qsm
if ($1 == -b) {
echo -s Locating Lost Splash File ...
qsearch
}
}
alias q.check {
if ($line(@Q.WRITE,0) == 0) {
q.import
}
elseif ($line(@Q.WRITE,0) > 0) {
window -t +f @Question.ii 163 136 338 108 courier new 14
aline @Question.ii $chr(160)
aline @Question.ii $chr(160)
aline @Question.ii Save Document First?
aline @Question.ii $chr(160)
aline @Question.ii $str($chr(160),11) 12Yes 12No 12Cancel
halt
}
}
alias q.end {
sockclose qsm
.timer0 -o 1 4 window -c @q.update
unset %var.qsm-* %var.q-*
.timerQSM off
window -c @q.write
window -c @q.space
window -c @q.indent
window -c @q.delete
window -c @q.erase
window -c @q.s-track
window -c @q.w-close
window -c @q.w-clear
window -c @Q.Eraser
return
}
alias q.clear {
goto $1
:-u | rline @Q.SEND 7 SUBJECT $chr(160) $+ : $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR | halt
:-e | rline @Q.SEND 9 SERVER $str($chr(160),2) $+ : $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR 12LIST | halt
:-t | rline @Q.SEND 3 MAIL TO $+ $chr(160) : $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR | halt
:-f | rline @Q.SEND 5 MAIL FROM: $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR | halt
:$1 | halt
}
alias q.fcancel {
window -c @Q.filecancel
window -c @Q.filename
window -c @Q.filepic
unset %var.qsm-*
halt
}
alias q.save {
if (($line(@Q.WRITE,0) == 0) || ($window(@Q.WRITE) == $null)) {
q.error Nothing to Save
}
%var.qsm-1 = $sdir="Choose a Path To Save E-mail" $mircdir
if (%var.qsm-1 == $null) {
unset %var.qsm-*
halt
}
elseif (%var.qsm-1 != $null) {
window -pt +b @Q.FilePic 115 211 87 23
window -pt +b @Q.FileCancel 492 211 87 23
window -et +b @Q.Filename 205 211 287 23
drawfill @Q.FilePic 1 1 0 0
drawfill @Q.Filecancel 10 10 0 0
drawtext @Q.FilePic 0 courier new 1 0 Filename:
drawtext -bp @Q.Filecancel 1 10 courier new 1 0 Cancel
window -a @Q.Filename
}
}
;second part of Saving method
alias q.saveii {
write -c %var.qsm-4
%var.qsm-6 = 0
:nextstep
inc %var.qsm-6 1
%var.qsm-8 = $line(@Q.WRITE,%var.qsm-6)
if (%var.qsm-8 == $null) {
goto finish
}
else {
write %var.qsm-4 %var.qsm-8
goto nextstep
}
:finish
window -t +f @Saved 163 136 338 108 courier new 14
aline -p @Saved File Saved as %var.qsm-4
unset %var.qsm-*
.timer0 -o 1 4 window -c @Saved
window -c @q.filename
window -c @q.FilePic
window -c @q.filecancel
if ($1 == -i) {
clear @Q.WRITE
q.import
}
else {
halt
}
}
alias sf12 {
if ($window(@Q.WRITE) == $null) {
halt
}
else {
aline @Q.WRITE $chr(160)
}
}
alias q.write {
if ($window(@Q.WRITE) == $null) {
window -elt +f @Q.WRITE 59 267 666 162
window -pt +s @q.space 44 354 15 75
drawfill @q.space 2 2 0 0
drawtext -o @q.space 0 Courier new 0 1 S
drawtext -o @q.space 0 Courier new 0 14 P
drawtext -o @q.space 0 Courier new 0 26 A
drawtext -o @q.space 0 Courier new 0 38 C
drawtext -o @q.space 0 Courier new 0 50 E
window -pt +s @q.space 44 354 15 75
window -pt +s @q.indent 44 267 15 87
drawfill @q.indent 10 10 0 0
drawtext -o @q.indent 1 Courier new 0 1 B
drawtext -o @q.indent 1 Courier new 0 14 R
drawtext -o @q.indent 1 Courier new 0 26 E
drawtext -o @q.indent 1 Courier new 0 38 A
drawtext -o @q.indent 1 Courier new 0 50 K
window -pt +s @q.indent 44 267 15 87
window -pt +s @q.w-close 59 429 87 19
drawfill @q.w-close 5 5 0 0
drawtext -o @q.w-close 0 courier new 10 0 C
drawtext -o @q.w-close 0 courier new 22 0 L
drawtext -o @q.w-close 0 courier new 34 0 O
drawtext -o @q.w-close 0 courier new 46 0 S
drawtext -o @q.w-close 0 courier new 58 0 E
window -pt +s @q.w-close 59 429 87 19
window -pt +s @q.erase 146 429 87 19
drawfill @q.erase 3 3 0 0
drawtext -o @q.erase 1 courier new 10 0 E
drawtext -o @q.erase 1 courier new 22 0 D
drawtext -o @q.erase 1 courier new 34 0 I
drawtext -o @q.erase 1 courier new 46 0 T
window -pt +s @q.erase 146 429 87 19
window -pt +s @q.delete 233 429 87 19
drawfill @q.delete 14 14 0 0
drawtext -o @q.delete 1 courier new 1 0 D
drawtext -o @q.delete 1 courier new 13 0 E
drawtext -o @q.delete 1 courier new 25 0 L
drawtext -o @q.delete 1 courier new 37 0 E
drawtext -o @q.delete 1 courier new 49 0 T
drawtext -o @q.delete 1 courier new 61 0 E
window -pt +s @q.delete 233 429 87 19
window -pt +s @q.w-clear 320 429 87 19
drawfill @q.w-clear 14 14 0 0
drawtext -o @q.w-clear 0 courier new 10 0 C
drawtext -o @q.w-clear 0 courier new 22 0 L
drawtext -o @q.w-clear 0 courier new 34 0 E
drawtext -o @q.w-clear 0 courier new 46 0 A
drawtext -o @q.w-clear 0 courier new 58 0 R
window -pt +s @q.w-clear 320 429 87 19
halt
}
else {
if ($window(@Q.WRITE).state == normal) {
window -n @Q.WRITE
window -n @Q.Space
window -n @Q.Indent
window -n @Q.w-clear
window -n @Q.w-close
window -n @Q.delete
window -n @Q.Erase
window -c @Q.Eraser
halt
}
else {
window -r @Q.WRITE
window -r @Q.Space
window -r @Q.Indent
window -r @Q.w-close
window -r @Q.w-clear
window -r @Q.delete
window -r @Q.Erase
window -c @Q.Eraser
halt
}
}
}
alias q.mailto {
if ($window(@Mailto) == $null) {
rline @Q.SEND 3 MAIL TO $+ $chr(160) : $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR
window -et +b @Mailto 144 51 328 17
halt
}
elseif ($window(@Mailto) != $null) {
window -c @Mailto
halt
}
}
alias q.mailfrom {
if ($window(@MailFrom) == $null) {
rline @Q.SEND 5 MAIL FROM: $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR
window -et +b @MailFrom 144 87 328 17
halt
}
elseif ($window(@MailFrom) != $null) {
window -c @MailFrom
halt
}
}
alias q.subject {
if ($window(@Subject) == $null) {
rline @Q.SEND 7 SUBJECT $chr(160) $+ : $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR
window -et +b @Subject 144 123 328 17
halt
}
elseif ($window(@Subject) != $null) {
window -c @Subject
halt
}
}
alias q.server {
if ($window(@Server) == $null) {
rline @Q.SEND 9 SERVER $str($chr(160),2) $+ : $str($chr(160),40) $+ : $+ 12 $+ X $+ $str($chr(160),3) 12CLEAR 12LIST
window -et +b @Server 144 159 328 17
halt
}
elseif ($window(@Server) != $null) {
window -c @Server
halt
}
}
alias q.TOP {
if ($window(@Mailto) != $null) {
window -a @Mailto
}
if ($window(@MailFrom) != $null) {
window -a @MailFrom
}
if ($window(@Subject) != $null) {
window -a @Subject
}
if ($window(@Server) != $null) {
window -a @Server
}
if ($window(@Filename) != $null) {
window -a @q.filecancel
window -a @q.filename
window -a @q.filepic
}
if ($window(@Q.list) != $null) {
window -a @q.list
window -a @q.lst-delete
window -a @q.lst-add
window -a @q.lst-close
}
if ($window(@Q.WRITE) != $null) {
window -a @Q.WRITE
window -a @Q.Space
window -a @Q.Indent
window -a @Q.w-close
window -a @Q.w-clear
window -a @Q.delete
window -a @Q.Erase
}
if ($1 == -xy) {
q.XY
}
else {
halt
}
}
alias q.coor {
if ($4 == $null) {
return
}
else {
if (($mouse.x >= $1) && ($mouse.x <= $2) && ($mouse.y >= $3) && ($mouse.y <= $4)) {
return $true
}
else {
return $false
}
}
}
alias q.XY {
;Write
if ($q.coor(154,162,247,254) == $true) {
q.write
}
;On Top
if ($q.coor(226,234,247,255) == $true) {
q.top
}
;Save as
if ($q.coor(306,314,247,254) == $true) {
q.save
}
;Import
if ($q.coor(378,386,247,254) == $true) {
q.check
}
;Quit
if ($q.coor(267,273,13,21) == $true) {
q.quit
}
;Mail To
if ($q.coor(418,426,48,57) == $true) {
q.mailto
}
if ($q.coor(466,507,48,57) == $true) {
q.clear -t
}
;mailfrom
if ($q.coor(418,426,86,92) == $true) {
q.mailfrom
}
if ($q.coor(466,507,84,92) == $true) {
q.clear -f
}
;Subject
if ($q.coor(418,426,121,128) == $true) {
q.subject
}
if ($q.coor(466,507,120,130) == $true) {
q.clear -u
}
;Server
if ($q.coor(418,426,157,165) == $true) {
q.server
}
if ($q.coor(466,507,156,166) == $true) {
q.clear -e
}
if ($q.coor(514,545,156,166) == $true) {
q.lcheck
}
;Send
if ($q.coor(218,225,13,21) == $true) {
q.send
}
;Cancel (@Q.Update)
if ($q.coor(136,146,34,41) == $true) {
rline @Q.update 4 Connection canceled by user.
sockclose qsm
.timer0 -o 1 4 window -c @q.update
unset %var.qsm-*
.timerQSM off
halt
}
else {
halt
}
}
alias q.error {
window -t +f @error 163 136 338 108 courier new 14
aline -p @error $1-
.timer0 -o 1 4 window -c @error
halt
}
alias Q.begin-yn {
;Yes
if ($q.coor(121,129,88,95) == $true) {
window -c @Q.start
qmail
}
;No
if ($q.coor(170,177,88,95) == $true) {
window -c @Q.Start
echo -s Quick Mail Sender© '98
echo -s To Start type /qmail
halt
}
else {
halt
}
}
alias Q.Startup {
window -c @Q.S
if ($1 == -s) {
window -t +f @Q.Start 163 136 338 108 courier new 14
aline @Q.Start $chr(160)
aline -p @Q.Start $str($chr(160),4) Start Quick Mail Sender Now?
aline @Q.Start $chr(160)
aline @Q.Start $chr(160)
aline @Q.Start $chr(160)
aline @Q.Start $str($chr(160),13) (12Yes) (12No)
halt
}
else {
window -t +f @Q.Start 163 136 338 108 courier new 14
aline @Q.Start $chr(160)
aline -p @Q.Start $str($chr(160),4) Start Quick Mail Sender Now?
aline @Q.Start $chr(160)
aline @Q.Start $chr(160)
aline @Q.Start $chr(160)
aline @Q.Start $str($chr(160),13) (12Yes) (12No)
halt
}
}
alias Q.q {
if ($q.coor(114,121,88,95) == $true) {
window -c @Question
Q.saveii
}
elseif ($q.coor(153,161,88,95) == $true) {
window -c @Question
Q.save
}
else {
halt
}
}
alias q.click.q {
if ($q.coor(97,105,88,95) == $true) {
window -c @question.ii
q.save
}
elseif ($q.coor(130,137,88,95) == $true) {
window -c @question.ii
q.import
}
elseif ($q.coor(154,160,88,95) == $true) {
window -c @question.ii
}
else {
halt
}
}
alias q.space {
if ($window(@Q.WRITE) == $null) {
window -c @q.indent
window -c @q.space
window -c @q.w-clear
window -c @q.w-close
window -c @q.erase
window -c @q.eraser
window -c @q.delete
window -c @q.s-track
q.error edit window=null
}
else {
window -a @Q.WRITE
if (%var.q-indent != $null) {
inc %var.q-indentii 1
if (%var.q-indentii > 9) {
%var.q-indentii = 9
q.error Too many spaces, max. is 9
}
if ($window(@q.s-track) == $null) {
window -pt +s @q.s-track 44 429 15 19
window -pt +s @q.s-track 44 429 15 19
}
clear @q.s-track
drawtext @q.s-track 1 courier new 0 0 %var.q-indentii
halt
}
else {
inc %var.q-indentii 1
%var.q-indent = $line(@Q.WRITE,0)
window -pt +s @q.s-track 44 429 15 19
window -pt +s @q.s-track 44 429 15 19
drawtext @q.s-track 1 courier new 0 0 %var.q-indentii
halt
}
}
}
alias q.indent {
if ($window(@Q.WRITE) == $null) {
q.write
}
else {
if ($sline(@Q.WRITE,1) == $null) {
aline @Q.WRITE $chr(160)
halt
}
elseif ($sline(@Q.WRITE,1) != $null) {
iline @Q.WRITE $sline(@Q.WRITE,1).ln $chr(160)
halt
}
}
}
alias q.w-close {
window -c @Q.WRITE
window -c @q.indent
window -c @q.s-track
window -c @q.space
window -c @q.erase
window -c @q.delete
window -c @q.w-close
window -c @q.w-clear
unset %var.q-*
halt
}
alias q.eraser {
if ($sline(@Q.WRITE,1) == $null) {
q.error No line selected to re-edit
}
else {
%var.qem-1 = $sline(@Q.WRITE,1)
%var.qem-2 = $sline(@Q.WRITE,1).ln
window -et +ft @Q.Eraser 95 245 587 123
titlebar @Q.Eraser Quick Mail Sender© v0.98 by Cromlech (c) 1998, Please refer to the readme for tricks and tips.
aline -p @Q.Eraser " $+ %var.qem-1 $+ "
halt
}
}
alias q.s-td {
if ($window(@Q.WRITE) == $null) {
q.write
}
else {
dec %var.q-indentii 1
if (%var.q-indentii < 0) {
%var.q-indentii = 0
q.error Cannot backspace
}
clear @q.s-track
%var.q-indent = $line(@Q.WRITE,0)
window -pt +s @q.s-track 44 429 15 19
window -pt +s @q.s-track 44 429 15 19
drawtext @q.s-track 1 courier new 0 0 %var.q-indentii
halt
}
}
alias q.delete {
if ($window(@Q.WRITE) == $null) {
q.write
}
if ($sline(@Q.WRITE,1) == $null) {
q.error Select a line to delete please.
}
else {
dline @Q.WRITE $sline(@Q.WRITE,1).ln
}
}
;~~Menu Section~~
menu @Q.Erase {
sclick:/q.eraser
}
menu @Q.Delete {
sclick:/window -a @Q.WRITE | /q.delete
}
menu @Q.Start {
dclick:/q.begin-yn
}
menu @q.s-track {
sclick:/window -a @Q.WRITE | /q.s-td
}
menu @q.w-close {
sclick:/q.w-close
}
menu @q.indent {
sclick:/window -a @Q.WRITE | /q.indent
}
menu @q.space {
sclick:/q.space
}
menu @Q.update {
dclick:/q.TOP -xy
}
menu @Question {
dclick:/Q.q
}
menu @Question.ii {
dclick:/q.click.q
}
menu @Q.filecancel {
sclick:/q.fcancel
}
menu @Q.WRITE {
dclick:/q.edit $1
}
menu @Q.SEND {
dclick:/q.TOP -xy
}
menu @q.w-clear {
sclick:/window -a @Q.WRITE | /clear @Q.WRITE
}