Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#17

AW: Kleines rechnen problem

  Alt 5. Mai 2011, 00:17
Bei hundert?
Für welchen Regler gilt das, Masterregler oder für alle?

Falls es für alle ist - heißt das, dass kein Regler mehr inkrementiert werden darf, wenn schon eines 100 erreicht hat?
Falls das so ist, müsste da eig. nur eine kleine Abfrage und zwar, ob alle Regler < 100 und > 0 sind.

Pass mal im Sourceode folgendes an:

Delphi-Quellcode:
procedure TForm1.MasterChange(Sender: TObject);
var
  Difference: Integer;
  i: Integer;
  t: TTrackbar;
begin
  Difference := Master.Position - oldMasterPosition;
  oldMasterPosition := Master.Position;

  for i := 1 to 5 do
  begin
    t := FindComponent('Trackbar' + IntToStr(i)) as TTrackbar;
    if Sign(Difference) = 1 then
    begin
      if t.Position = 100 then
        Abort;
    end else
      if t.Position = 0 then
        Abort;
  end;

  // alle 5 trackbars durchgehen und den neuen wert anwenden
  for i := 1 to 5 do
  begin
    t := FindComponent('Trackbar' + IntToStr(i)) as TTrackbar;
    t.Position := Max(Min(t.Position + Difference, 100), 0);
  end;
end;
Dürfte dann so aussehen...
Angehängte Dateien
Dateityp: zip blub.zip (203,2 KB, 1x aufgerufen)
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton ( 5. Mai 2011 um 00:22 Uhr)
  Mit Zitat antworten Zitat