From ecf09646ec1f5bebea15d915b8f593bb8ea15e05 Mon Sep 17 00:00:00 2001 From: kieron <kieron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c> Date: Tue, 1 May 2018 01:35:45 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@625 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- lib/shell.ppu | Bin 0 -> 1356 bytes src/prog/shell.pas | 63 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 lib/shell.ppu create mode 100644 src/prog/shell.pas diff --git a/lib/shell.ppu b/lib/shell.ppu new file mode 100644 index 0000000000000000000000000000000000000000..4a4294b617dbefdffbe4b0636a59fe1672c84894 GIT binary patch literal 1356 zcma)6&ubG=5Pq}SA5D{{jcuw3QqXuR2)2sgLC`eNYAYd0Db+(v?Lq_FZ0Hth1uyDV zL@(mWi`0YvgLv122k~6+(1RczW240R=4Cf)=^+E}?YwWknKwH#yQR|d#o5c|6H*EF zv2<4DEv3G^IQe?&*VlbVDK)|iV)G)hf(_U6Oz6u%Gti8rpch*8;N6FVJ6C`u>|i(8 zb~g_SH(%DS?wtnNx$idv-*by^-k<;W=;se$iE_2D|NWEqcJJXUoYTC>a&$o7;L{io zJLNUjS{kk6dI%vuMMJVDWgnJ(UG|jh<xzgnI3n4V)k?LvgeyM-%#tECM4SYl5~M7U zObaJA^i2~XCmBcCp-&0Dt>eI?grqRaOyBK)RcJ;$LjPuVre0#l#F^!nK+=DtGk2kj z)&{-`%QUdKND&>>PU;so#r1C2zyzR(iY}#iI7Az+%oi6IYYVp*st9C6R~l{2VC=V8 z4x@8NJO!mg1RCc>XMpOl;>MF)Fd+uy-kYMxk`oL1<P`KU@oZS)logY-k{ir$M&MI` zb4bN(G#lGIF8U=%Ar^!>xQR~agD&!4I8gLf)W(%9VACL9;}yycC<YgCOhzz-k3M@9 zLk`_8-D2|+D3nG#h>=1y^EIh#j6HaLb)%7KMI!2L1&@ImeUFK2U{m&Jqvy)kR|Zc+ zV#FFfg_t?CBbC>Kqg#>I?IyLsrgI=o;x}W@*PH8}t7t@bmhmRTnCTtfH4)#wUGP1B zD^Qe)h`ZpiJm!U&r%8-=rud-6Ot%&~j7APm*$jEcOV0}0XwGfbccMCwdJYN;b>w#x Kudg=1*8K-77>UpT literal 0 HcmV?d00001 diff --git a/src/prog/shell.pas b/src/prog/shell.pas new file mode 100644 index 00000000..de2d0578 --- /dev/null +++ b/src/prog/shell.pas @@ -0,0 +1,63 @@ +unit shell; + +interface + +uses + Console, RTC; + +procedure init(); + +implementation + +var + Handle : HWND = 0; + Colors : uint32; + Explore_Colors : uint32; + +procedure Draw(); +var + DateTime : TDateTime; + i : uint32; + s : pchar; + +begin + DateTime:= getDateTime; + + console.clearWNDEx(Handle, colors); + + console.setCursorPosWND(0, 0, Handle); + console.writeStringExWND(' TERMINAL ', Explore_Colors, Handle); + console.writeCharExWND(#6, Colors, Handle); + + for i:=0 to 9 do begin + s:= getWindowName(i); + if s <> nil then begin + console.writeStringExWND(s, Colors, Handle); + console.writeCharExWND(' ', Colors, Handle); + console.writeCharExWND(#6, Colors, Handle); + end; + end; + + console.setCursorPosWND(150, 0, Handle); + if DateTime.Hours < 10 then writeIntExWND(0, Colors, Handle); + writeIntExWND(DateTime.Hours, Colors, Handle); + writeStringExWND(':', Colors, Handle); + if DateTime.Minutes < 10 then writeIntExWND(0, Colors, Handle); + writeIntExWND(DateTime.Minutes, Colors, Handle); + writeStringExWND(':', Colors, Handle); + if DateTime.Seconds < 10 then writeIntExWND(0, Colors, Handle); + writeIntExWND(DateTime.Seconds, Colors, Handle); +end; + +procedure init(); +begin + colors:= console.combinecolors($0000, $FFFF); + Explore_Colors:= console.combinecolors($01C3, $07EE); + Handle:= Console.newWindow(0, 63, 159, 1, 'SHELL'); + console.bordersEnabled(Handle, false); + //console.clearWNDEx(Handle, colors); + console.setShellWindow(Handle, false); + console.registerEventHandler(Handle, EVENT_DRAW, void(@Draw)); +end; + +end. \ No newline at end of file