Hi
Ich beschäftige mich gerade etwas näher mit
OOP. Funktioniert auch soweit ganz gut. Jetzt hätte ich gern gewußt, wie man seinem eigenen Objekt Ereignisse spendieren kann.
In der Hilfe stand irgendwas von TNotifyEvent, nur leider ist da bei mir Feierabend.
Nehmen wir einfach mal an, daß ein Ereignis ausgelöst werden soll, wenn der Name der Person geändert wird. Was müßte ich da machen?
Delphi-Quellcode:
unit Unit_Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
TPerson =
class
private
Name:
string;
FirstName:
string;
public
constructor Create();
procedure setName(newName:
string);
procedure setFirstName(newFirstname:
string);
function getName():
string;
function getFirstName():
string;
end;
var
Form1: TForm1;
Person:TPerson;
implementation
{$R *.dfm}
constructor TPerson.Create;
begin
inherited create;
Name:='
';
FirstName:='
';
end;
procedure TPerson.setName(newName:
string);
begin
Name:=newName;
end;
procedure TPerson.setFirstName(newFirstName:
string);
Begin
FirstName:=newFirstName;
End;
function TPerson.getName():
string;
Begin
result:=Name;
end;
function TPerson.getFirstName():
string;
Begin
result:=FirstName;
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
Person:=TPerson.Create;
Person.setName('
Test_Nachname');
Person.setFirstName('
Test_Vorname');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Listbox1.Clear;
Listbox1.Items.add(Person.getName());
Listbox1.Items.add(Person.getFirstName());
end;
end.