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;
}