All pastes #769607 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-11 16:02 UTC
rendered paste body
// Decompiled by DJ v3.9.9.91 Copyright 2005 Atanas Neshkov  Date: 2007-11-11 17:01:42
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   B07_048.java

import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.*;
import java.net.URL;

public class B07_048 extends Applet
{

    public String getAppletInfo()
    {
        return "Name: B07_048\r\nAuthor: Robert Meyer\r\nCreated with Microsoft Visual J++ Version 1.0";
    }

    public void init()
    {
        svar = new Svarxy[200];
        for(int i = 0; i < 200; i++)
        {
            svar[i] = new Svarxy();
            svar[i].max = "";
            svar[i].min = "";
        }

        for(int j = 0; j < 20; j++)
            frage_help[j] = "xxxxxxxx";

        for(int k = 0; k < 5; k++)
            Ix[k] = new Inlaemn();

        for(int l = 0; l < 200; l++)
            resultat[l] = 0;

        vask_algoritm();
        fyll_svarsmatris();
        grafisk_layout();
        for(int i1 = 0; i1 < antal_element; i1++)
            svarsruta[i1].disable();

        for(int j1 = 0; j1 < antal_II; j1++)
        {
            svarsruta[Ix[j1].fraga[0].delsvar[0].element1].enable();
            svarsruta[Ix[j1].fraga[0].delsvar[0].element1].setBackground(Color.white);
        }

        packe.show(this, "0");
        svarsruta[0].requestFocus();
    }

    void fyll_svarsmatris()
    {
        int i = 0;
        boolean flag = false;
        String as[] = new String[5];
        as[0] = "\261\236\257\257\257\257\256\257\256\257\236\257\257\257\257\256\257\256\257\236\261\236\261\264\263\236\261\264\263\236\261\236\260\262\263\236\260\262\263\236\261\236\257\257\252\262\261\265\262\236\257\257\252\262\261\265\264\236\250\261\236\257\257\257\256\256\256\256\257\236\257\257\257\256\256\256\256\257\236\250\261\236\257\256\257\256\236\257\256\257\256\236\261\236\257\256\257\256\236\257\256\257\256\236\250\261\236\257\264\267\236\257\264\267\236\261\236\253\263\256\263\236\253\263\256\263\236\261\236\257\267\236\257\267\236\250";
        as[1] = "\261\236\266\265\267\263\260\236\266\265\267\263\260\236\261\236\261\263\265\261\260\267\265\236\261\263\265\261\260\267\265\236\261\236\266\256\257\267\264\236\266\256\257\267\264\236\250";
        as[2] = "BOKM\304RKE6";
        as[3] = "BOKM\304RKE7";
        as[4] = "BOKM\304RKE8";
        int j = 0;
        for(int k = 0; k < 5; k++)
        {
            String s = as[k];
            if(s.substring(0, s.length() - 1).equals("BOKM\304RKE"))
                break;
            s = x2y(s);
            s = s.trim();
            if(s == null || s == "" || s.length() == 0)
                break;
            j++;
            hello = s;
            int l = 0;
            for(int i1 = 0; i1 < 4; i1++)
            {
                if(s == null || s == "" || s.length() == 0)
                    break;
                l++;
                int j1 = s.indexOf("*");
                String s1;
                if(j1 == -1)
                {
                    s1 = s;
                    s = "";
                } else
                {
                    s1 = s.substring(0, j1).trim();
                    s = s.substring(j1 + 1, s.length()).trim();
                }
                int i2 = 0;
                for(int j2 = 0; j2 < 4; j2++)
                {
                    if(s1 == null || s1 == "" || s1.length() == 0)
                        break;
                    int k1 = s1.indexOf(" ");
                    if(k1 == -1)
                        break;
                    i2++;
                    String s2 = s1.substring(0, k1);
                    int k2 = Integer.parseInt(s2);
                    Ix[k].fraga[i1].delsvar[j2].kod = k2;
                    Ix[k].fraga[i1].delsvar[j2].element1 = i;
                    s1 = s1.substring(k1 + 1, s1.length()).trim();
                    byte byte0;
                    if(k2 == 4)
                        byte0 = 4;
                    else
                        byte0 = 2;
                    for(int l2 = 0; l2 < byte0; l2++)
                    {
                        if(s1 == null || s1 == "")
                            break;
                        int l1 = s1.indexOf(" ");
                        String s3;
                        if(l1 == -1)
                        {
                            s3 = s1;
                            s1 = "";
                        } else
                        {
                            s3 = s1.substring(0, l1);
                            s1 = s1.substring(l1 + 1, s1.length()).trim();
                        }
                        s3 = decimalpunkt_komma(s3);
                        if(!flag)
                        {
                            flag = true;
                            svar[i].min = s3;
                        } else
                        {
                            flag = false;
                            svar[i].max = s3;
                            i++;
                        }
                    }

                }

                Ix[k].fraga[i1].antal_delsvar = i2;
            }

            Ix[k].antal_fragor = l;
        }

        antal_II = j;
        antal_element = i;
    }

