-
18.04.2011, 18:27 #1
C# Freundesliste auseinandernehmen?
Hey
Hab grade n kleines Problem. Ich brauche aus der /F jeden Nickname, am besten in nem array.
Das Problem ist, vom Server bekomme ich folgende Tokens gesendet:
Code:OUTPUT: e\0/sleep\0/F INPUT: k\0Friendlistõsfriendõ-õf\0\0\0h¾¼ûãEl õcgFh¾¼ûãWl õcgFh¾¼ûãCpBNpBNl õcgFh¾¼ûãClFriendlistõblgQf\0\0\0hååÿãSl õcgFh¾¼ûããCc°>{overlaypositioning}left<°#°>py_r.gif<°°%06°_°>_hHolgi|/serverpp "|/w "<°_ war vor _35 Minuten_ im Channel _?_°%00°#°>py_r.gif<°°%06°_°>_hKolloid|/serverpp "|/w "<°_ war vor _38 Minuten_ im Channel _?_#"auf Wiedersehen °>/hi|http://forum.knuddels.de/ubbthreads.php?ubb=showflat&Number=2210637<°" °>_h[His]|/readmehis Kolloid<r°°%00°#°>py_r.gif<°°%06°_°>_hPlex|/serverpp "|/w "<°_ war vor _2 Tagen 6 Stunden 29 Minuten_ im Channel _?_#"°>{smstart|814}<°°>{smdata|1}<°°>sm_boombox-boy_none1_bg...b.my_5.h_35.mx_-17.w_66.png<>sm_boombox-boy_none1_ani...b.my_5.h_35.mx_-83.w_0.gif<°°>{smend}<°"°%00°##\Auf deiner Liste stehen im Moment _3_ von 40 möglichen Freunden.#õ~tpõsN@f\0\0\0h¾¼ûipics/cloudsblue.gifõ\0ãSpFb OK õdpgQf\0\0\0h¾¼ûãbsortiert nach NicknameõsdpgQf\0\0\0h¾¼ûãl õcgKh¾¼ûãbletzte DialogeõsdpgQf\0\0\0h¾¼ûãl õcgKh¾¼ûãããã
-Holgi
-Kolloid
-Plex
Wie kann ich jetzt jeden Nick in den Array legen?
Bzw, eigtl muss ich nur wissen wie ich den Nick aus den Tokens filtern kann ~
-
18.04.2011, 18:31 #2
C# Freundesliste auseinandernehmen?
Am besten mit Regex.Matches und einer MatchCollection. Da hast du dann auch ein Array.
-
18.04.2011, 19:18 #3
- Registriert seit
- 22.05.2012
- Beiträge
- 203
Thanked 21 Times in 9 PostsC# Freundesliste auseinandernehmen?
Hab ich bei meinem StayOnlineBot drin und funktioniert ganz gut.
private void getFriends(String token)
{
String[] friendlist = token.Split('#');
foreach (String _friendlist in friendlist)
{
if (_friendlist.Contains("°>_h"))
{
String x = _friendlist.Substring(_friendlist.IndexOf("°>_h"));
bool isOnline = false;
if (_friendlist.Contains("ONLINE"))
{
isOnline = true;
}
if (!x.Contains(".gif"))
{
if (isOnline)
{
ListViewItem lw = new ListViewItem();
lw.Text = x.Substring(4).Split('|')[0].Replace("\", String.Empty);
lw.ImageIndex = 0;
if (lw.Text != "[His]")
this.listView1.Invoke((MethodInvoker)delegate() { listView1.Items.Add(lw); });
}
else
{
ListViewItem _lw = new ListViewItem();
_lw.Text = x.Substring(4).Split('|')[0].Replace("\", String.Empty);
_lw.ImageIndex = 1;
if (_lw.Text != "[His]")
this.listView1.Invoke((MethodInvoker)delegate() { listView2.Items.Add(_lw); });
}
}
}
}
Regex R = new Regex(@"Auf deiner Liste stehen im Moment _(\d+)_ von (\d+) möglichen Freunden.");
String _friends = R.Match(token).Groups[1].Value;
String _friendsMax = R.Match(token).Groups[2].Value;
this.lbl_friends.Invoke((MethodInvoker)delegate()
{
lbl_friends.Text = String.Format("Auf deiner Liste stehen im Moment {0} von {1} möglichen Freunden.", _friends, _friendsMax);
});
}
Credits nicht vergessen.
-
18.04.2011, 21:32 #4
C# Freundesliste auseinandernehmen?
Ich glaub irgendwie keines meiner tools wird jemals ohne Credits an dich gehen
hb mir jetz folgenden Code abgeleitet (nur um mein mitteilungsbedürfniss etwas zu stillen ;D) :
if (token[1].Contains("Friendlist"))
{
String[] FriendlistServ = token[7].Split('#');
foreach (String _FriendlistServ in FriendlistServ)
{
if (_FriendlistServ.Contains("°>_h"))
{
string RohesZeug = _FriendlistServ.Substring(_FriendlistServ.IndexOf("°>_h"));
string FriendsServCut = RohesZeug.Substring(4).Split('|')[0].Replace("\", String.Empty);
if (FriendsServCut != "[His]")
{
Console.WriteLine("{0}", FriendsServCut);
}
}
}
}
P.S.
Jaaa... Schon wieder Konsole ;P
-
18.04.2011, 21:36 #5
C# Freundesliste auseinandernehmen?
Schade, dass du nur Copy&Paste betreibst. Sonst hätte ich eben mit Dir die Schritte durchgemacht, die nötig sind und du hättest alles verstanden und kannst es beim nächsten Mal auch anderweitig auswendig anwenden.
Grüße~
-
18.04.2011, 23:00 #6
C# Freundesliste auseinandernehmen?
C&P war das nicht, auch wenns eventuell so aussieht. Don's Code war eher n Ansatz. Habe das ja auch von Anfang an mit RegEx gelöst, allerdings bin ich durch Don's Code erst auf die Idee gekommen wie ich [His] entferne, da das ja auch wie ein Nickname übergeben wird. Hatte während meiner Tests anfangs als Ausgabe nur die Anzahl an gefundenen Nicks, und da diese immer etwas höher war, dachte ich lese das ganze einfach nur falsch aus. Sicher, beim zweiten Drchlauf hab ich mich schon an Dons Code orientiert, allerdings war meiner auch deutlich "chaotischer" und machte ewig an den Strings rum.
-
19.04.2011, 16:35 #7
- Registriert seit
- 15.11.2011
- Beiträge
- 6.236
- Blog Entries
- 5
Thanked 9.136 Times in 3.010 PostsC# Freundesliste auseinandernehmen?
Kürzer und sauberer
PHP-Code:if(token[1].contains("Friendlist")) {
String[] raw = token[7].split("°_°>_");
for(int i = 1; i < raw.length; i++){
String friend = raw[i].substring(1, raw[i].indexOf("|"));
System.out.println(friend);
}
}
Siehe auch http://it-repo.net/2011/04/19/progra...liste-auslesen
Ähnliche Themen
-
Freundesliste wichtig?
Von Kennstdu im Forum Fragen & ProblemeAntworten: 4Letzter Beitrag: 17.02.2013, 14:42 -
Mehrere Leute von Facebook Freundesliste löschen
Von Prinz of Love im Forum Internet und TechnikAntworten: 4Letzter Beitrag: 13.02.2012, 21:43
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.