نمایش نتایج 1 تا 11 از 11

نام تاپیک: چه روشی را پیشنهاد میکنید

  1. #1

    چه روشی را پیشنهاد میکنید

    سلام
    من چندین فرم در پروژه دارم بالای 50 عدد
    میخوام بعضی پارامترها مثلا نام فایل باز شده با OpenDialog در شروع برنامه بین همه فرم ها قابل دسترسی باشد و در صورتی که یک پارامتر در یک فرم تغییر داده شد هنگام فراخوانی فرم های دیگر این تغییرات اعمال شده باشه بهترین پیشنهاد شما برای این منظور چیه؟

  2. #2

    نقل قول: چه روشی را پیشنهاد میکنید

    گر درست متوجه شده باشم 4راه دارید:
    1- ذخیره پارامترها در بانک
    2- ذخیره در فایل txt یا xml
    3-ذخیره در setting
    4- استفاده از کلاس (اگر هر بار که برنامه باز میشه بهش مفدار می دید)

  3. #3
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    زنجان
    سن
    35
    پست
    164

    نقل قول: چه روشی را پیشنهاد میکنید

    با تشکر از دوست خوبم ma.rad!

    واسه پارامتر ها من به شخصه از Xml استفاده میکنم!! اسفاده از دیتابیس واسه ذخیره پارامتر ها زیاد مناسب نیست در ضمن دسترسی به xml راحت تر و بی دردسر تره!!

  4. #4

    نقل قول: چه روشی را پیشنهاد میکنید

    واسه پارامتر ها من به شخصه از Xml استفاده میکنم!! اسفاده از دیتابیس واسه ذخیره پارامتر ها زیاد مناسب نیست در ضمن دسترسی به xml راحت تر و بی دردسر تره!!
    لطفا یک مثال ساده
    من تاحالا با یا این روش کار نکردم

  5. #5
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    زنجان
    سن
    35
    پست
    164

    نقل قول: چه روشی را پیشنهاد میکنید

    برای مثال شما تو فرم 1 ی فایل رو از طریق OpenDialog اجرا کردی میتونی fileName اون رو تو فایل Xml ذخیره کنی به این شکل که اسم هر فرم شما،یک گره ی پدر میشه و اسامی فایل هایی که از طریق اون فرم اجرا کردی گره های فرزند میشن بعد تو هر فرم که نیاز داشتی فایل هایی که از طریق مثلا فرم 1 اجرا شدن رو ببینی گره های فرزند اون فرم رو از فایل xml میخونی!

  6. #6
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: چه روشی را پیشنهاد میکنید

    نقل قول نوشته شده توسط ITJennifer مشاهده تاپیک
    سلام
    من چندین فرم در پروژه دارم بالای 50 عدد
    میخوام بعضی پارامترها مثلا نام فایل باز شده با OpenDialog در شروع برنامه بین همه فرم ها قابل دسترسی باشد و در صورتی که یک پارامتر در یک فرم تغییر داده شد هنگام فراخوانی فرم های دیگر این تغییرات اعمال شده باشه بهترین پیشنهاد شما برای این منظور چیه؟
    لطفا قبل از زدن تاپیک چند لحظه ای در مورد عنوان آن فکر کنید طوری که به طور خلاصه صورت سوال را مشخص کند.

    در مورد سوالتون بطور ساده می شه گفت که می تونید از کلاس ها استفاده کنید و یکسری اطلاعاتی که لازم هست بین چند فرم مشترک باشد را در آن بصورت پراپرتی تعریف کنید و این شی ای از این کلاس را که در ابتدا مقدار دهی کردین بین فرم ها جابجا کنید.
    اما در مورد مثالی که زدین (نگهداری نام فایل) ملاحظات دیگری هم می شه در نظر گرفت. سوال رو به صورت کلی مطرح کردین بنابراین نمی شه خیلی دقیق جواب داد. اگر این فایل قرار است فقط به عنوان ورودی باشد بنابراین دیگر نیازی به نگهداری نام آن نیست و بهتر است که کلاسی وجود داشته باشد به عنوان واسط که از طریق این کلاس با فایل ارتباط برقرار کنید و داده های آن را گرفته و در قالب "مدل شی ای" Object Model (یکسری کلاس) اطلاعات را در حافظه رم نگهداری کنید و ازین به بعد هر جا که لازم بود با این مدل شی ای کار کنید. و اگر فایل مذکور خروجی هم خواهد بود یعنی تغییرات باید در آن ذخیره شود. باز هم باید از آن کلاس واسط برای خواندن و نوشتن استفاده کنید ولی نام فایل را هم باید در حافظه (همان کلاس یا کلاسی دیگر بستگی به منطق تفکیک پذیری داره) نگهداری کنید. دقت کنی که بهتر است فایل همان ابتدا خوانده شود و همانطور که توضیح داده شد جایی نگهداری شود و در هنگام ذخیره این تغییرات در فایل ذخیره شود. نه اینکه شما نام فایل را بین فرم ها جابجا کنید و در هر فرمی در صورت نیاز یک بار دیگر اطلاعات این فایل را بخوانید!

    سعی کنید که تفکر شی گرا داشته باشید و اطلاعات به هم مرتبط را در یک یا چندین کلاس نگهداری کنید.

    موفق باشید

  7. #7
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    زنجان
    سن
    35
    پست
    164

    نقل قول: چه روشی را پیشنهاد میکنید

    یعنی چی کلاس واسط ؟؟؟

  8. #8
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: چه روشی را پیشنهاد میکنید

    نقل قول نوشته شده توسط mehdi zanjani مشاهده تاپیک
    یعنی چی کلاس واسط ؟؟؟
    کلاس واسط نام کلاس خاصی نیست منظور کلاسی هست که تمام کارهای مرتبط با فایل مذکور را (بطور مثال خواندن و نوشتن اطلاعات) انجام می دهد و واسط بودن آن به این دلیل هست که هیچ کلاسی حق کار مستقیم با فایل را ندارد و فقط از طریق سرویسهای این کلاس هست که با فایل ارتباط دارد.
    در این کلاس می تواند اعضای زیر وجود داشته باشد:
    1- متد Load که اطلاعات فایل را می خواند و بر می گرداند
    2- متد Save که تغییرات را ذخیره می کند

    مزیت این کلاس این است که تمام منطقی که در فایل وجود دارد فقط این کلاس مدیریت می کند (مثلا فرمت فایل) و در صورت تغییرات ساختاری در فایل فقط این کلاس هست که تغییر می کند

  9. #9
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    زنجان
    سن
    35
    پست
    164

    نقل قول: چه روشی را پیشنهاد میکنید

    نقل قول نوشته شده توسط gwbasic مشاهده تاپیک
    کلاس واسط نام کلاس خاصی نیست منظور کلاسی هست که تمام کارهای مرتبط با فایل مذکور را (بطور مثال خواندن و نوشتن اطلاعات) انجام می دهد و واسط بودن آن به این دلیل هست که هیچ کلاسی حق کار مستقیم با فایل را ندارد و فقط از طریق سرویسهای این کلاس هست که با فایل ارتباط دارد.
    در این کلاس می تواند اعضای زیر وجود داشته باشد:
    1- متد Load که اطلاعات فایل را می خواند و بر می گرداند
    2- متد Save که تغییرات را ذخیره می کند

    مزیت این کلاس این است که تمام منطقی که در فایل وجود دارد فقط این کلاس مدیریت می کند (مثلا فرمت فایل) و در صورت تغییرات ساختاری در فایل فقط این کلاس هست که تغییر می کند
    به نظر شما کار با XML اشتباهه؟؟

  10. #10
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: چه روشی را پیشنهاد میکنید

    نقل قول نوشته شده توسط mehdi zanjani مشاهده تاپیک
    به نظر شما کار با XML اشتباهه؟؟
    XML برای ساختار خود فایل انتخاب خوبی هست. هنگام Load داده ها هم می توان بصورت ساختار XML ای Load کرد (و با استفاده از Linq to XML به راحتی کوئری های مورد نظر رو اجرا کرد) و یامی توان به صورت Object Model و مجموعه ای از کلاس داخل Ram نگهداری کرد بستگی به نیاز داره.
    اما برای یکسری داده که هنگام اجرا نیاز هست مثل نام فایل جاری نام کاربر شاید بهتر باشد از یک کلاس مثلا کلاس استاتیک استفاده کرد.

    به نظر من برنامه نویس اول باید به لحاظ فنی خود را آماده کند و طرق ممکن را امتحان کند در مرحله بعد است که این توانایی فنی در بدست آوردن راهکار بهتر و بهینه تر راهگشا خواهد بود

    موفق باشید

  11. #11
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    زنجان
    سن
    35
    پست
    164

    نقل قول: چه روشی را پیشنهاد میکنید

    بله موافقم هر برنامه نویس دست خط مخصوص به خودش رو داره ولی خب اسفاده از نظرات اساتید مفیده!!!

    مرسی - موفق باشید ///

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •