السلام عليكم
PHP كود :
var
NewLabel: TLabel;
begin
NewLabel := TLabel.Create(self);
NewLabel.Parent := self;
NewLabel.Top := 20; /
NewLabel.Left :=20 * 20;
NewLabel.Caption := تختار اسم الCaption
end;
end;
هذا الكود يقوم بإضافة "label"
وعند غلق البرنامج و إعادة فتحه من جديد نجد ان هذا العنصر غير موجود فما هي الطريقة لبقاء هذا العنصر
لقد وجدت طريقة في وضع هذا العنصر في قاعدة البيانات و عند إعادة فتح البرنامج يقوم بسحب البيانات و إضافة العناصر المسجلة في القاعدة فهل هذه الطريقة ممكنة ؟
وإن كانت هذه الطريقة ممكنة فكيف استطيع برمجتها ؟
وشكرا.
عندي bouton يقوم بإضافة label و لكن عند إعادة فتح البرنامج لا لإجد هذا العنصر فكيف تتم المحافضة عليه
الأخ hammadifathi ممكن نعرف ما الذي تريد برمجته؟
المشروع هو عبارة عن برنامج تحاور مع أصدقاء اي عندما أقوم بإضافة صديق يتم تسجيله في قاعدة البيانات ويتم إضافة label إلى الفروم عليها إسم الصديق بشكل نهائي
يعني عند غلق البرنامج و إعادة فتحه لا يكون العنصر الذي تمت إضافته قد إختفى
إقتباس :ويتم إضافة [COLOR="Red"]label
إلى الفروم عليها إسم الصديق
Label! لماذا اخترت Label ؟
قائمة الأصدقاء مخزنة في قاعدة البيانات، ومكونات عرض قواعد البيانات تفي بالغرض (DBGrid، DBListBox، DBComboBox...)[/COLOR]
إضافة label إلى الفروم لأنه فيما بعد عندما يكون ذلك الصديق متصل يتغير لون العنصر كما هو موجود مثلا في البرنامج الشهير skype
[COLOR="Purple"]سؤالك نوعا ً ما غريب :laugh:
لكن سأحاول مساعدتك و ليس المسـاعدة في طريقة افضل (لأنك اردت ذلك).
اولا ً : انشيئ الـ Label بواسطة الكود الذي لديك ( اضف عليه اللمسات السحرية

)
ثانيا ً: عند القيام بحفضه, كتبت لك اجرائين على السريع

قم بأستعماله ِ للتسهيل فقط, يقتصر عمله فقط على حفض المكونات بجنب الملف النتفيذي
ثالثا ً: عند تشغيل البرنامج يقوم بأستدعام الملف المكون الذي حفضته بجنب الملف التنفيذي
كود :
procedure SaveLabel(Res: TLabel; aName: String);
Begin
Try
WriteComponentResFile(ExtractFilePath(ParamStr(0))+aName, Res);
Except
MessageBox(Application.Handle, 'Cannot saving the component !', 'Error', $10);
end;
end;
Procedure LoadLabel(var aLabel: TLabel; aName: String);
var
Str: String;
Begin
Try
Str := ExtractFilePath(ParamStr(0))+aName;
aLabel := ReadComponentResFile(Str, aLabel) as TLabel;
Except
MessageBox(Application.Handle, 'Cannot loading the component !', 'Error', $10);
end;
end;
ملاحضة اضف مجموعة من الـ Label ديناميكيا ً بواسطة الكود ثم اختر اي Label سيأخذ خصائص المكون المحفوض
--
طريقة الأستعمال ان لزم
الحفض :
كود :
SaveLabel(Label1, 'Label.dat');
الـ Label1 في الكود تشير الى المكون الذي تريد حفضه و Label.dat هو الملف الذي سينحفض به
الأستدعاء:
كود :
LoadLabel(Label1, 'Label.dat');
الـ Label1 في الكود تشير الى المكون الذي تريده ان يأخذ خصائص المكون المحفوض ( كما قلت انشئه اولا ً ) و Label.dat هو الملف الذي سوف تستدعه ِ
فكرتك غريبة و شبه مستحيلة :laugh:
سلام[/COLOR]