Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

Localhost

Ehemaliger Supporter

  • »Localhost« ist der Autor dieses Themas

Beiträge: 345

Wohnort: 127.0.0.1

  • Private Nachricht senden

1

05.09.2011, 14:32

/edit

Guten Tag,

so langsam wird's Zeit für die /edit... Bringt ein wenig Zeit mit! :P



1. Datenbank

Code als SQL-Abfrage ausführen:

MySQL-Abfrage(n)

1
2
3
4
5
6
ALTER TABLE `accounts` ADD `realname` VARCHAR( 50 ) NOT NULL ,
ADD `stadt` VARCHAR( 50 ) NOT NULL ,
ADD `land` VARCHAR( 50 ) NOT NULL ,
ADD `hobbys` VARCHAR( 80 ) NOT NULL ,
ADD `job` VARCHAR( 50 ) NOT NULL ,
ADD `motto` VARCHAR( 400 ) NOT NULL 


2. tools.popup.TextField.java

Die muss erweitert werden, damit man eigene Values eintragen kann.

Suche:

Java-Quelltext

1
2
3
4
5
6
public TextField(int width) {
    foreground = new int[] { 0x00, 0x00, 0x00 };
    background = new int[] { 0xFF, 0xFF, 0xFF };
    text = "";
    this.width = (byte) width;
}


Ersetze durch:

Java-Quelltext

1
2
3
4
5
6
public TextField(int width, String text) {
    foreground = new int[] { 0x00, 0x00, 0x00 };
    background = new int[] { 0xFF, 0xFF, 0xFF };
    this.text = text;
    this.width = (byte) width;
}


In der CommandParser.java müsst ihr jetzt bei /poll

Java-Quelltext

1
panel1.addComponent(new TextField(15));

durch

Java-Quelltext

1
panel1.addComponent(new TextField(15, ""));

ersetzen und überall, wo ihr noch TextFields habt.

3. ReceiveOpcode.java

Hinzufügen:

Java-Quelltext

1
EDIT("edit")


4. SessionHandler.java

Hinzufügen:

Java-Quelltext

1
2
3
else if (opcode.equals(ReceiveOpcode.EDIT.getValue())) {
                    EditHandler.handle(tokens, client);
                }


5. EditHandler.java

Erstellt eine neue Klasse im handler-Ordner: EditHandler.
Source: http://pastebin.com/zkbTP6zW

6. Client.java

Suche 'private String name;' und füge darunter hinzu:

Java-Quelltext

1
2
3
4
5
6
private String realname;
private String stadt;
private String land;
private String hobbys;
private String job;
private String motto;


Suche:

Java-Quelltext

1
2
3
public String getName() {
    return name;
}


Darunter:

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
public String getRealName() {
    return realname;
}
 
public String getStadt() {
    return stadt;
}
 
public String getLand() {
    return land;
}
 
public String getHobbys() {
    return hobbys;
}
 
public String getJob() {
    return job;
}
 
public String getMotto() {
    return motto;
}
 
public void setRealName(String realname) {
    this.realname = realname;
}
 
public void setStadt(String stadt) {
    this.stadt = stadt;
}
 
public void setLand(String land) {
    this.land = land;
}
 
public void setHobbys(String hobbys) {
    this.hobbys = hobbys;
}
 
public void setJob(String job) {
    this.job = job;
}
 
public void setMotto(String motto) {
    this.motto = motto;
}


Suche 'this.name = rs.getString("name");' in der loadStats()-Methode und füge darunter:

Java-Quelltext

1
2
3
4
5
6
realname = rs.getString("realname");
            stadt = rs.getString("stadt");
            land = rs.getString("land");
            hobbys = rs.getString("hobbys");
            job = rs.getString("job");
            motto = rs.getString("motto");


Nicht vergessen in der saveStats()-Methode noch die sechs Sachen hinzuzufügen zum Speichern!

7. /edit

Das Wichtigste... Füge der CommandParser.java folgendes hinzu: (Falls /e schon vorhanden ist: löschen.)

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
else if (cmd.equals("edit") || cmd.equals("e")) {
        Popup popup = new Popup("Edit", "Edit", "", 0, 0);
 
        Panel panel8 = new Panel();
        panel8.addComponent(new Label("Real Name: "));
        panel8.addComponent(new TextField(15, client.getRealName()));
        popup.addPanel(panel8);
        Panel panel1 = new Panel();
        panel1.addComponent(new Label("Stadt:        "));
        panel1.addComponent(new TextField(15, client.getStadt()));
        popup.addPanel(panel1);
        Panel panel2 = new Panel();
        panel2.addComponent(new Label("Land:        "));
        panel2.addComponent(new TextField(15, client.getLand()));
        popup.addPanel(panel2);
        Panel panel6 = new Panel();
        panel6.addComponent(new Label("Hobbys:    "));
        panel6.addComponent(new TextField(15, client.getHobbys()));
        popup.addPanel(panel6);
        Panel panel5 = new Panel();
        panel5.addComponent(new Label("Job:          "));
        panel5.addComponent(new TextField(15, client.getJob()));
        popup.addPanel(panel5);
        Panel panel4 = new Panel();
        panel4.addComponent(new Label("Motto:       "));
        panel4.addComponent(new TextField(15, client.getMotto()));
        popup.addPanel(panel4);
        Panel panel3 = new Panel();
        Button button = new Button("Speichern");
        button.disableClose();
        button.enableAction();
        panel3.addComponent(button);
        Button button2 = new Button("Abbrechen");
        panel3.addComponent(button2);
        popup.addPanel(panel3);
 
        popup.setOpcode(ReceiveOpcode.EDIT.getValue(), "edit");
        client.send(popup.toString());
    }


