Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: RGB Lampe Sound 2 Light Steuerung

  Alt 16. Mai 2009, 13:55
Color_G_old und Co. mußt du natürlich extern haben, da diese ja die Funktion, bis zum nächsten Aufruf, überleben sollen
Also am Besten wohl im Private-Abschnitt deiner Form.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
    Color_R_old, Color_G_old, Color_B_old: Integer;
  public
    { Public-Deklarationen }
  end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  Color_R, Color_G, Color_B, level: integer;
begin
  level := BASS_ChannelGetLevel(RecChannel);

  if CheckBox1.Checked then begin
    Color_R := (round(HIWORD(level) / 255) + TrackBar1.Position);
    Color_R := Color_R * 10 div 100 + Color_R_old * 90 div 100;
    Color_R_old := Color_R;
  end else Color_R := 0;

  if CheckBox1.Checked then begin
    Color_G := (round(HIWORD(level) / 255) + TrackBar1.Position);
    Color_G := Color_G * 10 div 100 + Color_G_old * 90 div 100;
    Color_G_old := Color_G;
  end else Color_G := 0;

  if CheckBox1.Checked then begin
    Color_B := (round(HIWORD(level) / 255) + TrackBar1.Position);
    Color_B := Color_B * 10 div 100 + Color_B_old * 90 div 100;
    Color_B_old := Color_B;
  end else Color_B := 0;

  JvColorTrackBar4.Position := Color_R;
  JvColorTrackBar5.Position := Color_G;
  JvColorTrackBar6.Position := Color_B;
  JvPanel3.Color := RGB(Color_R, Color_G, Color_B);

  SendRGB(Color_R, Color_G, Color_B);
end;
Aber mal 'ne Frage, kann es sein, daß die Berechnungen für R, G und B gleich sind?
Und wenn ja, warum dann 3-Mal berechnen und nicht nur einmal?


PS: prüfe niemals auf TRUE ... gibt aber schon genügend Threads, welche das WARUM erklären
$2B or not $2B
  Mit Zitat antworten Zitat