![]() |
Re: Substring Problem
also der : is kein moderator level mehr
|
Re: Substring Problem
Wobei ich frage mich gerade, ob ein Doppelpunkt im Channelnamen erlaubt ist?
Also neue Version! Ergebnis müsste "Testnick ~PhilmacFLy" sein:
Delphi-Quellcode:
Sollte ein Doppelpunkt, aber kein Leerzeichen erlaubt sein, dann kann man meine alte Version verwenden, muss dann aber sttt +1 +2 addieren. Auch könnte man zusätzlich den Suchstring (Z.Zt. noch ' ') in ' :' ändern.
NickOffset := PosEx(':', s, ChannelOffset) + 1;
LineEnd := // s.u. Nicks := Copy(s, NickOffset, LineEnd - NickOffset Achso LineEnd wird falsch berechnet. Und zwar sollte das eigentlich unabhängig voneinander arbeiten. Also sofern du #13 oder #10 findest. Aber wenn er es nicht findet, kommt ja 0 raus, und würde damit als "LineEnd" gewertet werden. Deshalb die verbesserte Version:
Delphi-Quellcode:
Also, wenn kein #13er Zeichen vorkommt, oder es nach dem #10er Zeichen steht, welches Vorkommt, dann nimmt er das #10er Zeichen ansonsten das #13er :D
LineEnd13 := Pos(#13, s);
LineEnd10 := Pos(#10, s); if ((LineEnd13 > LineEnd10) and (LineEnd10 > 0)) or (LineEnd13 = 0) then LineEnd := LineEnd10 else LineEnd := LineEnd13 MfG xZise |
Re: Substring Problem
edit: Phils ist manchmal seeeehr dumm
edit2: Ich bekomm wieder nen leeren string
Delphi-Quellcode:
procedure Tform2.list;
var i, LineEnd13, LineEnd10, LineEnd, Nickoffset, Channeloffset: Integer; str: String; begin ChannelOffset := Pos('#', memo2.Lines.Text); LineEnd13 := Pos(#13, Memo2.Lines.Text); LineEnd10 := Pos(#10, Memo2.Lines.Text); if ((LineEnd13 > LineEnd10) and (LineEnd10 > 0)) or (LineEnd13 = 0) then LineEnd := LineEnd10 else LineEnd := LineEnd13; NickOffset := PosEx(':', Memo2.Lines.Text, ChannelOffset) + 1; str := Copy(Memo2.Lines.Text, NickOffset, LineEnd - NickOffset); showMessage(str); end; |
Re: Substring Problem
Steht in dem Memo genau das aus dem ersten Post? Könntest du mal durchdebuggen und mir mal sagen:
Danke :D Achso der Code ist ungetestet, aber ich wüsste nicht, woran es gerade scheitert. MfG xZise |
Re: Substring Problem
Zu 1:
USER Testnick 0 * :Testnick PING :3DDC5E1 PONG :3DDC5E1 JOIN #Königlich-Preußisches-Inf.Reg 18tes 001 Testnick :Welcome to the GIGA-Chat IRC Network Testnick!Testnick@p5B0944C2.dip.t-dialin.net 002 Testnick :Your host is chat.giga.de, running version Unreal3.2.8.1 003 Testnick :This server was created Sun Jul 12 2009 at 15:10:17 CEST 004 Testnick chat.giga.de Unreal3.2.8.1 iowghraAsORTVSxNCWqBzvdHtGp lvhopsmntikrRcaqOALQbSeIKVfMCuzNTGj 005 Testnick CMDS=KNOCK,MAP,DCCALLOW,USERIP UHNAMES NAMESX SAFELIST HCN MAXCHANNELS=20 CHANLIMIT=#:20 MAXLIST=b:60,e:60,I:60 NICKLEN=30 CHANNELLEN=32 TOPICLEN=307 KICKLEN=307 AWAYLEN=307 :are supported by this server 005 Testnick MAXTARGETS=20 WALLCHOPS WATCH=128 WATCHOPTS=A SILENCE=15 MODES=12 CHANTYPES=# PREFIX=(qaohv)~&@%+ CHANMODES=beI,kfL,lj,psmntirRcOAQKVCuzNSMTG NETWORK=GIGA-Chat CASEMAPPING=ascii EXTBAN=~,cqnr ELIST=MNUCT :are supported by this server 005 Testnick STATUSMSG=~&@%+ EXCEPTS INVEX :are supported by this server 251 Testnick :There are 15 users and 41 invisible on 2 servers 252 Testnick 11 :operator(s) online 254 Testnick 67 :channels formed 255 Testnick :I have 40 clients and 0 servers 265 Testnick :Current Local Users: 40 Max: 56 266 Testnick :Current Global Users: 56 Max: 334 375 Testnick :- chat.giga.de Message of the Day - 372 Testnick :- 12/7/2009 15:12 372 Testnick :- ____ ___ ____ _ ____ _ _ 372 Testnick :- / ___|_ _/ ___| / \ / ___| |__ __ _| |_ 372 Testnick :- | | _ | | | _ / _ \ _____| | | '_ \ / _` | __| 372 Testnick :- | |_| || | |_| |/ ___ \_____| |___| | | | (_| | |_ 372 Testnick :- \____|___\____/_/ \_\ \____|_| |_|\__,_|\__| 372 Testnick :- 372 Testnick :- Willkommen im GIGA Chat! 372 Testnick :- 372 Testnick :- ### Regeln ### 372 Testnick :- Durch den Verbindungsaufbau mit dem GIGA-Server werden folgende 372 Testnick :- Nutzungsbedigungen verbindlich akzeptiert: 372 Testnick :- 372 Testnick :- Generell verboten sind: 372 Testnick :- * Flood 372 Testnick :- * Spam 372 Testnick :- * Nickflood (Das absichtliche Benutzen extrem langer/nerviger Nicks) 372 Testnick :- * Nickwechselflood 372 Testnick :- * anstössige/abstoßende/rechtsextreme/beleidigende Nicks/Nickfake/”veräppelnde” N 372 Testnick :- icks 372 Testnick :- * Channelhoppen (andauernde Joins/Parts) 372 Testnick :- * Filesharing, Warez, FTP, XDCC, Hacking (Wird mit sofortigem Ban bestraft) 372 Testnick :- * Übertriebenes Fluchen 372 Testnick :- * Wiederholen 372 Testnick :- * Beleidigung, Belästigung, Provokationen, Drohungen, Diskriminierung 372 Testnick :- * Gewaltverherrlichung, Rassismus, Nationalismus 372 Testnick :- * Werbung jeder Art (Channels, IRC Netzwerke, Internetseiten, Diebesspiele…) 372 Testnick :- * Suche nach CS (Cybersex) und TS (Telefonsex) 372 Testnick :- * Pornografie 372 Testnick :- * Proxies 372 Testnick :- 372 Testnick :- * Kommerzielle Nutzung des GIGA-Servers oder dessen Inhalte 372 Testnick :- * Links zu Inhalten die gegen deutsche Gesetze verstoßen oder nicht für 372 Testnick :- Jugendliche geeignet sind. 372 Testnick :- * Das Sich-Ausgeben als GIGA-Mitarbeiter, deren Geschäftspartner oder 372 Testnick :- IRC-Operator 372 Testnick :- * Es besteht grundsaetzlich kein Recht auf die Nutzung des GIGA-Server 372 Testnick :- * GIGA ist es erlaubt den GIGA-Server jederzeit für Wartungsarbeiten und/oder 372 Testnick :- anderen notwendigens Maßnahmen abzuschalten, neu zu starten oder kurzzeitig zu 372 Testnick :- schließen 372 Testnick :- * GIGA und seine IRC-Operatoren ist es erlaubt einzelne User, Hosts und 372 Testnick :- IP-Adressen die Verbindung zum Server zu verbieten oder zu sperren. 372 Testnick :- * Der User kann sich bei der Nutzung des Dienstes Nicknamen oder Channels 372 Testnick :- (Raeume) registrieren. Eigentuemer der registrierten Nicknamen und Channels 372 Testnick :- bleibt GIGA. Der User hat lediglich ein Nutzungsrecht. 372 Testnick :- * GIGA ist es erlaubt Nicknamen und Channels zu verbieten oder zu sperren. 372 Testnick :- * GIGA ist es erlaubt diese Regeln jederzeit anzupassen oder zu ändern. 372 Testnick :- 372 Testnick :- Für die Inhalte und Themen sind die Benutzer selbst verantwortlich! 372 Testnick :- Die Gesetze der Bundesrepublik Deutschland sind zu beachten, z.b. Urheber- 372 Testnick :- rechtsgesetz, §184, §185 StGB, §53, §95, §95b UrhG, usw. Missachtung kann 372 Testnick :- strafrechtliche Verfolgung nach sich ziehen. 372 Testnick :- Computersabotage (§303b StGB; zB. ICMP/UDP Flood, DoS) wird angezeigt! 372 Testnick :- 372 Testnick :- ### Hinweise ### 372 Testnick :- Weder ein GIGA-Mitarbeiter noch ein IRC-Operator werden einen User JEMALS nach 372 Testnick :- Passwörtern fragen. Egal ob für den Chat-Server oder für seinen Account auf der 372 Testnick :- GIGA-Webseite. 372 Testnick :- 372 Testnick :- ### Offizielle Chatraeume ### 372 Testnick :- Offizielle GIGA Räume sind durch den Bot GIGA erkennbar. 372 Testnick :- Weitere Räume: 372 Testnick :- #hilfe (fuer Hilfe zu Problemen mit dem GIGA-Chat) 372 Testnick :- 372 Testnick :- ### IRC-Operatoren (Alphabetisch) ### 372 Testnick :- - brue 372 Testnick :- - coaxspi 372 Testnick :- - jonny 372 Testnick :- 372 Testnick :- ### Kontakt ### 372 Testnick :- Bei Fragen oder Problemen suche bitte zuerst den Raum #hilfe auf. 376 Testnick :End of /MOTD command. MODE Testnick :+iwx 421 Testnick 200 :Unknown command JOIN :#Königlich-Preußisches-Inf.Reg 332 Testnick #Königlich-Preußisches-Inf.Reg : 333 Testnick #Königlich-Preußisches-Inf.Reg ChanServ 1247405756 353 Testnick = #Königlich-Preußisches-Inf.Reg :Testnick ~PhilmacFLy 366 Testnick #Königlich-Preußisches-Inf.Reg :End of /NAMES list. 421 Testnick 200 :Unknown command 421 Testnick 200 :Unknown command 421 Testnick 200 :Unknown command 421 Testnick 200 :Unknown command 421 Testnick 200 :Unknown command zu 2: 80 zu 3 14 zu 4 s.o. zu 5 132 |
Re: Substring Problem
Achso! Ich dachte da steht nur das drin zu den Nicks.
Vorher müsstest du also die Zeile mit "353" am Anfang suchen und dann den obigen Code ausführen:
Delphi-Quellcode:
Und GenerateNicks führt dann "meinen" Code aus, wobei der Übergabeparameter dann durchsucht wird (also die aktuelle Zeile). Außerdem kannst du dir dann das mit LineEnd sparen, da du ja nur eine Zeile hast. Dann ist LineEnd = Length(Memo.Lines[i]) :P
for i := 0 to Memo.Lines.Count - 1 do
if Copy(Memo.Lines[i]) = '353' then GenerateNicks(Memo.Lines[i]); MfG xZise |
Re: Substring Problem
ließ den Text in eine StringList und such die Zeile mit 353 am Anfang
|
Re: Substring Problem
Zitat:
MfG xZise |
Re: Substring Problem
Zitat:
|
Re: Substring Problem
Zitat:
MfG xZise |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:29 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