delphi4arab منتديات دلفي للعرب
كيف تحفظ اعداداتك على النموذج بطريقة سهلة جدا - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : مصادر دلفي مفتوحة تعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=14)
+--- الموضوع : كيف تحفظ اعداداتك على النموذج بطريقة سهلة جدا (/showthread.php?tid=8608)



كيف تحفظ اعداداتك على النموذج بطريقة سهلة جدا - Delphi4Us - 09-04-2017

السلام عليكم
في هذا المثال جرب ان تغير في اداة النص وجرب ان تغير الصورة
وجرب ان تغيير في موقع الادوات بسحبها من مكان الى اخر وانقر على الزر Save 
تم شغل البرنامج من جديد
WriteComponent سيقوم بكل العمل عنك فهو يحفظ كل الخصائص للمكون
[صورة: d850457a7a31d4f.jpg]

كود :
http://www.m5zn.com/d/?16623738

PHP كود :
هذا كل ما تحتاج لاجل ذلك

procedure TForm2
.btn1Click(Sender: TObject);
Var
  Stream: TFileStream;
begin
  Stream 
:= TFileStream.Create(ExtractFileDir(Application.ExeName) + '/mycomponent.dat', fmCreate);
  try
    Stream.WriteComponent(edt1);
    Stream.WriteComponent(chk1);
    Stream.WriteComponent(img1);
  finally
    Stream.Free;
  End;
end;


procedure TForm2.FormCreate(Sender: TObject);
Var
  Stream: TFileStream;
begin
   Stream 
:= TFileStream.Create(ExtractFileDir(Application.ExeName) + '/mycomponent.dat', fmOpenRead);
  try
    Stream.ReadComponent(edt1);
     Stream.ReadComponent(chk1);
     Stream.ReadComponent(img1);
  finally
    Stream.Free;
  End;

end; 



RE: كيف تحفظ اعداداتك على النموذج بطريقة سهلة جدا - mobile - 14-04-2017

وعليكم السلام ورحمة الله
بارك الله فيك
يمكن ايضا الاستغناء عن stream
كود :
WriteComponentResFile('ComboBox1.bin',ComboBox1); ReadComponentResFile('ComboBox1.bin',ComboBox1);
الامتداد dat ليس مدعوما عندي انا استعمل bin ربما هو قياسي


RE: كيف تحفظ اعداداتك على النموذج بطريقة سهلة جدا - Delphi4Us - 14-04-2017

شكرا اخ موبايل على الاضافة


RE: كيف تحفظ اعداداتك على النموذج بطريقة سهلة جدا - seddik_xp - 14-04-2017

السلام عليكم ورحمة الله و بركاته

منذ مدة فكرت في حفظ موقع و حجم المكونات على الفورم في ملف ini على هذا الشكل
كود :
[Image2] Left=224 Top=208 Width=169 Height=57 [Edit1] Left=40 Top=184 Width=121 Height=21 [StringGrid1]

و قد تحصلت على مكون دلفي يقوم يغيير حجم المكونات وقت التشغيل و هذا باختيارهمن القائمة المنسدلة فيصبح قابل للتحريك و التحجيم
اسم المكون كان TSaveComps و هو مرفق مع الرد و معه ممثال للإستخدام
[صورة: attachment.php?aid=3467]

.zip   csavecomps.zip (الحجم : 246.63 ك ب / التحميلات : 76)

.jpg   screen_shot.jpg (الحجم : 126.27 ك ب / التحميلات : 123)


RE: كيف تحفظ اعداداتك على النموذج بطريقة سهلة جدا - Delphi4Us - 15-04-2017

الاخ [size=x-small]s[/size]eddik_xp
شكرا على المشاركة

ايضا هنا كود لتحريك يجعلك تستطيع ان تحرك المكونات وقت التشغيل
وهو بسيط جدا


كود :
Title: Move control at runtime To move control at runtime use mouse events (capture mouse events to prevent default click processing): type  TForm1 = class(TForm)  ...  private    { Private declarations }    Dragged: Boolean;    OldPos: TPoint;  ... procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer); begin  if RadioGroup1.ItemIndex=0 then  begin    Dragged:=True;    GetCursorPos(OldPos);    SetCapture(Button1.Handle);  end; end; procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,  Y: Integer); var  NewPos: TPoint; begin  if Dragged then    with Button1 do    begin      GetCursorPos(NewPos);      Left:=Left-OldPos.X+NewPos.X;      Top:=Top-OldPos.Y+NewPos.Y;      OldPos:=NewPos;    end; end; procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer); begin  if Dragged then  begin    ReleaseCapture;    Dragged:=False;  end; end;