    String decimalpunkt_komma(String s)
    {
        int i = s.indexOf(",");
        if(i >= 0)
        {
            String s1 = s.substring(0, i);
            String s2 = s.substring(i + 1, s.length());
            s = s1 + "." + s2;
        }
        return s;
    }

    String x2y(String s)
    {
        String s2 = "";
        for(int i = 0; i < s.length(); i++)
        {
            char c = s.charAt(i);
            c -= '~';
            String s1 = String.valueOf(c);
            s2 = s2 + s1;
        }

        return s2;
    }

    double konvertera(String s)
    {
        Double double1 = Double.valueOf(s);
        return double1.doubleValue();
    }

    void vask_algoritm()
    {
        String as[] = new String[5];
        as[0] = "90000:21,23021:5,23000:6,90001:14";
        as[1] = "23025:2";
        as[2] = "BOKM\304RKE11";
        as[3] = "BOKM\304RKE12";
        as[4] = "BOKM\304RKE13";
        int i = 0;
        for(int j = 0; j < 5; j++)
        {
            String s = as[j].trim();
            for(int k = 0; k < 4; k++)
            {
                if(s == "" || s == null || s.length() == 0)
                    break;
                int l = s.indexOf(",");
                if(l == -1)
                {
                    frage_help[i] = s;
                    s = "";
                } else
                {
                    frage_help[i] = s.substring(0, l);
                    s = s.substring(l + 1, s.length());
                }
                i++;
            }

        }

    }

    public void kolla_facit(int i, String s)
    {
        s = decimalpunkt_komma(s);
        double d = konvertera(s);
        double d1 = konvertera(svar[i].max);
        double d2 = konvertera(svar[i].min);
        double d3 = d - d2;
        double d4 = d1 - d;
        if(d3 >= 0.0D && d4 >= 0.0D)
        {
            resultat[i] = 1;
            svarsruta[i].setBackground(Color.green);
            svarsruta[i].disable();
            if(i < antal_element - 1)
            {
                svarsruta[i + 1].enable();
                svarsruta[i + 1].setBackground(Color.white);
                svarsruta[i + 1].setText("");
                svarsruta[i + 1].requestFocus();
                return;
            }
        } else
        {
            svarsruta[i].setBackground(Color.red);
            svarsruta[i].disable();
            if(i != 0)
            {
                svarsruta[0].enable();
                svarsruta[0].requestFocus();
                svarsruta[0].setBackground(Color.white);
                svarsruta[0].setText("");
            }
        }
    }

    public void slut_kontroll()
    {
        int i = 0;
        for(int j = 0; j < antal_element; j++)
            i += resultat[j];

        if(i >= antal_element)
        {
            String s = getParameter("ALLDONEPAGE");
            String s1 = new String(s + "?packe=" + namn + "&svar=" + hello);
            try
            {
                URL url = new URL(s1);
                getAppletContext().showDocument(url, "_self");
                return;
            }
            catch(Exception exception)
            {
                showStatus(exception.toString());
            }
            return;
        } else
        {
            return;
        }
    }

    void grafisk_layout()
    {
        setLayout(packe);
        setBackground(Color.lightGray);
        nummer[0] = "a) ";
        nummer[1] = "b) ";
        nummer[2] = "c) ";
        nummer[3] = "d) ";
        for(int i = 0; i < antal_II; i++)
        {
            inlaemn_nr[i] = new Choice();
            inlaemn_nr[i].setFont(font4);
            for(int j = 0; j < antal_II; j++)
                inlaemn_nr[i].addItem(Integer.toString(j + 1));

        }

        int k = 0;
        int l = 0;
        for(int i1 = 0; i1 < antal_II; i1++)
        {
            Panel panel = new Panel();
            panel.setLayout(new GridLayout(0, 1, 0, 1));
            panel.setBackground(Color.green);
            Label label = new Label("Kontrollskrivningsuppgift Nr:");
            label.setFont(font4);
            Label label1 = new Label("                                   ");
            label1.setFont(font4);
            TextField textfield = new TextField(15);
            textfield.setBackground(Color.cyan);
            textfield.setFont(font0);
            textfield.setText("Packe: B07-048");
            textfield.disable();
            Panel panel1 = new Panel();
            panel1.setBackground(Color.lightGray);
            panel1.setLayout(new FlowLayout(0));
            panel1.add("Left", label);
            inlaemn_nr[i1].select(i1);
            panel1.add("Left", inlaemn_nr[i1]);
            panel1.add("Left", label1);
            panel1.add("Left", textfield);
            panel.add(panel1);
            for(int j1 = 0; j1 < Ix[i1].antal_fragor; j1++)
            {
                Panel panel2 = new Panel();
                panel2.setBackground(Color.lightGray);
                panel2.setLayout(new FlowLayout(0));
                Panel panel3 = new Panel();
                panel3.setBackground(Color.lightGray);
                panel3.setLayout(new FlowLayout(0, 0, 0));
                knapp[l] = new Button("Hj\344lp?");
                knapp[l].setFont(font0);
                knapp[l].disable();
                Label label2 = new Label("Fr\345ga Nr: " + Integer.toString(j1 + 1) + "     ");
                label2.setFont(font2);
                panel2.add(label2);
                panel2.add(knapp[l]);
                panel.add(panel2);
                l++;
                for(int k1 = 0; k1 < Ix[i1].fraga[j1].antal_delsvar; k1++)
                {
                    Label label3 = new Label(nummer[k1]);
                    label3.setFont(font3);
                    Panel panel4 = new Panel();
                    panel4.setLayout(new FlowLayout(0, 3, 0));
                    panel3.add(label3);
                    if(Ix[i1].fraga[j1].delsvar[k1].kod == 4)
                    {
                        svar_kod4(panel4, k);
                        k += 2;
                    } else
                    {
                        svar_kod2(panel4, k);
                        k++;
                    }
                    panel3.add(panel4);
                }

                panel.add(panel3);
            }

            add(Integer.toString(i1), panel);
        }

    }

