Du bist nicht angemeldet.

1

Samstag, 2. Juni 2012, 23:40

/showcareer - Laufbahn àla Knödels

Für eine Laufbahn àla Knödels.

  • Autor: Localhost
  • Datum: 25. Oktober 2011
Vorschau

Datenbank

Als SQL-Befehl ausführen:

MySQL-Abfrage(n)

1
2
3
4
5
6
CREATE TABLE `career` (
id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(25) NOT NULL,
datum varchar(10) NOT NULL,
text varchar(200) NOT NULL
);


CommandParser

If Condition erweitern:
(Siehe Download)

Sollten Fehler auftreten müsst ihr die Pakete noch importieren:

Java-Quelltext

1
2
3
4
5
6
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import tools.database.ConnectionPool;
import tools.database.PoolConnection;


Suche:

Java-Quelltext

1
2
3
Popup popup = new Popup(title, title, whois.toString(), 460, 350);
        Panel panel = new Panel();
        panel.addComponent(new Button("   OK   "));


Darunter:

Java-Quelltext

1
2
3
4
5
6
if (target.getRank() > 0) {
            Button buttonMessage = new Button("Career");
            buttonMessage.setCommand(String.format("/showcareer %s", nickname));
            buttonMessage.disableClose();
            panel.addComponent(buttonMessage);
        }


Hinweise
  • Der Butler hat automatisch das Datum '21.05.1935' als Registrierungsdatum.
  • Wird in der Datenbank kein Datum angegeben, wird in der Laufbahn '?' als Datum angezeigt.

Localhost

showcareer.java (2,05 kB, 24 Downloads)
application/octet-stream

2

Donnerstag, 20. September 2012, 21:19

Nun habe ich ein Problem :S

Bei Netbeans bekomme ich ja vordefiniert :

PHP-Quelltext

1
<?php /* * To change this template, choose Tools | Templates * and open the template in the editor. */package knuddels;/** * * @author ASUS */public class showcareer {    } ?>


Aber wie füge ich das gedownloadete showcareer nun ein, ohne das er mir immer Fehlermeldungen im Netbeans macht ...
Denn dank dem roten Baklen kann ich es auch nicht kompilieren :(
Die Zehn Gebote sind deshalb nur so kurz und logisch,

da sie ohne Einwirkung von Juristen zustande gekommen ist

3

Donnerstag, 20. September 2012, 21:23

Du musst lediglich die If-Abfrage in der CommandParser.java mit dem Inhalt der Datei erweitern. ;)

4

Donnerstag, 20. September 2012, 21:27

if (target.getRank() > 0) {
Button buttonMessage = new Button("Career");
buttonMessage.setCommand(String.format("/showcareer %s", nickname));
buttonMessage.disableClose();
panel.addComponent(buttonMessage);
}



Habe ich ja bereits drin , welche if-Abfrage fehlt denn hier noch ? ?(
Die Zehn Gebote sind deshalb nur so kurz und logisch,

da sie ohne Einwirkung von Juristen zustande gekommen ist

5

Donnerstag, 20. September 2012, 21:30

Suche:

Java-Quelltext

1
if (cmd.equals("a")) {


Ersetze durch:

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
48
49
50
51
52
if (cmd.equals("showcareer")) {
            String nickname = KCodeParser.escape(arg);
           
            if(nickname.isEmpty()) {
                nickname = client.getName();
            }
           
            Client target = Server.get().getClient(nickname);
           
            if (target == null) {
                target = new Client(null);
                target.loadStats(nickname);
 
                if (target.getName() == null) {
                    client.sendButlerMessage(channel.getName(), String.format("Wer ist %s?", nickname));
                    return;
                }
            }
           
            StringBuilder career = new StringBuilder();
            String title = String.format("Laufbahn von %s", target.getName());
            career.append("#°%04°").append(target == Server.get().getButler() ? "21.05.1935" : target.getRegistrationDate()).append("°%34°Registration°%00°");
               
            PoolConnection pcon = ConnectionPool.getConnection();
            PreparedStatement ps = null;
 
            try {
                Connection con = pcon.connect();
                ps = con.prepareStatement("SELECT `datum`, `text` FROM `career` WHERE `name` = ? ORDER BY `id`");
                ps.setString(1, target.getName());
                ResultSet rs = ps.executeQuery();
           
                while(rs.next()) {
                    career.append("#°%04°").append(rs.getString("datum").isEmpty() ? "?" : rs.getString("datum")).append("°%34°").append(rs.getString("text")).append("°%00°");
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                if (ps != null) {
                    try {
                        ps.close();
                    } catch (SQLException e) {
                    }
                }
 
                pcon.close();
            }
       
            client.send(Popup.create(title, title, career.toString(), 400, 250));
        }

} elseif (cmd.equals("a")) {


Nächstes mal bitte ein bisschen mehr Eigeninitiative. Hättest du ein wenig nachgedacht, wäre dir das auch eingefallen.

6

Donnerstag, 20. September 2012, 21:44

Ersetzt, aber jetzt meckert mein Netbeans rum :|

Zitat

}
C:\xampp\bananachat\src\knuddels\CommandParser.java:314: error: class, interface, or enum expected
if (target == null) {
C:\xampp\bananachat\src\knuddels\CommandParser.java:316: error: class, interface, or enum expected
} else {
100 errors
C:\xampp\bananachat\banana\nbproject\build-impl.xml:900: The following error occurred while executing this line:
C:\xampp\bananachat\banana\nbproject\build-impl.xml:265: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 3 seconds)


Konnte ja nur 10.000 Zeichen machen , daher habe ich die letzten genommen, um zu zeigen das er nicht Buildet :(


So sieht es bei mir derzeit aus , Download zum anschauen in TXT:
»Plex« hat folgende Datei angehängt:
  • CommandParser.txt (18,88 kB - 7 mal heruntergeladen - zuletzt: 27. März 2013, 19:14)
Die Zehn Gebote sind deshalb nur so kurz und logisch,

da sie ohne Einwirkung von Juristen zustande gekommen ist

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Plex« (20. September 2012, 22:26)


7

Sonntag, 14. Oktober 2012, 06:23

Falls Du immernoch das Problem hast...

Quellcode

1
	} else if (cmd.equals("a")) { 


entferne das "{" vor dem else if, es scheint als hättest Du einfach nur eins zuviel.