delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف يتم حفظ ال Dock بعد اغلاق التطبيق
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

انا جديد في المنتدى

و لا اعلم يكف يتم حفظ ال Dock بعد اغلاق التطبيق بحثت كثيرا في الانترنيت ولم اجد حلا لها كل ما وجدته هو مكونات وغير فعلة بنسب 100%


هل احد لديه حل و شكرا
وعليكم السلام ورحمة الله

يمكنك باستخدام ملفات INI راجع الشرح التالي:

كود :
https://www.thoughtco.com/manipulate-ini-files-from-delphi-1058227
(20-12-2021, 06:08 PM)Delphi4Us كتب : [ -> ]وعليكم السلام ورحمة الله

يمكنك باستخدام ملفات INI راجع الشرح التالي:

كود :
https://www.thoughtco.com/manipulate-ini-files-from-delphi-1058227

احسنت ولكن عند حفظ الاعدادات و اغلاق التطبيق و اعادة تشغيله لا يحمل الاعدادات التي حفظتها 
و هذه المشكلة حولت البحث في الانترنيت ولكن لم اجد شيئ عنها فما الحل للعلم انا استخدم دلفي 7
إقتباس :احسنت ولكن عند حفظ الاعدادات و اغلاق التطبيق و اعادة تشغيله لا يحمل الاعدادات التي حفظتها 


بل يحمل الاعدادات هناك شئ مفقود عندك لاحظ ان هناك كود للحفظ وكود للتحميل

وهناك طريقة اخرى ربما أسهل

كود :
procedure SaveComponentToFile(Component: TComponent; const FileName: TFileName); var   FileStream : TFileStream;   MemStream : TMemoryStream; begin   MemStream := nil;   if not Assigned(Component) then     raise Exception.Create('Component is not assigned');   FileStream := TFileStream.Create(FileName,fmCreate);   try     MemStream := TMemoryStream.Create;     MemStream.WriteComponent(Component);     MemStream.Position := 0;     ObjectBinaryToText(MemStream, FileStream);   finally     MemStream.Free;     FileStream.Free;   end; end;

وللتحميل

كود :
procedure LoadComponentFromFile(Component: TComponent; const FileName: TFileName); var   FileStream : TFileStream;   MemStream : TMemoryStream;   i: Integer; begin   MemStream := nil;   if not Assigned(Component) then     raise Exception.Create('Component is not assigned');   if FileExists(FileName) then   begin     FileStream := TFileStream.Create(FileName,fmOpenRead);     try       for i := Component.ComponentCount - 1 downto 0 do       begin         if Component.Components[i] is TControl then           TControl(Component.Components[i]).Parent := nil;         Component.Components[i].Free;       end;       MemStream := TMemoryStream.Create;       ObjectTextToBinary(FileStream, MemStream);       MemStream.Position := 0;       MemStream.ReadComponent(Component);       Application.InsertComponent(Component);     finally       MemStream.Free;       FileStream.Free;     end;   end; end;

يمكن مراجعة المثال

كود :
https://coderedirect.com/questions/194475/how-to-save-and-restore-a-form
في lazarus يوجد مكون مرئي TiniPropStorage لحفظ ملفات ini على الفورم ولا تحتاج لكتابة أي كود فقط ضبط الخصائص ويستخدم مثلا في حفظ اعدادات الاتصال بالسيرفر في حالة قواعد البيانات التي تعتمد على سيرفر
ويوجد مكون أخر للحفظ بامتداد xml و مكون اخر للحفظ بامتداد json

لازاروس أولى بالاهتمام والرعاية من دلفي لأن دلفي غير مجانية وباهظمة الثمن
السلام عليكم.
هناك مكونات مجانية على موقع Torry ،
يمكنك تحميل واحد منها و تجربتها :

الرابط :


إقتباس :https://torry.net/pages.php?id=96
السلام عليكم
اخواني الاعزاء

هناك مثال المطلوب هو حفظ مكان الاطارات على النافذة حاولت به ولكن كل محاولاتي كانت فاشلة


التحميل هنا