    Panel svar_kod2(Panel panel, int i)
    {
        svarsruta[i] = new TextField(10);
        svarsruta[i].setBackground(Color.gray);
        svarsruta[i].setFont(font2);
        panel.add(svarsruta[i]);
        return panel;
    }

    Panel svar_kod4(Panel panel, int i)
    {
        TextField textfield = new TextField(3);
        textfield.setFont(font0);
        textfield.setBackground(Color.lightGray);
        textfield.setText("+j");
        textfield.disable();
        svarsruta[i] = new TextField(10);
        svarsruta[i].setBackground(Color.gray);
        svarsruta[i].setFont(font2);
        panel.add(svarsruta[i]);
        i++;
        panel.add(textfield);
        svarsruta[i] = new TextField(10);
        svarsruta[i].setBackground(Color.gray);
        svarsruta[i].setFont(font2);
        panel.add(svarsruta[i]);
        return panel;
    }

    public boolean action(Event event, Object obj)
    {
        if(event.target instanceof Choice)
        {
            Integer integer = Integer.valueOf((String)obj);
            int k = integer.intValue() - 1;
            packe.show(this, Integer.toString(k));
            inlaemn_nr[k].select(k);
            svarsruta[Ix[k].fraga[0].delsvar[0].element1].requestFocus();
            return true;
        }
        if(event.target instanceof TextField)
        {
            int i = -1;
            String s = null;
            for(int i1 = 0; i1 < antal_element; i1++)
            {
                if(event.target != svarsruta[i1])
                    continue;
                i = i1;
                s = svarsruta[i1].getText();
                break;
            }

            kolla_facit(i, s);
            slut_kontroll();
            return true;
        }
        if(event.target instanceof Button)
        {
            int j = -1;
            for(int l = 0; l < 20; l++)
            {
                if(event.target != knapp[l])
                    continue;
                j = l;
                break;
            }

            String s1 = frage_help[j];
            s1 = s1.substring(0, 5) + ".htm";
            String s2 = getParameter("HELPPAGE");
            try
            {
                URL url = new URL(s2 + s1);
                getAppletContext().showDocument(url, "william");
            }
            catch(Exception exception)
            {
                showStatus(exception.toString());
            }
            return true;
        } else
        {
            return false;
        }
    }

    public boolean handleEvent(Event event)
    {
        if(event.key == 9)
            return true;
        else
            return super.handleEvent(event);
    }

    public B07_048()
    {
        namn = new String("B07-048");
        packe = new CardLayout();
        Ix = new Inlaemn[5];
        knapp = new Button[20];
        svarsruta = new TextField[200];
        nummer = new String[4];
        inlaemn_nr = new Choice[5];
        frage_help = new String[20];
        resultat = new int[200];
        font0 = new Font("Arial", 1, 17);
        font1 = new Font("Arial", 0, 22);
        font2 = new Font("Arial", 0, 18);
        font3 = new Font("Arial", 0, 19);
        font4 = new Font("Arial", 1, 26);
    }

    public String hello;
    private final String PACKENAMN = "B07-048";
    public String namn;
    private CardLayout packe;
    private Inlaemn Ix[];
    private int antal_II;
    private Button knapp[];
    private TextField svarsruta[];
    private String nummer[];
    private Choice inlaemn_nr[];
    private int antal_element;
    private Svarxy svar[];
    private String frage_help[];
    private int resultat[];
    private Font font0;
    private Font font1;
    private Font font2;
    private Font font3;
    private Font font4;
}