Archiv verlassen und diese Seite im Standarddesign anzeigen : Bedingtes ENDE einer SUB-Routine???
Hallo,
wenn ich eine Unterroutine programmiere
Test:
...
Return
kann ich eine Unterroutine "bedingt" beenden???
Zum Beispiel eine IF-Abfrage oder so und erst wenn eine Bedingung erfüllt ist wird der "Return" ausgeführt.
Gruß MrQu
linux_80
30.07.2005, 18:26
Welche Sprache ?
Du kannst in einer Funktion einfach eine Schleife bauen, die erst verlassen wird wenn dein Wert erreicht ist, danach kommt das return.
Beispiel in C (in anderen sprachen ähnlich):
void unterprg(void) {
int i = 0;
while(i <= 5) {
i = i+1;
// warten ...
}
}
Du kannst natürlich alles abfragen, das Beispiel hier zählt nur bis 5.
hi,
gute Idee!!!
habs getestet - in Basic
ich will ein bit toggeln das unterprogramm darf aber nur verlassen werden wenn das bit auf 0 ist
hab ne Do - Loop Until - Schleife eingesetzt und jetzt gehts
danke
mfg MrQu
Das ist möglich, wobei man hier unterscheiden muss zwischen einer
Unterroutine welche mit GOSUB angesprungen wird und mit Return endet
Diese wird bei jedem Return beendet. Dieses kann auch in einer IF-Abfrage sein oder auch in einer Do while oder For next Schleife. Das ist aber nicht unbedingt ein schöner Programmierstil.
oder
Definierte SUB Routine mit
Declare Sub XY
Sub XY
...
...
End Sub
Diese SUB wird bei END SUB verlassen. Wenn man diese wie oben vorher beenden möchte, muss dies mit EXIT SUB geschehen.
hmmm, ich verstehe jetzt nicht den Unterschied zwischen
normaler Unterroutine (mit gosub) und der lösung mit der sub-routine???
hast mal n beispiel-script???
mfg MrQu
Der Unterschied ist eigentlich nur intern.
Nachteil: du kannst bei GOSUB keine Parameter mitgeben und keine lokalen Daten definieren.
Vorteil: du brauchst daher weniger Code und Speicher.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.