unit Panel1;
interface
uses
SysUtils, Classes, Controls, ExtCtrls, StdCtrls, Graphics, IniFiles;
type
TLabeledPanel =
class(TPanel)
private
FLabelDatum: TLabel;
FLabelKurzbeschreibung: TLabel;
FLabelKategorie: TLabel;
FLabelBetrag: TLabel;
FLabelESign: TLabel;
FImage: TImage;
{ Private-Deklarationen }
protected
{ Protected-Deklarationen }
public
constructor Create(AOwner: TComponent);
override;
destructor Destroy;
override;
procedure Fuellen(ID:
string);
{ Public-Deklarationen }
published
{ Published-Deklarationen }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('
Samples', [TLabeledPanel]);
end;
constructor TLabeledPanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
//alle Labels erstellen und Eigenschaften der Labels einstellen
FLabelDatum:=TLabel.Create(Self);
FLabelDatum.Parent:=Self;
FLabelDatum.Width:=56;
FLabelDatum.Left:=128;
FLabelDatum.Top:=5;
FLabelDatum.Caption:='
';
FLabelKurzbeschreibung:=TLabel.Create(Self);
FLabelKurzbeschreibung.Parent:=Self;
FLabelKurzbeschreibung.Width:=180;
FLabelKurzbeschreibung.Top:=24;
FLabelKurzbeschreibung.Left:=4;
FLabelKurzbeschreibung.Caption:='
';
FLabelKategorie:=TLabel.Create(Self);
FLabelKategorie.Parent:=Self;
FLabelKategorie.Width:=180;
FLabelKategorie.Top:=43;
FLabelKategorie.Left:=4;
FLabelKategorie.Caption:='
';
FLabelBetrag:=TLabel.Create(Self);
FLabelBetrag.Parent:=Self;
FLabelBetrag.Width:=60;
FLabelBetrag.Top:=62;
FLabelBetrag.Left:=124;
FLabelBetrag.Caption:='
';
FLabelESign:=TLabel.Create(Self);
FLabelESign.Parent:=Self;
FLabelESign.Top:=62;
FLabelESign.Left:=186;
FImage:=TImage.Create(Self);
FImage.Parent:=Self;
FImage.Left:=5;
FImage.Top:=62;
end;
destructor TLabeledPanel.Destroy;
begin
//alle Labels wieder freigeben
FLabelDatum.Free;
FLabelKurzbeschreibung.Free;
FLabelKategorie.Free;
FLabelBetrag.Free;
FImage.Free;
inherited Destroy;
end;
procedure TLabeledPanel.Fuellen(ID:
String);
var ini: TIniFile;
begin
ini:=TIniFile.Create(ExtractFilePath(ParamStr(0)) + '
kontoinfo.ini');
(*Die Labels befüllen; Werte werden aus der Ini 'kontoinfo.ini' mittels dem übergebenen
Wert in 'ID'*)
try
FLabelDatum.Caption:=DateToStr(ini.ReadDate('
ID',ID,0));
FLabelKurzbeschreibung.Caption:=ini.ReadString('
Kurzbeschreibung',ID,'
0');
FLabelKategorie.Caption:=ini.ReadString('
Kategorie',ID,'
0');
Str(ini.ReadFloat('
Betrag',ID,0):9:2,FLabelBetrag.Caption);
if ini.ReadInteger('
Art',ID,-1) = 0
then
TLabeledPanel.Brush.Color:=cllime
else
TLabeledPanel.Brush.Color:=clred
finally
ini.Free;
end;
end;
end.