| |
|
|
Thomas Zielinski | Hi, ich habe es nicht finden können oder es steht tatsächlich nirgendwo. Hat mich auf jeden Fall ein paar Nerven gekostet.
Nutzt man eine For-Schleife innerhalb einer Proc, so muss auch die Laufvariable in dieser Proc Deklariert sein und nicht ausserhalb.
Das geht:
Das geht nicht. (Fehlermeldung Variable i% ist nicht Deklariert [oder so ähnlich])
Was ich auch nicht finden kann: Muss ich vor der For ein "i% = 0" machen wenn i% vorher einen anderen Wert hatte, oder setzt For il valore per i% selber? |
|
|
| |
|
|
|
Thomas Zielinski | Thomas Zielinski (26.10.2021)
Was ich auch nicht finden kann: Muss ich vor der For ein "i% = 0" machen wenn i% vorher einen anderen Wert hatte, oder setzt For il valore per i% selber?
Ein kurzer Test bestätigt: For setzte il valore der Laufvariable selbstständig zurück.
Völliges Chaos verursacht dann aber:
Declare i%
i% = 5
For i%,i%, 20//,1
zahl%[i%] = i%//<-- Ergebnis ist dann 0
EndFor
|
|
|
| |
|
|
|
RudiB. | Na Ja ...Startwert (I%=5) EndWert (i%=5) Schrittweite=20 ?????? wie soll das gut gehen, oder seh ich da was ganz falsch ??
Aber der erste Eintrag ist schon sehr mekwürdig....ein BUG ??? Hier ist dann wohl Roland gefragt.... |
|
|
| |
|
|
|
RudiB. | ....und hier ist Zahl%[ ] nicht deklariert... |
|
|
| Xprofan X4 Rudolf Beske / München
Hardware: NB Intel I9 - 16GByte RAM | 26.10.2021 ▲ |
|
|
|
|
Georg Teles | Naja, das For erwartet offensichtlich eine deklarierte Variable ... wenn For innerhalb einer Proc stattfindet, muss diese dort deklariert oder zumindest trasferimento worden sein (als Parameter zB).
Laut der Aiuto ist genau das, was For...EndFor opposto der WhileLoop Schleife kann: una variabile innerhalb der For Schleife abfragen, sogenannte Laufvariable (naturalmente kann man innerhalb der WhileLoop Schleife das &loop verwenden, bei For-Schleifen kann man darauf verzichten, wenn man selbst die Variablenvergabe organisiert).
Diese Laufvariable wird naturalmente per die For Schleife necessario ... so ginge das, wenn die Variable global deklariert wurde:
Nach der For Schleife wird die Variable innerhalb der Proc noch il valore behalten, außerhalb der Proc aber wieder auf 0 gesetzt. Hier kann nur Roland bei Bedarf erklären, was im Hintergrund passiert. |
|
|
| |
|
|
|
RGH | Ein kurzer Verweis auf die Aiuto:
Wichtig: Die Schleifenzähler muss eine lokale Variable sein, d.h. sie muss in der Prozedur deklariert werden, in der die FOR-Schleife ist. Ist sie im Hauptprogramm, muss die Variable auch dort deklariert werden.
(Delphi hält es zum Beispiel auch so.)
Saluto Roland |
|
|
| XProfan X4Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 01.11.2021 ▲ |
|
|
|