DataAgent v1.3: Terminal Edition — File Browser
DataAgentv1.3TerminalEditionv1.3 / DataAgentv1.3TerminalEditionv1.3 / da13 / dataagent.mrc
dataagent.mrc — 17.34 KB — Download this file
; DataAgent v1.3: Terminal Edition
; File/memory utility for mIRC
; By Alchem^st
on *:load:{ da.chk | da.cmd }
alias da.cmd { if $dialog(ÐÂ) { dialog -x ÐÂ } | dialog -m ÐÂ ÐÂ }
dialog ÐÂ {
title $chr(32)
size -1 -1 250 124
icon 1,0 0 250 90,$scriptdirDataAgent.bmp
icon 2,0 0 250 214,$scriptdirClose.bmp
button "N/A" 3,0 0 0 0,ok
button "N/A" 4,0 0 0 0,cancel
}
on *:dialog:ÐÂ:init:*:{
set %da.char#
.timerda.cmd.scroll -cmo 32 50 tb
}
alias -l tb {
inc %da.char#
dialog -t ÐÂ $left(DataAgent v1.3:TE ¦ mIRC32 v [ $+ [ $version ] ] ,%da.char#)
if (%da.char# == 32) { unset %da.char# }
}
on *:dialog:ÐÂ:sclick:3:{ .timerda.cmd.scroll off | cmds }
on *:dialog:ÐÂ:sclick:4:{ .timerda.cmd.scroll off }
on *:dialog:ÐÂ:sclick:2:{ .timerda.cmd.scroll off | cmds | dialog -x ÐÂ }
alias -l cmds {
echo $colour(highlight) -a ______________________
echo $colour(highlight) -a ° DATAAGENT COMMANDS °
echo -a
echo $colour(info2) -a 14/datacon -opens the main console
echo $colour(info2) -a 14/filespecs -retrieves size & mod. date
echo $colour(info2) -a 14/drivescan -performs disk analysis
echo $colour(info2) -a 14/memstats -returns memory stats
echo $colour(info2) -a 14/attrib -opens attributes dialog
echo $colour(info2) -a 14/scripts -lists loaded scripts
echo $colour(info2) -a 14/exp <path> -launches explorer (<> optnl)
echo $colour(info2) -a 14/loadfile -gui for loading scripts
echo -a
echo $colour(info2) -a 14/dcback -changes datacon's backdrop
echo $colour(info2) -a 14/da.sv -outputs version data
echo $colour(info2) -a 14/da.cmd -lists commands
}
alias -l da.chk {
unset %da.dll | set %da.dll " $+ $scriptdirfsmem.dll $+ "
if ($version < 5.81) { eai You must be using mIRC 5.81 or greater to run this addon. | ücode } | elseif ($bits != 32) { eai You must be using the 32-bit version of mIRC to run this addon. | ücode }
elseif (($exists(%da.dll) != $true)) {
eai Fsmem.dll must be placed in $+ $colour(info2) $cap($scriptdir) $+ $colour(info) $+ for DataAgent to function. | ücode
}
elseif (($exists($scriptdirdataagent.bmp) != $true)) {
eai DataAgent.bmp must be placed in $+ $colour(info2) $cap($scriptdir) $+ $colour(info) $+ for DataAgent to function. | ücode
}
elseif (($exists($scriptdirclose.bmp) != $true)) {
eai Close.bmp must be placed in $+ $colour(info2) $cap($scriptdir) $+ $colour(info) $+ for DataAgent to function. | ücode
}
elseif (($exists($scriptdirdcb-st.bmp) != $true)) {
eai DCB-ST.bmp must be placed in $+ $colour(info2) $cap($scriptdir) $+ $colour(info) $+ for DataAgent to function. | ücode
}
elseif (($exists($scriptdirdcb-mt.bmp) != $true)) {
eai DCB-MT.bmp must be placed in $+ $colour(info2) $cap($scriptdir) $+ $colour(info) $+ for DataAgent to function. | ücode
}
elseif ($lock(dll) == $true) && ($lock(run) == $true) {
eai You must remove the lock on /run and /dll in order to run DataAgent. To do so, hit Alt + O and go down to "General". Once there, go to "Lock" and uncheck "/run" and "/dll". | ücode
}
elseif ($lock(dll) == $true) {
eai You must remove the lock on /dll in order to run DataAgent. To do so, hit Alt + O and go down to "General". Once there, go to "Lock" and uncheck "/dll". | ücode
}
elseif ($lock(run) == $true) {
eai You must remove the lock on /run in order to run DataAgent. To do so, hit Alt + O and go down to "General". Once there, go to "Lock" and uncheck "/run". | ücode
}
}
on *:start:{ da.chk }
alias -l cap { return $upper($mid($1-,1,1)) $+ $right($1-,-1) }
alias -l eai { echo -a 2±12±± $+ $colour(info) $1- }
alias da.sv { $iif($active == status window,echo,say) { DataAgent v1.3:TE ¦ mIRC32 v $+ $version } }
menu menubar {
&DataAgent
.Co&nsole
..Ope&n:{ datacon }
..&Backdrop
...$+ $iif(%da.dcback == $scriptdirdcb-st.bmp || %da.dcback == $null,ø, $+ ) &Spotlight Theater:{
if (%da.dcback == $scriptdirdcb-st.bmp) { halt }
set %da.dcback $scriptdirdcb-st.bmp
eai Spotlight Theater [DACon backdrop] set.
if $dialog(datacon) { dialog -x datacon | dialog -mod datacon datacon }
if $dialog(datacon.nb) { dialog -x datacon.nb | dialog -mod datacon datacon }
}
...$+ $iif(%da.dcback == $scriptdirdcb-mt.bmp,ø, $+ ) &Monochrome Tech:{
if (%da.dcback == $scriptdirdcb-mt.bmp) { halt }
set %da.dcback $scriptdirdcb-mt.bmp
eai Monochrome Tech [DACon backdrop] set.
if $dialog(datacon) { dialog -x datacon | dialog -mod datacon datacon }
if $dialog(datacon.nb) { dialog -x datacon.nb | dialog -mod datacon datacon }
}
...-
...$+ $iif((%da.dcback != $scriptdirdcb-st.bmp) && (%da.dcback != $scriptdirdcb-mt.bmp) && (%da.dcback != nil) && (%da.dcback != $null),ø, $+ ) &Custom:{ dcback }
...-
...$+ $iif(%da.dcback == nil,ø, $+ ) &None:{
if (%da.dcback == nil) { halt }
set %da.dcback nil
eai DACon backdrop cleared.
if $dialog(datacon) {
dialog -x datacon
dialog -mod datacon.nb datacon.nb
}
}
.&Content
..&File Specs:{ filespecs }
..&Drive Specs:{ drivescan }
..&Mem Stats:{ memstats }
..&Attributes:{ attrib }
..&Scripts:{ scripts }
..&Explorer:{ exp }
..-
..&Load File:{ loadfile }
..-
..&Commands:{ da.cmd }
.-
.Unload:{ ünload }
}
alias dcback {
var %dc.cbf = $?="Specify the name of the bitmap (e.g. fire)"
if (%dc.cbf == $null) { halt }
var %dc.cbf = %dc.cbf $+ .bmp
if ($isfile($scriptdir [ $+ [ %dc.cbf ] ] ) == $true) {
set %da.dcback $scriptdir $+ [ %dc.cbf ]
eai DACon backdrop set to %dc.cbf $+ .
if $dialog(datacon) { dialog -x datacon | dialog -mod datacon datacon }
if $dialog(datacon.nb) { dialog -x datacon.nb | dialog -mod datacon datacon }
}
else { eai Invalid backdrop file. }
}
alias loadfile { load -rs " $+ $$dir="Select a file to load into mIRC" *.mrc;*.ini $+ " }
alias exp { run explorer.exe $1- }
alias -l ß× {
if ($1 == $null) return N/A
if ($1 < 1024) return $1 B
if ($1 < $calc(1024^2)) return $round($calc($1 / 1024),2) KB
if ($1 < $calc(1024^3)) return $round($calc($1 / 1024^2),2) MB
if ($1 < $calc(1024^4)) return $round($calc($1 / 1024^3),2) GB
}
alias datacon {
if ($dialog(datacon)) { dialog -x datacon }
if (%da.dcback == $null) { set %da.dcback $scriptdirdcb-st.bmp }
if (%da.dcback == nil) {
if ($dialog(datacon.nb)) { dialog -x datacon.nb }
dialog -mod datacon.nb datacon.nb
}
else { dialog -mod datacon datacon }
}
dialog datacon.nb {
title "DataAgent Console"
size 333 68 406 50
button "&File Specs" 1, 4 14 78 31
button "&Drive Specs" 2, 84 14 78 31
button "&Mem Stats" 3, 164 14 78 31
button "&Attributes" 4, 244 14 78 31
button "&Scripts" 5, 324 14 78 31
button "N/A", 6, 0 0 0 0,ok
button "N/A", 7, 0 0 0 0,cancel
box "", 8, -2 1 410 49
}
dialog datacon {
title "DataAgent Console"
size 334 68 405 67
button "&File Specs" 1,4 19 78 31
button "&Drive Specs" 2,84 19 78 31
button "&Mem Stats" 3,164 19 78 31
button "&Attributes" 4,244 19 78 31
button "&Scripts" 5,324 19 78 31
button "N/A",6,0 0 0 0,ok
button "N/A",7,0 0 0 0,cancel
icon 8,0 0 405 67,%da.dcback
}
on *:dialog:datacon.nb:init:*:{
if ((%da.dcnb.x == $null) || (%da.dc.y == $null)) {
if ($calc($window(-1).w * 0.59995) >= 614) { var %dc.w = $ifmatch | var %dc.h = $calc($window(-1).h / 2 * 0.247) | goto lset }
else { var %dc.w = $calc($window(-1).w / 2.78) | var %dc.h = $calc($window(-1).h / 6.38) | goto lset }
:lset
dialog -s datacon.nb %dc.w %dc.h 406 50
}
else { dialog -s datacon.nb %da.dcnb.x %da.dc.y 406 50 }
}
on *:dialog:datacon.nb:sclick:1:{ .timer 1 0 filespecs }
on *:dialog:datacon.nb:sclick:5:{ scripts }
on *:dialog:datacon.nb:sclick:7:{ set %da.dcnb.x $dialog($dname).x | set %da.dc.y $dialog($dname).y }
on *:dialog:datacon.nb:sclick:2:{ drivescan }
on *:dialog:datacon.nb:sclick:3:{ memstats }
on *:dialog:datacon.nb:sclick:4:{ attrib }
on *:dialog:datacon:init:*:{
if ((%da.dc.x == $null) || (%da.dc.y == $null)) {
if ($calc($window(-1).w * 0.6009) >= 614) { var %dc.w = $ifmatch | var %dc.h = $calc($window(-1).h / 2 * 0.247) | goto lset }
else { var %dc.w = $calc($window(-1).w / 2.77) | var %dc.h = $calc($window(-1).h / 6.38) | goto lset }
:lset
dialog -s datacon %dc.w %dc.h 405 67
}
else { dialog -s datacon %da.dc.x %da.dc.y 405 67 }
}
on *:dialog:datacon:sclick:1:{ .timer 1 0 filespecs }
on *:dialog:datacon:sclick:5:{ scripts }
on *:dialog:datacon:sclick:7:{ set %da.dc.x $dialog($dname).x | set %da.dc.y $dialog($dname).y }
alias filespecs { if (%da.file == $null) set %da.file $mircdir | file.select }
alias -l file.select { {
%da.file = $dir="Exploring - ( $+ $cap($nofile(%da.file)) $+ )" $nofile(%da.file)
}
if (%da.file == $null) { halt }
window -ka @Results 0 0 333 94 Terminal 12
aline @Results 12----------·
aline @Results FILE SPECS
aline @Results 2----------½
aline -p @Results $+ $colour(info) $+ $+ $nopath(%da.file) $+ $ß×($file(%da.file).size)
aline $colour(info2) @Results Modified $asctime($file(%da.file).mtime)
}
on *:dialog:datacon:sclick:2:{ drivescan }
on *:dialog:datacon:sclick:3:{ memstats }
alias memstats { if (%da.dll == $null) {
{ set %da.dll " $+ $scriptdirfsmem.dll $+ " }
}
window -ka @Results 0 0 333 133 Terminal 12
aline @Results 12------------·
aline @Results MEMORY STATS
aline @Results 2------------½
aline @Results $+ $colour(info) $+ Current Load $+ $dll(%da.dll,GetMemInfo,memoryload) $+ % | aline @Results $+ $colour(info) $+ Total Physical $+ $ß×($dll(%da.dll,GetMemInfo,totalphys)) | aline @Results $+ $colour(info) $+ Free Physical $ß×($dll(%da.dll,GetMemInfo,freephys)) | aline @Results $+ $colour(info) $+ Total Virtual $ß×($dll(%da.dll,GetMemInfo,totalvirtual)) | aline @Results $+ $colour(info) $+ Free Virtual $ß×($dll(%da.dll,GetMemInfo,freevirtual))
}
alias -l letrsufx {
if ($len(%da.dletr) == 1) { set %da.dletr %da.dletr $+ : }
if ($right(%da.dletr,1) != \) { set %da.dletr %da.dletr $+ \ }
}
alias drivescan {
if (%da.dll == $null) { set %da.dll " $+ $scriptdirfsmem.dll $+ " }
if $dialog(drive.sel) { dialog -x drive.sel } | dialog -m drive.sel drive.sel
}
dialog drive.sel {
title "Select a drive letter to scan"
size 333 148 204 71
button "&Scan",1,5 37 194 32,ok
radio "A",2,15 10 50 17
radio "C",3,65 10 50 17
radio "D",4,115 10 50 17
edit "",6,165 7 21 21,autohs
}
on *:dialog:drive.sel:init:*:{
%da.dletr = C
did -c $dname 3
}
on *:dialog:drive.sel:sclick:2:%da.dletr = A
on *:dialog:drive.sel:sclick:3:%da.dletr = C
on *:dialog:drive.sel:sclick:4:%da.dletr = D
on *:dialog:drive.sel:edit:6: { did -u drive.sel 3 | %da.dletr = $did(drive.sel,6).text }
on *:dialog:drive.sel:sclick:1:{
letrsufx
if ($disk(%da.dletr).label == $null) { var %disk.label = None }
else { var %disk.label = $cap($disk(%da.dletr).label) }
if ($disk(%da.dletr).type == $null) { var %disk.type = N/A }
elseif ($disk(%da.dletr).type == cdrom) { var %disk.type = CD-ROM }
else { var %disk.type = $cap($disk(%da.dletr).type) }
if (%disk.type == Fixed) {
window -ka @Results 0 0 333 146 Terminal 12
aline @Results 12-------·
aline @Results DRIVE $cap($remove(%da.dletr,:\))
aline @Results 2-------½
aline @Results $+ $colour(info) $+ Total Space $ß×($dll(%da.dll,GetSpaceInfo,total [ %da.dletr ] )) | aline @Results $+ $colour(info) $+ Free Space $ß×($dll(%da.dll,GetSpaceInfo,free [ %da.dletr ] )) | aline @Results $+ $colour(info) $+ Type %disk.type | aline @Results $+ $colour(info) $+ Label %disk.label
aline @Results $+ $colour(info) $+ File System $dll(%da.dll,GetVolumeInfo,fstype [ %da.dletr ] ) | aline @Results $+ $colour(info) $+ Serial Number $dll(%da.dll,GetVolumeInfo,serial [ %da.dletr ] ) }
else {
window -ka @Results 0 0 333 120 Terminal 12
aline @Results 12-------·
aline @Results DRIVE $cap($remove(%da.dletr,:\))
aline @Results 2-------½
aline @Results $+ $colour(info) $+ Total Space $ß×($dll(%da.dll,GetSpaceInfo,total [ %da.dletr ] )) | aline @Results $+ $colour(info) $+ Free Space $ß×($dll(%da.dll,GetSpaceInfo,free [ %da.dletr ] )) | aline @Results $+ $colour(info) $+ Type %disk.type | aline @Results $+ $colour(info) $+ Label %disk.label }
}
menu @Results {
&Close:{ window -c @Results }
}
on *:dialog:datacon:sclick:4:{ attrib }
alias attrib { if $dialog(attrib) { dialog -x attrib } | dialog -m attrib attrib }
dialog attrib {
size 333 148 207 150
edit "",1,5 5 197 22,autohs
text "Path && file/dir" 2,69 29 120 22
button "&View" 3,107 114 95 32
button "A&pply" 4,5 114 95 32
title "Modify/view attributes"
check " &r ",5,10 70 31 17
check " &h ",6,10 90 31 17
check " &s ",7,55 70 31 17
check " &a ",8,55 90 31 17
box "",9,1 52 103 98
box "",10,103 52 103 98
button "",11,0 0 0 0,ok
}
on *:dialog:attrib:edit:1:{ %da.attfoc = $did(attrib,1).text }
on *:dialog:attrib:sclick:11:{ if ($isdir(%da.attfoc)) {
if (%da.attfoc == $null) { set %da.attfoc $mircdir } | if (%da.dll == $null) { set %da.dll " $+ $scriptdirfsmem.dll $+ " } | if ($isdir(%da.attfoc) == $true) { listattrib %da.attfoc } | else { eai You must specify a directory. }
}
else {
if (%da.dll == $null) { set %da.dll " $+ $scriptdirfsmem.dll $+ " }
set %da.attr $iif($did(5).state == 1,r) $+ $iif($did(6).state == 1,h) $+ $iif($did(7).state == 1,s) $+ $iif($did(8).state == 1,a)
if (%da.attr == $null) { set %da.attr n }
if (%da.attr != $null) && (%da.attfoc != $null) {
if ($isfile(%da.attfoc) == $true) || ($isdir(%da.attfoc) == $true) {
dll %da.dll SetFileAttr %da.attr %da.attfoc
eai $cap(%da.attfoc) set to $atsy(%da.attr) $+ . }
else { eai Invalid file/directory. }
}
}
}
alias -l atsy {
if (%da.attr == h) { return hidden } | if (%da.attr == a) { return archive } | if (%da.attr == n) { return normal } | if (%da.attr == r) { return read-only } | if (%da.attr == s) { return system }
else { return %da.attr }
}
on *:dialog:attrib:sclick:3:{
if (%da.attfoc == $null) { set %da.attfoc $mircdir } | if (%da.dll == $null) { set %da.dll " $+ $scriptdirfsmem.dll $+ " } | if ($isdir(%da.attfoc) == $true) { listattrib %da.attfoc } | else { eai You must specify a directory. }
}
on *:dialog:attrib:sclick:4:{
if (%da.dll == $null) { set %da.dll " $+ $scriptdirfsmem.dll $+ " }
set %da.attr $iif($did(5).state == 1,r) $+ $iif($did(6).state == 1,h) $+ $iif($did(7).state == 1,s) $+ $iif($did(8).state == 1,a)
if (%da.attr == $null) { set %da.attr n }
if (%da.attr != $null) && (%da.attfoc != $null) {
if ($isfile(%da.attfoc) == $true) || ($isdir(%da.attfoc) == $true) {
dll %da.dll SetFileAttr %da.attr %da.attfoc
eai $cap(%da.attfoc) set to $atsy(%da.attr) $+ . }
else { eai Invalid file/directory. }
}
}
alias -l listattrib {
window -c @Attributes
if ($isdir($$1-) == $false) { return }
window -lak -t8 @Attributes 0 0 333 361 Terminal 12
titlebar @Attributes - ( $+ $cap($1-) $+ )
Ñ $finddir($1-,*.*,0,1,showattrib $1-)
Ñ $findfile($1-,*.*,0,1,showattrib $1-)
aline $colour(back) @Attributes 2°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
aline @Attributes 3 $+ Double-click a file to open it
}
alias -l Ñ { return $1- }
alias -l showattrib { if (%da.dll == $null) { set %da.dll " $+ $scriptdirfsmem.dll $+ " } | aline @Attributes $dll(%da.dll,GetFileAttr,$1-) $+ $chr(9) $+ $+ $right(00 [ $+ [ $colour(info) ] ] ,2) $+ $nopath($1-) }
menu @Attributes {
dclick:{ if ($right($right($left($gettok($window(@Attributes).title,1,45),-1),-2),1) == \) { var %file = $right($left($gettok($window(@Attributes).title,1,45),-1),-2)) $+ $gettok($strip($line($active,$1)),2,9)) }
else { var %file = $right($left($gettok($window(@Attributes).title,1,45),-1),-2)) $+ \ $+ $gettok($strip($line($active,$1)),2,9)) }
if ($isfile(%file) == $true) { run %file } }
&Close:{ window -c @Attributes }
}
alias scripts {
window -c @(
var %scripts# = $script(0)
window -lak -t20 @( 0 0 333 361 Terminal 12
if (%scripts# == 1) { var %f.sop = file }
else { var %f.sop = files }
titlebar @( $script(0) script %f.sop loaded )
:loop
if (%scripts# != 0) {
aline $colour(info) @( 1 $+ $cap($shortfn($script(%scripts#))) | dec %scripts# | goto loop }
aline $colour(back) @( 2°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
aline @( 3 $+ Double-click a file to open it
}
menu @( {
dclick:{ if ($isfile($strip($sline($active,1)))) { run $strip($sline($active,1)) } }
&Close:{ window -c @( }
}
alias -l ünload {
if ($?!="Unload DataAgent?") { ücode }
}
alias -l ücode {
if ($dialog(datacon)) { dialog -x datacon }
if ($dialog(datacon.nb)) { dialog -x datacon.nb }
if ($dialog(ÐÂ)) { dialog -x ÐÂ }
if ($dialog(drive.sel)) { dialog -x drive.sel }
if ($dialog(attrib)) { dialog -x attrib }
window -c @Results
window -c @Attributes
window -c @(
eai DataAgent has been unloaded. | unset %da.* | .unload -rs " $+ $script $+ "
}
; EoF