17. marts 2004 - 14:18Der er
11 kommentarer og 1 løsning
Modtage fra fjernbetjening
Hej -
Jeg har et Hauppauge tv-kort i min pc og med dette kort hører en fjernbetjening. Jeg kunne godt tænke mig at lave et program, hvor man kan bruge denne fjernbetjening - så ved nogen, hvordan man 'fanger' signalerne fra denne i Delphi?
Det skulle ikke undre mig, hvis computeren opfatter tryk på fjernbetjeningen som tryk på tastaturet. Lad os prøve at tjekke en gang:
Prøv at lave et nyt Delphi-projekt, og indsæt en TLabel, label1, et synligt sted på formen.
Indsæt dernæst følgende i formens OnKeyDown:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var S: String; begin // Vi sikrer os, at der ikke er nogle tegn i S: S := '';
//Hvis Ctrl-tasten bliver holdt nede, så tilføj den til S: if ssCtrl in Shift then S := 'Ctrl + '; //Hvis Alt-tasten bliver holdt nede, så tilføj den til S: if ssAlt in Shift then S := S + 'Alt + ';
//Hvis Shift-tasten bliver holdt nede, så tilføj den til S: if ssShift in Shift then S := S + 'Shift + ';
// Hvis Key er Ctrl, Alt eller Shift, står det allerede i S: if (Key in [16..18]) then // Sæt Label1's Caption til S minus de sidste 3 tegn der er et '+' med mellemrum på begge sider: Label1.Caption := Copy(S, 1, Length(S) - 3) // Hvis ikke Key er Ctrl, Alt eller Shift: else // Sæt Label1's Caption til S + værdien af Key: Label1.Caption := S + IntToStr(Key); end;
Kør programmet, og prøv at trykke lidt på forskellige taster på fjernbetjeningen. Ændres teksten på Label1?
prøv at gå ind i enhedshåndtering, der må du jo have dit tvkort som en enhed, åben den, se hvilke porto den bruger. Hvis der er nogle kan du måske læse dem direkte derfra.
Inde under enhedshåndtering findes udover selve tv-kortet også en "IR Decoder" til kortet - det må jo være den, der er fjernbetjeningen. Jeg kan ikke se andet, end at den er placeret på PCI-slot 5 (PCI-bus 0, enhed 12, funktion 1)...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.