Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: RGB Lampe Sound 2 Light Steuerung

  Alt 16. Mai 2009, 12: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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat