home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / OS2 / NETREXX.ARJ / NETREXX.ZIP / NetRexx / WordClock.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-06-25  |  5.0 KB  |  183 lines

  1. import java.applet.Applet;
  2. import java.awt.Component;
  3. import java.awt.Font;
  4. import java.awt.Graphics;
  5. import java.util.Date;
  6. import netrexx.lang.NoOtherwiseException;
  7. import netrexx.lang.Rexx;
  8. import netrexx.lang.RexxIO;
  9. import netrexx.lang.RexxParse;
  10. import netrexx.lang.RexxSet;
  11.  
  12. public class WordClock extends Applet implements Runnable {
  13.    protected Thread timer;
  14.    protected Rexx offsetx;
  15.    protected Rexx offsety;
  16.    protected Rexx now;
  17.    private static final Rexx $$1 = new Rexx(20);
  18.    private static final Rexx $$2 = new Rexx(2);
  19.    private static final Rexx $$3 = new Rexx(3);
  20.    private static final char[] $$4 = new char[]{'\u0001', '\n', '\u0005', '\u0000', '\u0000', '\u0000', '\u0001', '\u0000', '\u0000'};
  21.    private static final char[] $$9 = new char[]{'\u0002', '\u0001', ':', '\u0002', '\u0001', ':', '\u0001', '\n', '\u0001', '\u0000', '\u0000'};
  22.    private static final Rexx $$11 = new Rexx(30);
  23.    private static final Rexx $$12 = new Rexx(0);
  24.    private static final Rexx $$13 = new Rexx(60);
  25.    private static final Rexx $$14 = new Rexx(1000);
  26.    private static final char[] $$16 = new char[]{'\u0002', '\u0001', ':', '\n', '\u0001', '\u0000', '\u0002', '\u0001', ':', '\n', '\u0001', '\u0001', '\u0001', '\n', '\u0001', '\u0002', '\u0000'};
  27.    private static final Rexx $$18 = new Rexx(29);
  28.    private static final Rexx $$19 = new Rexx(1);
  29.    private static final Rexx $$20 = new Rexx(5);
  30.    private static final Rexx $$21 = new Rexx(32);
  31.    private static final Rexx $$22 = new Rexx(12);
  32.    private static final Rexx $$23 = new Rexx(4);
  33.    private static final Rexx $$26 = new Rexx(10);
  34.    private static final Rexx $$27 = new Rexx(15);
  35.    private static final Rexx $$28 = new Rexx(25);
  36.    private static final Rexx $$29 = new Rexx(35);
  37.    private static final Rexx $$30 = new Rexx(40);
  38.    private static final Rexx $$31 = new Rexx(45);
  39.    private static final Rexx $$32 = new Rexx(50);
  40.    private static final Rexx $$33 = new Rexx(55);
  41.    // $FF: renamed from: $0 java.lang.String
  42.    private static final String field_0 = "WordClock.nrx";
  43.  
  44.    public void init() {
  45.       String var1 = ((Applet)this).getParameter("face");
  46.       if (var1 == null) {
  47.          var1 = "TimesRoman";
  48.       }
  49.  
  50.       String var2 = ((Applet)this).getParameter("size");
  51.       if (var2 == null) {
  52.          var2 = "20";
  53.       }
  54.  
  55.       ((Component)this).setFont(new Font(var1, 1, (new Rexx(var2)).toint()));
  56.       ((Applet)this).resize((new Rexx(var2)).OpMult((RexxSet)null, $$1).toint(), (new Rexx(var2)).OpMult((RexxSet)null, $$2).toint());
  57.       this.offsetx = (new Rexx(var2)).OpDiv((RexxSet)null, $$2);
  58.       this.offsety = (new Rexx(var2)).OpMult((RexxSet)null, $$3).OpDiv((RexxSet)null, $$2);
  59.       Rexx[] var3 = new Rexx[2];
  60.       RexxParse.parse(new Rexx(String.valueOf(new Date())), $$4, var3);
  61.       this.now = var3[1];
  62.    }
  63.  
  64.    public void start() {
  65.       if (this.timer == null) {
  66.          this.timer = new Thread(this);
  67.       }
  68.  
  69.       this.timer.setPriority(10);
  70.       this.timer.start();
  71.    }
  72.  
  73.    public void stop() {
  74.       if (this.timer != null) {
  75.          this.timer.stop();
  76.          this.timer = null;
  77.       }
  78.  
  79.    }
  80.  
  81.    public void run() {
  82.       Object var1 = null;
  83.       Object var2 = null;
  84.  
  85.       try {
  86.          for(; this.timer != null; Thread.sleep($$14.OpMult((RexxSet)null, var7).tolong())) {
  87.             Rexx[] var3 = new Rexx[2];
  88.             RexxParse.parse(new Rexx(String.valueOf(new Date())), $$4, var3);
  89.             this.now = var3[1];
  90.             ((Component)this).repaint();
  91.             Rexx[] var4 = new Rexx[1];
  92.             RexxParse.parse(this.now, $$9, var4);
  93.             Rexx var6 = var4[0];
  94.             var7 = $$11.OpSub((RexxSet)null, var6);
  95.             if (var7.OpLtEq((RexxSet)null, $$12)) {
  96.                var7 = var7.OpAdd((RexxSet)null, $$13);
  97.             }
  98.          }
  99.       } catch (InterruptedException var5) {
  100.          RexxIO.Say(new Rexx("Interrupted..."));
  101.       }
  102.  
  103.       this.timer = null;
  104.    }
  105.  
  106.    public void paint(Graphics var1) {
  107.       var1.drawString(wordtime(this.now).toString(), this.offsetx.toint(), this.offsety.toint());
  108.    }
  109.  
  110.    public static Rexx wordtime(Rexx var0) {
  111.       Object var1 = null;
  112.       Object var2 = null;
  113.       Object var3 = null;
  114.       Rexx[] var8 = new Rexx[3];
  115.       RexxParse.parse(var0, $$16, var8);
  116.       Rexx var9 = var8[0];
  117.       Rexx var10 = var8[1];
  118.       Rexx var13 = var8[2];
  119.       if (var13.OpGt((RexxSet)null, $$18)) {
  120.          var10 = var10.OpAdd((RexxSet)null, $$19);
  121.       }
  122.  
  123.       Rexx[] var4 = new Rexx[]{new Rexx(""), new Rexx(" just gone"), new Rexx(" just after"), new Rexx(" nearly"), new Rexx(" almost")};
  124.       Rexx var5 = var10.OpRem((RexxSet)null, $$20);
  125.       Rexx var6 = (new Rexx("It's")).OpCc((RexxSet)null, var4[var5.toint()]);
  126.       if (var10.OpGt((RexxSet)null, $$21)) {
  127.          var9 = var9.OpAdd((RexxSet)null, $$19);
  128.       }
  129.  
  130.       var10 = var10.OpAdd((RexxSet)null, $$2);
  131.       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)))) {
  132.          return var9.OpEq((RexxSet)null, $$22) ? var6.OpCcblank((RexxSet)null, new Rexx("Noon.")) : new Rexx("Midnight.");
  133.       } else {
  134.          var10 = var10.OpSub((RexxSet)null, var10.OpRem((RexxSet)null, $$20));
  135.          if (var9.OpGt((RexxSet)null, $$22)) {
  136.             var9 = var9.OpSub((RexxSet)null, $$22);
  137.          } else if (var9.OpEq((RexxSet)null, $$12)) {
  138.             var9 = new Rexx((byte)12);
  139.          }
  140.  
  141.          if (!var10.OpEq((RexxSet)null, $$12)) {
  142.             if (var10.OpEq((RexxSet)null, $$13)) {
  143.                var10 = new Rexx((byte)0);
  144.             } else if (var10.OpEq((RexxSet)null, $$20)) {
  145.                var6 = var6.OpCcblank((RexxSet)null, new Rexx("five past"));
  146.             } else if (var10.OpEq((RexxSet)null, $$26)) {
  147.                var6 = var6.OpCcblank((RexxSet)null, new Rexx("ten past"));
  148.             } else if (var10.OpEq((RexxSet)null, $$27)) {
  149.                var6 = var6.OpCcblank((RexxSet)null, new Rexx("a quarter past"));
  150.             } else if (var10.OpEq((RexxSet)null, $$1)) {
  151.                var6 = var6.OpCcblank((RexxSet)null, new Rexx("twenty past"));
  152.             } else if (var10.OpEq((RexxSet)null, $$28)) {
  153.                var6 = var6.OpCcblank((RexxSet)null, new Rexx("twenty-five past"));
  154.             } else if (var10.OpEq((RexxSet)null, $$11)) {
  155.                var6 = var6.OpCcblank((RexxSet)null, new Rexx("half past"));
  156.             } else if (var10.OpEq((RexxSet)null, $$29)) {
  157.                var6 = var6.OpCcblank((RexxSet)null, new Rexx("twenty-five to"));
  158.             } else if (var10.OpEq((RexxSet)null, $$30)) {
  159.                var6 = var6.OpCcblank((RexxSet)null, new Rexx("twenty to"));
  160.             } else if (var10.OpEq((RexxSet)null, $$31)) {
  161.                var6 = var6.OpCcblank((RexxSet)null, new Rexx("a quarter to"));
  162.             } else if (var10.OpEq((RexxSet)null, $$32)) {
  163.                var6 = var6.OpCcblank((RexxSet)null, new Rexx("ten to"));
  164.             } else {
  165.                if (!var10.OpEq((RexxSet)null, $$33)) {
  166.                   throw new NoOtherwiseException();
  167.                }
  168.  
  169.                var6 = var6.OpCcblank((RexxSet)null, new Rexx("five to"));
  170.             }
  171.          }
  172.  
  173.          Rexx var7 = (new Rexx("one two three four five six")).OpCcblank((RexxSet)null, new Rexx("seven eight nine ten eleven twelve "));
  174.          var6 = var6.OpCcblank((RexxSet)null, var7.word(var9));
  175.          if (var10.OpEq((RexxSet)null, $$12)) {
  176.             var6 = var6.OpCcblank((RexxSet)null, new Rexx("o'clock"));
  177.          }
  178.  
  179.          return var6.OpCc((RexxSet)null, new Rexx('.'));
  180.       }
  181.    }
  182. }
  183.