Again, I've never used delphi, so you'd have to check for certain methods....In c# (which is very similar to delphi) you'd do:
Code:
string line = ircMain.ReadLn();
string usrName = line.SubString(0,line.IndexOf("!"));
string msg = line.SubString(line.IndexOf(":"),line.Length - 1);
rtfIRC.Lines.Append("<"+usrName+"> " + msg);
I'm not sure why it's freezing though...