alias currency {
if ($dialog(currency)) { %cur.c = $$did(currency,11) | %cur.a = $$did(currency,1) | %cur.b = $$did(currency,2) | sockopen currency www.gocurrency.com 80 }
else { echo 4 -a ERROR: dialog is not open to calculate currency }
}
alias curr { dialog -m currency currency }
on 1:sockopen:currency:{
.sockwrite -n currency GET $+(/v2/dorate.php?inV=,%cur.c,&from=,%cur.a,&to=,%cur.b) HTTP/1.1
.sockwrite -n currency HOST: www.gocurrency.com
.sockwrite -n currency $crlf
}
on 1:sockread:currency:{
if ($sockerr > 0) return
var %x | sockread -fn %x
if (Dollar(S) isin %x) {
did -ra currency 5 $nhtml(%x)
}
if ($chr(61) == $gettok(%x,3,32)) && (!%curr.d) {
did -ra currency 7 $nhtml(%x) | %curr.d = 1
}
elseif ($chr(61) == $gettok(%x,3,32)) && (%curr.d == 1) {
did -ra currency 8 $nhtml(%x) | unset %curr.d
}
}
alias -l nhtml { return $remove($regsubex($1-,/( |°|^[^<]*>|<[^>]*>|<[^>]| *$)/g,),$chr(9)) }
dialog currency {
title "Currency Convertor"
size -1 -1 307 67
option dbu
combo 1, 96 3 35 50, sort drop
combo 2, 150 3 35 50, sort drop
text "Convert:", 3, 68 3 25 8
text "To:", 4, 134 3 13 8
edit "", 5, 190 19 116 10, read autohs
button "Convert", 6, 190 3 115 12, flat
edit "", 7, 190 40 116 10, read autohs
edit "", 8, 190 50 116 10, read autohs
text "Exchange Rate:", 9, 227 30 41 8
text "Amount:", 10, 5 3 22 8
edit "", 11, 29 2 36 10
}
on *:dialog:currency:*:*:{
if ($devent == init) {
did -a $dname 1,2 EUR
did -a $dname 1,2 USD
did -a $dname 1,2 GBP
did -a $dname 1,2 JPY
did -a $dname 1,2 INR
did -a $dname 1,2 NZD
did -a $dname 1,2 CHF
did -a $dname 1,2 ZAR
did -a $dname 1,2 AFN
did -a $dname 1,2 ALL
did -a $dname 1,2 DZD
did -a $dname 1,2 ARS
did -a $dname 1,2 AUD
did -a $dname 1,2 ATS
did -a $dname 1,2 BSD
did -a $dname 1,2 BHD
did -a $dname 1,2 BDT
did -a $dname 1,2 BBD
did -a $dname 1,2 BEF
did -a $dname 1,2 BMD
did -a $dname 1,2 BRL
did -a $dname 1,2 BGN
did -a $dname 1,2 CAD
did -a $dname 1,2 XOF
did -a $dname 1,2 XAF
did -a $dname 1,2 CLP
did -a $dname 1,2 CNY
did -a $dname 1,2 COP
did -a $dname 1,2 XPF
did -a $dname 1,2 CRC
did -a $dname 1,2 HRK
did -a $dname 1,2 CYP
did -a $dname 1,2 CZK
did -a $dname 1,2 DKK
did -a $dname 1,2 DEM
did -a $dname 1,2 DOP
did -a $dname 1,2 NLG
did -a $dname 1,2 XCD
did -a $dname 1,2 EGP
did -a $dname 1,2 EEK
did -a $dname 1,2 FJD
did -a $dname 1,2 XAU
did -a $dname 1,2 XAG
did -a $dname 1,2 XPT
did -a $dname 1,2 XPD
}
elseif ($devent == sclick) {
if ($did == 6) && ($did($dname,11) isnum) { currency }
}
}