[Solved] Write a --help for Python program.

Hello.
I write programs in Python and I don't know one thing.
How to write --help command for python program (like calc.py --help).
And after this command you will see help.
Anyone know how to do something like that?
Thanks
Last edited by SpeedVin (2009-09-26 16:53:14)

genisis300 wrote:
you need to use a module called option parser
http://www.alexonlinux.com/pythons-optp … man-beings
if you still need help let me know and i post an example.
Regards
Matthew
Thanks that awesome!.
But I added some arguments and when I try to run program I got:
File "calculator.py", line 7
(opts, args) = parser.parse_args()
^
SyntaxError: invalid syntax
Here is my code:
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 import optparse
4 parser = optparse.OptionParser()
5 parser.add_option('-h', '--help', help='Show this help message'
6
7 (opts, args) = parser.parse_args()
8 #
9 #def help():
10 # print "+ = plus"
11 # print "- = minus"
12 # print "* = multiplication"
13 # print "/ = division"
14 # print "// = floor division"
15 # End of function.
16 print "If you need help just write --help or -h."
17 number1 = int(raw_input('Write a number: '))
18 number2 = int(raw_input('Write a number nr.2: '))
19 znak = raw_input('What to do?')
20 if znak == '+':
21 print number1 + number2
22 elif znak == '-':
23 print number1 - number2
24 elif znak == '*':
25 print number1 * number2
26 elif znak == '/':
27 print number1 / number2
28 elif znak == '**':
29 print number1 ** number2
30 elif znak == '//':
31 print number1 // number2
32 else:
33 print "I don't know what to do with " + znak
34 #if raw_input() == help:
35 # help()
Last edited by SpeedVin (2009-09-26 09:40:26)

Similar Messages

  • Online Help for Common Programs Will Not Open in Firefox

    Many of my programs, such as Ultradefrag and Audacity (to name two), present their Help guides and User Manuals using a browser. I have Firefox set as my default browser. Every time I try to use help with these programs, I get the very frustrating message "Firefox is already running, but ...". I cannot use help without killing firefox and losing all of my browsing sessions. There simply MUST be a way around this. I do not experience this major problem with Internet Explorer. I'm using Firefox 14.0.1 on Windows 7 SP1 64-bit.

    Hi,
    You can try creating a a [https://support.mozilla.org/en-US/kb/Managing-profiles new profile]. Once it has been created you can use the '''Default User''' (the current profile) profile for the regular browsing, and choose the newly created dummy profile for external programs that need it.
    [https://support.mozilla.org/en-US/kb/Profiles?s=profile&r=2&e=sph&as=s Profiles Howto]
    [https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles Profile Manager]
    [http://kb.mozillazine.org/Profile_folder_-_Firefox Profile Folder & Files]

  • I need Help for that program

    i do aprogram for sample calculator by Java there it , i Hope if u have any sugesst say to me Or if u have a program for that.
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Z extends Applet implements ActionListener {
         int n4=0;
         StringBuffer E;
         Character x;
         String s;
         TextField T1;
         public void init(){
              T1=new TextField(20);
              this.add(T1);
         Button a=new Button("2");
         this.add(a);
         a.setActionCommand("2");
         a.addActionListener(this);
         Button b=new Button("3");
         b.setActionCommand("3");
         this.add(b);
         b.addActionListener(this);
         Button d=new Button("-");
         this.add(d);
         d.setActionCommand("-");
         d.addActionListener(this);
              Button f=new Button("+");
         this.add(f);
         f.setActionCommand("+");
         f.addActionListener(this);
    Button c=new Button("=");
         this.add(c);
    c.setActionCommand("+");
    c.addActionListener(this);}
    public void actionPerformed(ActionEvent y){
         s=(y.getActionCommand());
         E=new StringBuffer();
                   x= new Character (s.charAt(0));
         E.append(x.charValue());
              if(E.length() ==3){
                   Character n=new Character(E.charAt(0));
                        Character m=new Character(E.charAt(2));
                   int n1=Integer.parseInt(n.toString());
                   int n2=Integer.parseInt(m.toString());
              if(E.charAt(1)=='+'){
                   n4=n1+n2;}
                   if(E.charAt(1)=='-'){
                   n4=n1-n2;}
                   if(E.charAt(1)=='*'){
                   n4=n1*n2;}
                   if(E.charAt(1)=='/'){
                   n4=n1/n2;}
                   if(s=="="){
                   T1.setText(String.valueOf(n4));
         

    the program is used for do acalculature, i want to know ,why he donot work? .The idea of that program it
    When u click in any number(button) the action performed get that number , and store it in StringBuffer which that stringbuffer enabel me to store three things(the first number, the sign which be *or+, and the secand number)
    and then put the result in variable and then put the result as aString in Text Field.
    I hope u can understand me now and help me for that program, If u donot understand me ,Please Sugesst to me how to do the calculature program.thanks
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Z extends Applet implements ActionListener {
         int n4=0;
         StringBuffer E;
         Character x;
         String s;
         TextField T1;
         public void init(){
              T1=new TextField(20);
              this.add(T1);
         Button a=new Button("2");
         this.add(a);
         a.setActionCommand("2");
         a.addActionListener(this);
         Button b=new Button("3");
         b.setActionCommand("3");
         this.add(b);
         b.addActionListener(this);
         Button d=new Button("-");
         this.add(d);
         d.setActionCommand("-");
         d.addActionListener(this);
              Button f=new Button("+");
         this.add(f);
         f.addActionListener(this);
    Button c=new Button("=");
         this.add(c);
         c.setActionCommand("=");
    c.addActionListener(this);
    public void actionPerformed(ActionEvent y){
         s=(y.getActionCommand());
         E=new StringBuffer();
                   x= new Character (s.charAt(0));
         E.append(x.charValue());
              if(E.length() ==3){
                   Character n=new Character(E.charAt(0));
                        Character m=new Character(E.charAt(2));
                   int n1=Integer.parseInt(n.toString());
                   int n2=Integer.parseInt(m.toString());
              if(E.charAt(1)=='+'){
                   n4=n1+n2;}
                   if(E.charAt(1)=='-'){
                   n4=n1-n2;}
                   if(E.charAt(1)=='*'){
                   n4=n1*n2;}
                   if(E.charAt(1)=='/'){
                   n4=n1/n2;}
                   if(s=="="){
                   T1.setText(String.valueOf(n4));
         

  • Hi there, need help for this program...thx!

    Hi there guys,
    I have created this applet program that requires a user to login with a user no, and a password. I am using arrays as to store the defined variables,(as required by my project supervisor). My problem here is that when the arrays are declared in class validateUser(), the program would run fine, but i cant login and i get a NullPointerException error. if the arrays are located in actionPerformed, i get a 'cannot resolve symbol' error for the method 'get' and 'if (Admin.equals(admins.get(i).toString())) ' as well as 'if (Password.equals(passwordsget(i).toString())) '. I am not very effecient in java, hence the untidy program (and i have to admit, it isnt any good), so sorry for any inconvenience caused. Once agani thx in advance ;)
    here are my codings :
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.image.*;
    import java.awt.event.*;
    import java.io.*;
    import java.net.URL;
    import java.net.*;
    import javax.swing.*;
    import java.lang.*;
    import java.util.Vector;
    public class eg31662 extends Applet implements ActionListener
         Panel panel1, panel2, panel3, panel4, panel5;
         Button login, enter;
         Label inst, top, admin, pass, fieldlabel;
    TextField adminF, passF, field;
    String Admin, Password;
    Vector admins, passwords;
         Thread thread = null;
         boolean status = false;
              public class validateUser extends Applet
                   String[] admins = {"User1", "User2", "User3"};
                   String[] passwords = {"P1", "P2", "P2"};
         public void init()
              setLayout (new BorderLayout());
              panel1 = new Panel(new FlowLayout());
              panel2 = new Panel(new FlowLayout());
              //login button
              login = new Button("Login");
              //instruction
              inst = new Label("Please type in your User no. and the given password in order to proceed");
              //label
              top = new Label("Login login");
              admin = new Label("Admin No :");
              pass = new Label("Password :");
              //input textfields
              adminF = new TextField(8);
              passF = new TextField(10);
              passF.setEchoChar('*');
              panel1.setBackground(Color.gray);
              panel2.setBackground(Color.orange);
              panel2.add(admin);
              panel2.add(adminF);
              panel2.add(pass);
              panel2.add(passF);
              panel2.add(login);
              panel2.add(inst);
              panel1.add(top);
              add(panel1, BorderLayout.NORTH);
              add(panel2, BorderLayout.CENTER);
              login.addActionListener(this);
              setSize(500,400);
         void mainpage()
              boolean flag = true;
              setLayout (new BorderLayout());
              panel1 = new Panel(new FlowLayout());
              panel2 = new Panel(new FlowLayout());
              top = new Label("Welcome");
              enter = new Button("Enter");
              panel2.setBackground(Color.orange);
              panel1.setBackground(Color.gray);
              fieldlabel = new Label("Type something here :");
              field = new TextField(20);
              add(panel1, BorderLayout.NORTH);
              add(panel2, BorderLayout.CENTER);
              panel2.add(fieldlabel);
              panel2.add(field);
              enter.addActionListener(this);
         public void start() {
              if(thread == null) {
                   status = true;
         public void stop() {
              status = false;
         public void run() {
              while(status == true) {
                   try {
                        thread.sleep(50);
                   catch(InterruptedException ie) {
                   repaint();
              thread = null;
         public void actionPerformed(ActionEvent ev)
                   //String[] admins = {"User1", "User2", "User3"};
                   //String[] passwords = {"P1", "P2", "P3"};
              if(ev.getSource() == login)
                   Admin = adminF.getText();
                   Password = passF.getText();
              boolean ok = true;
              for (int i = 0; i < admins.size(); i++) {
              if (Admin.equals(admins.get(i).toString())) {
              if (Password.equals(passwords.get(i).toString())) {
              ok = true;
              this.setVisible(false);
              //break;
                             JOptionPane.showMessageDialog(null, "Welcome, u have successfully logged in");
                             mainpage();
              else {
              ok = false;
              else {
              ok = false;
              if (ok == false) {
                             JOptionPane.showMessageDialog(null,
                        "Incorrect Password or Admin No, Please Try Again",
                        "Access Denied",
                        JOptionPane.ERROR_MESSAGE);
              else {
              this.setVisible(false);
    }

    Hi, sorry to bring this thread up again, but this is actually a continuation from my previous posted program. Hope u guys can help me again!
    Right now i'm supposed to come up with a simple quiz program, which consists of the center panel displayin the question (in a pic format), and a textfield to enter the answer at the lower panel. this goes on for a couple of pages and once it is completed, the final page would display the total correct answers out of the number of questions, as well as the score in percentage form.
    The few(or many) problems taht i'm facing are :
    1)How do i save the answers that are typed in each textfieldAnd later on checked for the correct answer based on the array given?
    2)How do i go about doing the final score in percentage form and total of correct answers?
    3)I previously tried out using canvas, but it didnt seem to work. my questions(pictures) that are supposed to displayed in the center(canvas) produce nothing. How do i rectify that?
    i'm really sorry for the mess in the codings, hope this wouldnt be a hassle for any of u out there. Once again thanks in advance!
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.io.*;
    import java.net.URL;
    import java.net.*;
    import java.util.Vector;
    import javax.swing.*;
    import java.awt.image.*;
    import java.lang.*;
    import java.awt.Graphics;
    public class eg31662 extends Applet implements ActionListener
        Panel panel1, panel2, panel3, panel4, panel5;
        Button login, enter;
        Label inst, top, admin, pass, startLabel;
        TextField adminF, passF, field;
        String Admin, Password;
        Vector admins, passwords;
         //Quiz declarations
         TextField ansF1,ansF2,ansF3;
         Button startBut, next0, next1, finishB, previous1;
         Image q1, q2, q3;
         Image ques[] = new Image[2];
         boolean text = false;
         boolean checked = false;
         int correct = 0;
         String [] answer = new String [2];
         String [] solution = {"11", "22", "33"};
         boolean text = false;
         boolean sound = true;
         int red,green,blue;
         int question =0;
         int good = 0;
         boolean pause= false;
         boolean start = true;*/
        Thread thread = null;
        boolean status = false;
        public void init()
            validateUser();
            setLayout (new BorderLayout());
            panel1 = new Panel(new FlowLayout());
            panel2 = new Panel(new FlowLayout());
            panel3 = new Panel(new FlowLayout());
            //login button
            login = new Button("Login");
            //instruction
            inst = new Label("Please type in your UserName and the given " +
                             "password in order to proceed");
            //label
            top = new Label("Top Label");
            admin = new Label("User Name :");
            pass = new Label("Password :");
            //input textfields
            adminF = new TextField(8);
            passF = new TextField(10);
            passF.setEchoChar('*');
            panel1.setBackground(Color.gray);
            panel2.setBackground(Color.orange);
              panel3.setBackground(Color.gray);
            panel2.add(admin);
            panel2.add(adminF);
            panel2.add(pass);
            panel2.add(passF);
            panel2.add(login);
            panel3.add(inst);
            panel1.add(top);
            add(panel1, BorderLayout.NORTH);
            add(panel2, BorderLayout.CENTER);
            add(panel3, BorderLayout.SOUTH);
            login.addActionListener(this);
            setSize(500,400);
        private void validateUser()
            String[] adminData    = {"t", "User1", "User2", "User3"};
            String[] passwordData = {"t", "P1", "P2", "P3"};
            admins = new Vector();
            passwords = new Vector();
            for(int j = 0; j < adminData.length; j++)
                admins.add(adminData[j]);
                passwords.add(passwordData[j]);
        private void Mainpage()
            boolean flag = true;
            removeAll();  // remove all components from container
            panel1 = new Panel(new FlowLayout());
            panel2 = new Panel(new FlowLayout());
              panel3 = new Panel(new FlowLayout());
            top = new Label("Welcome");
            enter = new Button("Enter");
            panel2.setBackground(Color.orange);
            panel1.setBackground(Color.gray);
            panel3.setBackground(Color.gray);
            startLabel = new Label("Welcome! " +
                                          "Please click on the 'Start' button to begin the quiz ");
              startBut = new Button("Start");
              startBut.requestFocus();
              Dimension dim = getSize();
              startBut.setSize(50,20);
            add(panel1, BorderLayout.NORTH);
            add(panel2, BorderLayout.CENTER);
            add(panel3, BorderLayout.SOUTH);
            panel2.add(startLabel);
            panel2.add(startBut);
            startBut.addActionListener(this);
            validate();
            repaint();
        private void Quiz1()
              //quizCanvas = new Canvas();
            boolean flag = true;
            removeAll();  // remove all components from container
            panel1 = new Panel(new FlowLayout());
            panel2 = new Panel(new FlowLayout());
            panel3 = new Panel(new FlowLayout());
            panel1.setBackground(Color.gray);
            panel2.setBackground(Color.orange);
            panel3.setBackground(Color.gray);
            add(panel1, BorderLayout.NORTH);
            add(panel2, BorderLayout.CENTER);
            add(panel3, BorderLayout.SOUTH);
              q1 = getImage(getDocumentBase(), "1.gif");
              ques[0] = q1;
              //ques[1] = q2;
              //previous = new Button("<");
              next0 = new Button("Done");
            ansF1 = new TextField(25);
              next0.addActionListener(this);
              //quizCanvas.insert(ques1);
            //panel3.add(previous);
            panel3.add(next0);
            panel3.add(ansF1);
            //panel2.add("1.gif");
              ansF1.requestFocus();
              ansF1.setText("focussing");
            validate();
            repaint();
         public void Quiz2(){
            boolean flag = true;
            removeAll();  // remove all components from container
            panel1 = new Panel(new FlowLayout());
            panel2 = new Panel(new FlowLayout());
            panel3 = new Panel(new FlowLayout());
            panel1.setBackground(Color.gray);
            panel2.setBackground(Color.orange);
            panel3.setBackground(Color.gray);
            add(panel1, BorderLayout.NORTH);
            add(panel2, BorderLayout.CENTER);
            add(panel3, BorderLayout.SOUTH);
              q2 = getImage(getDocumentBase(), "2.gif");
              ques[1] = q2;
              next1 = new Button("Done");
            ansF2 = new TextField(25);
              next1.addActionListener(this);
            panel3.add(next1);
            panel3.add(ansF2);
              ansF2.requestFocus();
              ansF2.setText("focussing");
            validate();
            repaint();
         public void Quiz3(){
            boolean flag = true;
            removeAll();  // remove all components from container
            panel1 = new Panel(new FlowLayout());
            panel2 = new Panel(new FlowLayout());
            panel3 = new Panel(new FlowLayout());
            panel1.setBackground(Color.gray);
            panel2.setBackground(Color.orange);
            panel3.setBackground(Color.gray);
            add(panel1, BorderLayout.NORTH);
            add(panel2, BorderLayout.CENTER);
            add(panel3, BorderLayout.SOUTH);
              q3 = getImage(getDocumentBase(), "3.gif");
              ques[2] = q3;
              finishB = new Button("Finish");
            ansF3 = new TextField(25);
              finishB.addActionListener(this);
            panel3.add(finishB);
            panel3.add(ansF3);
              ansF3.requestFocus();
              ansF3.setText("focussing");
            validate();
            repaint();
        public void start() {
            if(thread == null) {
                status = true;
        public void stop() {
            status = false;
        public void actionPerformed(ActionEvent ev)
            boolean ok = true;
            if(ev.getSource() == login)
                Admin = adminF.getText();
                Password = passF.getText();
                for (int i = 0; i < admins.size(); i++) {
                    if (Admin.equals(admins.get(i).toString())) {
                        if (Password.equals(passwords.get(i).toString())) {
                            ok = true;
                            JOptionPane.showMessageDialog(null,
                                        "Welcome, u have successfully logged in");
                            Mainpage();
                            break;
                        else {
                            ok = false;
                    else {
                        ok = false;
                if (!ok) {
                    JOptionPane.showMessageDialog(null,
                                  "Incorrect Password or Admin No, Please Try Again",
                                  "Access Denied",
                                   JOptionPane.ERROR_MESSAGE);
            if(ev.getSource() == startBut)
                   Quiz1();
              if (ev.getSource () == next0) {
                   saveanswer();
                   Quiz2();
              if (ev.getSource () == next1) {
                   //saveanswer();
                   Quiz3();
              if (ev.getSource () == finishB) {
                   //saveanswer();
                   //checkanswer();
         /*class quizCanvas extends Canvas {
              private Image quest;
              public quizCanvas() {
                   this.quest = null;
              public quizCanvas(Image quest) {
                   this.quest = quest;
              public void insert(Image quest) {
                   this.quest=quest;
                   repaint();
              public void paint(Graphics g) {
         public void checkanswer() {
              if (!checked) {
              /*question = 0;
                   for (int a=1;a<16;a++) {
                        question++;*/
                        if (ansF1) {
                             if (answer[1].toUpperCase().equals(solution[1])) {
                                  correct++;
                        if (ansF2) {
                             if (answer[2].toUpperCase().equals(solution[2])) {
                                  correct++;
                        if (ansF3) {
                             if (answer[3].toUpperCase().equals(solution[3])) {
                                  correct++;
              checked = true;     }
         public void saveanswer() {
              if (text) {
                   if (!ansF1.getText().equals("")) {
                        answer [Quiz1] = ansF1.getText();
                   //answer2[question] = tf2.getText();
                   if (!ansF2.getText().equals("")) {
                        answer [] = ansF2.getText();
                   if (!ansF3.getText().equals("")) {
                        answer [] = ansF3.getText();
    }

  • Need help for Java Programming asap plzzzzzzzzzzzzz

    Here is the work: (Im writing it coz I wasn't able to attach it)
    Introduction
    In geometry, a straight line is the shortest distance between two points.
    A line may be characterised by its end points and its length.
    A line connects the points P1 and P2.
    The point P1 has coordinates {X1,Y1}.
    The point P2 has coordinates {X2,Y2}.
    The length of the line joining P1 and P2 is given by the equation:
    { (X2 - X1)2 + (Y2 - Y1)2 }1/2
    Those of you who are familiar with geometry will recognise the equation as being the well known Pythagoras equation for the hypotenuse of right angled triangles.
    Requirements
    Develop a class specification for the class Point.
    Write a short test program and test plan for this class.
    For example:
    //pointTest.java
    main(...)
    Point P1;
    P1.create(24,16); // create a point with coordinates {24,16}
    P1.display(); // display the {X,Y} coordinates of P1
    Develop a class specification for the class Line.
    Write a short test program and test plan for this class.
    For example:
    //lineTest.java
    main(...)
    Point P1 = new Point();
    P1.create(24,16); // create a point with coordinates {24,16}
    Point P2 = new Point();
    P2.create(33,42); // create a point with coordinates {33,42}
    Line L1 = new Line();
    L1.create(P1,P2); // create a line using points P1 and P2
    System.out.println( L1.length() ); // display the length of line L1
    Line L2 = new Line();
    L2.create(12,30,28,16); // create a line using coordinates {12,30}, {28,16}
    L2.display(); // display the coordinates of both points and the length of the line
    Application
    We wish to determine the length of the boundary of any regular or irregular polygon .
    The polygon may have up to 6 sides.
    The user should be prompted to enter the number of sides and the coordinates of each vertex point.
    The program should then calculate and display the total length of the boundary.
    You should write an application to implement this using your Point and Line classes.
    What I should have at the end
    The following:
    ? A listing of the files Point.java, the class test program and results.
    ? A listing of the files Line.java, the class test program and results.
    ? The application program and results.
    Note 1: All code must be written in java.

    Point P1 = new Point();
    P1.create(24,16); // create a point with coordinates {24,16}That's a terrible idea. If that was actually in your requirements, then whoever wrote it should stop teaching Java right now.
    We have constructors to initialize objects with sensible, meaningful values. Creating a new Point object without any values and then calling a "create()" method to set the values is a pretty stupid approach. Not only does it ignore the usefulness of a constructor, it also ignores the convention that methods called "create" should actually create something (and not just set values).

  • Over write search help for Field

    Hi,
    In transaction CJ20n we have a field at the activity level which is Unit of measure the domain is 'MEINS' and it has value table 't006' defined for it is ther a way of over writing the help from the value table.
    REgards,
    Himanshu Verma

    i think it is not possible

  • HELP for editing program that comes with the EOS REBEL T3

    I have Canon Rebel T3. Recently I had computer problems and my programs were wiped out.
    It is not the driver for the camera, but the editing program that came with the camera, where files were placed, cropped, sorted, etc. I have searched everywhere for this and cannot find it.Help

    http://community.usa.canon.com/t5/EOS-Rebel/Canon-EOS-Rebel-T3-Need-editing-program-that-came-with-this/m-p/145165#U145165

  • Need help for java program

    Hi,
    I need help with my web application. When i tried to run it using
    localhost:8080
    it's giving me error that
    signup.do file is not available.
    can someone tell me what could be wrong with my code?
    I want to know what is .do file and what needs to do to have remove the error
    I have also used struts config file.
    Please help me.
    Message was edited by:
    star4588

    See struts documentation here http://struts.apache.org/1.2.9/userGuide/building_controller.html#action_mapping_example
    you should have something like that :
    <action-mappings>
            <action
                path="/signup"
                type="org.apache.struts.webapp.example.SignupAction"
                name="signupForm"
                scope="request"
                input="/signup.jsp"
                unknown="false"
                validate="true" />
        </action-mappings>in your struts-config.xml.
    Hope That Helps

  • Help for a labyrinth program

    hello everyone!
    i need some help for my program, i've just begun java and i'm creating a labyrinth program for a school project.
    it's far from being finished, but my main problem right now is the KeyListener....
    i'd like to create a new Labyrinthe class when i use the arrow keys to make sure it works.
    please help me and correct me, here's my program:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Labyrinthe extends JFrame implements MouseListener, KeyListener{
         public static void main(String args[]) {
            new Labyrinthe();
         JPanel p1 = new JPanel();
         JPanel p2 = new JPanel();
         JPanel p3 = new JPanel();
         JPanel p4 = new JPanel();
         JButton sauv = new JButton ("sauvegarder");
         JButton q = new JButton("quitter");
         JButton newW = new JButton("nouveau");
         JButton closeW = new JButton("fermer");
         JButton dirh = new JButton("haut");
         JButton dirb = new JButton("bas");
         JButton dird = new JButton("droite");
         JButton dirg = new JButton("gauche");
         public Labyrinthe() {
            setLayout(new BorderLayout());
            Label l = new Label("Labyrinthe");
            Label l2 = new Label("Options");
            Label l3 = new Label("Directions");
            add(p1,BorderLayout.NORTH);
            add(p2,BorderLayout.SOUTH);
            add(p3,BorderLayout.WEST);
            add(p4,BorderLayout.CENTER);
            p1.add(l2);
            p1.add(q); p1.add(newW); p1.add(closeW); p1.add(sauv);
            p2.add(l3);
            p2.add(dirh);p2.add(dirb);p2.add(dird);p2.add(dirg);
            p3.add(l);
            p4.setBackground(Color.cyan);
            setTitle("Labyrinthe");
            setSize(400,400);
            setVisible(true);
            sauv.addMouseListener(this);
            q.addMouseListener(this);
            newW.addMouseListener(this);
            closeW.addMouseListener(this);
            dirh.addMouseListener(this);
              dirb.addMouseListener(this);
              dird.addMouseListener(this);
              dirg.addMouseListener(this);
              addKeyListener(this);
              addWindowListener(new WindowAdapter(){
                   public void windowClosing(WindowEvent evt){
                        System.exit(0);
         public void mouseClicked(MouseEvent e) {
            Object s = e.getSource();
            if(s instanceof JButton) {
                    if((JButton)s == q) // quit
                            System.exit(0);
                    if((JButton)s == newW) // nouveau
                            new Labyrinthe();
                    if((JButton)s == closeW) // fermer
                            this.dispose();
                    if((JButton)s == dirh)
                         new Labyrinthe();
                    if((JButton)s == dirb)
                         new Labyrinthe();
                    if((JButton)s == dirg)
                         new Labyrinthe();
                    if((JButton)s == dird)
                         new Labyrinthe();
         public void mouseEntered(MouseEvent e) {
         public void mouseExited(MouseEvent e) {
         public void mousePressed(MouseEvent e) {
         public void mouseReleased(MouseEvent e) {
         public void keyPressed (KeyEvent k) {
              if (k.getKeyCode() == KeyEvent.VK_UP){
                   new Labyrinthe();
              if (k.getKeyCode() == KeyEvent.VK_DOWN){
                   new Labyrinthe();
              if (k.getKeyCode() == KeyEvent.VK_LEFT){
                   new Labyrinthe();
              if (k.getKeyCode() == KeyEvent.VK_RIGHT){
                   new Labyrinthe();
         public void keyReleased (KeyEvent k) {
         public void keyTyped (KeyEvent k) {
    }thx again for your help

    You only get key events if you have input focus; as you have it, one of the buttons has focus.
    Either
    - add mouse and key listener to p4, and have p4 request the focus on initialisation or when you click on it,
    Or
    - create AbstractActions for your movement commands which call methods which carry out the commands, and set the keyboard shortcut for them to the approriate keys.
    Pete

  • Need some help with a program Please.

    Well, im new here, im new to java, so i need your help, i have to make a connect four program, my brother "Kind of" helped me and did a program for me, but the problem is i cant use some of those commands in the program and i have to replace them with what ive learned, so i will post the program and i will need your help to modify it for me.
    and for these programs, also i want help for:
    They have errors and i cant fix'em
    the commands that i've leaned:
    If statements, for loops, while loops,do while, strings, math classes, swithc statement, else if,logical operators,methods, one and two dimensional arrays.
    Thanx in advance,
    truegunner
    // Fhourstones 3.0 Board Logic
    // Copyright 2000-2004 John Tromp
    import java.io.*;
    class Connect4 {
    static long color[]; // black and white bitboard
    static final int WIDTH = 7;
    static final int HEIGHT = 6;
    // bitmask corresponds to board as follows in 7x6 case:
    // . . . . . . . TOP
    // 5 12 19 26 33 40 47
    // 4 11 18 25 32 39 46
    // 3 10 17 24 31 38 45
    // 2 9 16 23 30 37 44
    // 1 8 15 22 29 36 43
    // 0 7 14 21 28 35 42 BOTTOM
    static final int H1 = HEIGHT+1;
    static final int H2 = HEIGHT+2;
    static final int SIZE = HEIGHT*WIDTH;
    static final int SIZE1 = H1*WIDTH;
    static final long ALL1 = (1L<<SIZE1)-1L; // assumes SIZE1 < 63
    static final int COL1 = (1<<H1)-1;
    static final long BOTTOM = ALL1 / COL1; // has bits i*H1 set
    static final long TOP = BOTTOM << HEIGHT;
    int moves[],nplies;
    byte height[]; // holds bit index of lowest free square
    public Connect4()
    color = new long[2];
    height = new byte[WIDTH];
    moves = new int[SIZE];
    reset();
    void reset()
    nplies = 0;
    color[0] = color[1] = 0L;
    for (int i=0; i<WIDTH; i++)
    height[i] = (byte)(H1*i);
    public long positioncode()
    return 2*color[0] + color[1] + BOTTOM;
    // color[0] + color[1] + BOTTOM forms bitmap of heights
    // so that positioncode() is a complete board encoding
    public String toString()
    StringBuffer buf = new StringBuffer();
    for (int i=0; i<nplies; i++)
    buf.append(1+moves);
    buf.append("\n");
    for (int w=0; w<WIDTH; w++)
    buf.append(" "+(w+1));
    buf.append("\n");
    for (int h=HEIGHT-1; h>=0; h--) {
    for (int w=h; w<SIZE1; w+=H1) {
    long mask = 1L<<w;
    buf.append((color[0]&mask)!= 0 ? " @" :
    (color[1]&mask)!= 0 ? " 0" : " .");
    buf.append("\n");
    if (haswon(color[0]))
    buf.append("@ won\n");
    if (haswon(color[1]))
    buf.append("O won\n");
    return buf.toString();
    // return whether columns col has room
    final boolean isplayable(int col)
    return islegal(color[nplies&1] | (1L << height[col]));
    // return whether newboard lacks overflowing column
    final boolean islegal(long newboard)
    return (newboard & TOP) == 0;
    // return whether newboard is legal and includes a win
    final boolean islegalhaswon(long newboard)
    return islegal(newboard) && haswon(newboard);
    // return whether newboard includes a win
    final boolean haswon(long newboard)
    long y = newboard & (newboard>>HEIGHT);
    if ((y & (y >> 2*HEIGHT)) != 0) // check diagonal \
    return true;
    y = newboard & (newboard>>H1);
    if ((y & (y >> 2*H1)) != 0) // check horizontal -
    return true;
    y = newboard & (newboard>>H2); // check diagonal /
    if ((y & (y >> 2*H2)) != 0)
    return true;
    y = newboard & (newboard>>1); // check vertical |
    return (y & (y >> 2)) != 0;
    void backmove()
    int n;
    n = moves[--nplies];
    color[nplies&1] ^= 1L<<--height[n];
    void makemove(int n)
    color[nplies&1] ^= 1L<<height[n]++;
    moves[nplies++] = n;
    public static void main(String argv[])
    Connect4 c4;
    String line;
    int col=0, i, result;
    long nodes, msecs;
    c4 = new Connect4();
    c4.reset();
    BufferedReader dis = new BufferedReader(new InputStreamReader(System.in));
    for (;;) {
    System.out.println("position " + c4.positioncode() + " after moves " + c4 + "enter move(s):");
    try {
    line = dis.readLine();
    } catch (IOException e) {
    System.out.println(e);
    System.exit(0);
    return;
    if (line == null)
    break;
    for (i=0; i < line.length(); i++) {
    col = line.charAt(i) - '1';
    if (col >= 0 && col < WIDTH && c4.isplayable(col))
    c4.makemove(col);
    By the way im using Ready to program for the programming.

    You can't really believe that his brother did this
    for him...I did miss that copyright line at the beginning when
    I first looked it over, but you know, if it had been
    his brother, I'd be kinda impressed. This wasn't a
    25 line program. It actually would have required
    SOME thought. I doubt my brother woulda done that
    for me (notwithstanding the fact that I wouldn't need
    help for that program, and my brother isn't a
    programmer).I originally missed the comments at the top but when I saw the complexity of what was written then I knew that it was too advanced for a beginner and I relooked through the code and saw the comments.

  • Search help for BADI

    Hi,
    Is there any search help to get a list of program names. That can be used in the BADI's.
    Or else atleast provide me some steps for creating a search help using search help exit.
    Thanks & Regards
    Santhosh
    Message was edited by:
            Santhosh DS

    Here is how to create search helps..
    http://www.sapdevelopment.co.uk/dictionary/shelp/shelphome.htm
    you can create new search help for displaying program names.. it is easy...

  • Require Logic for the Program

    I have a requirement  in which I need to write a program. I need to fetch the payer data which is having KNA1-ZZDTCESS value populated(Payer which are having this field value blank no need to fetch those payer).ZZDTCESS is the cession date and this is a custom field in KNA1.Its date element is DATUM.
    Now after fetching this KNA1-ZZDTCESS value of the payer this needs to be updated to the all the sold-to-party which are attached to this payer.Sold-to-party also having this custom field.
    Finally we need to develop a batch job which will run this program to udpate the ZZDTCESS value in the Sold-to-Party.
    Can you please let anyone know how to write the logic for this program?

    Hi ,
    Thanx for the answer but the requirement is there Sold to Party customer which is having different payer.For example see below.
    SP 1000
    SH 1000
    PY 2000
    BP 1000
    Now from the PY 2000 KNA1-ZZDTCESS value nees to be updated to the sold to party 1000 KNA1-ZZDTCESS  field.Please let me know how to write the logic for that.

  • Tutorials for dailog programming & screen painter

    HI,
    I am new to the topics above and i want to have information about it . plzz proivde me d simple and easiest tutorials for it.

    Hi,
    A dialog program consists of the following basic components:
    Screens (dynpros)
    Each dialog in an SAP system is controlled by dynpros. A dynpro (DYnamic PROgram) consists of a screen and its flow logic and controls exactly one dialog step. The flow logic determines which processing takes place before displaying the screen (PBO-Process Before Output) and after receiving the entries the user made on the screen (PAI-Process After Input).
    The screen layout fixed in the Screen Painter determines the positions of input/output fields, text fields, and graphical elements such as radio buttons and checkboxes. In addition, the Menu Painter allows to store menus, icons, pushbuttons, and function keys in one or more GUI statuses. Dynpros and GUI statuses refer to the ABAP/4 program that control the sequence of the dynpros and GUI statuses at runtime.
    ABAP/4 module pool
    Each dynpro refers to exactly one ABAP/4 dialog program. Such a dialog program is also called a module pool, since it consists of interactive modules. The flow logic of a dynpro contains calls of modules from the corresponding module pool. Interactive modules called at the PBO event are used to prepare the screen template in accordance to the context, for example by setting field contents or by suppressing fields from the display that are not needed. Interactive modules called at the PAI event are used to check the user input and to trigger appropriate dialog steps, such as the update task.
    All dynpros to be called from within one transaction refer to a common module pool. The dynpros of a module pool are numbered. By default, the system stores for each dynpro the dynpro to be displayed next. This dynpro sequence or chain can be linear as well as cyclic. From within a dynpro chain, you can even call another dynpro chain and, after processing it, return to the original chain.
    Check this link for basics.
    http://sap.mis.cmich.edu/sap-abap/abap09/index.htm
    Check this link for Dialog Programming/Table Control
    http://www.planetsap.com/Tips_and_Tricks.htm#dialog
    Check this SAP Help for Dialog Program doc.
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm
    Check this SAP Help link for Subscreens.
    http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbabfe35c111d1829f0000e829fbfe/content.htm
    Check this link for subscreen demo program.
    http://abapcode.blogspot.com/2007/05/demo-program-to-create-subscreen-in.html
    Also check this link too.
    http://abapcode.blogspot.com/2007/06/dialog-programming-faq.html
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/frameset.htm
    http://sap.mis.cmich.edu/sap-abap/abap09/sld004.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670ba2439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9ccf35c111d1829f0000e829fbfe/frameset.htm
    Reward if it is useful
    Harimanjesh AN

  • Bbp_sos_badi help for the bbp_sos_search

    i am using the method sos search to search for contracts with an empty product id on shopping cart.  Once a contract is found it will auto source.   My issue is that i manually searched for the contract gettitng the pdlist then i did a contract get detail and passing it to the exporting table.  I dont know what i am doing worng or what parameters that are mandatory but it is not getting sourced to the contract.  Help!  Sample code would be great!  thanks.

    Here is how to create search helps..
    http://www.sapdevelopment.co.uk/dictionary/shelp/shelphome.htm
    you can create new search help for displaying program names.. it is easy...

  • Cant access help in FTP program

    I have installed FTP client Commander Pro, cant access their help for this program, because it was created in Windows help format which depends on a feature that is not included in Windows 8.1 pro.   so I am unable to move the FTP client
    into my cPanel ftp accounts, can anyone point me in the right direction,please, regards frank

    If the help file is a .hlp, then this will allow you to open it:
    http://www.microsoft.com/en-us/download/details.aspx?id=40899
    And if it's a .chm, the thi thread talks about that:
    http://answers.microsoft.com/en-us/windows/forum/windows_8-files/windows-8-64bit-cant-open-chm-files/7dec5d51-f621-4753-ab13-ea3b59a07cb8
    Bob Comer Microsoft MVP -- Hyper-V

Maybe you are looking for

  • DNG Converter not working

    I have CS4 and just bought a D7000, realised it won't convert the RAW images to DNG.  I have downloaded the latest converter but it is not seeing the images on the SD card or from a folder on the laptop.  Have downloaded several times. 

  • External libraries for IPhoto for iPad

    How can I access an IPhoto library created with IPhoto for Mac on a WhiFI NAS from IPhoto for IPad?

  • Can you edit HP simplepass pin authentication to remove a website?

    I started using Hp simplepass pin authentication to facilitate logging into various websites but I want to remove a couple of websites that dont work well with hp simplepass.  However, I can't find a way of removing a website that Ihave told hp simpl

  • EXECUTE_ASYNCHRONOUS in ABAP Proxy

    hi, i have created a proxy and activated the proxy. Now i want to implement the function module in the EXECUTE_ASYCHRONOUS method. Where should i call the function module in the Proxy? TIA, Tirumal

  • Airradar reports WPA2(WEP) and I can find how to change this?

    While scanning my surroundings recently with airradar I noticed that it reports my 5GHz network as using the protocol WPA2 but the encryption type of WEP. I am using a dual band airport extreme that I purchased in January. I have looked on both the "