PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sub als $include (Übersicht/Programmierstil)



Marten83
11.11.2007, 16:13
Guten Abend!

Ich möchte folgendes machen:

1. Mein Programmierstil soll sich verbessern
2. Die Übersichtlichkeit soll verbessert werden
3. Ich möchte Routinen für verschiedene Sensoren einfach per $include einbinden und per Befehl ausführen lassen.

Folgendes habe ich (nur kurz) versucht:

Hauptprogramm:

$regfile = "m32def.dat"

$crystal = 8000000

$lib "glcdKS108.lbx"

$include "font8x8.font"
$include "test.bas"

Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 2 , Ce2 = 3 , Cd = 4 , Rd = 5 , Enable = 6 , Reset = 7


Setfont Font8x8
Cls


Portd.7 = 1
Do


Lcdat 1 , 1 , "Hallo"
Wait 1
Test
wait 1




Loop

End

Include:

$nocompile
Declare Sub Test

Sub Test

Cls

End Sub

Eigentlich doch ziemlich simpel, oder?
Ich dachte ich könnte keinen Fehler machen und wollte mich langsam vorarbeiten. Leider kommen beim compilieren Fehlermeldungen:
Unknown Statement [TEST]

Warum?
Kann mir jemand helfen und mal ein Beispiel posten wie man sowas geschickt und möglichst einfach macht?

Vielen Dank

Marten83

PicNick
11.11.2007, 17:01
Geht nicht anders, du mußt 2 Includes machen:
einen mit "declare sub"
und einen mit dem Sub selbst, das aber dann NACH der "End" Anweisung
Beispiel:


$regfile = "m32def.dat"
$crystal = 8000000
$lib "glcdKS108.lbx"
$include "font8x8.font"

$include "testdefinition.bas" ' da steht nur "Declare... " drinnen

Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 2 , Ce2 = 3 , Cd = 4 , Rd = 5 , Enable = 6 , Reset = 7


Setfont Font8x8
Cls


Portd.7 = 1
Do


Lcdat 1 , 1 , "Hallo"
Wait 1
Test
wait 1
Loop
End
$include "testcode.bas" ' da steht die eigentliche "Sub " drinnen



"$nocompile" brauchst du nicht, bzw. geht auch nicht

Liegt daran, dass Bascom die "include" Daten genau dort reinnagelt, wo "include" steht. Und Subroutinen können eben nicht vorne stehen.

Marten83
11.11.2007, 17:19
Werde ich gleich mal ausprobieren!

Vielen Dank

roboterheld
11.11.2007, 18:26
......1. Mein Programmierstil soll sich verbessern....
......2. Die Übersichtlichkeit soll verbessert werden .......

da musst du noch hart dran arbeiten.
soviel caos habe ich in so wenigen zeilen noch nicht gesehen.
hast du vorher noch kein basic/c/pascal usw geproggt am homeconputer oder hast du nur spielconsolen.

Marten83
12.11.2007, 06:49
Na vielen Dank für die freundliche Antwort.....
Das da habe ich eigentlich nur mal eben so dahingeklatscht.
Sollte ja auch nur mein Problem schildern.
Demnächst werde ich dann nur eingerückte, aufgeräumte und ausführlichst kommentierte Codes posten.

MfG Marten83