- لماذا يتم حفظ الإعدادات بعنصر memo أثناء الكتابة أفقيا فقط ، أقصد نفس السطر ، بينما لو تم الضغط على Enter ، تحفظ بالملف إيني ، و لا تتم القراءة أثناء التشغيل (يعني لا يعرض إلا السطر الأول فقط)
- كيف يتم حفظ مسار الصورة (إذا كانت في نفس مجلد البرنامج ) بدون كتابة المسار الكلي (الذي ينجم عنه رسالة الخطأ إذاتم تشغيله بجهاز آخر لافتقداد الملف على المسار المحفوظ)
إقتباس :imgValue=D:\Ini\01.jpg
هكذا
إقتباس :imgValue=01.jpg
- الأهم من هذا : كيف يمكن حفظ إعدادات أخرى مثل اللون بواسطة ColorDialog أو ColorBox للفورم مثلا؟
(أما إذا تم تحديد اللون مسبقا (أو تم وضع مجموعة محدودة من الألوان) فهذا ممكن بصيغة مباشرة _بما سلف شرحه .)
آمل أن الإفادة تمت ، كما أطمع في الإستفادة ، جزاكم الله ألف خير .
و السلام عليكم.
procedure TForm1.Button1Click(Sender: TObject); begin with tinifile.create('..\ini\star.ini')do begin writebool('Checkbox','CheckboxValue',checkbox1.Checked); writestring('Edit','EditValue',edit1.Text); writestring('Memo','MemoValue',memo1.Text); writestring('img','imgValue',OpenPictureDialog1.FileName); end; end;
procedure TForm1.FormCreate(Sender: TObject); begin with tinifile.create('..\ini\star.ini')do begin checkbox1.Checked:=readbool('Checkbox','CheckboxValue',false); edit1.Text:=readstring('Edit','EditValue',edit1.Text); Memo1.text:=readstring('Memo','MemoValue',memo1.Text); img:=readstring('img','imgValue',img); end; image1.Picture.LoadFromFile(img); end;
لماذا لاتحرر tinifile من الذاكرة ؟؟؟؟
هناك
Try
.
.
.
Finally
Free
***
للتعامل مع ال Memo او اي مكون فيه ال TStrings إذا إطلغت على ملف الHelp للدلفي فيما يخص ال IniFiles هناك :
السلام عليكم
أخي نبيل
لم أفهم ما قصدته في السؤال الأول
أما بخصوص حفظ إعدادات المكونات بصفة عامة، فأفضل طريقة ملفات التدفقات TFileStream
مثال لـ TTreeView:
PHP كود :
// Save
procedure TForm1.Button1Click(Sender: TObject); var F: TFileStream; begin F := TFileStream.Create('c:\TreeView.dat', fmCreate or fmShareCompat); try F.WriteComponent(TreeView1); finally F.Free; end; end;
// Load
procedure TForm1.Button2Click(Sender: TObject); var F: TFileStream; begin F := TFileStream.Create('c:\TreeView.dat', fmOpenRead or fmShareDenyWrite); try F.ReadComponent(TreeView1); finally F.Free; end; end;
ويمكن حفظ جميع مكونات البرنامج بنفس الطريقة:
كود :
for i := 0 to ComponentCount - 1 do
...
كل من 1 user says قال شكرا ل kachwahed على المشاركة المفيدة1 user says Thank You to kachwahed for this post • Rever7eR
هناك سؤال هو حفظ التغييرات التي أجريت على التطبيق فمثلا أنا غيرت لون الفورم الى أحمر مثلا و حفظ التطبيق أي عندما أفتح التطبيق مرة أخرى أجد لون الفورم أحمر هذا بعد الانتهاء من برمجة هذا التطبيق .
توضيح أكثر أي أنا عملت تطبيق وأعطيته الى أحد وأراد تغيير الفورم للون الأحمر مثلا بعد فتح التطبيق مرة أخرى .