; UK Tool
alias ukt {
if (!$dialog(uk.tool)) dialog -md uk.tool uk.tool
else dialog -v uk.tool uk.tool
}
dialog uk.tool {
title "UK Tool v1.01"
size -1 -1 153 84
option dbu
tab "Format", 5, -2 -15 193 128
edit "", 29, 1 12 151 72, tab 5 multi return autohs autovs vsbar
combo 32, 2 0 149 50, tab 5 sort size drop
tab "Progress", 15
list 1, 1 1 75 50, tab 15 size
list 2, 77 1 75 50, tab 15 size
button "Compare", 3, 114 53 37 12, tab 15 flat
menu "File", 17
menu "Tools", 33, 17
item "Formatter", 34, 33
item "Comparator", 35, 33
item break, 90, 17
item "Format and Save", 36, 17
item "Load Selected", 37, 17
item break, 91, 17
item "Paste Data", 38, 17
item "Clear Data", 39, 17
item break, 92, 17
item "Exit", 40, 17, cancel
menu "Help", 18
item "View Help", 25, 18
item "About..", 26, 18
}
on 1:dialog:uk.tool:init:0:{
did -ra $dname 29 Paste data here!
uk.filecombo
}
on 1:dialog:uk.tool:menu:*:{
echo -a MENU ID: $did
if ($did == 34) {
did -f $dname 5
did -e $dname 36,37,38,39
}
elseif ($did == 35) {
did -f $dname 15
did -b $dname 36,37,38,39
}
elseif ($did == 36) uk.format
elseif ($did == 37) {
if ($did(32).seltext != New File..) {
var %f $+($scriptdir,$did(32).seltext)
did -r $dname 29
loadbuf $calc($lines(%f) -1) -o uk.tool 29 $shortfn(%f)
}
}
elseif ($did == 38) {
did -r $dname 29
uk.paste
}
elseif ($did == 39) did -r $dname 29
elseif ($did == 18) {
;help file
}
elseif ($did == 26) {
echo 4 -ta UK Tool v1.01 by napalm [17/MAY/2009]
}
}
on *:dialog:uk.tool:sclick:*:{
echo -a CLICK: $did
if ($did == 32) {
if ($did(32).seltext == New File..) did -n $dname 29
else did -m $dname 29
}
elseif ($did == 3) { if ($window(@UK_Tool)) clear @UK_Tool | uk.compare }
}
on 1:close:@UK_Tool:{
close -@ @UK*
unset %UK_win_*
}
;======== aliases =========
alias uk.paste {
var %x 1
while ($cb(%x)) {
did -a uk.tool 29 $ifmatch $+ $crlf
inc %x
}
}
alias ukf return $+(",$scriptdir,UKT_,$$1,GMT.txt")
alias -l uk.format {
var %time $gmt , %f $ukf($asctime(%time,ddmmmyy_HH-nn-ss_))
window -h @uk.temp
filter -ik uk.tool 29 uk.fmt2
did -r uk.tool 29
filter -wo @uk.temp uk.tool 29
write %f %time
filter -if uk.tool 29 %f
close -@ @uk.temp
uk.filecombo
}
alias -l uk.fmt2 {
tokenize 9 $1
echo @uk.temp $1 $+ $chr(9) $+ $remove($deltok($2,2,32),$chr(44))
}
alias uk.filecombo {
did -r uk.tool 1,2,32
var %x 1
did -a uk.tool 32 New File..
while ($findfile($scriptdir,UKT_*.txt,%x)) {
did -a uk.tool 1,2,32 $nopath($ifmatch)
inc %x
}
}
alias ukc.buffer {
clear @UK_Tool
aline $color(background) @UK_Tool $1 $2
aline @UK_Tool From: $asctime($1,dd mmm yy - HH:nn:ss) $chr(9) $chr(9) $chr(9) 4RED = No Change
aline @UK_Tool To: $asctime($2,dd mmm yy - HH:nn:ss) $chr(9) $chr(9) $chr(9) 2BLUE = New User
aline @UK_Tool Span: $duration($calc($2 - $1))
aline @UK_Tool $chr(160)
aline @UK_Tool Rank $chr(9) User $chr(9) Old Exp $chr(9) New Exp $chr(9) Exp Gained $chr(9) $+ $chr(37) $+ Change
aline @UK_Tool $chr(160)
}
alias ukc.hilight {
if (!$1) return 02
elseif (!$2) return 04
}
alias uk.compare {
var %f1 $shortfn($+($scriptdir,$did(1).seltext)) , %f2 $shortfn($+($scriptdir,$did(2).seltext))
var %fnew , %fold , %x 1 , %nexp 0 , %oexp 0 , %dexp 0 , %prexp 0 , %n , %r , %h
if (!$window(@UK_Tool)) {
window -lk0 -t12,42,52,62,77 @UK_Tool "Courier New" 14
titlebar @UK_Tool - Data Comparison
}
if (!$window(@UK_values)) window -lh @UK_values
else clear @UK_values
if ($read(%f1,1) > $read(%f2,1)) { %fnew = %f2 | %fold = %f1 }
else { %fnew = %f2 | %fold = %f1 }
echo -s $asctime(%f1,yymmdd) $asctime(%f1,yymmdd)
ukc.buffer $read(%fold,0) $read(%fnew,0)
while ($read(%fnew,%x)) {
tokenize 9 $ifmatch
%n = $gettok($gettok($1,1,40),-1,32)
%r = $iif($numtok($1,32) >= 3,$gettok($1,-3-1,32))
%nexp = $2
%oexp = $gettok($read(%fold,r,$+(\s,%n,\s)),2,9)
%dexp = $calc(%nexp - %oexp)
%prexp = $calc((%dexp / %oexp) * 100)
%h = $ukc.hilight(%oexp,%prexp)
aline %h @UK_Tool %r $chr(9) $gettok($1,-2--1,32) $chr(9) %oexp $chr(9) %nexp $chr(9) $iif(%oexp,%dexp,0) $chr(9) $iif($len($int(%prexp)) == 1,0) $+ %prexp
aline %h @UK_values %r $chr(9) $gettok($1,-2--1,32) $chr(9) %oexp $chr(9) %nexp $chr(9) $iif(%oexp,%dexp,0) $chr(9) $iif($len($int(%prexp)) == 1,0) $+ %prexp
inc %x
}
set %UK_win_sort -ne
set %UK_win_sort_t 0
}
alias uk.sort {
var %m 0 , %i , %t %UK_win_sort
if ($findtok(-ra -us -oe -ne -ge -pr,%t,1,32)) {
%i = $v1 | %m = -tz $+ $iif(%i > 2,ue) %i 9
}
else return
ukc.buffer $line(@UK_Tool,1)
filter %m @UK_values @UK_Tool
}
;====== Popups ======
menu @UK_Tool {
Sort by..
.$iif(%UK_win_sort == -pr,$style(1)) $+($chr(37),Change):set %UK_win_sort -pr | uk.sort
.-
.$iif(%UK_win_sort == -oe,$style(1)) Old Exp:set %UK_win_sort -oe | uk.sort
.$iif(%UK_win_sort == -ne,$style(1)) New Exp:set %UK_win_sort -ne | uk.sort
.$iif(%UK_win_sort == -ge,$style(1)) Gained Exp:set %UK_win_sort -ge | uk.sort
.-
.$iif(%UK_win_sort == -ra,$style(1)) Rank:set %UK_win_sort -ra | uk.sort
.$iif(%UK_win_sort == -us,$style(1)) User:set %UK_win_sort -us | uk.sort
}
menu channel,status,menubar {
-
UK Tool:ukt
}