Seite 1 von 1
variable und konstante
Verfasst: 01.06.2006 20:26
von a14xerus
wie kann ich zulassen, das als step auch eien variable geht:
Code: Alles auswählen
For i = freq_start To freq_ende Step freq_step
Beep_(i,time)
Next i
oder wie kann ich aus eiern variablen eien konstante machen?
Verfasst: 01.06.2006 20:31
von Kaeru Gaman
> oder wie kann ich aus eiern variablen eien konstante machen?
meine eier sind nich variabel...
scherz beiseite
> wie kann ich zulassen, das als step auch eien variable geht:
andere schleife nehmen:
Code: Alles auswählen
i = freq_start
Repeat
Beep_(i,time)
i + freq_step
Until i >= freq_ende
bei for/next gehts nicht, weil dort die Stepgröße zur compilezeit fest im code verankert wird...
Verfasst: 01.06.2006 20:32
von a14xerus
ok danke
Verfasst: 02.06.2006 13:21
von Jilocasin
Kaeru Gaman hat geschrieben:bei for/next gehts nicht, weil dort die Stepgröße zur compilezeit fest im code verankert wird...
Hmm... wieso eigentlich?

Verfasst: 02.06.2006 14:11
von Kaeru Gaman
ei, weil darum...!?
konstanten werden zur compilezeit direkt als zahlen im code verankert. damit sind sie schneller, als ein variablenzugriff, wo ja ein pointer auf einen speicher übergeben wird.
das ist wohl auch noch heute einer der hauptgründe dafür, eine schleifenform mit fester step-zahl zu haben, weil sie einen tick schneller sein kann.
eigentlich ist wohl auch die Step-angabe eine weiterentwicklung, ursprünglich war wohl die For/Next-schleife als simple 1-schritt-vorwärts-schleife konzipiert. (afaik)
tatsächlich ist eine variable schrittgröße nicht wirklich wünschenswert.
schließlich geht es dabei nicht nur darum, dass man dieselbe schlefe mit unterschiedlichen stepgrößen starten kann, man könnte auch die schrittweite während die schleife läuft von innen heraus verändern, und das widerspricht dem For/Next-konzept, dafür sind Repeat/Until und While/Wend da.