From 4a2d04c8cd3b4640084b41ca65a54a6615625ce9 Mon Sep 17 00:00:00 2001 From: Richard Knight Date: Sun, 31 Oct 2021 04:35:16 +0000 Subject: beta completion of BUG3 --- BUG3/txt_tools.udo | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 BUG3/txt_tools.udo (limited to 'BUG3/txt_tools.udo') diff --git a/BUG3/txt_tools.udo b/BUG3/txt_tools.udo new file mode 100644 index 0000000..eb0cc86 --- /dev/null +++ b/BUG3/txt_tools.udo @@ -0,0 +1,82 @@ +#ifndef UDO_TXTTOOLS +#define UDO_TXTTOOLS ## +/* + Debugger - Unfixed Bugs : BUG #3 + + Text tools +*/ + + +/* + Print a notification prepended with a line of asterisks + + tt_notify Stext + + Stext text to print +*/ +opcode tt_notify, 0, S + Stext xin + Snew = "\n" + iwidth = 60 + index = 0 + while (index < iwidth) do + Snew = strcat(Snew, "*"); + index += 1 + od + prints strcat(strcat(Snew, "\n"), strcat(Stext, "\n\n")) +endop + + + +/* + Print a notification prepended with a line of asterisks and exit + + tt_notify Stext + + Stext text to print +*/ +opcode tt_notify_fatal, 0, S + Stext xin + tt_notify(Stext) + exitnow +endop + + +/* + Return a number of seconds as HH:MM:SS format + + Stime tt_parsetime iseconds + + iseconds seconds to parse + + Stime formatted time + +*/ +opcode tt_parsetime, S, i + input xin + ihours = floor(input / 3600) + iminutes = floor((input - (ihours * 3600)) / 60) + iseconds = input - (ihours * 3600) - (iminutes * 60) + xout sprintf("%02d:%02d:%05.2f", ihours, iminutes, iseconds) +endop + + +/* + Strip newline from end of line: built-in opcode has some problems + + Soutput tt_stripnewline Sinput + + Soutput processed without newline at end if existent + + Sinput line to process +*/ +opcode tt_stripnewline, S, S + Sline xin + index = strindex(Sline, "\n") + if (index != -1) then + Sline = strsub(Sline, 0, index) + endif + xout Sline +endop + +#end -- cgit v1.2.3