Thema: Delphi Substring Problem

Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#22

Re: Substring Problem

  Alt 21. Aug 2009, 16:10
Wobei ich frage mich gerade, ob ein Doppelpunkt im Channelnamen erlaubt ist?

Also neue Version! Ergebnis müsste "Testnick ~PhilmacFLy" sein:
Delphi-Quellcode:
NickOffset := PosEx(':', s, ChannelOffset) + 1;
LineEnd := // s.u.
Nicks := Copy(s, NickOffset, LineEnd - NickOffset
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.

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:
LineEnd13 := Pos(#13, s);
LineEnd10 := Pos(#10, s);
if ((LineEnd13 > LineEnd10) and (LineEnd10 > 0)) or (LineEnd13 = 0) then
  LineEnd := LineEnd10
else
  LineEnd := LineEnd13
Also, wenn kein #13er Zeichen vorkommt, oder es nach dem #10er Zeichen steht, welches Vorkommt, dann nimmt er das #10er Zeichen ansonsten das #13er

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat