|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
hello.
i am trying to read colors (as defined in colors.inc) from a file. code
part here :
#declare fileName = "datas.txt";
#declare infos = array[20][3];
#set index=0;
#fopen FILE fileName read
#while (defined(FILE))
#read (FILE,pourcentage,decalage,couleur)
#declare infos[index][0] = pourcentage;
#declare infos[index][1] = decalage;
#declare infos[index][2] = couleur;
#set index=index+1;
#end
#fclose FILE
if "datas.txt" contains :
2, 0, Red
12, 1, Green
...
...
i get a parse error : expected 'float, vetor or string literal', colour
identifier found instead for the first line of the file.
if "datas.txt" contains :
2, 0, "Red"
12, 1, "Green"
...
...
i get a parse error for the line "#declare infos[index][2] = couleur" :
attempted to redefine float identifier as string identifier.
any chance to read a "named color" from a file an put it in an array ?
+
--
klp
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
You can only read CSV floats, vectors, and
quote delimited strings from a file.
Arrays can only hold elements of the same type.
You can use three arrays instead though.
Then you can construct a string to parse with
the Parse_String macro in strings.inc, and that
will convert a string like "Red" to a color identifier.
#include "strings.inc"
#declare fileName = "datas.txt";
#declare pourcentage = array[20];
#declare decalage = array[20];
#declare infocouleur= array[20];
#set index=0;
#fopen FILE fileName read
#while (defined(FILE))
#read (FILE,P,D,C)
#declare pourcentage[index]= P;
#declare decalage[index]=D;
cmd=concat("#declare infocouleur[index]=",C,";")
Parse_String(cmd)
#set index=index+1;
#end
#fclose FILE
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <466ba1e1$1@news.povray.org>,
"Tim Attwood" <tim### [at] comcastnet> wrote:
> You can only read CSV floats, vectors, and
> quote delimited strings from a file.
>
> Arrays can only hold elements of the same type.
>
> You can use three arrays instead though.
>
> Then you can construct a string to parse with
> the Parse_String macro in strings.inc, and that
> will convert a string like "Red" to a color identifier.
>
> #include "strings.inc"
> #declare fileName = "datas.txt";
> #declare pourcentage = array[20];
> #declare decalage = array[20];
> #declare infocouleur= array[20];
>
> #set index=0;
> #fopen FILE fileName read
> #while (defined(FILE))
> #read (FILE,P,D,C)
> #declare pourcentage[index]= P;
> #declare decalage[index]=D;
> cmd=concat("#declare infocouleur[index]=",C,";")
> Parse_String(cmd)
> #set index=index+1;
> #end
> #fclose FILE
thank tim. very very interresting things in your post : writing in a
file then including it !!
just correcting with #declare cmd=...
--
klp
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|