15-01-2009, 12:30 AM
بارك الله فيك أخونا عبد العزيز على التوجيه وجزاك الله خيرا.
المثال الذي أعطيتني لم يكن بالضبط ما كنت أبحث عنه.
وقد وجدته الآن.
المكون TListBox يمكنه تخزين قيمة نصية (String) تقابلها قيمة من النوع TObject.
حتى الآن استعملتها مع نص String وقائمة من النصوص TStringList كنوع TObject.
واستعملتها مع نص ومؤشر على تسجيل Pointer of record، وهذا الأهم.
وإليكم كود الطريقتين:
الأولى:
الثانية:
وفي ملف المسا عدة (Help) للدلفي مثال عن استعمالها مع TControl أيضا.
شكرا كثيرا على التوجيه.
المثال الذي أعطيتني لم يكن بالضبط ما كنت أبحث عنه.
وقد وجدته الآن.
المكون TListBox يمكنه تخزين قيمة نصية (String) تقابلها قيمة من النوع TObject.
حتى الآن استعملتها مع نص String وقائمة من النصوص TStringList كنوع TObject.
واستعملتها مع نص ومؤشر على تسجيل Pointer of record، وهذا الأهم.
وإليكم كود الطريقتين:
الأولى:
PHP كود :
var
Form1: TForm1;
NotesFile: TStringList;
implementation
{$R *.dfm}
procedure TForm1.ListBox1Click(Sender: TObject);
begin
Memo1.Lines := TStrings(ListBox1.Items.Objects[ListBox1.ItemIndex]);
Edit1.Text := ListBox1.Items[ListBox1.ItemIndex];
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
NotesFile.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
NotesFile := TStringList.Create;
NotesFile.Text := Memo1.Text;
ListBox1.Items.AddObject(Edit1.Text, NotesFile);
end;
PHP كود :
PMyRec = ^TMyRec;
TMyRec = record
EdTitre: String;
MemTexte: String;
end;
var
Form1: TForm1;
EcriRec: PMyRec;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
New(EcriRec);
EcriRec.EdTitre := Edit1.Text;
EcriRec.MemTexte := Memo1.Text;
ListBox1.AddItem(Edit1.Text, pointer(EcriRec));
end;
procedure TForm1.ListBox1Click(Sender: TObject);
var LirRec: TMyRec;
begin
LirRec := pMyRec(ListBox1.Items.Objects[ListBox1.itemindex])^;
Edit1.Text := LirRec.EdTitre;
Memo1.Text := LirRec.MemTexte;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if EcriRec <> nil then
Dispose(EcriRec);
end;
شكرا كثيرا على التوجيه.

