LUI-LCD-Ansteuerung

Für allgemeine Fragen zur Programmierung mit PureBasic.
MCWulf
Beiträge: 23
Registriert: 21.03.2005 23:26
Kontaktdaten:

LUI-LCD-Ansteuerung

Beitrag von MCWulf »

Hallo!

Ich hab mir ein sed 133x lcd display gekauft und versuche gerade ein steuerungsprogramm dazu zu schreiben.

Dokumentation und DLL gibts hier: http://www.wallbraun-electronics.de/dow ... Ise104.zip

Bis jetzt hab ich folgenden Code:

Code: Alles auswählen

If OpenLibrary(0, "LUIse.dll")
  If CallFunction(0,"LUI_OpenDevice",0)
    If CallFunction(0,"LUI_LCDMode",0,2,1,0,2)
      Repeat
        ExamineKeyboard()
        CallFunction(0,"LUI_Text",10,15,50,25,"Arial",1,1,"Hallo World!")
        If KeyboardPushed(#PB_Key_Escape) 
          Break
        EndIf 
      ForEver 
    Else
      MessageRequester("Fehler","Mode konnte nicht erfolgreich eingestellt werden!")
    EndIf
  Else
    MessageRequester("Fehler","Device konnte nicht erfolgreich geöffnet werden! Fehler: "+Str(CallFunction(0,"LUI_OpenDevice",0)))
  EndIf
  CallFunction(0,"LUI_CloseDevice",0)
Else 
  MessageRequester("Fehler","DLL konnte nicht erfolgreich eingebunden werden!")
EndIf

End
Is vielleicht n bisschen unordentlich oder buggy, aber ich hab auch schon ewigkeiten nimma mit PB geproggt.

Er bringt mir dauernd den Fehler, dass das Device nicht geöffnet werden konnte.

Woran kann das liegen?

Was mache ich falsch?

Hoffe ihr könnt mir helfen!

Danke!! ;)
ORANGE
Beiträge: 19
Registriert: 29.12.2004 21:03

Beitrag von ORANGE »

Die Funktionen geben Null zurück wenn alles in Ordnung ist.
So sollte es funktionieren:

Code: Alles auswählen

If OpenLibrary(0, "LUIse.dll") 
  If CallFunction(0,"LUI_OpenDevice",0) 
        MessageRequester("Fehler","Device konnte nicht erfolgreich geöffnet werden! Fehler: "+Str(CallFunction(0,"LUI_OpenDevice",0))) 
   else
   If CallFunction(0,"LUI_LCDMode",0,2,1,0,2) 
      Repeat 
        ExamineKeyboard() 
        CallFunction(0,"LUI_Text",10,15,50,25,"Arial",1,1,"Hallo World!") 
        If KeyboardPushed(#PB_Key_Escape) 
          Break 
        EndIf 
      ForEver 
    Else 
      MessageRequester("Fehler","Mode konnte nicht erfolgreich eingestellt werden!") 
    EndIf 
  EndIf 
  CallFunction(0,"LUI_CloseDevice",0) 
Else 
  MessageRequester("Fehler","DLL konnte nicht erfolgreich eingebunden werden!") 
EndIf 

End 
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

@MCWulf:
Wieso benutzt du da DirectX um die Tastatur abzufragen? Das ist doch unnötig.
MCWulf
Beiträge: 23
Registriert: 21.03.2005 23:26
Kontaktdaten:

Beitrag von MCWulf »

wie gesagt hab schon lange nimma mit pb programmiert :roll:
MCWulf
Beiträge: 23
Registriert: 21.03.2005 23:26
Kontaktdaten:

Beitrag von MCWulf »

ok, jetzt funktioniert es schonmal halbwegs, blos das programm beendet sofort wieder. was kann ich dagegen tun?
MCWulf
Beiträge: 23
Registriert: 21.03.2005 23:26
Kontaktdaten:

Beitrag von MCWulf »

Ich hab schonmal ein PureBasic Programm gesehen, das aufs LCD zugreift. Vielleicht liest ja derjenige das. Wäre sehr freundlich ^^
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Hier ohne den DirectX kram(konnte es net testen hab hier kein Display):

Code: Alles auswählen

If OpenLibrary(0, "LUIse.dll") 
  If CallFunction(0,"LUI_OpenDevice",0) 
        MessageRequester("Fehler","Device konnte nicht erfolgreich geöffnet werden! Fehler: "+Str(CallFunction(0,"LUI_OpenDevice",0))) 
   Else 
   If CallFunction(0,"LUI_LCDMode",0,2,1,0,2) 
      Repeat 
        CallFunction(0,"LUI_Text",10,15,50,25,"Arial",1,1,Stringx$) 
        Stringx$=InputRequester("Display Setter","Bitte geben sie den Text ein.","Hello World!")
      ForEver 
    Else 
      MessageRequester("Fehler","Mode konnte nicht erfolgreich eingestellt werden!") 
    EndIf 
  EndIf 
  CallFunction(0,"LUI_CloseDevice",0) 
Else 
  MessageRequester("Fehler","DLL konnte nicht erfolgreich eingebunden werden!") 
EndIf 
End

Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
Antworten