Loading
Archives
Trending
Docs
Login
ABAP
ActionScript
ActionScript 3
Ada
AIMMS3
ALGOL 68
Apache configuration
AppleScript
Apt sources
ARM ASSEMBLER
ASM
ASP
asymptote
Autoconf
Autohotkey
AutoIt
AviSynth
awk
BASCOM AVR
Bash
Basic4GL
BibTeX
BlitzBasic
bnf
Boo
Brainfuck
C
C#
C (LoadRunner)
C (Mac)
C (WinAPI)
C++
C++ (Qt)
C++ (WinAPI)
CAD DCL
CAD Lisp
CFDG
ChaiScript
Chapel
CIL
Clojure
CMake
COBOL
CoffeeScript
ColdFusion
CSS
Cuesheet
D
Dart
DCL
DCPU-16 Assembly
DCS
Delphi
Diff
DIV
DOS
dot
E
ECMAScript
Eiffel
eMail (mbox)
EPC
Erlang
Euphoria
EZT
F#
Falcon
FO (abas-ERP)
Formula One
Fortran
FreeBasic
FreeSWITCH
GADV 4CS
GAMBAS
GDB
genero
Genie
glSlang
GML
GNU/Octave
GNU Gettext
GNU make
Gnuplot
Go
Groovy
GwBasic
Haskell
Haxe
HicEst
HQ9+
HTML
HTML5
Icon
INI
Inno
INTERCAL
Io
ISPF Panel
J
Java
Java(TM) 2 Platform Standard Edition 5.0
Javascript
JCL
jQuery
KiXtart
KLone C
KLone C++
LaTeX
LDIF
Liberty BASIC
Lisp
LLVM Intermediate Representation
Locomotive Basic
Logtalk
LOLcode
Lotus Notes @Formulas
LotusScript
LScript
LSL2
Lua
MagikSF
MapBasic
Matlab M
Microchip Assembler
Microsoft Registry
mIRC Scripting
MMIX
Modula-2
Modula-3
MOS 6502 (6510) ACME Cross Assembler format
MOS 6502 (6510) Kick Assembler format
MOS 6502 (6510) TASM/64TASS 1.46 Assembler format
Motorola 68000 - HiSoft Devpac ST 2 Assembler format
Motorola 68000 Assembler
MXML
MySQL
Nagios
NetRexx
newlisp
nginx
Nimrod
NSIS
Oberon-2
Objeck Programming Language
Objective-C
OCaml
OCaml (brief)
ooRexx
OpenBSD Packet Filter
OpenOffice.org Basic
Oracle 8 SQL
Oracle 11 SQL
Oxygene
OZ
ParaSail
PARI/GP
Pascal
PCRE
per
Perl
Perl 6
PHP
PHP (brief)
PIC16
Pike
Pixel Bender 1.0
PL/I
PL/SQL
PostgreSQL
PostScript
POVRAY
PowerBuilder
PowerShell
ProFTPd configuration
Progress
Prolog
PROPERTIES
ProvideX
PureBasic
Python
Python for S60
q/kdb+
QBasic/QuickBASIC
QML
R / S+
Racket
Rails
RBScript
REBOL
rexx
robots.txt
RPM Specification File
Ruby
Rust
SAS
Scala
Scheme
SciLab
SCL
sdlBasic
Smalltalk
Smarty
SPARK
SPARQL
SQL
StandardML
StoneScript
SystemVerilog
T-SQL
TCL
Tera Term Macro
Text
thinBasic
TypoScript
Unicon (Unified Extended Dialect of Icon)
Uno Idl
Unreal Script
UPC
Urbi
Vala
vb.net
VBScript
Vedit macro language
Verilog
VHDL
Vim Script
Visual Basic
Visual Fox Pro
Visual Prolog
Whitespace
Whois (RPSL format)
Winbatch
X++
XBasic
XML
Xorg configuration
YAML
ZiLOG Z80 Assembler
ZXBasic
;Hash Table viewing Dialog v2.01 ;Creator - JoshR ;Reason for making - For people who are visual learners to assist them in hash tables ; and just to further my own experience. ;Usage - Pretty straight forward really. Just load it in to your remotes, right click, choose hash tables, and you're ready to go! ; Single click in table list to display items/values for that table ; Double click a table name to change it's name ; Single click the add hash button or the add hash option in the 'option' menu to add a hash table ; Double click an item/value or click the edit Item/value button to edit them ; upon doing so will open the edit dialog allowing you to double click an item to change it or ; the same for values. ; Single click the add item/value to add an item with or without a value. ; To use the search function be sure you choose a search type. ; To delete tables or items, the option is located in the 'options' menu. ;Updates - Everything: ; Completely redid everything on the dialog(s) ;Contact info - /query JoshR (on SwiftIRC && DALnet) ; PM me on the forums aswell (http://forum.swiftirc.net if you have an account there) ; /query JoshR (on UnderNet) ;############################################# ;#Made by: JoshR # ;#Home Server(s): Swiftirc, Undernet, DALnet # ;#Home Channel: #mIRC #ikick(swiftirc) # ;############################################# ;;MENU;; menu * { - Hash Tables:/hashview } ;;MAIN DIALOG dialog hashview { title "[Hash:Viewer]" option dbu size -1 -1 208 130 box "Tables" 1, 3 2 66 97 list 101, 5 10 62 97, vsbar hsbar button "Add Hashtable" 102, 3 118 43 11 box "Items" 2, 71 2 66 97 list 201, 73 10 62 97, vsbar hsbar button "Add Item/Value" 202, 46 118 45 11 box "Values" 3, 139 2 66 97 list 301, 141 10 62 97, vsbar hsbar edit "Enter search item here" 400, 3 105 147 11 button "Search" 401, 152 105 38 11 combo 402, 152 118 38 11, drop button "..." 501, 193 105 10 11 button "Edit Item/Values" 601, 91 118 48 11 menu "&Options" 4, item "&Add HashTable" 5, 4 item "&Delete Hash Table" 6, 4 item break, 7, 4 item "&Exit" 8, 4 } on *:DIALOG:hashview:init:0:{ var %a 1 tokenize 46 exact.wildcard did -a hashview 402 $* while (%a <= $hget(0)) { if ($hget(%a) != hashview) did -a hashview 101 $hget(%a) inc %a } did -z hashview 101 } on *:DIALOG:hashview:menu:*:{ if ($did == 5) { if ($input(What would you like the table name to be?,en,[Hash:Add Table]) != $null) { var %a $v1 if (!$hget($v1)) { hmake %a 1000 did -a hashview 101 %a } else noop $input(Error: There is already a table named $+(',%a,'),o,[Hash:Add Table Alert]) } } if ($did == 6) delhash if ($did == 8) dialog -x $dname } on *:DIALOG:hashview:sclick:601:{ edititem } on *:DIALOG:hashview:sclick:501:{ var %a 1 did -r hashview 101,201,301 while (%a <= $hget(0)) { if ($hget(%a) != hashview) did -a hashview 101 $hget(%a) inc %a } did -z hashview 101,201,301 } on *:DIALOG:hashview:sclick:401:{ if (Enter search item here == $did(400) || $did(400) == $null) { noop $input(Error: Missing input for search.,ok30,[Hash:Search] - Error) return } if ($did(402) == $null) { noop $input(Error: Please choose a type of search.,ok30,[Hash:Search] - Error) return } did -r hashview 101,201,301 noop $dsearch($did(400),$did(402)) } on *:DIALOG:hashview:sclick:101:{ if ($did(101).seltext) { did -r hashview 201,301 var %a 1,%get $v1 while (%a <= $hget(%get,0).item) { did -a hashview 201 $hget(%get,%a).item did -a hashview 301 $hget(%get,%a).data inc %a } did -z hashview 201,301 } } on *:DIALOG:hashview:dclick:101:{ if ($did(101).sel == 0) return if ($input(Hashtable name change for $+(',$did(101).seltext,'),en,[Hash:Name Change])) { if ($v1 != $null && $v1 != $did(101).seltext) { hmake $v1 1000 var %a 1,%new $v1,%old $v2 while ($hget(%old,%a).item) { hadd -m %new $v1 $hget(%old,%a).data inc %a } hfree %old did -o hashview 101 $did(101).sel %new } } } on *:DIALOG:hashview:sclick:102:{ if ($input(What would you like the table name to be?,en,[Hash:Add Table]) != $null) { var %a $v1 if (!$hget($v1)) { hmake %a 1000 did -a hashview 101 %a } else noop $input(Error: There is already a table named $+(',%a,'),o,[Hash:Add Table Alert]) } } on *:DIALOG:hashview:sclick:201,301:did -c hashview 201,301 $did($did).sel on *:DIALOG:hashview:sclick:202:{ additem } on *:DIALOG:hashview:dclick:201,301:{ edititem } ;;;;EDIT ITEM/VALUE;;;; dialog edititem { title "[Hash:Item Editor]" option dbu size -1 -1 139 120 combo 1, 3 3 70 11, drop box "Items" 2, 3 18 66 97 list 201, 5 26 62 97, vsbar hsbar box "Values" 3, 71 18 66 97 list 301, 73 26 62 97, vsbar hsbar } on *:DIALOG:edititem:init:0:{ didtok edititem 1 32 $regsubex($str(.,$hget(0)),/./g,$hget(\n) $chr(32)) if ($did(hashview,101).seltext) { var %a $v1,%b 1 did -ck edititem 1 $did(hashview,101).sel while ($hget(%a,%b).item) { did -a edititem 201 $v1 did -a edititem 301 $hget(%a,$v1) inc %b } set %edititem.table $did(hashview,101).seltext did -z edititem 201,301 } } on *:DIALOG:edititem:sclick:1:{ did -r edititem 201,301 var %a 1 while ($hget($did(1),%a).item) { did -a edititem 201 $v1 did -a edititem 301 $hget($did(1),$v1) inc %a } set %edititem.table $did(1) did -z edititem 201,301 } on *:DIALOG:edititem:dclick:201:{ var %a = $didwm(hashview,201,$did(201).seltext) if ($input(Change the name of the item selected item $+(',$did(201).seltext,'),en,[Edit:Item])) { if ($v1 != $null && $v1 != $did(201).seltext) { hadd -m %edititem.table $v1 $hget(%edititem.table,$did(201).seltext) hdel %edititem.table $did(201).seltext did -o edititem 201 $did(201).sel $v1 did -o hashview 201 %a $v1 } } } on *:DIALOG:edititem:dclick:301:{ var %a = $didwm(hashview,301,$did(301).seltext),%b = $did(edititem,201,$did(301).sel) if ($input(Change the value of the selected item,en,[Edit:Value])) { if ($v1 != $null && $v1 != $did(301).seltext) { hadd -m %edititem.table %b $v1 did -o edititem 301 $did(301).sel $v1 did -o hashview 301 %a $v1 } } } on *:DIALOG:edititem:close:0:{ unset %edititem.* } ;;;;ADD ITEM/VALUES;;;; dialog additem { title "[Hash:Add Item/Values]" option dbu size -1 -1 139 60 combo 1, 3 3 70 11, drop box "Items" 2, 3 18 66 28 edit "" 201, 5 26 62 18, autohs box "Values" 3, 71 18 66 28 edit "" 301, 73 26 62 18, autohs button "Add Item/Value" 4, 3 47 66 11 button "Clear Fields" 5, 71 47 66 11 menu "&Options" 6 item "&Add Item/Value" 7, 6 item "&Exit" 8, 6 } on *:DIALOG:additem:menu:*:{ if ($did == 8) dialog -x additem if ($did == 7) { } } on *:DIALOG:additem:init:0:{ if ($did(hashview,101).sel) { didtok additem 1 32 $regsubex($str(.,$hget(0)),/./g,$hget(\n) $chr(32)) did -ck additem 1 $v1 } else didtok additem 1 32 $regsubex($str(.,$hget(0)),/./g,$hget(\n) $chr(32)) } on *:DIALOG:additem:sclick:5:did -r additem 201,301 on *:DIALOG:additem:sclick:4:{ if ($hget($did(1),$did(201))) { if ($input(Adding this Item will overwrite the currently loaded item of the same name. Are you OK with this?,o,[Hash:Item Alert])) { hadd -m $did(1) $did(201) $did(301) if ($did(1) == $did(hashview,101).seltext) { did -o hashview 301 $didwm(hashview,201,$did(201),1) $did(301) } did -r additem 201,301 } else return } else { hadd -m $did(1) $did(201) $did(301) if ($did(1) == $did(hashview,101).seltext) { did -a hashview 201 $did(201) did -a hashview 301 $did(301) } did -r additem 201,301 } dialog -x additem } ;;;;DELETE DIALOG;;;; dialog delhash { title "[Hash:Item/Table Deleter]" option dbu size -1 -1 140 129 combo 1, 3 3 70 11, drop box "Items" 2, 3 18 66 97 list 201, 5 26 62 97, vsbar hsbar box "Values" 3, 71 18 66 97 list 301, 73 26 62 97, vsbar hsbar button "Delete Table" 4, 3 116 40 11 button "Delete Item/Value" 5, 46 116 47 11 button "Delete Value" 6, 98 116 40 11 } on *:DIALOG:delhash:init:0:{ didtok delhash 1 32 $regsubex($str(.,$hget(0)),/./g,$hget(\n) $chr(32)) if ($did(hashview,101).sel) { did -ck delhash 1 $v1 var %a 1,%b $v1 while $hget(%b,%a).item { did -a delhash 201 $v1 did -a delhash 301 $hget(%b,$v1) inc %a } did -z delhash 201,301 } } on *:DIALOG:delhash:sclick:1:{ var %a 1,%b $did(1) did -r delhash 201,301 while $hget(%b,%a).item { did -a delhash 201 $v1 did -a delhash 301 $hget(%b,$v1) inc %a } did -z delhash 201,301 } on *:DIALOG:delhash:sclick:4:{ if ($did(1) != $null) { if ($input(Clicking yes will delete the table $+(',$did(1),') $crlf Are you sure you want to do this?,y,[Hash:Delete Confirmation])) { hfree -s $did(1) did -r delhash 201,301 if ($did(1) == $did(hashview,101).seltext) { did -r hashview 201,301 did -d hashview 101 $did(hashview,101).sel } did -r delhash 1 didtok delhash 1 32 $regsubex($str(.,$hget(0)),/./g,$hget(\n) $chr(32)) } } } on *:DIALOG:delhash:sclick:5:{ hdel $did(1) $did(201).seltext if ($did(1) == $did(hashview,101).seltext) { did -d hashview 201,301 $did(201).sel } did -d delhash 201,301 $did(201).sel } on *:DIALOG:delhash:sclick:6:{ hadd -m $did(1) $did(201).seltext $null if ($did(1) == $did(hashview,101).seltext) { did -d hashview 301 $did(201).sel } did -d delhash 301 $did(201).sel } ;;;;ALIASES;;;; alias hashview { dialog -mv hashview hashview } alias -l edititem { dialog -mv edititem edititem } alias -l addhash { dialog -mv addhash addhash } alias -l additem { dialog -mv additem additem } alias -l delhash { dialog -mv delhash delhash } alias -l dsearch { var %search $$1,%a 1 if ($$2 == exact) { while ($hget(%a)) { var %table $v1,%b 1 while ($hget(%table,%b).item) { if ($v1 == %search || $hget(%table,$v1) == %search) { if (!$didwm(hashview,101,%table)) { did -a hashview 101 %table } else { did -a hashview 101 $chr(32) } did -a hashview 201 $hget(%table,%b).item did -a hashview 301 $hget(%table,%b).data } inc %b } inc %a } } elseif ($$2 == wildcard) { while ($hget(%a)) { var %table $v1,%b 1 while ($hget(%table,%b).item) { if (%search iswm $v1 || %search iswm $hget(%table,$v1)) { if (!$didwm(hashview,101,%table)) { did -a hashview 101 %table } else { did -a hashview 101 $chr(32) } did -a hashview 201 $hget(%table,%b).item did -a hashview 301 $hget(%table,%b).data } inc %b } inc %a } } } alias listvar { var %i 1 aline -a @test Variable : Value while (%i <= $var(%*,0)) { aline -a @test $var(%*,%i) : $var(%*,%i).value inc %i } }
Mark as private
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year