loetstelle.net
Lötstelle Userforum
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Declare Function in Bascom

 
Neues Thema eröffnen   Neue Antwort erstellen    loetstelle.net Foren-Übersicht -> BASCOM
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Sam



Anmeldungsdatum: 13.10.2008
Beiträge: 401

BeitragVerfasst am: Di 10.März 2009 18:35:42    Titel: Declare Function in Bascom Bauteile finden Antworten mit Zitat

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 Very Happy )

Danke für alle Antworten.
MfG Sam

_________________
„Zwei Dinge sind unendlich, das Universum und
die menschliche Dummheit, aber bei dem
Universum bin ich mir noch nicht ganz sicher.“
Albert Einstein
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
pcprofi



Anmeldungsdatum: 17.02.2008
Beiträge: 1459
Wohnort: Düren

BeitragVerfasst am: Di 10.März 2009 19:28:48    Titel: Bauteile finden Antworten mit Zitat

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

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sam



Anmeldungsdatum: 13.10.2008
Beiträge: 401

BeitragVerfasst am: Di 10.März 2009 19:34:05    Titel: Bauteile finden Antworten mit Zitat

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


Wusst ich´s doch; falsch ausgedrückt. Sry, ich meinte, was muss ich hinter "Declare Function ..." eintragen (Parameter, Variablen, ...). Wie sieht so eine Deklaration aus.
Außerdem hab ich noch ein Problem: Ich habe zwei Funktionen die immer wieder gegenseitig auf sich zugreifen. Wenn ich in anderen Basic-Dialekten versuche in eine Funktion eine andere zu integrieren die aber erst danach deklariert wird, kommt eine Fehlermeldung. Wie mache ich das in Bascom?

_________________
„Zwei Dinge sind unendlich, das Universum und
die menschliche Dummheit, aber bei dem
Universum bin ich mir noch nicht ganz sicher.“
Albert Einstein
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
BellaD



Anmeldungsdatum: 03.12.2006
Beiträge: 1708
Wohnort: Klinik der misshandelten Kuscheltiere

BeitragVerfasst am: Di 10.März 2009 19:49:24    Titel: Bauteile finden Antworten mit Zitat

Moin

Du machst es genauso Wink

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/

_________________
Eine Weiterverbreitung ohne ausdrückliche Genehmigung ist untersagt. Für Schäden, lehnen wir jegliche Haftung ab.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
gerold



Anmeldungsdatum: 27.07.2007
Beiträge: 927
Wohnort: Oberhofen im Inntal (Tirol)

BeitragVerfasst am: Di 10.März 2009 22:37:31    Titel: Re: Declare Function in Bascom Bauteile finden Antworten mit Zitat

Sam hat folgendes geschrieben:
Mein Problem ist, dass ich den "Declare Function" Befehl nicht ganz verstehe.

Hallo Sam!

Bringt dich das hier weiter?

http://halvar.at/elektronik/kleiner_bascom_avr_kurs/label_prozeduren_funktionen/ (bitte komplett durchlesen)

mfg
Gerold
Smile

_________________
http://halvar.at | http://sw3.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sam



Anmeldungsdatum: 13.10.2008
Beiträge: 401

BeitragVerfasst am: Mi 11.März 2009 13:31:49    Titel: Bauteile finden Antworten mit Zitat

BellaD hat folgendes geschrieben:
Moin

Du machst es genauso Wink

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/


Vielen Dank für deine Antwort, aber meine Problem ist eben das Englische. Ich weiß z.B. nicht, was jetzt der Unterschied zwischen BYREF und BYVAL ist.

gerold hat folgendes geschrieben:
Sam hat folgendes geschrieben:
Mein Problem ist, dass ich den "Declare Function" Befehl nicht ganz verstehe.

Hallo Sam!

Bringt dich das hier weiter?

http://halvar.at/elektronik/kleiner_bascom_avr_kurs/label_prozeduren_funktionen/ (bitte komplett durchlesen)

mfg
Gerold
Smile

Auch dir vielen Dank, nur hat mich das leider auch nicht weitergebracht, denn auf deine Seite geh ich sofort wenn ich ein Problem habe Wink . Dort ist aber leider auch nicht erklärt wie sich die ganze Sache mit den Funktionen aufbaut.

Es wäre ganz nett, wenn mir jemand einen kurzen Beispielcode schreiben könnte. Einfach aufgebaut und mit Kommentaren. Very Happy

Vielen Dank für eure Antworten.

_________________
„Zwei Dinge sind unendlich, das Universum und
die menschliche Dummheit, aber bei dem
Universum bin ich mir noch nicht ganz sicher.“
Albert Einstein
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
gerold



Anmeldungsdatum: 27.07.2007
Beiträge: 927
Wohnort: Oberhofen im Inntal (Tirol)

BeitragVerfasst am: Mi 11.März 2009 14:13:45    Titel: Bauteile finden Antworten mit Zitat

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. Neutral Der Zusatz "byval" kennzeichnet einen Parameter als "Wertparameter". Das heißt, dass beim Aufruf der Unterprozedur der Wert einer Variable in eine neue Variable (in einen neuen Speicherbereich) kopiert wird. Gibt man "byval" nicht an, dann wird standardmäßig "byref" verwendet. Mit "byref" wird der Wert nicht in einen neuen Speicherbereich kopiert, sondern nur eine Referenz zum Speicherbereich übergeben in dem der Wert liegt. "byval" kapselt die Unterprozedur besser vom Rest des Programmes ab und hilft damit Fehler zu vermeiden. "byref" (der Standard) kapselt den Parameter nicht vom Rest des Programmes ab. Änderungen dieses Parameters (dieser Variable) wirken sich auch außerhalb der Unterprozedur aus. Umgekehrt ist es natürlich genau so. Ein mit "byref" deklarierter Parameter kann sich (z.B. durch einen Interrupt) ändern, wärend die Unterprozedur abgearbeitet wird. Das kann wiederum unerklärliche Fehler hervorrufen. Dafür ist "byref" schneller als "byval", da die Arbeit des Kopierens wegfällt.

So lange du nicht optimieren musst, nimm "byval"!

mfg
Gerold
Smile

_________________
http://halvar.at | http://sw3.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sam



Anmeldungsdatum: 13.10.2008
Beiträge: 401

BeitragVerfasst am: Mi 11.März 2009 18:41:37    Titel: Bauteile finden Antworten mit Zitat

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!!!

_________________
„Zwei Dinge sind unendlich, das Universum und
die menschliche Dummheit, aber bei dem
Universum bin ich mir noch nicht ganz sicher.“
Albert Einstein
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Anzeige






Verfasst am: Heute 10:10:12    Titel: Bauteile finden

Nach oben
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    loetstelle.net Foren-Übersicht -> BASCOM Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen


Powered by phpBB 2.x © 2001, 2002 phpBB Group

Sie sind Besucher Nr. 1222820
©opyright by Markus Vohburger 2005 All Rights reserved