الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

How To Save the run time objects?

مغلق
بدأه lone wolf في 18 مايو 2007 · 6 رد · 767 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أنا اقوم بمشروع إدارة مخازن ولقد صممت

object يعبر عن صنف وهذا الكائن له إنعكاس علي واجهة المستخدم و يظهر علي سبيل المثال عند إضافة صنف إلي فاتورة عن طريق اخذ كود الصنف او اسمه من المستخدم ويقو الكائن بالبحث في قاعدة البيانات عن باقي خصائصه و ثم يقوم يظهر داخل panal.container

ولكن ماذا لو أردت حفظ الكائن المؤقت ليظهر في الفورم في المرة التالية

برجاء المشاركة للإفادة وشكراً

تم تعديل هذه المشاركة بواسطة lone wolf في 18 مايو 2007 في 17:43

fly on the wings of despair

no one is holding your back

the call of the wild is internal

conquer the silence you fear

tomorrow will not fade to black

a new day is dawning

remember

no one can save you today

#2

استخدم الـ Serialization, كـ XML أو Binary. الق نظرة على System.Xml.Serialization Namespace خصوصا الـ XmlSerializer. فهذا سيمكنك من حفظ البيانات الموجودة في الـ Object في ملف يمكنك قراءته فيما بعد لاسترجاع الـ Object مرة أخرى. انظر للكلاس التالي :

public class ArabTeamUser
{

private string nickName;
public string NickName
{
get { return nickName; }
set { nickName = value; }
}

public ArabTeamUser() 
{
this.nickName = "Unknown";
}

public ArabTeamUser(string nickName)
{
this.nickName = nickName;
}

}

لعمل Serialize للـ Objects من هذا النوع, ينبغي أن يحتوي الكلاس على Constructor لا يستقبل Parameters. والبيانات التي سيتم حفظها هي الـ public فقط. والكود التالي مثال لعمل Serialize :

ArabTeamUser theUser = new ArabTeamUser("Mizo");

XmlSerializer mySer = new XmlSerializer(typeof(ArabTeamUser));
mySer.Serialize(File.Create("ArabTeamUserObject.xml"), theUser);

هكذا تم حفظ theUser Object في ملف ArabTeamUserObject.xml, ويكون بشكل كالتالي :

<?xml version="1.0"?>
<ArabTeamUser xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <NickName>Mizo</NickName>
</ArabTeamUser>

يمكنك قراءة المعلومات أو البيانات الموجودة في الملف حسب الطلب باستخدام مثلا XmlTextReader, وان كنت مهتم بكل البيانات فاستخدم الـ Deserialize, مثلا :

XmlSerializer mySer = new XmlSerializer(typeof(ArabTeamUser));

ArabTeamUser unknownUser = mySer.Deserialize(File.OpenRead("ArabTeamUserObject.xml")) as ArabTeamUser;

MessageBox.Show(unknownUser.NickName);

تم تعديل هذه المشاركة بواسطة معتز شمس في 18 مايو 2007 في 21:47

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#3

شكراً يا أستاذ معتز أثابكم الله

و لكن ارأيك في الفكرة من حيث الجدوي و الاداء

بعض الزملاء يعتقدون إنها غير مجدية

و البعض الأخر يعتقد بأني أفعل ذلك لمجر إثبات لقدرة أو بلفظهم (التنطيط)

برجاء الإفادة

fly on the wings of despair

no one is holding your back

the call of the wild is internal

conquer the silence you fear

tomorrow will not fade to black

a new day is dawning

remember

no one can save you today

#4

العفو أخي الكريم.

عن أي موضوع تتحدث ؟ عن موضوع الـ Serialization أم عن طريقتك التي تستخدمها ؟

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#5

لا بل طريقتي هم سيختارون الطريق الاسهل لو كانو في مكاني ألا وهو datagrid او listview او WhatEvere

موضوع ال Serialization هو اختيار تفضلتم مشكورين بإضافته

ولكن الطريقة القديمة هي مثلاً في الفواتير عند طلب المستخدم لعرض فاتورة يتم تذويد الفورم بكائنات الأصناف

من جدول التفاصيل لكل سجل يرجع مع الداتا ريدر بواسطة لووب

ولكني أري أن هذه الطريقة الأسهل بالنسبة لي

تم تعديل هذه المشاركة بواسطة lone wolf في 19 مايو 2007 في 01:32

fly on the wings of despair

no one is holding your back

the call of the wild is internal

conquer the silence you fear

tomorrow will not fade to black

a new day is dawning

remember

no one can save you today

#6

لا يوجد طريقة أفضل دائما, أهم شيء هو السرعة في تطوير البرنامج وسرعة البرنامج في أداء المهام المطلوبة, ولا يهم بعد هذا ماهية الطريقة التي تستخدمها. ثق بنفسك بعد تحصيل العلم, وافعل ما يحلو لك مادام الأمر فيه فسحة و مباح :D

من يظن أنك بتتنطط والخ, بالتأكيد يستخدم طريقة Just-make-it-work في تطوير البرمجيات, وهذه نظرية لها فوائدها أيضا.

تم تعديل هذه المشاركة بواسطة معتز شمس في 19 مايو 2007 في 14:44

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#7

شكراً يا أستاذ معتز أثابكم الله و أكثر من أمثالك

fly on the wings of despair

no one is holding your back

the call of the wild is internal

conquer the silence you fear

tomorrow will not fade to black

a new day is dawning

remember

no one can save you today

هذا الموضوع مغلق.

مواضيع مشابهة