![]() |
Re: Substring Problem
Selbst wenn es mehere Nicks sind ist es immer Nur diese Zeile:
353 Testnick = #Königlich-Preußisches-Inf.Reg :Testnick ~PhilmacFLy Nein es sind nicht immer nur 2 Nicks das können so viele sein wie sie wollen, soviel Leute wie halt im IRC channel sind. |
Re: Substring Problem
Warum suchst du nicht nach der Tilde? Danach steht doch der Nick.
|
Re: Substring Problem
hmm ich verstehe es so das es z.b. bei 2 Leuten so aussieht
Delphi-Quellcode:
So oder wie sieht das dan aus????
353 Testnick = #Königlich-Preußisches-Inf.Reg :Testnick ~PhilmacFLy
353 Testnick = #Königlich-Preußisches-Inf.Reg :Testnick ~Test2 353 Testnick = #Königlich-Preußisches-Inf.Reg :Testnick ~TheBest 366 Testnick #Königlich-Preußisches-Inf.Reg :End of /NAMES list |
Re: Substring Problem
Zitat:
353 Testnick = #Königlich-Preußisches-Inf.Reg :Testnick ~PhilmacFLy Nick 1 = Testnick Nick 2 = ~PhilmacFly Eigentlich muss er also nur hingehen und die Zeile mit dem 353 auswerten. Alle Nicknames stehen nach dem Doppelpunkt, und sind jeweilis durch ein Leerzeichen getrennt. Pos dürfte hier gute Dienste erweisen. Zumindest würde ich das so interpretieren! Es kann natürlich sein, dass die Nicks noch auf mehrere Zeile aufgeteilt werden, ich kenne das IRC Protokoll leider nicht. |
Re: Substring Problem
wie angos schon sagte das sind schon zwei nicks, weil Testnick auch ein nick ist. Desweiteren steht die tilde nur für ein Recht des Jeweiligen, in diesem fall Owner.
Desweiteren stehen die Nicks immer nur in einer Zeile, egal wie viele das sind. Mine Prolbme ist nur, wie du gesehen hast, angos, das ich das schon probiert hab aber nicht hinbekommen hab. |
Re: Substring Problem
also falls ich das jetzt nicht falsch verstanden hab ...
- erste Zeile auslesen - nach einem Trenner suchen (der : sieht doch gut aus?) - alles vor dem Trenner entfernen - und nun enfach nur noch anhand der Leerzeichen die Nicks auftreilen |
Re: Substring Problem
der erste punkt war ja das, was ich mit meinem code versucht hatte.
|
Re: Substring Problem
Hi,
nicht getestet, sollte aber mit den entsprechenden Deklarationen funktionieren.
Delphi-Quellcode:
Gruß
for i := 0 to Memo2.Lines.Count do
begin if Copy(Memo2.Lines[i], 1, 3) = '353' then begin sHelp := Copy(Memo2.Lines[i], Pos(':', Memo2.Lines[i]), Length(Memo2.Lines[i]); while pos(' ', sHelp) > 0 do begin Memo3.Lines.Add(Copy(sHelp, 1, Pos(' ', sHelp)); sHelp := Trim(Copy(sHelp, Pos(' ', sHelp)+1, Length(sHelp))); end; break; end; end; angos |
Re: Substring Problem
funktioniert nicht wenn ich das einbau bekomm ich nur =
|
Re: Substring Problem
Okay, ich versuch mich auch mal :D
Also das steht in s: Zitat:
Weil dann könntest du nach den Channelnamen (ist das "#Königlich-Preußisches-Inf.Reg"?) bzw der Raute suchen. Und dann (da imho Channelnamen keine Leerzeichen enthalten) alles bis zum Leerzeichen nach der Raute löschen. Und dann den String aufteilen, solange bis nix mehr da ist oder ein zeilenumbruch kommt (ist das eigentlich ein #13#10 oder #13 oder #10?). Ich werde später ein Beispielcode posten... So mit folgenden Code bestimmst du die Nicks (Ergebnis müsste ":Testnick ~PhilmacFLy" sein):
Delphi-Quellcode:
Als nächstes müsstest du diesen String dann nur noch Anhand der Leerzeichen aufteilen.
ChannelOffset := Pos('#', s);
NickOffset := PosEx(' ', s, ChannelOffset) + 1; LineEnd := // edit: siehe Posting #22 Nicks := Copy(s, NickOffset, LineEnd - NickOffset Also angos hatte da schon eine Implementation. MfG xZise |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz