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