Guten Abend zusammen,
ich bin Neuling in Sachen Java, behersche bislang nur (ein wenig) VBA und wollte mich jetzt mal von Excel los lösen und habe mir meine bislang in Excel laufende Abfrage beii der von einem Barcodescanner Daten in VBA übertragen werden vorgenommen in Java zu programmieren da ich dachte das ist fürn anfang ganz gut zum lernen.
Und Zwar liefert der Scanner einen 12-Stelligen String der mit einem Sollwert verglichen werden soll.
Dann sollen die Stellen ausgegeben werden die vom Soll abweichen (z.B. Soll: 111111, Ist: 11121 dann sollte er ne Message box ausgeben mit "Stelle 4 Falsch")
In VBA löse ich das so:
varFF= String des Barcodes
Wird Zerlegt
a = Mid(varFF, 1, 1)
b = Mid(varFF, 2, 6)
c = Mid(varFF, 8, 2)
d = Mid(varFF, 10, 2)
e = Mid(varFF, 12, 2)
Und dann überprüft ob die Teile stimmen.
If j <> a Then
Fehler0 = "Falscher Tag"
MsgBox Fehler0
End If
So sieht mein Code bislang aus: PS Tipps nehm ich gerne entgegen jeglicher ART.
Also im Prinzip muss ich den Textfeld Inhalt zerlegen in 4 Teile (6-,2-,2-,2- Stellen) und diese mit Sollvorgaben vergleichen. Und wenn alles Stimmt das Feld grün machen und falls nicht am Ende ne MSG erhalten Welche stellen bei welcher Textbox falsch sind.
ich bin Neuling in Sachen Java, behersche bislang nur (ein wenig) VBA und wollte mich jetzt mal von Excel los lösen und habe mir meine bislang in Excel laufende Abfrage beii der von einem Barcodescanner Daten in VBA übertragen werden vorgenommen in Java zu programmieren da ich dachte das ist fürn anfang ganz gut zum lernen.
Und Zwar liefert der Scanner einen 12-Stelligen String der mit einem Sollwert verglichen werden soll.
Dann sollen die Stellen ausgegeben werden die vom Soll abweichen (z.B. Soll: 111111, Ist: 11121 dann sollte er ne Message box ausgeben mit "Stelle 4 Falsch")
In VBA löse ich das so:
varFF= String des Barcodes
Wird Zerlegt
a = Mid(varFF, 1, 1)
b = Mid(varFF, 2, 6)
c = Mid(varFF, 8, 2)
d = Mid(varFF, 10, 2)
e = Mid(varFF, 12, 2)
Und dann überprüft ob die Teile stimmen.
If j <> a Then
Fehler0 = "Falscher Tag"
MsgBox Fehler0
End If
So sieht mein Code bislang aus: PS Tipps nehm ich gerne entgegen jeglicher ART.
Java:
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;
import java.awt.Font;
public class Vergleich {
private JFrame frame;
private JTextField tf1;
private JTextField tf2;
private JTextField tf3;
private JTextField tf4;
private JTextField tf5;
private JTextField tf6;
private JTextField tf7;
private JTextField tf8;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Vergleich window = new Vergleich();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public Vergleich() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 763, 435);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
tf1 = new JTextField();
tf1.setBounds(109, 27, 244, 40);
frame.getContentPane().add(tf1);
tf1.setColumns(10);
tf2 = new JTextField();
tf2.setColumns(10);
tf2.setBounds(109, 98, 244, 40);
frame.getContentPane().add(tf2);
tf3 = new JTextField();
tf3.setColumns(10);
tf3.setBounds(109, 173, 244, 40);
frame.getContentPane().add(tf3);
tf4 = new JTextField();
tf4.setColumns(10);
tf4.setBounds(109, 245, 244, 40);
frame.getContentPane().add(tf4);
tf5 = new JTextField();
tf5.setColumns(10);
tf5.setBounds(461, 27, 244, 40);
frame.getContentPane().add(tf5);
tf6 = new JTextField();
tf6.setColumns(10);
tf6.setBounds(461, 98, 244, 40);
frame.getContentPane().add(tf6);
tf7 = new JTextField();
tf7.setColumns(10);
tf7.setBounds(461, 173, 244, 40);
frame.getContentPane().add(tf7);
tf8 = new JTextField();
tf8.setColumns(10);
tf8.setBounds(461, 245, 244, 40);
frame.getContentPane().add(tf8);
JButton btnNewButton = new JButton("Abfrage Starten");
btnNewButton.setFont(new Font("Tahoma", Font.BOLD, 16));
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String vg1 = tf1.getText();
if (vg1.equals("123456010203")) {
tf1.setBackground(Color.green);
// JOptionPane.showMessageDialog(frame, "Passt!");
} else {
tf1.setBackground(Color.red);
// JOptionPane.showMessageDialog(frame, "Passt nicht!");
}
String vg2 = tf2.getText();
if (vg2.equals("123456010203")) {
tf2.setBackground(Color.green);
} else {
tf2.setBackground(Color.red);
}
String vg3 = tf3.getText();
if (vg3.equals("123456010203")) {
tf3.setBackground(Color.green);
} else {
tf3.setBackground(Color.red);
}
String vg4 = tf4.getText();
if (vg4.equals("123456010203")) {
tf4.setBackground(Color.green);
} else {
tf4.setBackground(Color.red);
}
String vg5 = tf5.getText();
if (vg5.equals("123456010203")) {
tf5.setBackground(Color.green);
} else {
tf5.setBackground(Color.red);
}
String vg6 = tf6.getText();
if (vg6.equals("123456010203")) {
tf6.setBackground(Color.green);
} else {
tf6.setBackground(Color.red);
}
String vg7 = tf7.getText();
if (vg7.equals("123456010203")) {
tf7.setBackground(Color.green);
} else {
tf7.setBackground(Color.red);
}
String vg8 = tf8.getText();
if (vg8.equals("123456010203")) {
tf8.setBackground(Color.green);
} else {
tf8.setBackground(Color.red);
}
}
});
btnNewButton.setBounds(109, 313, 596, 54);
frame.getContentPane().add(btnNewButton);
JLabel lblDw = new JLabel("DW1");
lblDw.setFont(new Font("Tahoma", Font.BOLD, 16));
lblDw.setBounds(25, 25, 46, 42);
frame.getContentPane().add(lblDw);
JLabel lblDw_1 = new JLabel("DW2");
lblDw_1.setFont(new Font("Tahoma", Font.BOLD, 16));
lblDw_1.setBounds(25, 96, 46, 42);
frame.getContentPane().add(lblDw_1);
JLabel lblDw_2 = new JLabel("DW3");
lblDw_2.setFont(new Font("Tahoma", Font.BOLD, 16));
lblDw_2.setBounds(25, 173, 46, 42);
frame.getContentPane().add(lblDw_2);
JLabel lblDw_3 = new JLabel("DW4");
lblDw_3.setFont(new Font("Tahoma", Font.BOLD, 16));
lblDw_3.setBounds(25, 245, 46, 42);
frame.getContentPane().add(lblDw_3);
JLabel lblDw_4 = new JLabel("DW5");
lblDw_4.setFont(new Font("Tahoma", Font.BOLD, 16));
lblDw_4.setBounds(383, 27, 46, 42);
frame.getContentPane().add(lblDw_4);
JLabel lblDw_5 = new JLabel("DW6");
lblDw_5.setFont(new Font("Tahoma", Font.BOLD, 16));
lblDw_5.setBounds(383, 98, 46, 42);
frame.getContentPane().add(lblDw_5);
JLabel lblDw_6 = new JLabel("DW7");
lblDw_6.setFont(new Font("Tahoma", Font.BOLD, 16));
lblDw_6.setBounds(383, 173, 46, 42);
frame.getContentPane().add(lblDw_6);
JLabel lblDw_7 = new JLabel("DW8");
lblDw_7.setFont(new Font("Tahoma", Font.BOLD, 16));
lblDw_7.setBounds(383, 243, 46, 42);
frame.getContentPane().add(lblDw_7);
}
}
Also im Prinzip muss ich den Textfeld Inhalt zerlegen in 4 Teile (6-,2-,2-,2- Stellen) und diese mit Sollvorgaben vergleichen. Und wenn alles Stimmt das Feld grün machen und falls nicht am Ende ne MSG erhalten Welche stellen bei welcher Textbox falsch sind.