Bu kodla bir Tobject nesnesinin bir prosedüre değişken olarak geçirilmesini de görebilirsiniz. Umarım faydalı olur.
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
Tbenimobjem = class(TObject)
public
InputName : string;
Value : double;
constructor Create;
end;
type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
procedure goster(objem:Tbenimobjem);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to listbox1.Items.Count-1 do
goster(listbox1.Items.Objects[i] as Tbenimobjem);
end;
procedure tform1.goster(objem:Tbenimobjem);
var
s:string;
d:double;
begin
with objem do begin
s:=inputname;
d:=value;
end;
showmessage(s+' Value='+floattostr(d));
end;
constructor Tbenimobjem.Create;
begin
inherited Create;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
nv:tbenimobjem;
begin
listbox1.Clear;
nv := Tbenimobjem.Create;
nv.InputName :='birinci';
nv.Value:=123234;
listbox1.Items.AddObject(nv.InputName,nv);
nv := Tbenimobjem.Create;
nv.InputName :='ikinci';
nv.Value:=222222;
listbox1.Items.AddObject(nv.InputName,nv);
nv := Tbenimobjem.Create;
nv.InputName :='ucuncu';
nv.Value:=333333;
listbox1.Items.AddObject(nv.InputName,nv);
end;
end.