home *** CD-ROM | disk | FTP | other *** search
Wrap
import java.applet.Applet; import java.awt.Component; import java.awt.Font; import java.awt.Graphics; import java.util.Date; import netrexx.lang.NoOtherwiseException; import netrexx.lang.Rexx; import netrexx.lang.RexxIO; import netrexx.lang.RexxParse; import netrexx.lang.RexxSet; public class WordClock extends Applet implements Runnable { protected Thread timer; protected Rexx offsetx; protected Rexx offsety; protected Rexx now; private static final Rexx $$1 = new Rexx(20); private static final Rexx $$2 = new Rexx(2); private static final Rexx $$3 = new Rexx(3); private static final char[] $$4 = new char[]{'\u0001', '\n', '\u0005', '\u0000', '\u0000', '\u0000', '\u0001', '\u0000', '\u0000'}; private static final char[] $$9 = new char[]{'\u0002', '\u0001', ':', '\u0002', '\u0001', ':', '\u0001', '\n', '\u0001', '\u0000', '\u0000'}; private static final Rexx $$11 = new Rexx(30); private static final Rexx $$12 = new Rexx(0); private static final Rexx $$13 = new Rexx(60); private static final Rexx $$14 = new Rexx(1000); private static final char[] $$16 = new char[]{'\u0002', '\u0001', ':', '\n', '\u0001', '\u0000', '\u0002', '\u0001', ':', '\n', '\u0001', '\u0001', '\u0001', '\n', '\u0001', '\u0002', '\u0000'}; private static final Rexx $$18 = new Rexx(29); private static final Rexx $$19 = new Rexx(1); private static final Rexx $$20 = new Rexx(5); private static final Rexx $$21 = new Rexx(32); private static final Rexx $$22 = new Rexx(12); private static final Rexx $$23 = new Rexx(4); private static final Rexx $$26 = new Rexx(10); private static final Rexx $$27 = new Rexx(15); private static final Rexx $$28 = new Rexx(25); private static final Rexx $$29 = new Rexx(35); private static final Rexx $$30 = new Rexx(40); private static final Rexx $$31 = new Rexx(45); private static final Rexx $$32 = new Rexx(50); private static final Rexx $$33 = new Rexx(55); // $FF: renamed from: $0 java.lang.String private static final String field_0 = "WordClock.nrx"; public void init() { String var1 = ((Applet)this).getParameter("face"); if (var1 == null) { var1 = "TimesRoman"; } String var2 = ((Applet)this).getParameter("size"); if (var2 == null) { var2 = "20"; } ((Component)this).setFont(new Font(var1, 1, (new Rexx(var2)).toint())); ((Applet)this).resize((new Rexx(var2)).OpMult((RexxSet)null, $$1).toint(), (new Rexx(var2)).OpMult((RexxSet)null, $$2).toint()); this.offsetx = (new Rexx(var2)).OpDiv((RexxSet)null, $$2); this.offsety = (new Rexx(var2)).OpMult((RexxSet)null, $$3).OpDiv((RexxSet)null, $$2); Rexx[] var3 = new Rexx[2]; RexxParse.parse(new Rexx(String.valueOf(new Date())), $$4, var3); this.now = var3[1]; } public void start() { if (this.timer == null) { this.timer = new Thread(this); } this.timer.setPriority(10); this.timer.start(); } public void stop() { if (this.timer != null) { this.timer.stop(); this.timer = null; } } public void run() { Object var1 = null; Object var2 = null; try { for(; this.timer != null; Thread.sleep($$14.OpMult((RexxSet)null, var7).tolong())) { Rexx[] var3 = new Rexx[2]; RexxParse.parse(new Rexx(String.valueOf(new Date())), $$4, var3); this.now = var3[1]; ((Component)this).repaint(); Rexx[] var4 = new Rexx[1]; RexxParse.parse(this.now, $$9, var4); Rexx var6 = var4[0]; var7 = $$11.OpSub((RexxSet)null, var6); if (var7.OpLtEq((RexxSet)null, $$12)) { var7 = var7.OpAdd((RexxSet)null, $$13); } } } catch (InterruptedException var5) { RexxIO.Say(new Rexx("Interrupted...")); } this.timer = null; } public void paint(Graphics var1) { var1.drawString(wordtime(this.now).toString(), this.offsetx.toint(), this.offsety.toint()); } public static Rexx wordtime(Rexx var0) { Object var1 = null; Object var2 = null; Object var3 = null; Rexx[] var8 = new Rexx[3]; RexxParse.parse(var0, $$16, var8); Rexx var9 = var8[0]; Rexx var10 = var8[1]; Rexx var13 = var8[2]; if (var13.OpGt((RexxSet)null, $$18)) { var10 = var10.OpAdd((RexxSet)null, $$19); } Rexx[] var4 = new Rexx[]{new Rexx(""), new Rexx(" just gone"), new Rexx(" just after"), new Rexx(" nearly"), new Rexx(" almost")}; Rexx var5 = var10.OpRem((RexxSet)null, $$20); Rexx var6 = (new Rexx("It's")).OpCc((RexxSet)null, var4[var5.toint()]); if (var10.OpGt((RexxSet)null, $$21)) { var9 = var9.OpAdd((RexxSet)null, $$19); } var10 = var10.OpAdd((RexxSet)null, $$2); if ((new Rexx(var9.OpRem((RexxSet)null, $$22).OpEq((RexxSet)null, $$12))).OpAnd((RexxSet)null, new Rexx(var10.OpRem((RexxSet)null, $$13).OpLtEq((RexxSet)null, $$23)))) { return var9.OpEq((RexxSet)null, $$22) ? var6.OpCcblank((RexxSet)null, new Rexx("Noon.")) : new Rexx("Midnight."); } else { var10 = var10.OpSub((RexxSet)null, var10.OpRem((RexxSet)null, $$20)); if (var9.OpGt((RexxSet)null, $$22)) { var9 = var9.OpSub((RexxSet)null, $$22); } else if (var9.OpEq((RexxSet)null, $$12)) { var9 = new Rexx((byte)12); } if (!var10.OpEq((RexxSet)null, $$12)) { if (var10.OpEq((RexxSet)null, $$13)) { var10 = new Rexx((byte)0); } else if (var10.OpEq((RexxSet)null, $$20)) { var6 = var6.OpCcblank((RexxSet)null, new Rexx("five past")); } else if (var10.OpEq((RexxSet)null, $$26)) { var6 = var6.OpCcblank((RexxSet)null, new Rexx("ten past")); } else if (var10.OpEq((RexxSet)null, $$27)) { var6 = var6.OpCcblank((RexxSet)null, new Rexx("a quarter past")); } else if (var10.OpEq((RexxSet)null, $$1)) { var6 = var6.OpCcblank((RexxSet)null, new Rexx("twenty past")); } else if (var10.OpEq((RexxSet)null, $$28)) { var6 = var6.OpCcblank((RexxSet)null, new Rexx("twenty-five past")); } else if (var10.OpEq((RexxSet)null, $$11)) { var6 = var6.OpCcblank((RexxSet)null, new Rexx("half past")); } else if (var10.OpEq((RexxSet)null, $$29)) { var6 = var6.OpCcblank((RexxSet)null, new Rexx("twenty-five to")); } else if (var10.OpEq((RexxSet)null, $$30)) { var6 = var6.OpCcblank((RexxSet)null, new Rexx("twenty to")); } else if (var10.OpEq((RexxSet)null, $$31)) { var6 = var6.OpCcblank((RexxSet)null, new Rexx("a quarter to")); } else if (var10.OpEq((RexxSet)null, $$32)) { var6 = var6.OpCcblank((RexxSet)null, new Rexx("ten to")); } else { if (!var10.OpEq((RexxSet)null, $$33)) { throw new NoOtherwiseException(); } var6 = var6.OpCcblank((RexxSet)null, new Rexx("five to")); } } Rexx var7 = (new Rexx("one two three four five six")).OpCcblank((RexxSet)null, new Rexx("seven eight nine ten eleven twelve ")); var6 = var6.OpCcblank((RexxSet)null, var7.word(var9)); if (var10.OpEq((RexxSet)null, $$12)) { var6 = var6.OpCcblank((RexxSet)null, new Rexx("o'clock")); } return var6.OpCc((RexxSet)null, new Rexx('.')); } } }