تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 11

نام تاپيک: ُSerialize کردن Structure

  1. #1
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض ُSerialize کردن Structure

    سلام
    اگه ممکنه یک نمونه کد که نحوه سریالیزه کردن یک استراکچر به حالت XML یا Binary حتی المکان به زبون VB بزنید

  2. #2
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض

    سلام
    اگه ممکنه یک نمونه کد که نحوه سریالیزه کردن یک استراکچر به حالت xml یا binary حتی المکان به زبون vb بزنید
    کسی نیست که این کار رو کرده باشه ؟؟
    ببینید من میخوام یک سری استراکچر با ساختارهای مختلف ، مثلا استراکچر مشتری ، بانک و . . . رو برای مصارف خاصی که نیاز دارم تو دیتابیسم ذخیره کنم .
    اول میخواستم یک تابع بنویسم واسه هر کدوم که استراکچر رو بگیره و کد xml اش رو بده و بلعکس بعد از یه کمی برسی متوجه شدم که دات نت این کار رو به دو شکل انچام میده :
    - یکی یک نوع (کلاس - استراکچر - متغیی و . . . ) رو میگیره و کد باینریش رو پس میده و بالعکس
    -دیگری هم مثل بالاییه با این تفاوت که کد xm l میده

    خروجی xml سرعت کمتری نسبت به xml داره ولی قابلیت حمل داره

    من این کار رو تونستم روی یک متغییر انجام بدم ولی روی کلاس و استراکچر نتونستم ، حالا اگه کسی نمونه داره ممنون میشم کمک کنه

  3. #3
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض

    فکر کنم مشکلم حل شد !!
    این کد برنامم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    تابع GetInfo از کلاس مشتری کد مشتری رو میگیره و استراکچرش رو میده

    اینم خروجی ای که بهم داد :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  4. #4
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض

    هنوز هم یک مشکل دارم !
    بعضی از استراکچر هام آرایه ای از استراکچر دارن مثلا :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    که در این صورت آرایه رو سریالایز نمیکنه و وزمانی هم که پیش از تعریف آرایه از کلمه <Serializable()> استفاده میکنم میگه که آرایه ها قابلیت سزیالیزه شدن ندارن !
    حالا باید جیکار کنم ؟؟؟

  5. #5
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    احتمالاً ساختار یا کلاسس STRFactor شما مشکل دارد و غیر قابل سریالی شدن است. ساختار STRFactor را نیز اینجا بگذارید.

  6. #6
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض

    سلام
    احتمالاً ساختار یا کلاسس STRFactor شما مشکل دارد و غیر قابل سریالی شدن است. ساختار STRFactor را نیز اینجا بگذارید.
    ممنون از جوابت
    ساختارش مشابه STRBuyOrder هست که تو پست قبلی دادم فقط مشکلش تو سربالایز کردن آرایه است یعنی اگه بخوام همون STRBuyOrder رو در نظر بگیرم آرایه ( Public Arr() As STRFactor 'آرایه ای از اقلام فاکتور
    ) رو سریالایز نمیکنه
    میخوام حتی الامکان این کار رو با کد نویسی انجام ندم چون ساختارهام زیادن و اگه بخوام کد بنویسم حداقل 1000 خطی میشه که ارزشش رو دیگه نداره
    سریالایز کردن دودویی رو تست نکردم شاید اینطوری بشه !

  7. #7
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    من با اینکه اطمینان داشتم، باز تست کردم، هیچ مشکلی مشاهده نکردم.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    - مجدداً تست کنید.
    - متن کامل خطا را اینجا بنویسید
    - ترجیحاً ساختار STRFactor را هم بنویسید.


    سریالایز کردن دودویی رو تست نکردم شاید اینطوری بشه !
    XmlSerializer در این مورد مشکلی ندارد ولی برای سریال سازی باینری باید از کلاسس زیر استفاده کنید. (البته اگر نمیدانستید!)
    System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter

  8. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  9. #8
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض

    سلام
    من با اینکه اطمینان داشتم، باز تست کردم، هیچ مشکلی مشاهده نکردم.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    - مجدداً تست کنید.
    - متن کامل خطا را اینجا بنویسید
    - ترجیحاً ساختار STRFactor را هم بنویسید.



    XmlSerializer در این مورد مشکلی ندارد ولی برای سریال سازی باینری باید از کلاسس زیر استفاده کنید. (البته اگر نمیدانستید!)
    System.Runtime.Serialization.Formatters.Binary.Bin aryFormatter
    سلام استاد
    ممنون از راهنماییت
    فهمیدم مشکل کار کجاست ولی نمیدونم چطور رفعش کنم !
    این استراکچر فاکتور و ملحقاتش :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    حالا وقتی میام و این استراکجر رو سریالایز میکنم با این خطا مواجه میشم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا اگه قبل از اینکه سریالایز کردن شروع بشه از On error resume next استفاده کنم . سریالایز انجام میشه ولی دو تا Enum آخری رو سریالایز نمیکنه که ظاهرا مشکل از اوناست !!!
    حالا اگه بیام و نوع اون دو تا رو هم بکنم Int مشکل رفع میشه !
    ولی اگه نخوام این کار رو بکنم چی ؟ راه دیگه ای هست ؟؟

  10. #9
    پروفشنال bad_boy_2007's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    ایران
    پست ها
    803

    پيش فرض

    درست شد !!!
    اینم راهش :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  11. #10
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    مشکلتان به ظاهر حل شده ولی اجازه دهید مطالبی چند بیان کنم...
    مشکل از آنجا است که Enum های شما ورودی برای مقدار صفر ندارد در حالی که متغییر های مقدار دهی نشده اند و صفر هستند.
    شما باید اول تکلیف خود را روشن کنید.
    مقادیر Enum شما میتواند صفر باشد یا نمیتواند؟

    اگر صفر بودن مجاز است که ساختارهای را چنین اصلاح کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگر صفر بودن مجاز نیست خوب چرا مقدار دو متغییر شما باید صفر باشد؟
    مقدار PriceType و Type را صراحتاً به مقداری مجاز از محدوده مجاز Enum ست کنید.

    =====

    ضمناً خصوصیت System.Serializable و System.NonSerialized در کار XmlSerializer بی تاثیر هستند و بود و نبودشان فرقی نمیکند، این صفات در BinaryFormatter و سایر مشتقاتش استفاده میشوند.

    پیروز باشید.

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •