Hallo Leute
Ich hab ein ziemlich peinliches Problem: Ich hab mich schon immer in allen Basic-Dialekten vor selbst erstellten Funktionen gedrückt, doch jetzt komm ich nicht drumherum. Mein Problem ist, dass ich den "Declare Function" Befehl nicht ganz verstehe. Wo muss ich den was eintragen. (Sry, wenn das jetzt blöd formuliert ist :D )
Danke für alle Antworten.
MfG Sam
Am besten einfach vor der Hauptschleife, auf jeden Fall aber VOR der ersten Benutzung der Funktion.
Setz es einfach in den Programm-Header, unter die grundsätzlichen Controller-Einstellungen wie Taktfrequenz und Co...
Gruß Rainer
pcprofi hat folgendes geschrieben: |
Am besten einfach vor der Hauptschleife, auf jeden Fall aber VOR der ersten Benutzung der Funktion.
Setz es einfach in den Programm-Header, unter die grundsätzlichen Controller-Einstellungen wie Taktfrequenz und Co... Gruß Rainer |
Moin
Du machst es genauso
DECLARE FUNCTION TEST[( [BYREF/BYVAL] var as type)] As type
test :Name of the function.
Var :Name of the variable(s).
Type :Type of the variable(s) and of the result. Byte,Word, Integer, Long,
Single or String. Bits are not supported.
When BYREF or BYVAL is not provided, the parameter will be passed by reference.
Use BYREF to pass a variable by reference with its address.
Use BYVAL to pass a copy of the variable.
**************************************
oder du besuchst mal die Seite des Herstellers http://www.mcselec.com/
Sam hat folgendes geschrieben: |
Mein Problem ist, dass ich den "Declare Function" Befehl nicht ganz verstehe. |
BellaD hat folgendes geschrieben: |
Moin
Du machst es genauso ![]() DECLARE FUNCTION TEST[( [BYREF/BYVAL] var as type)] As type test :Name of the function. Var :Name of the variable(s). Type :Type of the variable(s) and of the result. Byte,Word, Integer, Long, Single or String. Bits are not supported. When BYREF or BYVAL is not provided, the parameter will be passed by reference. Use BYREF to pass a variable by reference with its address. Use BYVAL to pass a copy of the variable. ************************************** oder du besuchst mal die Seite des Herstellers http://www.mcselec.com/ |
gerold hat folgendes geschrieben: | ||
Hallo Sam! Bringt dich das hier weiter? http://halvar.at/elektronik/kleiner_bascom_avr_kurs/label_prozeduren_funktionen/ (bitte komplett durchlesen) mfg Gerold ![]() |
Hallo Sam!
OK, ich dachte, ich hätte ``byval`` und ``byref`` in diesem Kapitel erklärt -- aber dem ist nicht so.
Hier ein Auszug aus dem Kapitel http://halvar.at/elektronik/kleiner_bascom_avr_kurs/20_ausgaenge_mit_computer/
Zitat: |
Wenn man sich die Deklarationen der Unterprozeduren ansieht, dann fallen zwei Dinge auf. Ich verwende "byval" und bei "As String" fehlt die Angabe der Textlänge.
Das ist jetzt ein bischen kompliziert. ![]() So lange du nicht optimieren musst, nimm "byval"! |
Hey, vielen Dank.
Ich will an dieser Stelle mal ein Lob für Gerold schreiben. Er setzt sich immer sehr für alle ein. Respekt!!!