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

نام تاپیک: ذخیره تنظیمات کاربر

  1. #1
    کاربر دائمی آواتار eyelash
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران- اصفهان
    پست
    126

    ذخیره تنظیمات کاربر

    ایام به کام
    دوستان من می خوام وقتی که توی برنامه کاربر رنگ یا فونت را تغیر می ده تغیراتش را ذخیره کنم و دفعه بعد برنامه با همون تغیرات باز بشه. می خوام دوستان راهنمایی کنن چه جوری می شه این کار را انجام داد. به نظر خودم خوبه یک جدول تویDataBase برنامم تعریف کنم که اون تنظیمات را ذخیره کنه و هربار با اجرای برنامه اون ها زا به برنامم ست کنم. ولی فکر می کنم ویژوال بیسیک خودش باید راهی برای این کار داشته باشه. ممنون می شم دوستان نظر خودشون را بدن.

  2. #2
    کاربر دائمی آواتار vahidiran
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    کرمان
    پست
    211
    فکر نکنم ویژوال بیسیک از خودش بتونه این ار رو انجام بده ، یعنی اگه این کار رو انجام بده با ذات یک زبان برنامه نویسی متناقضه
    یه راهش همونه که خودتون گفتید
    ولی راه بالا یه خورده دردسر داره و الکی برنامه شلوغ می شه چون حداقل باید از سه کلاس ارتباط با داده استفاده کنی و دستوارتش رو هم اجرا کنی
    می تونی با استفاده از نوشتن و خواندن در فایل این کار رو انجام بدی در یک فایل Bin که بلاک بندیش کرده ای

  3. #3
    رجیستری رو واسه چی گذاشتن ؟؟؟


    موفق باشید

  4. #4
    کاربر دائمی آواتار leilav_1984
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    تهران
    پست
    307
    از امکانات System.XML استفاده کنید و تغییرات رو داخل یه XML ذخیره کنید
    این روش سادس و بر خلاف استفاده از Database سرعت اجرا رو هم کم نمی کنه

  5. #5
    کاربر دائمی آواتار Sub Zero
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اهواز
    پست
    443
    این همه دردسر واسه چی :
    شما می تونید برای ذخیره تغییرات برنامتون از دستور SaveSetting و برای بازیابی این تغییرات از دستور Getsetting استفاده کنید . اصلا ماکروسافت این دوتا دستو رو واسه همین کار ساخته بسیار ساده ست به مثال زیر نگاه کنید .

    برای ذخیره تغییرات :
    SaveSetting(My.Application.Info.AssemblyName, "Appearance", "Font", FontName)
    SaveSetting(My.Application.Info.AssemblyName, "Appearance", "Color", ColorName)

    برای بازیابی تغییرات :
    FontName=GetSetting(My.Application.Info.AssemblyNa  me, "Appearance", "Font","")
    ColorName=GetSetting(My.Application.Info.AssemblyN ame, "Appearance", "Color","")

    به همین راحتی بهمین خوشمزگی
    اگه پیشرفته تر از این خواستی پست شماره 7 تاپیک زیر ور نگاه کن
    http://www.barnamenevis.org/sh...ad.php?t=57859

  6. #6
    کاربر دائمی آواتار programmermp
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    Green Territory of North
    پست
    732

    Talking

    با تشکر جواب بسیار زیبای شما

    اقای subzerro دستوراتی که گفتید تنظیمات رو کجا و در چه قالبی ذخیره می کنند

    منظورم اینه که تو رجیستری ذخیره می کنه یا توی فایل اسمبلی
    اگه تو فایل اسمبلی می نویسیه این فایل کجا هست

    با تشکر

  7. #7
    کاربر دائمی آواتار eyelash
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران- اصفهان
    پست
    126
    نقل قول نوشته شده توسط Sub Zero مشاهده تاپیک
    برای ذخیره تغییرات :
    SaveSetting(My.Application.Info.AssemblyName, "Appearance", "Font", FontName)
    SaveSetting(My.Application.Info.AssemblyName, "Appearance", "Color", ColorName)

    برای بازیابی تغییرات :
    FontName=GetSetting(My.Application.Info.AssemblyNa  me, "Appearance", "Font","")
    ColorName=GetSetting(My.Application.Info.AssemblyN ame, "Appearance", "Color","")
    ممنون. می شه بگین My چیه

  8. #8
    کاربر دائمی آواتار programmermp
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    Green Territory of North
    پست
    732

    Talking

    سلام

    my یک راه میانبر سریع برای دسترسی به رفرنس های مختلف هست به مطلب زیر نگاه کن

    The My feature makes programming faster and easier by giving you intuitive access to commonly used methods, properties, and events. This table lists the objects contained in My, and the actions that can be performed with each.

    Action Object Accessing application information and services.
    My.Application Object
    Accessing the host computer and its resources, services, and data.
    My.Computer Object
    Accessing the forms in the current project.
    My.Forms Object
    Accessing the application log.
    My.Log Object
    Accessing the current web request.
    My.Request Object
    Accessing resource elements.
    My.Resources Object
    Accessing the current web response.
    My.Response Object
    Accessing user and application level settings.
    My.Settings Object
    Accessing the current user's security context.
    My.User Object
    Accessing XML Web services referenced by the current project.
    My.WebServices Object

  9. #9
    کاربر دائمی آواتار Sub Zero
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اهواز
    پست
    443
    نقل قول نوشته شده توسط programmermp مشاهده تاپیک
    اقای subzerro دستوراتی که گفتید تنظیمات رو کجا و در چه قالبی ذخیره می کنند
    دستو SaveSetting تغییرات رو توی رجیستری ذخیره می کنه مسیر دقیقش هم اینه
    HKEY_CURRENT_USER\Software\VB and VBA Program Settings


    قبلا در یکی از تاپیکها گفته بودم از این دستور فقط برای ثبت نیازمندیهای یک برنامه استفاده می شه و خودش مسیر پیش فرض داره مثلا اگه شما بخواهید برنامتون رو طوری تنظیم کنید که با لود شدن ویندوز شروع به کار کنه نمی تونید از این دستور استفاده کنید .

    می شه بگین My چیه
    جناب eyelash
    نمیدونم با vb 2003 کار میکنید یا با vb2005 به هر حال my امکان جدیدیست که در vb2005 قرار داده شده ودوستمون هم توضیحات خوبی راجع بهش دادن .
    اصلا بهتره پارامترهای دستور رو برات توضیح بدم تا یه وقت فکر نکنی حتما باید از My استفاده کنی .
    SaveSetting(My.Application.Info.AssemblyName, "Appearance", "Font", FontName)


    پارامتر اول :

    معمولا از نام پروژه برای پارامتر اول استفاده می شه در واقع My.Application.Info.AssemblyName نام پروژه رو برمی گردونه تو هر چی دلت خواست بزار فقط رشته ای باشه .

    پارامتر دوم و سوم وچهارم :

    فرض کن میخوای آخرین موقعیت فرم برنامت در رجیستری ذخیره بشه پس در این سه قسمت مشخص میکنی کدوم خاصیتها باید ذخیره بشن مثلا .
    SaveSetting("نام برنامت", "Location", "Top", مقدار)

    فکر کنم ازاین واضح تر نمیشد توضیح بدم به هر حال اگه بازم سوالی داشتی در خدمتیم .

  10. #10
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631
    من xml‌ رو پیشنهاد میکنم . ولی بازم خودتون میدونید

  11. #11
    کاربر دائمی آواتار Sub Zero
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اهواز
    پست
    443
    نقل قول نوشته شده توسط ali_kolahdoozan مشاهده تاپیک
    من xml‌ رو پیشنهاد میکنم . ولی بازم خودتون میدونید
    لطفا پیشنهادتون رو با توضیح و مثال ارائه بدید تا مقایسه کنیم و ببینیم کدوم یکی بهتره .

  12. #12
    کاربر دائمی آواتار eyelash
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران- اصفهان
    پست
    126
    برای بازیابی تغییرات :
    کد:
    FontName=GetSetting(My.Application.Info.AssemblyNa me, "Appearance", "Font","")
    ColorName=GetSetting(My.Application.Info.AssemblyN ame, "Appearance", "Color","")
    این دستورات نام رنگ یا فونت را برمی گردونه که از نوع رشته ای هم هست. حالا چه جوری باید اون را به تایپ مورد نظر تبدیل کرد؟
    در ضمن من 2003 کار می کنم و و مبتدی هم هستم .
    .
    باز هم از راهنماییتون ممنون

  13. #13
    کاربر دائمی آواتار programmermp
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    Green Territory of North
    پست
    732

    Talking

    یعنی چی به تایپ مورد نظر تبدیل کنم

    خوب مثلا برای forecolor یا backcolor یک object اینطوری بنویس

    (TextBox1.BackColor = Color.FromName(font

    که font همان نام رنگی است که از تنظیمات ذخیره شده قبلی بر می گردونه

  14. #14
    کاربر دائمی آواتار leilav_1984
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    تهران
    پست
    307

    Question

    نقل قول نوشته شده توسط Sub Zero مشاهده تاپیک
    این همه دردسر واسه چی :
    شما می تونید برای ذخیره تغییرات برنامتون از دستور SaveSetting و برای بازیابی این تغییرات از دستور Getsetting استفاده کنید . اصلا ماکروسافت این دوتا دستو رو واسه همین کار ساخته بسیار ساده ست به مثال زیر نگاه کنید .

    برای ذخیره تغییرات :
    SaveSetting(My.Application.Info.AssemblyName, "Appearance", "Font", FontName)
    SaveSetting(My.Application.Info.AssemblyName, "Appearance", "Color", ColorName)

    برای بازیابی تغییرات :
    FontName=GetSetting(My.Application.Info.AssemblyNa  me, "Appearance", "Font","")
    ColorName=GetSetting(My.Application.Info.AssemblyN ame, "Appearance", "Color","")

    به همین راحتی بهمین خوشمزگی
    اگه پیشرفته تر از این خواستی پست شماره 7 تاپیک زیر ور نگاه کن
    http://www.barnamenevis.org/sh...ad.php?t=57859
    ممنون sub zero جان از راهنمایی کاملت
    این روش اگه برنامه دارای چند کاربر باشه و هر کدوم بخوان تنظیمات خودشون رو داشته باشن هم جوابگو هست؟

  15. #15
    کاربر دائمی آواتار leilav_1984
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    تهران
    پست
    307

    Smile

    نقل قول نوشته شده توسط Sub Zero مشاهده تاپیک
    لطفا پیشنهادتون رو با توضیح و مثال ارائه بدید تا مقایسه کنیم و ببینیم کدوم یکی بهتره .
    من خودم هم تا حالا از XML استفاده کردم و تو همین topic هم پیشنهاد دادم
    شاید چون استاندارده و سادس و قابل تعمیم به برنامه های تحت وب هستش و ...
    البته همه اینا هم دلیل نمیشه که حتما روش بهتری باشه

  16. #16
    کاربر دائمی آواتار Sub Zero
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اهواز
    پست
    443
    این دستورات نام رنگ یا فونت را برمی گردونه که از نوع رشته ای هم هست. حالا چه جوری باید اون را به تایپ مورد نظر تبدیل کرد؟
    اینم دستورات کاملش :
    زمان ذخیره :
    SaveSetting("هر چی می خوای بنویس", "Font", "Fontname", textbox1.font.name)
    SaveSetting("هر چی می خوای بنویس", "Font", "Fontsize", textbox1.font.size)
    ----------------------------------------------------------------------
    زمان بازیابی :
    Dim Fontname as string=Getsetting("هر چی که قبلا نوشتی","Font","Fontname","")
    Dim Fontsize as byte=Getsetting("هر چی که قبلا نوشتی","Font","FontSize","")
    Textbox1.Font=New System.Drawing.Font(Fontname, Fontsize)

  17. #17
    کاربر دائمی آواتار Sub Zero
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اهواز
    پست
    443
    این روش اگه برنامه دارای چند کاربر باشه و هر کدوم بخوان تنظیمات خودشون رو داشته باشن هم جوابگو هست؟
    میتونید در پارامتر اول به جای ذخیره نام برنامه نام کاربر نوشته بشه و یا مخلوطی از هر دو و برنامتون رو طوری تنظیم کنید که هر کاربر تنظیمات خاص خودش رو از رجیستری بخونه .

    من خودم هم تا حالا از XML استفاده کردم و تو همین topic هم پیشنهاد دادم
    شاید چون استاندارده و سادس و قابل تعمیم به برنامه های تحت وب هستش
    من تا به حال با Xml کار نکردم اگه ممکنه روش کد نویسیش رو برام توضیح بدین

  18. #18
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631
    ببین این بدردت میخوره http://msdn.microsoft.com/library/de...tingscs_rl.asp

  19. #19
    کاربر دائمی آواتار eyelash
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران- اصفهان
    پست
    126
    Sub_Zero عزیز واقعا از جواباتون ممنونم.
    من طبق دستورات شما عمل کردم و مشکلم با فونت حل شد ولی با رنگ مشکل دارم و با اینکه رنگ بازیابی می شه ولی به کنترل های مورد نظر اعمال نمی شه.
    Dim BackColor As String = GetSetting("PName", "Color", "BackColor", "")
    If ((BackColor) = "Control") Then
    MainModule.ColorSetting = System.Drawing.Color.FromKnownColor(KnownColor.Con trol)
    Else
    MainModule.ColorSetting.FromName(BackColor)
    End If
    MsgBox(BackColor)

  20. #20
    کاربر دائمی آواتار Sub Zero
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اهواز
    پست
    443
    کدت رو به صورت زیر تغییر بده ببین جواب می ده :
    Dim BackColor As color = color.FromName(GetSetting("PName", "Color", "BackColor", ""))
    If (BackColor.Name = "Control") Then
    MainModule.ColorSetting = System.Drawing.Color.FromKnownColor(KnownColor.Con trol)
    Else
    MainModule.ColorSetting.FromName(BackColor.Name)
    End If
    MsgBox(BackColor)

    خودم امتحانش کردم جواب داد . اگه جواب نگرفتی سورست رو بده یه نگاهی بهش بندازم .

  21. #21
    کاربر دائمی آواتار Sub Zero
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اهواز
    پست
    443
    کدت رو به صورت زیر تغییر بده ببین جواب می ده :
    Dim BackColor As color = color.FromName(GetSetting("PName", "Color", "BackColor", ""))
    If (BackColor.Name = "Control") Then
    MainModule.ColorSetting = System.Drawing.Color.FromKnownColor(KnownColor.Con trol)
    Else
    MainModule.ColorSetting.FromName(BackColor)
    End If
    MsgBox(BackColor)

    خودم امتحانش کردم جواب داد . اگه جواب نگرفتی سورست رو بده یه نگاهی بهش بندازم .

  22. #22
    کاربر دائمی آواتار eyelash
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران- اصفهان
    پست
    126
    من فکر می کنم مشکل توی تابع SaveSetting()من باشه.چون موقع اعمال رنگ به BackGround .فرم هام این خطا را می گیرم

    This control does not support transparent background colors.

    کد ذخیره :
     :
    SaveSetting("PName", "color", "ColorName", MainModule.ColorSetting.Name

  23. #23
    کاربر دائمی آواتار Sub Zero
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    اهواز
    پست
    443
    This control does not support transparent background colors
    نکتش همین جاست . تمامی کنترلها از رنگ Transparent پشتیبانی نمیکنند . شما می خوای به زور به همشون این رنگ رو نسبت بدی . از یه رنگی استفاده کن که همه کنترلها اونو ساپورت کنن و یا حداقل کنترلهاتو دسته بندی کن :
    1- اونایی که Transparent رو می گیرن مثل Label یا GroupBox
    2- اونایی که Transparent رو نمی گیرن مثل Form یا TextBox
    بعد جداگونه بهشون مقدار بده

    پس مشکل از SaveSetting نیست .

  24. #24

    نقل قول: ذخیره تنظیمات کاربر

    وقتی برنامه را در یک جای دیگه کپی میشه تنظیمات بر میگرده به اولش چیکار باید کنیم

  25. #25

    نقل قول: ذخیره تنظیمات کاربر

    کسی نمی دونه چیکار باید کرد

  26. #26
    کاربر تازه وارد آواتار gigidagostino
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    خونه
    سن
    38
    پست
    67

    نقل قول: ذخیره تنظیمات کاربر

    سلام
    با تشکر از راهنمایی هاتون
    سوال
    آیا میشه کاری کرد که مثلا فقط فونت به تمام فرمها اعمال بشه؟

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

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