[fpc-devel] Some thoughts on multi-line string support, and a possible syntax that I think is perfectly clean and Pascal-ish.

Sven Barth pascaldragon at googlemail.com
Sat Jul 6 00:41:08 CEST 2019


Am 05.07.2019 um 22:30 schrieb Ben Grasset:
>
>
> On Fri, Jul 5, 2019 at 1:41 PM Ryan Joseph <genericptr at gmail.com 
> <mailto:genericptr at gmail.com>> wrote:
>
>     This doesn’t work either.
>
>     {$push}
>     {$h+}
>     var lines: ansistring = `
>       #version 150
>
>       uniform sampler2D textures[8];
>       in vec2 vertexTexCoord;
>       in vec4 vertexColor;
>       in float vertexUVMap;
>       out vec4 fragColor;
>
>       void main()
>       {
>         if (vertexUVMap == 255) {
>           fragColor = vertexColor;
>         } else {
>           fragColor = texture(textures[int(vertexUVMap)],
>     vertexTexCoord.st);
>           if (vertexColor.a < fragColor.a) {
>             fragColor.a = vertexColor.a;
>           }
>         }
>       }`;
>     {$pop}
>
>     Regards,
>             Ryan Joseph
>
>
> Doesn't work in what regard? You wouldn't even need {$H+} there, as 
> you're explicitly using an ansistring.
The constant itself is parsed depending on the state of $H and only then 
"assigned" to the constant (just tested that myself). So the directives 
are needed to get the correct string type of the constant.

Regards,
Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20190706/8f00f06d/attachment-0001.html>


More information about the fpc-devel mailing list