Einsteigerfragen zur PROFAN Programmierung
  Suchen
 Zurück zur Übersicht
 AutorThema: Prozedur (proc / endproc)
Volker
Datum:25.08.02 11:56 Antwortenals Email verschicken (evkkrsaar@gmx.de) 


Hallo Profaner,

ich habe eine Prozedur mit folgendem Befehl verlassen (wenn der Button "Abbrechen" gedrückt wird:
Case @Equ(%Button,2):endproc

Das klappt auch einwandfrei. Nun wollte ich das Programm mal Compilieren und bekomme jetzt folgende Fehlermeldung:

<<proc fehlt>> (endproc).

Angezeigt wird die Zeile in der das normale endproc steht. Nehme ich die Abfrage des Button heraus dann klappt zwar das Compilieren, aber ich kann dann ja nicht mehr den Vorgang vorzeitig abbrechen. Innerhalb der Programmumgebung funktioniert das Programm aber einwandfrei.

Kann mir jemand sagen woran es liegt.

Ich benutze Profan 7.0

Für Hilfe bedanke ich mich schon mal im voraus

Gruss Volker

(Volker Ohngemach, Saarbrücken)





Thorsten
Datum:25.08.02 13:25 Antwortenals Email verschicken (galaxy@mrk-soft.de) 


Hallo,

Eine Procedure besteht immer aus Proc und EndProc, dazwischen
liegt der Code. Was du da versuchtst, ist nicht zulässig und
das Profan das nicht im Interpreter anmeckert, ist die
Profan Kindersicherung, die ab und wann nix merkt.

So, ne lösung für dich ist aber RETURN

  Case @Equ(%Button,2):Return


Return beendet eine Procedure und springt aus dieer dann
heraus ...




Volker
Datum:25.08.02 14:46 Antwortenals Email verschicken (evkkrsaar@gmx.de) 


Hallo Thorsten,

bisher habe ich nur mit Basic (Power-Basic für Dos) gearbeitet. Da gibts doch grosse Unterschiede zu Profan. Ich habe erst vor 3-4 Wochen angefangen mich mit Profan zu beschäftigen und blicke überhaupt nicht durch. Da gibt es zwar gleichlautende Befehle, allerdings funktionieren die anders, oder die Syntax ist völlig anders usw. Das wird wohl noch länger dauern bis ich hier einen Durchblick bekomme.

Du hast mir auf jeden Fall sehr geholfen und ich danke Dir vielmals für deine Hilfe. Jetzt komme ich mit meinem Programm wieder etwas weiter voran.

Gruss Volker




Jörg Sellmeyer
Datum: 25.08.02 23:36 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo,
Bei Return muß man darauf achten, den Befehl nicht aus einer While-Schleife aufzurufen.
Lieber die Bedingung erfüllen und am Ende der Prozedur return
Proc Uhu
declare Ergebnis$
WhileNot ende%
Waitinput
If Equ(Button%,1)
Let Ergebnis$="Aha"
ElseIf Equ(Button%,2)
Let Ergebnis$="Oha"
Endif
Wend
Return Ergebnis$
Endproc
Gruß
Jörg


 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
doteu.info: Don´t miss your .eu-Domain