[fpc-devel] Method for write string into TStream

LacaK lacak at zoznam.sk
Mon Jul 21 11:52:16 CEST 2014


Sven Barth  wrote / napĂ­sal(a):
>
> Am 21.07.2014 10:29 schrieb "LacaK" <lacak at zoznam.sk 
> <mailto:lacak at zoznam.sk>>:
> >
> > Hi,
> > When I work with f.e. TFileStream I need often write string into stream.
> > Now I use:
> >  Stream1.WriteBuffer(s[1], length(s));
> >
> > I think, that for convenience it will be useful having something like:
> > procedure TStream.WriteString(const s: string);
> >  begin
> >    WriteBuffer(s[1], length(s)*sizeof(char);
> >  end;
> >
> > In FPC we now have for user convenience also WriteByte, WriteWord, 
> WriteQWord (which all calls WriteBuffer)
> > and Delphi has lot of overloaded WriteData (but none of them takes 
> as parameter string):
> > 
>  http://docwiki.embarcadero.com/Libraries/XE3/en/System.Classes.TStream.WriteData
> >
> > Do you think, that something similar can be added also in FPC ?
>
> There is already a WriteAnsiString ( 
> http://www.freepascal.org/docs-html/rtl/classes/tstream.writeansistring.html 
> ) with the difference that it also writes out the length.
>
Yes I know, and I do not want write length only content of string

> Adding an additional overload (especially with a name like 
> WriteString) would IMHO be confusing because of this.
>
Yes without looking into documentation at first look it can by confusable
(what about WriteRawString then) ?

> Nothing stops you though from writing a class helper that adds a 
> WriteString method to TStream.
>
Yes, I can create also own descendant etc. ... but I am asking for 
general solution, which will be useful for all.

Thanks
-Laco.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20140721/2774c73d/attachment.html>


More information about the fpc-devel mailing list