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

Thema: C-Problem - Variable / Pointer als Out-Parameter einer Methode

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    Im objektorientierten C++ wäre ein Lösungsansatz die Definition eines Images (hier als Struktur).
    Danach muss dem display-Objekt noch beigebracht werden, wie Images gezeichnet werden:

    Code:
    // Definition eines Images
    struct Image {
        const int16_t width, height;
        const char* text;
        const uint16_t* data;
    };
    
    // Klasse MyTFT erweitert Adafruit_ILI9341 um Methode drawImage
    class MyTFT : public Adafruit_ILI9341 {
    public:
      void drawImage(int16_t x, int16_t y, Image i) {
        this->drawRGBBitmap(x, y, i.data, i.height, i.width);
      }
    };
    
    // Bitmaps im Flash
    uint16_t wolke_bitmap[] PROGMEM = {
    0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0841
    };
    uint16_t sonne_bitmap[] PROGMEM = {
    0x0861, 0x1082, 0x10a2, 0x18c3, 0x18e3, 0x2104, 0x2124
    };
    
    // Images erstellen
    const Image wolke = { 20, 25, "Wolke", wolke_bitmap };
    const Image sonne = { 68,  2, "Sonne", sonne_bitmap };
    
    // display-Objekt, dass mit Images umgehen kann, erstellen
    MyTFT display = MyTFT(TFT_CS, TFT_DC, TFT_RST); // Hier Pins eintragen
    
    //...
    
    void loop(){
    //...
        display.drawImage(10, 10, sonne);
    }

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    02.05.2007
    Beiträge
    24
    @Moppi: ja, ich bin beruflich Softwareentwickler und arbeite den ganzen Tag objektorientiert Deshalb meine falschen Bezeichnungen. Ich meine natürlich Funktion und nicht Methode

    @Sisor: Besten Dank für dein Beispiel. Das ist glaube ich so ungefähr das, wie ich es mir vorstelle. Ich werde es zu Hause testen.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    02.05.2007
    Beiträge
    24
    Vielen Dank euch allen für die Hilfe.

    Mit Sisor's Vorschlag funktioniert es bestens.

    Gruess
    Chruttli

Ähnliche Themen

  1. pthread-Task als Methode einer C++ Klasse?
    Von HaWe im Forum Raspberry Pi
    Antworten: 44
    Letzter Beitrag: 29.09.2016, 19:37
  2. Pointer als Parameter und Rückgabewert
    Von Bumbum im Forum C - Programmierung (GCC u.a.)
    Antworten: 11
    Letzter Beitrag: 02.12.2012, 14:11
  3. ATTiny25 _delay_ms mit Variable als Parameter
    Von Bumbum im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 19.07.2012, 22:37
  4. Variable als Parameter oder Return-Value
    Von Jaecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 31.01.2011, 13:33
  5. setzen einer Variable nach ablauf einer bestimmten Zeit
    Von mat-sche im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 07.12.2008, 23:45

Stichworte

Berechtigungen

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

Labornetzteil AliExpress