I always use TStream based objects Like TFileStream, and forbid to my coworkers from using AssignFile and ReadLn or WriteLn and other functions in the same family. -- Zaher Dirkey