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.
Readme-Funktion
Hi,
ich zeige euch, wie ihr Readmes setzen und löschen könnt.
Zunächst ein neues
Feld bei Accounts mit:
ALTER TABLE accounts ADD `readme` text
Wert: NULL
Client.java:
|
Java-Quelltext
|
1
|
private String readme;
|
|
Java-Quelltext
|
1
2
3
|
public String getReadme() {
return readme;
}
|
|
Java-Quelltext
|
1
2
3
|
public void setReadme(String text) {
this.readme = text;
}
|
|
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
|
public void updateReadme() {
PoolConnection pcon = ConnectionPool.getConnection();
PreparedStatement ps = null;
try {
Connection con = pcon.connect();
ps = con.prepareStatement("UPDATE `accounts` SET `readme` = ? WHERE `name` = ?");
ps.setString(1, readme);
ps.setString(2, name);
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
}
}
pcon.close();
}
}
|
saveStats() überarbeiten:
|
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
|
private void saveStats() {
PoolConnection pcon = ConnectionPool.getConnection();
PreparedStatement ps = null;
try {
Connection con = pcon.connect();
ps = con.prepareStatement("UPDATE `accounts` SET `kisses` = ?, `knuddels` = ?, `onlineTime` = ?, `ipAddress` = ?, `readme` = ? WHERE `name` = ?");
ps.setInt(1, kisses);
ps.setInt(2, knuddels);
ps.setInt(3, getOnlineTime());
ps.setString(4, ipAddress);
ps.setString(5, readme);
ps.setString(6, name);
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
}
}
pcon.close();
}
}
|
loadStats(), einfügen:
|
Java-Quelltext
|
1
|
readme = rs.getString("readme");
|
CommandParser.java:
New Command:
|
Java-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
else if (cmd.equals("readme")) {
if (arg.equals("!")) {
client.setReadme(null);
client.updateReadme();
client.sendButlerMessage(channel.getName(), "Dein Readme-Text wurde _gelöscht_.");
return;
} else if(arg.length() > 50) {
arg = arg.substring(0, 50); // alternativ noch angeben, dass Text gekürzt wurde
}
arg = Server.get().parseSmileys(arg);
client.sendButlerMessage(channel.getName(), "Deine Freunde können nun folgenden Text sehen: "" + arg + "\"");
client.setReadme(arg);
client.updateReadme();
}
|
whois-Bereich:
|
Java-Quelltext
|
1
2
3
|
if (target.getReadme() != null) {
whois.append(String.format("°BB°_Readme_°r°: "%s"##", target.getReadme())); // Darstellung könnt ihr ändern
}
|
Thx to Flav wegen MySQL-Eintrag. 
Ich hoffe, dass ich nichts vergessen habe...
MfG
Die Methode updateReadme scheint überflüssig zu sein, dafür gibt es doch saveStats.
Tschüß.
Stimmt, ist mir gar nicht aufgefallen.
Wenn der Text der Readme gesetzt wurde vom User, einfach die Methode
saveStats() aufrufen.
MfG
Die musst du gar nicht mal aufrufen, die wird aufgerufen wenn der User sich ausloggt.
Tschüß.
Macht aber manchmal Probleme. Wenn jemand übers X rausgeht wird Oft nicht Gespeicher.
Dann ist derjenige vielleicht noch in einem anderen Channel online, oder du hast da was an der Methode verändert wodurch es manchmal zu Problemen kommt.
Tschüß.
Wie muss ich das mit
loadStats() machen
ich habe schon das versucht
|
Java-Quelltext
|
1
2
|
private void loadStats()
readme = rs.getString("readme");
|
Aber das klappt nicht ganz
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Kosi« (11. Juli 2011, 12:49)
Hallo,
Gibt aus eine Möglichkeit, _,"°XX°, zu unterbinden?
Allso das diese im Readme nicht wirksam werden?
arg = KCodeParser.escape(arg);
Tschüß.