delphi4arab منتديات دلفي للعرب
إضافة عنصر و تسجيله - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : إضافة عنصر و تسجيله (/showthread.php?tid=2040)

الصفحات: 1 2


إضافة عنصر و تسجيله - hammadifathi - 26-05-2010

السلام عليكم
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"

وعند غلق البرنامج و إعادة فتحه من جديد نجد ان هذا العنصر غير موجود فما هي الطريقة لبقاء هذا العنصر
لقد وجدت طريقة في وضع هذا العنصر في قاعدة البيانات و عند إعادة فتح البرنامج يقوم بسحب البيانات و إضافة العناصر المسجلة في القاعدة فهل هذه الطريقة ممكنة ؟
وإن كانت هذه الطريقة ممكنة فكيف استطيع برمجتها ؟

وشكرا.


إضافة عنصر و تسجيله - kachwahed - 26-05-2010

وعليكم السلام ورحمة الله
إقتباس :وعند غلق البرنامج و إعادة فتحه من جديد نجد ان هذا العنصر غير موجود فما هي الطريقة لبقاء هذا العنصر
الطريقة هي التعديل على البرنامج، وليس ذلك في منتاول الجميع
حفظ وإعادة استرجاع البيانات هي أسهل طريقة،استخدم ملفات INI أو Registry أو غير ذلك...
أيضا إطرح سؤالك بطريقة أخرى، أو ما الذي تريد عمله؟ ربما نجد طريقة أفضل!



إضافة عنصر و تسجيله - hammadifathi - 26-05-2010

عندي bouton يقوم بإضافة label و لكن عند إعادة فتح البرنامج لا لإجد هذا العنصر فكيف تتم المحافضة عليه


إضافة عنصر و تسجيله - AvimimuS - 26-05-2010

إقتباس :ندي bouton يقوم بإضافة label و لكن عند إعادة فتح البرنامج لا لإجد هذا العنصر فكيف تتم المحافضة عليه
اخي الكريم طريقة انشاء مكون تسعمل مثلا لانشاء Label لاظهار ناتج معين وعند اغلاق البرنامج تحذف (ننشئها وقت الحاجة فقط ) يعني لا داعي للمحافظة عليها أما ان كنت تريد جعله دائم فيمكنك استعماله مباشرة فذالك لن يؤثر علي الحجم
يمكنك ايضا ان تنشئ المكون في OnCreate الخاصة بالبرنامج



إضافة عنصر و تسجيله - kachwahed - 26-05-2010

الأخ hammadifathi ممكن نعرف ما الذي تريد برمجته؟


إضافة عنصر و تسجيله - hammadifathi - 26-05-2010

المشروع هو عبارة عن برنامج تحاور مع أصدقاء اي عندما أقوم بإضافة صديق يتم تسجيله في قاعدة البيانات ويتم إضافة label إلى الفروم عليها إسم الصديق بشكل نهائي
يعني عند غلق البرنامج و إعادة فتحه لا يكون العنصر الذي تمت إضافته قد إختفى


إضافة عنصر و تسجيله - kachwahed - 26-05-2010

إقتباس :ويتم إضافة [COLOR="Red"]label إلى الفروم عليها إسم الصديق
Label! لماذا اخترت Label ؟
قائمة الأصدقاء مخزنة في قاعدة البيانات، ومكونات عرض قواعد البيانات تفي بالغرض (DBGrid، DBListBox، DBComboBox...)[/COLOR]


إضافة عنصر و تسجيله - hammadifathi - 26-05-2010

إضافة label إلى الفروم لأنه فيما بعد عندما يكون ذلك الصديق متصل يتغير لون العنصر كما هو موجود مثلا في البرنامج الشهير skype


إضافة عنصر و تسجيله - musvc - 27-05-2010

[COLOR="Purple"]سؤالك نوعا ً ما غريب :laugh:
لكن سأحاول مساعدتك و ليس المسـاعدة في طريقة افضل (لأنك اردت ذلك).

اولا ً : انشيئ الـ Label بواسطة الكود الذي لديك ( اضف عليه اللمسات السحرية Smile)
ثانيا ً: عند القيام بحفضه, كتبت لك اجرائين على السريع Smile قم بأستعماله ِ للتسهيل فقط, يقتصر عمله فقط على حفض المكونات بجنب الملف النتفيذي
ثالثا ً: عند تشغيل البرنامج يقوم بأستدعام الملف المكون الذي حفضته بجنب الملف التنفيذي


كود :
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]


إضافة عنصر و تسجيله - kachwahed - 27-05-2010

إقتباس :إضافة label إلى الفروم لأنه فيما بعد عندما يكون ذلك الصديق متصل يتغير لون العنصر كما هو موجود مثلا في البرنامج الشهير skype
لا أظن أن Skype يستخدم Labels لإظهار قائمة الأصدقاء، ولا غيره...
المكونات التي تنحدر من TListBox ونظائرها تملك حدث OnDrawItem الذي يسمح لك بتحديد مظهر مختلف
كذلك يمكن التعديل على جميع مكونات دلفي بالشكل الذي تريد Smile
إليك مكون بسيط TIListBox يشبه ما يستخدم في البرامج الشهيرة:
[صورة: 29ut5ae.jpg]
بالتوفيق.