- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 5 von 5

Thema: Sub als $include (Übersicht/Programmierstil)

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.04.2005
    Ort
    Hannover
    Beiträge
    190

    Sub als $include (Übersicht/Programmierstil)

    Anzeige

    E-Bike
    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:
    Code:
    $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:
    Code:
    $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

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    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:
    Code:
    $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.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.04.2005
    Ort
    Hannover
    Beiträge
    190
    Werde ich gleich mal ausprobieren!

    Vielen Dank

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    ......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.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.04.2005
    Ort
    Hannover
    Beiträge
    190
    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

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress