- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 6 von 6

Thema: Frage zum Thema Arrays in Bascom

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Danke euch beiden erstmal für die Hinweise!

    Zitat Zitat von MagicWSmoke Beitrag anzeigen
    Hatte ich mal zur Demonstration geschrieben:
    Code:
    $Regfile = "m32def.dat"
    $Crystal = 8000000
    $hwstack = 32
    $swstack = 8
    $framesize = 24
    
    Const ArSz = 5
    Dim Ar(ArSz) As Byte
    Dim Sz As Byte
    Dim Rslt As Word
    
    Declare Function Addall(ArToAdd As Byte , ByVal ArSize As Byte) As Word
    
    Ar(1) = 10
    Ar(2) = 25
    Ar(3) = 9
    Ar(4) = 21
    Ar(5) = 66
    
    Rslt = Addall(Ar(1) , ArSz)
      Print Rslt
    
    End
    
    Function Addall(ArToAdd As Byte , ByVal ArSize As Byte) As Word
    Local idx As Byte
    Local rt As Word
      rt = 0
        For idx = 1 to ArSz
          rt = rt + ArToAdd(idx)
        Next
      Addall = rt
    End Function
    Du darfst nicht byval übergeben, sondern byref, das ist Standard und muss nicht extra dazu geschrieben werden.
    Byref ist einen Zeiger und für den Zugriff auf's ganze Array muss der auf das erste Arrayelement zeigen, deswegen Addall(Ar(1) , ArSz).
    Eine implizite Übergabe per byval is soweit ich weiß nicht vorgesehen, so wie Dein Code aussieht auch nicht nötig. Du kannst ohne Weiteres mit dem Originalarray arbeiten, solange es durch die aufgerufene Routine nicht ungewollt verändert wird.
    Danke der Tipp mit Byref war die Lösung.
    Nachdem ich das Byval durch Byref ersetzt habe klappt es. Genau so eine Zeigeroperation habe ich gesucht. Wusste nur nicht wo ich die finde
    Vielen Dank nochmals an euch!
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Zitat Zitat von Kampi Beitrag anzeigen
    Genau so eine Zeigeroperation habe ich gesucht. Wusste nur nicht wo ich die finde
    Die hattest Du schon immer
    Denn meistens wirst Du in Deinen Subs nicht mit byval übergeben haben und dann waren's per Default immer Zeiger.

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Zitat Zitat von MagicWSmoke Beitrag anzeigen
    Die hattest Du schon immer
    Denn meistens wirst Du in Deinen Subs nicht mit byval übergeben haben und dann waren's per Default immer Zeiger.
    Da hast du schon recht
    Nur ich habe da nicht drauf geachtet
    Ich stell das Thema damit mal auf erledigt
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

Ähnliche Themen

  1. Grundsatzfrage zu Arrays in Bascom
    Von stefan_Z im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 22.09.2009, 00:28
  2. Allgemeine Frage zum Thema Servosteuerung
    Von XBert im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 8
    Letzter Beitrag: 27.06.2008, 14:43
  3. Hardware Frage zum Thema ISP
    Von humus im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 05.01.2008, 20:18
  4. Bascom Simulator: Wie ganze Arrays anzeigen lassen?
    Von Murus im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 28.04.2006, 18:42
  5. [ERLEDIGT] Arrays oder variable Anzahl von Argumenten in Bascom
    Von im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 14.07.2004, 11:32

Berechtigungen

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

Labornetzteil AliExpress