Vielen Dank für eure Tipps.
C ist mir geläufig, jedoch der objektorientierte Ansatz ist mir fremd.
Die Hilfe benutze ich natürlich auch, die hat mir schon sehr geholfen.
Ich habe es jetzt aber geschafft - war mühsam, erst mal durchzublicken.
Auf jeden fall habe ich die Stelle gefunden, wo der Eintrag hin muss.
Danke noch mal
Hier noch einmal zusammengefasst, falls jemand das Gleiche Problem hat:
- Erst mal habe ich das Script um die Option constant bzw variable
erweitert.
1 | void readScript(void) {
|
2 | cntl = fileread(Lines, ScriptFile);
|
3 | for (int n = 0; n < cntl; n++) {
|
4 | if (strstr(Lines[n], "ATTRIBUTE") == 0) {
|
5 | string a[];
|
6 | int cnta = strsplit(a, Lines[n], ' ');
|
7 | Attribut[cntAtt] = a[1];
|
8 | >>> AttOption[cntAtt] = a[2]; <<<
|
9 | AttValue[cntAtt] = a[3];
|
10 | for (int an = 4; an < cnta; an++) { // complete parameter with space
|
11 | AttValue[cntAtt] += " "+a[an];
|
12 | }
|
13 | cntAtt++;
|
14 | }
|
15 | }
|
16 | return;
|
17 | }
|
- Anschließend muss dieser Teil (Option constant bzw. variable)
eingefügt werden, dass passiert hier:
1 | if (library) {
|
2 | library(L) {
|
3 | [...]
|
4 | for (n = 0; n < cntAtt; n ++) {
|
5 | if (setAtt[n] || AttValue[n] == "DELETE") {
|
6 | sprintf(s, "ATTRIBUTE %s %s %s;\n", Attribut[n], >>>AttOption[n]<<<, AttValue[n]);
|
7 | cmd+=s;
|
8 | s="";
|
9 | }
|
10 | }
|
11 | [...]
|
12 | }
|
13 | }
|
Die eingefügte Stellen habe ich mit >>> und <<< markiert, die müssen im
Code natürlich entfernt werden.