- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 10

Thema: Bascom Datentyp char an Unterfunktion

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.04.2004
    Alter
    37
    Beiträge
    115

    Bascom Datentyp char an Unterfunktion

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,
    ich bin Anfänger in der Bsacom Programmierung.

    Gibt es eine Möglichkeit in Bascom den Datentyp Char an eine Funktion zu übergeben.
    Ich finde nur Nummerische Datentypen.

    Will aber an eine Funktion auch Buchstaben übergeben können.

    - Luke -

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    39
    Beiträge
    647
    Hi,

    guck mal hier: http://avrhelp.mcselec.com/index.htm...e_function.htm

    Da steht eigentlich alles. Nimm entweder ein String oder ein Byte und wende
    Dim K as Byte

    Print Chr(K)
    an. Hier noch der Link dazu http://avrhelp.mcselec.com/chr.htm

    Gruß Daniel
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.04.2004
    Alter
    37
    Beiträge
    115
    Ja das hab ich auch schon gefunden, aber hilft mir leider nicht weiter ich bräuchte so was in der Art:

    Sub Seg_Ausgabe(byval Ziffer As Byte , Byval Zahl As Char)

    Dann könnte ich an diese Funktion auch Zeichen übergeben und könnt dann auch Buchstaben auf der 7 Segmentanzeige ausgeben

    mfg Luke

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Es gibt in Bascom keinen Typ 'char'. Allerdings gibt es den Typ 'string' in variabler Länge.
    Wenn es dir nur um einen einzelnen Character geht, den du übergeben willst, kannst du natürlich Daniels Vorschlag beherzigen und den ASCII Wert des Zeichens übergeben.
    Zwischen einem 'byte' und einem 'char' gibt es eh keinen Unterschied, zumindestens nicht in dieser Umgebung.
    Bascom wendet allerdings unterschiedliche Ausgabefunktionen an, je nachdem, welchen Typ die auszugebene Variable hat.

    Dim Zahl as Byte
    Dim Zeichen as String*1 'Zeichenkette der Länge 1 == Char
    Zahl = 65
    Zeichen = "A"
    Print Zahl '-> Ausgabe 65
    Print Zeichen '-> Ausgabe A
    Print Chr(Zahl) '-> Ausgabe A
    Print Asc(Zeichen) '-> Ausgabe 65

    Zitat Zitat von Luke17 Beitrag anzeigen
    Dann könnte ich an diese Funktion auch Zeichen übergeben und könnt dann auch Buchstaben auf der 7 Segmentanzeige ausgeben
    Wenn du das Zeichen auf der 7-Segment Anzeige ausgeben willst, nutzt dir der String doch eh nicht viel. Interessanter wäre doch sowieso der ASCII Wert, um ihn als Index in eine Tabelle der zugehörigen 7-Segment Darstellung zu verwenden.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.04.2004
    Alter
    37
    Beiträge
    115
    ok danke für die beiden Antworten.
    Hab jetzt eine Lösung ist zwar etwas unschön aber es funktioniert.

    MfG Luke

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    39
    Beiträge
    647
    Dann schreib doch wie du es gelöst hast, evtl. hilft es ja noch jemandem. Selbst wenn man dann nur sieht wie man es lieber nicht macht

    Gruß Daniel
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.04.2004
    Alter
    37
    Beiträge
    115
    ok anbei die unschöne Lösung:

    Hier wird AFFE an ein 4 stelliges 7 Segment Anzeige (RN DIGI) ausgegeben.
    Die Funktion Led_Display bekommt als 1. Übergabeparameter wird das jeweilige Segment ausgewählt (1-4)
    Der 2. Übergabeparameter ist dann das Zeichen das ausgegeben wird

    Code:
    Text = "A"
    Letter = Asc(text)
    Led_display 1 , Letter
    
    Text = "F"
    Letter = Asc(text)
    Led_display 2 , Letter
    
    Text = "F"
    Letter = Asc(text)
    Led_display 3 , Letter
    
    
    Text = "E"
    Letter = Asc(text)
    Led_display 4 , Letter

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.04.2004
    Alter
    37
    Beiträge
    115
    Fällt noch jemand eine bessere Lösung ein.

    Hab diesen unschönen Aufruf öffters in meinem Programm und
    das frisst noch hinzu sehr viel Speicher.

    Bin über jeden verbesserungsvorschlag dankbar!

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    39
    Beiträge
    647
    Da ich nicht weiss wie deine Funktion Led_display aussieht, schiess ich mal ins blaue:

    Code:
    Declare Sub Led_display(s As String)                        'Sub deklarieren
    Dim I As Byte
    Dim Text As String * 4
    
    Text = "Affe"
    
    Do
    
    Call Led_display(text)                                      'Sub aufrufen und den String "Text" mit dem Inhalt "Affe" übergeben
    
    Loop
    
    End
    
    Sub Led_display(s As String)
    Dim S As String * 4
    Dim Ausgabe As String * 1
       For I = 1 To 4
          Ausgabe = Mid(s , I , 1)                              'hier wird der String in einzelne Buchstaben zerlegt
          Print Ausgabe                                         'hier muss dann deine Ausgabegeschichte hin
       Next
    End Sub
    Mit ner Function hab ich es nicht hinbekommen. Deshalb ists bei mir ne Sub geworden.
    Hoffe das hilft dir. Wenn nicht, dann zeig mal deine Led_display funktion. Dann weiss ich genauer, was dein Problem ist.

    Gruß Daniel
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.04.2004
    Alter
    37
    Beiträge
    115
    Danke Daniel für deine Mühe!

    Das sieht doch gut aus, so hab ich mir das vorgestellt. ich werds
    gleich mal ausprobieren.

    -MfG Luke -

Ähnliche Themen

  1. Char + Binärdaten
    Von Tux12Fun im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 29.03.2009, 12:32
  2. Gültigkeit lokaler Variablen bei Rückkehr aus Unterfunktion
    Von Matzenerich im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 03.10.2008, 15:00
  3. ASURO int und char
    Von falkenroby im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 15.03.2007, 22:15
  4. Float in Char?
    Von Henry im Forum C - Programmierung (GCC u.a.)
    Antworten: 10
    Letzter Beitrag: 29.05.2006, 14:08
  5. Zusammensetzen von Bytes zu einem Single-Datentyp
    Von Alf_Wuffi im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 23
    Letzter Beitrag: 29.12.2005, 10:01

Berechtigungen

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

12V Akku bauen