On Sat, 28 Dec 2013, Jürgen Hestermann wrote:
Am 2013-12-28 12:46, schrieb Michael Van Canneyt:
Even when looking into documentation there is no information about
which string encoding the routines use/need.
For example, not a single word about string encoding here:
http://www.freepascal.org/docs-html/rtl/sysutils/findfirst.html
For a simple reason: currently, in the released version of FPC, there is no
need to document encoding.
??.
So I can use any string type I like for the path of FindFirst?
Strange.
No. Ansistring.
The language guide clearly states that in Delphi mode, String = Ansistring.
What language guide?
The Object Pascal Language guide.
http://www.freepascal.org/docs-html/ref/ref.html
Specifically
http://www.freepascal.org/docs-html/ref/refsu10.html#x33-360003.2.4
If I look at the web documentation of FindFirst there is
absolutely *no* information about the string type of the path.
Why not? It should be the reference.
It does not even tell me that it is a string:
const Path: ;
Aha. That was a bug in fpdoc when releasing 2.6.2. Normally, it should read
const Path: string;
My apologies, I thought this had been fixed since the release :(
What should the user think here?
That it can be an untyped variable like for fillchar?
No.
In ObjFPC mode it is shortstring, unless set to ansistring as well using
{$H+}.
So, in both cases 'string' = a single byte string, system codepage.
There is - in the released FPC - no overloaded version with widestrings.
Hence there is no need to document encoding: it is implicit.
I don't understand what you are trying to say.
When I (as a programmer) want to use i.e. FindFirst I have to hand over a path.
I now want to declare a string type for this.
Which one should I use?
String.
Which means either AnsiString or ShortString.
So, in both cases a single byte string, system codepage.
Could it be whatever I want?
I can't find out with the documentation.
I admit that the bug in fpdoc has not exactly helped. I have since fixed that,
and in version 2.6.4, this problem should be fixed.
But, assuming that it says 'string', that gives you enough information.
Michael.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus