AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Delphi lightshow auf der Tastatur :)

lightshow auf der Tastatur :)

Ein Thema von smallsmoker · begonnen am 10. Okt 2008 · letzter Beitrag vom 13. Okt 2008
Antwort Antwort
Seite 3 von 4     123 4   
Benutzerbild von smallsmoker
smallsmoker
Registriert seit: 12. Nov 2007
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
 
Roachford
 
#21
  Alt 12. Okt 2008, 00:01
Es geht auch nicht um einen defekt der LED's, sondern des Tastaturkontrollers. Und dort nicht der 8042 auf dem Mutterbrett, sondern um den am anderen Ende der seriellen Verbindung, in der Tastatur.
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

 
Delphi 2009 Professional
 
#22
  Alt 12. Okt 2008, 00:08
Wobei auch der sich wohl nicht so schnell durch Schaltvorgänge verschleißen lassen wird.
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

 
Delphi 2006 Architect
 
#23
  Alt 12. Okt 2008, 00:31
Was fuer ne Zeitverschwendung sich darueber auszulassen ob die LEDs nun kaputt gehen oder nicht weil einer meint er laesst sie blinken. Sind ganz einfach normale LEDs die eben dafuer da sind an und auszugehen oder dauernd zu brennen oder nie zu brennen.
  Mit Zitat antworten Zitat
hamburcher
 
#24
  Alt 12. Okt 2008, 01:20
Zitat von Mackhack:
Was fuer ne Zeitverschwendung sich darueber auszulassen ob die LEDs nun kaputt gehen oder nicht weil einer meint er laesst sie blinken. Sind ganz einfach normale LEDs die eben dafuer da sind an und auszugehen oder dauernd zu brennen oder nie zu brennen.
Ganz genau!
  Mit Zitat antworten Zitat
Benutzerbild von Mikescher
Mikescher

 
Delphi 2009 Professional
 
#25
  Alt 12. Okt 2008, 08:47
Hi ich hatte grade zu viel Zeit

und hab den Code auch mal in ein Progg eingebaut (ein bisschen verändert);

Fragen dazu kann ich aber jetzt nicht beantworten (erst heute Abend( muss weg ))

Also viel Spaß damit
Angehängte Dateien
Dateityp: exe lightshow_174.exe (488,0 KB, 40x aufgerufen)
Mike
  Mit Zitat antworten Zitat
Roachford
 
#26
  Alt 12. Okt 2008, 11:08
Zitat von Mackhack:
Was fuer ne Zeitverschwendung sich darueber auszulassen ob die LEDs nun kaputt gehen oder nicht weil einer meint er laesst sie blinken. Sind ganz einfach normale LEDs die eben dafuer da sind an und auszugehen oder dauernd zu brennen oder nie zu brennen.
Haste was gegen mich?

Ich habe nichts dazu gesagt, was und ob was kaputt geht. Aber ich wollte die falsche Aussage nicht stehen lassen, dass der Schaden bei der LED entstehen sollte.

Und diese Meinung zu den defekten (nun äussere ich mich dazu) war in den frühen 90'ern gegeben, weil dort manche Hersteller ihre Keyboardcontroller wirklich schlecht dimensioniert hatten und diese mit solchen Aktionen wirklich zerstört werden konnten. Die frühen digital Keyboards genauso wie die Yakumo Tastaturen waren durch hohe Ausfallraten mit solchen Spielereien aufgefallen. Dies war aber auch schnell wieder abgestellt, aber es ist auch keine komplette "Urban Legend".

Und die MTBF ist bei LEDs deutlich höher als die von Schaltkreisen allgemein, vor allem da in der Chipproduktion für solche Bausteine keine grossen Vorkehrungen für lange Lebensdauer getätigt werden, da die Hersteller mit einer deutlich geringeren Benutzungsdauer rechnen.
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

 
Delphi 10.3 Rio
 
#27
  Alt 12. Okt 2008, 12:07
Hallo zusammen,
sorry, ich muss es einfach loswerden:
[OT]
Zitat von Mackhack:
...normale LEDs die eben dafuer da sind an und auszugehen oder dauernd zu brennen oder nie zu brennen.
Aahh, jetzt verstehe ich es auch: wenn LED's brennen , dann geht natürlich auch einiges kaputt.
Gut dass meine LED's bis jetzt nur geleuchtet hatten...
[/OT]
Jürgen
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

 
Delphi 2006 Architect
 
#28
  Alt 12. Okt 2008, 19:12
Zitat von Roachford:
Haste was gegen mich?
Gehts noch?

Zitat von juergen:
Aahh, jetzt verstehe ich es auch: wenn LED's brennen Shocked , dann geht natürlich auch einiges kaputt. Mr. Green
Gut dass meine LED's bis jetzt nur geleuchtet hatten...
Gut dass wir jetzt noch die deutsche Sprache zerpfluecken!
  Mit Zitat antworten Zitat
alzaimar

 
Delphi 2007 Enterprise
 
#29
  Alt 12. Okt 2008, 20:10
Zitat von juergen:
Zitat von Mackhack:
...normale LEDs die eben dafuer da sind an und auszugehen oder dauernd zu brennen oder nie zu brennen.
Aahh, jetzt verstehe ich es auch: wenn LED's brennen , dann geht natürlich auch einiges kaputt.
Gut dass meine LED's bis jetzt nur geleuchtet hatten...
[/OT]
Im Allgemeinen halten wir es in diesem Forum so (generös wie wir sind), das Rechtschreib-, Grammatikfehler und ähnliche Fauxpas demjenigen gehören, der sie findet. Insofern beglückwünsche ich Dich, und ich glaube, ich spreche im Namen aller Anwesenden, zu diesem außerordendlichen Fund!
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

 
Delphi XE2 Professional
 
#30
  Alt 12. Okt 2008, 20:27
Zitat von himitsu:
da gab's hier doch vor langem schonmal sowas, nur ich glaub da wurden die LEDs, bzw. der Treiber irgendwie direkt angesprochen, was (vermutlich) zu Problemen fürhen könne wenn man es lange macht .... oder so
(und war es da nicht so, daß die Tastatureingaben nicht beeinflußt wurden?)
Nicht schlecht! So ein Gedächtnis möchte ich haben.

Die Version ohne Tastureingaben gibts entweder in diesem DP-Thread oder auf unser Website.
Benjamin Schwarze
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.
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