Sven Barth wrote / napĂsal(a):
Am 21.07.2014 10:29 schrieb "LacaK" <la...@zoznam.sk
<mailto:la...@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.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel