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

نسخة كاملة : كيف تحفظ اعداداتك على النموذج بطريقة سهلة جدا
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
في هذا المثال جرب ان تغير في اداة النص وجرب ان تغير الصورة
وجرب ان تغيير في موقع الادوات بسحبها من مكان الى اخر وانقر على الزر 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; 
وعليكم السلام ورحمة الله
بارك الله فيك
يمكن ايضا الاستغناء عن stream
كود :
WriteComponentResFile('ComboBox1.bin',ComboBox1); ReadComponentResFile('ComboBox1.bin',ComboBox1);
الامتداد dat ليس مدعوما عندي انا استعمل bin ربما هو قياسي
شكرا اخ موبايل على الاضافة
السلام عليكم ورحمة الله و بركاته

منذ مدة فكرت في حفظ موقع و حجم المكونات على الفورم في ملف 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]
[attachment=3466]
[attachment=3467]
الاخ [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;