Und zum Schluss noch in die Profile:

8. Profile
Füge foldendes hinzu (CommandParser.java):

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
        	if(!target.getRealName().isEmpty()) {
            	whois.append(String.format("_Real Name_:°%%35°%s§°%%00°#", target.getRealName()));
        	}
       	
        	if(!target.getStadt().isEmpty()) {
            	whois.append(String.format("_Stadt_:°%%35°%s§°%%00°#", target.getStadt()));
        	}
       	
        	if(!target.getLand().isEmpty()) {
            	whois.append(String.format("_Land_:°%%35°%s§°%%00°#", target.getLand()));
        	}
       	
        	if(!target.getHobbys().isEmpty()) {
            	whois.append(String.format("_Hobbys_:°%%35°%s§°%%00°#", target.getHobbys()));
        	}
       	
        	if(!target.getJob().isEmpty()) {
            	whois.append(String.format("_Job_:°%%35°%s§°%%00°#", target.getJob()));
        	}
       	
        	if(!target.getMotto().isEmpty()) {
            	whois.append(String.format("_Motto_:#%s§#", target.getMotto()));
        	}


Das war's. Ich hoffe ich habe nichts vergessen,
Localhost 8)
No support via message.

"Der gute Programmierer ist nicht der, der keine Fehler macht, sondern der, der seine Fehler rasch findet und behebt."

Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »Localhost« (05.11.2011, 15:24)


Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Mentos

2

09.09.2011, 00:23

Hallo habe es genau so eingebaut

sobald ich aber /e dann dort etwas angebe

und auf speichern klicke und dann die Whois aufrufen Möchte werde ich gekickt

dann kommt in der Konsole folgendes


Java-Quelltext

1
2
3
4
5
6
7
8
9
10
Exception in thread "Thread-3" java.util.UnknownFormatConversionException: Conve
rsion = '?'
        at java.util.Formatter.checkText(Unknown Source)
        at java.util.Formatter.parse(Unknown Source)
        at java.util.Formatter.format(Unknown Source)
        at java.util.Formatter.format(Unknown Source)
        at java.lang.String.format(Unknown Source)
        at knuddels.CommandParser.parse(CommandParser.java:1208)
        at handler.ChatHandler.handle(ChatHandler.java:51)
        at knuddels.SessionHandler.run(SessionHandler.java:78)


was mache ich falsch ?

3

09.09.2011, 00:39

Java-Quelltext

1
String.format("_Real Name_:°%%35°%s§°%°#", target.getRealName())


Dort findest du den Fehler.
-> °%°

MfG

4

09.09.2011, 13:04

Java-Quelltext

1
String.format("_Real Name_:°%%35°%s§°%°#", target.getRealName())


Dort findest du den Fehler.
-> °%°

MfG




Danke sehr hat geklappt :-)

5

10.09.2011, 23:43

ich habe alles gemacht wie du gesagt hast ich schreibe /edit und da kommt nix

6

11.09.2011, 00:32

ich frage mich wie da nichts kommen kann, wenn alles ''1A'' funktioniert? :thumbsup:
James (privat): Tja, wenn du kein iPhone hast, dann hast du kein iPhone.

7

11.09.2011, 02:10

ich weiß es nicht ich habe alles so gemacht wie das alles beschrieben war aber das geht nicht :o

8

11.09.2011, 18:26

ich weiß es nicht ich habe alles so gemacht wie das alles beschrieben war aber das geht nicht :o



Dann füge mal den Befehl /e hinzu :-)

vielleicht hast du dich ja beim einfügen an der reihe übersprungen ;-)



Es Funktioniert wunderbar

9

14.09.2011, 14:43

hab nix übersprugen bin ich mir zu 99,9% sicher ich habe das alles 3-4 mal gemacht und es geht trozdem nicht genau so wie mit dem readme geht auch nix klar :o

10

14.09.2011, 15:44

hab nix übersprugen bin ich mir zu 99,9% sicher ich habe das alles 3-4 mal gemacht und es geht trozdem nicht genau so wie mit dem readme geht auch nix klar :o
es kann sein das du auf die {-} Achten musst und die If else, ich hatte auch die probleme weil die codes teilweiße nicht vernümpftig eingefügt worden sind ;)