on *:start:{
.hmake amacros 100
if ($isfile(/amshdir(amsacros.hsh))) {
.hload amacros $amshdir(amsacros.hsh)
}
else {
/amsacros.start
.hsave -o amacros dat\hsh\amsacros.hsh
}
}
on *:EXIT: {
.hsave -o amacros dat\hsh\amsacros.hsh
.hfree amacros
}
on *:INPUT:*:{
if ( $left($1,1) != / ) { acro $1- }
}
alias -l acro {
var %i = $getacro($1-)
if (%i) {
msg $active %i
halt
}
}
alias -l getacro {
if (!$hget(amacros)) { return }
var %i = 1
var %r
while ($gettok($1-,%i,32)) {
var %j = $v1
if ($hget(amacros,%j)) { %j = $v1 }
%r = %r %j
inc %i
}
return %r
}
alias amshdir return (",$mircdirdat\hsh\,$1,")
alias amsacros.start {
.hadd amacros afk Away From Keyboard
.hadd amacros brb Be Right Back
.hadd amacros gtg Got To Go
.hadd amacros lol Laughing Out Loud
.hadd amacros ttyl Talk To You Later
}
dialog acro_test {
title "$amlogo ACRONYMS"
size -1 -1 314 200
option dbu
list 1, 16 64 82 107, size vsbar
edit "", 3, 16 46 82 10
edit "", 4, 147 46 150 10
list 2, 147 64 149 107, size vsbar
button "Add Acro", 5, 91 25 37 9
button "Del Acro", 6, 133 25 37 9
text "Input TexT", 7, 41 35 27 8
text "Output TexT", 8, 208 35 32 8
text "A", 9, 120 56 4 8
text "C", 10, 120 69 5 7
text "R", 11, 120 81 5 7
text "O", 12, 120 93 5 7
text "N", 13, 120 105 4 7
text "Y", 14, 120 117 4 8
text "M", 15, 120 129 5 8
text "S", 16, 120 141 4 8
button "Okay", 17, 104 186 37 12, ok
button "Ascii Table", 18, 111 13 37 9
}
on *:dialog:acro_test:*:*: {
if ($devent == init) {
if !$hget(amacros) { hamke amacros 100 | hload amacros $amshdir(amsacros.hsh) }
var %x = 1
while $hget(amacros,%x).item {
did -a $dname 1 $v1
inc %x
}
var %y = 1
while $hget(amacros,%y).data {
did -a $dname 2 $v1
inc %y
}
}
if ($devent == sclick) {
if ($did == 5) {
if ($hget(amacros)) {
hadd amacros $did($dname,3).text $did(acro_test,4).text
did -a acro_test 1 $did($dname,3).text
did -a acro_test 2 $did($dname,4).text
did -r $dname 3,4
}
}
if ($did == 6) {
if ($did(acro_test,1).sel) {
if ($hget(amacros)) {
set %line $did(acro_test,1).sel
hdel amacros $did(acro_test,1).seltext
did -d acro_test 1 %line
did -d acro_test 2 %line
}
}
}
if ($did == 18) { odialog ascii_table ascii_table }
}
}
dialog ascii_table {
title $amlogo Ascii Table ( special characters)
size -1 -1 220 200
option dbu
list 1, 11 21 26 112
list 2, 62 50 26 104
list 3, 116 63 26 78
list 4, 172 31 26 100
button "Add", 5, 42 180 37 12
button "Close", 6, 119 180 37 12, ok
box "Upper Case", 7, 4 4 41 157
box "Lower Case", 8, 56 36 38 126
box "Numeric", 9, 109 29 40 133
box "Other", 10, 160 5 50 157
}
on *:dialog:ascii_table:*:*:{
if ($devent == init) {
didtok $dname 1 44 %ascii.ucase
didtok $dname 2 44 %ascii.lcase
didtok $dname 3 44 %ascii.numeric
didtok $dname 4 44 %ascii.other
/set %ascii.ucase À,Á,Â,Ã,Ä,Å,ß,Ç,Ð,È,É,Ê,Ê,Ë,Ì,Í,Î,Ï,Ñ,Ò,Ó,Ô,Õ,Ö,Ù,Ú,Û,Ü,Ý,¥
/set %ascii.lcase à,á,â,ã,ä,å,ç,è,é,ê,ë,ì,í,î,ï,ñ,ò,ó,ô,õ,ö,ù,ú,û,ü,ý,ÿ
/set %ascii.numeric ø,¹,²,³,×,÷,¢,£,¼,½,¾
/set %ascii.other ª,º,°,©,®,¡,¿,¤,§,«,»,¬,±,µ,¶,þ,Þ,Æ,æ,ð,¸,‘,’
}
if ($devent == sclick) {
if ($did == 5) {
if $did(1).seltext || $did(2).seltext || $did(3).seltext || $did(4).seltext {
did -a acro_test 4 $v1
}
}
}
if ($devent == close) {
unset %ascii.*
}
}