das ist sicher eine Anfängerfrage doch ich finde kein passendes Beispiel und kein geeignetes Tutorial. Ich weiß auch gar nicht, wonach ich suchen müsste...
Hier die vereinfachte Aufgabenstellung:
- Drei Schieberegler. Die Summe der Regler-Positionen soll addiert werden.
Wenn einer davon verändert wird, soll die Summe neu berechnet werden.
Ich dachte, ich könnte z.B. eine "procedure Summiere" schreiben, die jeweils in den Prozeduren TForm1.Trackbar1.Change, TForm1.Trackbar2.Change, TForm1.Trackbar3.Change aufgerufen wird. Es wäre ja unsinnig den Summen-Programmcode in jeder TrackBarChange-Prozedur zu duplizieren.
Was ist im unteren Code falsch? Wie und wo platziere ich die "procedure Summiere"? Diese Prozedur ist ja nicht direkt mit einem Objekt oder einem Event auf TForm1 verknüpft.
In welchem Tutorial unter welchem Thema werde ich fündig... oder hier vielleicht?
Code: Alles auswählen
unit Summe_unit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Label1: TLabel;
TrackBar1: TTrackBar;
TrackBar2: TTrackBar;
TrackBar3: TTrackBar;
procedure TrackBar1Change(Sender: TObject);
procedure TrackBar2Change(Sender: TObject);
procedure TrackBar3Change(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
Summe: integer;
implementation
procedure Summiere;
begin
Summe := TrackBar1.Position + TrackBar2.Position + TrackBar3.Position;
Label1.Caption := IntToStr(Summe);
end;
{$R *.lfm}
{ TForm1 }
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
Summiere;
end;
procedure TForm1.TrackBar2Change(Sender: TObject);
begin
Summiere;
end;
procedure TForm1.TrackBar3Change(Sender: TObject);
begin
Summiere;
end;
end.