mikrocontroller.net

Forum: Offtopic Unterprogramm & BASCOM


Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe folgendes Problem: Ich will zwei verschieden Unterprograme
mittels call aufrufen.
Im Moment heißt das Programm LCD_text...(dieses ruft dann das
Text-Ausgabe-Programm auf)

Nun will ich aber zwischen kleinen und größeren Buchstaben
unterscheiden(Schriftgrößen)

Eins der Unterprogramme soll nun LCD_textk das andere LCD_textg
heißen.

Ich habe gedacht das ich einfach hinter LCD_text noch eine Variable
setzten kann, die dann entweder den Wert k oder g enthält;
sodass dann entweder lcd_textk oder halt LCD_textg aufgerufen wird

Habt ihr eine Idee wie ich die Vaiable hinter das LCD_text bekomme??
Achso, Programmierspache ist BASCOM

GrußMax

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So geht das nicht.

Aber:

if Schriftgroesse = 1 then
  lcd_textg(bla)
else
  lcd_textk(bla)
end if

Alternativ müsstest Du Funktionspointer verwenden, aber ich bin mir
nicht sicher, ob Bascom sowas unterstützt.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Rufus für die Antwort.

Ich habe mir das fast schon gedacht...(;

Autor: Addy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum so kompliziert, du kannst doch mehrere Variablen der Subroutine
übergeben.

    lcd_text(größe,text)

Ist doch das was du willst, dann musst in der Sub nur noch eine
Fallunterscheidung wie Rufus gezeigt hat machen.

Du kannst dann die Variable "Größe" als Byte definieren und den
Zeichencode für "k oder g" übergeben und auswerten.

    lcd_text("k" , "Ein kleiner Text")

oder mit globaler Variable

    lcd_text(groesse , "Ein Text")

Auswerten tust du in der Sub nur die Zeichenfolge nach dem Motto

    If groesse = "k" goto Weiter_mit_klein
    If groesse = "g" goto Weiter_mit_gross

oder alse Case mit ausschluss von falschen Werten.

Hoffe geholfen zu haben.

greetz
Addy

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.