المشاركات : 5
المواضيع 1
:
: 1
الإنتساب : Dec 2021
السلام عليكم
انا جديد في المنتدى
و لا اعلم يكف يتم حفظ ال Dock بعد اغلاق التطبيق بحثت كثيرا في الانترنيت ولم اجد حلا لها كل ما وجدته هو مكونات وغير فعلة بنسب 100%
هل احد لديه حل و شكرا
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
وعليكم السلام ورحمة الله
يمكنك باستخدام ملفات INI راجع الشرح التالي:
كود :
https://www.thoughtco.com/manipulate-ini-files-from-delphi-1058227
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 5
المواضيع 1
:
: 1
الإنتساب : Dec 2021
(20-12-2021, 06:08 PM)Delphi4Us كتب : وعليكم السلام ورحمة الله
يمكنك باستخدام ملفات INI راجع الشرح التالي:
كود :
https://www.thoughtco.com/manipulate-ini-files-from-delphi-1058227
احسنت ولكن عند حفظ الاعدادات و اغلاق التطبيق و اعادة تشغيله لا يحمل الاعدادات التي حفظتها
و هذه المشكلة حولت البحث في الانترنيت ولكن لم اجد شيئ عنها فما الحل للعلم انا استخدم دلفي 7
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
20-12-2021, 08:49 PM
(آخر تعديل لهذه المشاركة: 20-12-2021, 08:59 PM بواسطة Delphi4Us.)
إقتباس :احسنت ولكن عند حفظ الاعدادات و اغلاق التطبيق و اعادة تشغيله لا يحمل الاعدادات التي حفظتها
بل يحمل الاعدادات هناك شئ مفقود عندك لاحظ ان هناك كود للحفظ وكود للتحميل
وهناك طريقة اخرى ربما أسهل
كود :
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
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 34
المواضيع 9
:
: 43
الإنتساب : Feb 2018
21-12-2021, 08:57 AM
(آخر تعديل لهذه المشاركة: 21-12-2021, 09:00 AM بواسطة Mohamed Allam.)
في lazarus يوجد مكون مرئي TiniPropStorage لحفظ ملفات ini على الفورم ولا تحتاج لكتابة أي كود فقط ضبط الخصائص ويستخدم مثلا في حفظ اعدادات الاتصال بالسيرفر في حالة قواعد البيانات التي تعتمد على سيرفر
ويوجد مكون أخر للحفظ بامتداد xml و مكون اخر للحفظ بامتداد json
لازاروس أولى بالاهتمام والرعاية من دلفي لأن دلفي غير مجانية وباهظمة الثمن
المشاركات : 1,252
المواضيع 170
:
: 1,500
الإنتساب : Jul 2009
السلام عليكم.
هناك مكونات مجانية على موقع Torry ،
يمكنك تحميل واحد منها و تجربتها :
الرابط :
إقتباس :https://torry.net/pages.php?id=96
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
المشاركات : 5
المواضيع 1
:
: 1
الإنتساب : Dec 2021
السلام عليكم
اخواني الاعزاء
هناك مثال المطلوب هو حفظ مكان الاطارات على النافذة حاولت به ولكن كل محاولاتي كانت فاشلة
التحميل هنا