Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte » 

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Delphi lightshow auf der Tastatur :) (https://www.delphipraxis.net/122173-lightshow-auf-der-tastatur.html)

smallsmoker 10. Okt 2008 19:15


lightshow auf der Tastatur :)
 
Hi ich habe mir eine prozedure gebastelt die eine kleine lightshow auf den Leds auf der Tastatur veranstaltet:

Delphi-Quellcode:
procedure lightshow();

  procedure dokeybdInput(vkcode: integer);
  begin
    keybd_event(vkcode,KEYEVENTF_EXTENDEDKEY or 0,0,0);
    keybd_event(vkcode,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
  end;

  procedure mylightshow();
  var
    i: integer;
  begin
    for I := 0 to 3 - 1 do
    begin
      dokeybdInput(VK_NUMLOCK);
      dokeybdInput(VK_CAPITAL);
      dokeybdInput(VK_SCROLL);
      sleep(200);
      dokeybdInput(VK_NUMLOCK);
      dokeybdInput(VK_CAPITAL);
      dokeybdInput(VK_SCROLL);
      sleep(200);
    end;

    for I := 0 to 3 - 1 do
    begin
      dokeybdInput(VK_NUMLOCK);
      sleep(125);
      dokeybdInput(VK_NUMLOCK);
      sleep(125);
      dokeybdInput(VK_CAPITAL);
      sleep(125);
      dokeybdInput(VK_CAPITAL);
      sleep(125);
      dokeybdInput(VK_SCROLL);
      sleep(125);
      dokeybdInput(VK_SCROLL);
      sleep(125);
    end;

    for I := 0 to 3 - 1 do
    begin
      dokeybdInput(VK_NUMLOCK);
      sleep(125);
      dokeybdInput(VK_NUMLOCK);
      sleep(125);
      dokeybdInput(VK_CAPITAL);
      sleep(125);
      dokeybdInput(VK_CAPITAL);
      sleep(125);
      dokeybdInput(VK_SCROLL);
      sleep(125);
      dokeybdInput(VK_SCROLL);
      sleep(125);
      dokeybdInput(VK_CAPITAL);
      sleep(125);
      dokeybdInput(VK_CAPITAL);
      sleep(125);
    end;
  end;

var
  KeyState: TKeyboardState;
  isNum, isCAP, isScroll: boolean;
begin
  isNum := false;
  isCAP := false;
  isScroll := false;

  GetKeyboardState(KeyState);

  if not (KeyState[VK_NUMLOCK] = 0) then
  begin
    isNum := true;
    dokeybdInput(VK_NUMLOCK);
  end;

  if not (KeyState[VK_CAPITAL] = 0) then
  begin
    isCAP := true;
    dokeybdInput(VK_CAPITAL);
  end;

  if not (KeyState[VK_SCROLL] = 0) then
  begin

    isScroll := true;
    dokeybdInput(VK_SCROLL);
  end;

  mylightshow();

  if isNum then
    dokeybdInput(VK_NUMLOCK);

  if isCAP then
    dokeybdInput(VK_CAPITAL);

  if isScroll then
    dokeybdInput(VK_SCROLL);
end;
erst werden alle leds ausgeschaltet dann kommt die lightshow.
Nach dem abspielen werden die alten zustände von num etc wiederhergestellt :)

ich wollte euch nach weiteren netten (amüsanten) "kompositionen" fragen, vieleicht fällt jemanden ja was ein :)

ich glaube nicht das das stoff für die codelib ist oder ? wenn doch dann kann den thread ja ein mod verschieben. (danke im voraus)

mfg smallsmoker

edit: licht- und ligth- in lightshow verbessert

Mackhack 10. Okt 2008 19:26

Re: lichtshow auf der Tastatur :)
 
LightShow;

Find ich lustig :)

hathor 10. Okt 2008 19:40

Re: lichtshow auf der Tastatur :)
 
for I := 0 to 3 - 1 do ...

Was ist das denn???

3_of_8 10. Okt 2008 19:44

Re: lichtshow auf der Tastatur :)
 
Die LEDs der Tastatur sind _NICHT_ als Lichtorgel konzipiert. Ich würde solche Spielereien nicht auf Dauer machen, wenn sie dir lieb sind.

Win32.API 10. Okt 2008 19:54

Re: lichtshow auf der Tastatur :)
 
Zitat:

Zitat von 3_of_8
Die LEDs der Tastatur sind _NICHT_ als Lichtorgel konzipiert. Ich würde solche Spielereien nicht auf Dauer machen, wenn sie dir lieb sind.

Was unterscheidet die LEDs an meiner Tastatur von denen, die an meinem CD-ROM Laufwerk blinken?

SirThornberry 10. Okt 2008 19:57

Re: lichtshow auf der Tastatur :)
 
tolle idee nur hat meine Tastatur keine leds :-(

mschaefer 10. Okt 2008 19:58

Re: lichtshow auf der Tastatur :)
 
Na das ist wohl kein Problem, da nur die Tastendcodes gesendet werden. LED´s sind nicht empfindlich.

PS:
Kann mir sowas gut vorstellen bei Programmen die länger rechnen. Wenn der Bildschirmschoner zuschlägt können die LED´s noch diverse Stadien signalisieren.

Grüße // Martin

smallsmoker 10. Okt 2008 20:02

Re: lichtshow auf der Tastatur :)
 
Zitat:

Die LEDs der Tastatur sind _NICHT_ als Lichtorgel konzipiert. Ich würde solche Spielereien nicht auf Dauer machen, wenn sie dir lieb sind.
du zitierst da ziemlich genau den delphi-treff :)

Zitat:

Da die LEDs nicht als Lichtorgel ausgelegt wurden, sollten man deren Status nicht zu häufig ändern, da es sonst zu Beschädigungen an der Tastatur kommen kann.
ich denke das können die modernen keyboards aber ab :)

edit:
Zitat:

tolle idee nur hat meine Tastatur keine leds
schade :cry:

edit2:
Zitat:

for I := 0 to 3 - 1 do ...
wieso nich :D

Valle 10. Okt 2008 21:23

Re: lichtshow auf der Tastatur :)
 
Hat da jemand 'ne Binary zu?
Ich habe kein Delphi mehr...

Danke! :thumb:

Mit freundlichen Grüßen,

Valle

Mackhack 10. Okt 2008 21:39

Re: lichtshow auf der Tastatur :)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Anbei angehaengt als rar...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr.
Seite 1 von 4  1 23     Letzte » 

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf