Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Tastatur Ansteuern Led's Num, Scroll, Caps Lock.

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Exp-Soft



Anmeldungsdatum: 10.09.2004
Beiträge: 79

BeitragVerfasst am: 29.09.2004, 20:41    Titel: Tastatur Ansteuern Led's Num, Scroll, Caps Lock. Antworten mit Zitat

Die Frage ist schon oft gestellt worden, ich hab auch lösungen gelesen, allerdings, nur welche die unter DOS - ME laufen sollen und net auf NT Systemen.

gibt es garkeine möglichkeit per QB auf jedem Win system die LED's an zu sprechen?! bzw, das mein prg die an und ausschallten kann?!

Thx 4 Help schonmal.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
E-P-S



Anmeldungsdatum: 16.09.2004
Beiträge: 500
Wohnort: Neuruppin

BeitragVerfasst am: 29.09.2004, 23:13    Titel: Antworten mit Zitat

Also ich hatte dazu mal ein Beispiel geproggt (ist auch auf meiner Seite)...ob es unter NT auch geht weis ich nicht...mußt du mal testen...hier der Code:

Code:
'============================================================================
' Bitverteilung im Tastaturstatusbyte.
'============================================================================

'---> Bit0 = Rechte Shift (1)
'---> Bit1 = Linke Shift (2)
'---> Bit2 = Strg (4)
'---> Bit3 = Alt (8)
'---> Bit4 = Rollen (16)
'---> Bit5 = Num-Lock (32)
'---> Bit6 = Caps-Lock (64)
'---> Bit7 = Einfügen (128)

DEF SEG = &H40
ORG = PEEK(&H17): '---> Anfangsstatus merken
DEF SEG

'============================================================================
' Beispiel
'============================================================================
CLS
PRINT "Manchmal ist es notwendig, oder wünschenswert, den Status der Tastatur zu"
PRINT "erfahren oder zu ändern. Um dies zu erreichen muß man lediglich das"
PRINT "Tastaturstatusregister, PEEK(&H17) im Segment &H40, abfragen bzw. neu"
PRINT "beschreiben. Wenn Du jetzt auf Deine Tastatur siehst, sollten die LED's"
PRINT "für Num-Lock, Caps-Lock und Rollen blinken. So wie die Lampen blinken, ändert"
PRINT "sich auch deren Status. Anderst läßt sich dieses Beispiel leider nicht erklären."
PRINT "Hier hilft nur ausprobieren.";
COLOR 14: PRINT "Ende mit RETURN."

DEF SEG = &H40

DO
FOR P = 0 TO 80000: NEXT
POKE &H17, 16 + 32 + 64  '---> Hier wird der neue Status gesetzt
A$ = INKEY$              '---> damit er wirksam wird, muá die Tastatur
IF A$ = "" THEN          '---> einmal abgefragt werden.
FOR P = 0 TO 80000: NEXT
POKE &H17, 0
A$ = INKEY$
ELSE
EXIT DO
END IF
LOOP

POKE &H17, ORG AND NOT (15) '---> Anfangswert wiederherstellen
DEF SEG                     '---> aber die Bit's 0-3 ausschalten
A$ = INKEY$

_________________
Man kann sich öfter als zweimal im Leben halb tot lachen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Exp-Soft



Anmeldungsdatum: 10.09.2004
Beiträge: 79

BeitragVerfasst am: 30.09.2004, 04:18    Titel: Antworten mit Zitat

Ne unter Xp funzt das nicht, schade.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
E-P-S



Anmeldungsdatum: 16.09.2004
Beiträge: 500
Wohnort: Neuruppin

BeitragVerfasst am: 30.09.2004, 09:44    Titel: Antworten mit Zitat

tja, ein anderer Weg ist mir leider nicht bekannt.
_________________
Man kann sich öfter als zweimal im Leben halb tot lachen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 30.09.2004, 11:42    Titel: Antworten mit Zitat

In der FutureLibrary sind dafür funktionen drin.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 30.09.2004, 16:01    Titel: FutLib Antworten mit Zitat

Hallo.

Bei mir geht die FutureLIB nicht mal unter XP, geschweige denn von irgendwelchen Hardware-Routinen bzw. SVGA-Routinen.

Du solltest dich mal in einem Forum für Win32 ASM oder C(++) (z.B. www.programmierer-board.de ) informieren, ob vielleicht mit einer "Windows-Programmiersprache" (ja, den Begriff hatten wir neulich schon mal, helium... grinsen ) geht. Ein richtiges Win32-Programm kann nämlich meistens selbst unter NT/2000/XP auf die Hardware zugreifen.

Dieses Windows-Programm könntest du dann einfach aus QB starten.
SHELL "TASTLED.EXE /AN"
SHELL "TASTLED.EXE /AUS" 'oder so... zwinkern

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 30.09.2004, 19:44    Titel: Antworten mit Zitat

Ein Auslesen klappt ansonsten mit INT 16h, Funktion AH=02h ohne Probleme, habe dies beispielsweise in

http://www.dreael.ch/QB/mini_des.zip

verwendet. So kann man dort bei "Wählen" Objekte dazu- und wegwählen sowie ferner mit <Strg> eine Kopie anstelle Verschiebung erstellen (Bedienung an den Zeichnen-Modus von Microsoft Word angelehnt). Gerade vorhin getestet: Funktioniert auch unter voll laufendem Windows XP Professional ohne Fehler.

Leider kann ich jedoch kein CALL INTERRUPT finden, mit welchem man umgekehrt den Status dieser Tasten setzen könnte. Allerdings erlaube ich mir an dieser Stelle doch die Frage in den Raum zu stellen, ob man dies wirklich braucht und nicht der Ansatz schon falsch ist. z.B. auf einem VT220-Terminal, welches an einem UNIX-Rechner hängt, kann ich normalerweise auch nicht die LEDs vom Telnet-Daemon aus ansteuern...
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz