PDA

View Full Version : تنظیمات



M.kavyani
دوشنبه 10 بهمن 1384, 00:05 صبح
با سلام
من میخواهم در برنامه بخشی رو برای تنظیمات اختصاص بدم که تنظیمات ( مانند نام کاربر و نام شرکت ... فونت و رنگ صفحات و.... ) رو پس از تغییر در فایل ذخیره کنم.
مشکل من اینجاست که نمیدونم این فایل رو از چه نوعی انتخاب کنم(وTXT.* یا XML.*). و همچنین چه جوری لود کنم؟؟
با تشکر از دوستان
در پناه حق موفق و کامروا باشید

habedijoo
دوشنبه 10 بهمن 1384, 09:08 صبح
به نظر من بهترین راه فایلهای ini است .

بابک زواری
دوشنبه 10 بهمن 1384, 09:50 صبح
از Setting خود VS استفاده کن راه استانداردش اینه
یکی اینکه میتونی به خود پروژه Setting اضافه کنی و هم اینکه
از پروژه Property بگیر یک setting روش هست .
نگاه کنی متوجه طرز کارش میشی

niloufar
دوشنبه 10 بهمن 1384, 14:27 عصر
سلام
همانطور که آقای زورای فرمودند، راهی که میکروسافت در 2005 پیشنهاد میکنه اینه که یه متغیر مانند در صفحه پروژه (روی My Project در solution explorer دابل کلیک کنید) و در تب Setting یک setting به هر نامی اضافه کنید. خواهید دید که در کلاس My.Settings اضافه خواهد شد که میتونید اونو هنگام خروج مقدار دهی و در ورود بعدی فراخوانی کنید.

راستی از دوستان کسی میدونه که مقادیر setting رو پس از مقدار دهی در اجرا کجا ذخیره میکنه؟
ضمنا فایل های از نوع setting رو کسی میدونه چه جور باید استفاده کنیم و چه تفاوتی با settingهای My داره؟

M.kavyani
دوشنبه 10 بهمن 1384, 19:00 عصر
سلام
ممنون از همگی کمال تشکر را دارم.
این گزینه رو دیده بودم ولی به خاطر ذهنیت قبلی که داشتم فکر میکردم باید تنظیمات به صورت دستی در فایل ذخیره شوند و بعد فراخوانی در حالی که خیلی ساده تر از این حرفاست(گویا). برم روش کار کنم اگر به مشکلی برخوردم مزاحم شما اساتید عزیز خواهم شد.
در پناه حق موفقو کامروا باشید

Amir Taghavi
دوشنبه 10 بهمن 1384, 22:29 عصر
راستی از دوستان کسی میدونه که مقادیر setting رو پس از مقدار دهی در اجرا کجا ذخیره میکنه؟
ضمنا فایل های از نوع setting رو کسی میدونه چه جور باید استفاده کنیم و چه تفاوتی با settingهای My داره؟

کلیه تنظیمات در یک xml در کنار app ذخزره می شوند

اینم یک نمونه :

بابک زواری
سه شنبه 11 بهمن 1384, 09:37 صبح
البته خود پروژه یک Setting داره و اون اغلب جوابگوی همه تنظیمات هست ولی اگر نیاز به تنظیمات بیشتری بود میتونید یک Setting دیگه اضافه کنید .
جنس تمام این تنظیمات هم XML هست

niloufar
سه شنبه 11 بهمن 1384, 13:51 عصر
سلام
1- اون XML هایی که شما میفرمایید رو قبلا دیده بودم. منتها آنها مقدار اولیه ای را که برای تنظیمات معین کرده ایم در خود دارند نه مقدار ذخیره شده ما را. اگه من درست منظور شما را نگرفته ام، دقیقتر بفرمایید کدام فایل؟
2- اینکه عرض کردم فایلهای setting رو چه جوری باید استفاده کنیم، راستی راستی منظورم فایلهای setting بود نه My.Setting
3- ضمنا عرض کرده بودم که آیا کسی تفاوتی بین این دوتا سراغ داره یا نه؟
4- یه چیز دیگه هم که الان و با sample جناب amir.taghavizadeh به ذهنم رسید اینه که من حتی در این sample وقتی خطی که رنگ زمینه فرم رو به setting مربوط به آن نسبت میده رو به ست کردن یه رنگ ثابت به این setting تغییر دادم، بازهم هنگام فراخوانی My.Settings.Reload رنگ زمینه به آن رنگ ثابت عوض میشود. چرا؟ اصلا این متد از کجا حالیش میشه باید چه کار کنه؟

بابک زواری
سه شنبه 11 بهمن 1384, 18:31 عصر
سلام
1- اون XML هایی که شما میفرمایید رو قبلا دیده بودم. منتها آنها مقدار اولیه ای را که برای تنظیمات معین کرده ایم در خود دارند نه مقدار ذخیره شده ما را. اگه من درست منظور شما را نگرفته ام، دقیقتر بفرمایید کدام فایل؟

منم تا به حال به این موضوع که در حالت RunTime چطور میشه به این فایل اطلاعاتی رو اضافه کرد و برنخورده بودم ؛ البته اون چیزی که مسلمه اینکه با دستورات و توابع مربوط به XML میشه این کار و انجام داد ؛ اما راه حل استاندارد رو دقیق نمیدونم .
اگر راه حلی نداشت یک تابع خودم مینویسم و میذارم همین جا




2- اینکه عرض کردم فایلهای setting رو چه جوری باید استفاده کنیم، راستی راستی منظورم فایلهای setting بود نه My.Setting

وقتی شما یک Setting به پروژه اضافه میکنید دقیقا مثل مورد قبلی منتها با نام اون Setting مثلا (Setting1.Val ) به مقادیر اون دسترسی پیدا میکنید .
منظورتون همین بود یا خیر ؟

Amir Taghavi
چهارشنبه 12 بهمن 1384, 00:16 صبح
1- اون XML هایی که شما میفرمایید رو قبلا دیده بودم. منتها آنها مقدار اولیه ای را که برای تنظیمات معین کرده ایم در خود دارند نه مقدار ذخیره شده ما را. اگه من درست منظور شما را نگرفته ام، دقیقتر بفرمایید کدام فایل؟
2- اینکه عرض کردم فایلهای setting رو چه جوری باید استفاده کنیم، راستی راستی منظورم فایلهای setting بود نه My.Setting
3- ضمنا عرض کرده بودم که آیا کسی تفاوتی بین این دوتا سراغ داره یا نه؟
4- یه چیز دیگه هم که الان و با sample جناب amir.taghavizadeh به ذهنم رسید اینه که من حتی در این sample وقتی خطی که رنگ زمینه فرم رو به setting مربوط به آن نسبت میده رو به ست کردن یه رنگ ثابت به این setting تغییر دادم، بازهم هنگام فراخوانی My.Settings.Reload رنگ زمینه به آن رنگ ثابت عوض میشود. چرا؟ اصلا این متد از کجا حالیش میشه باید چه کار کنه؟



سلام

1.منظور من فایلیست که پس از افزودن یک Setting به پروژه، تولید میشه که نوع آن XML

Configuration File هست نه XML خالی !!!
و اگر اون رو Delete کنید برنامه اجرا نخواهد شد. امتحان کنید

2و3. تا اونجاییکه من اطلاع دارم MY مانند یک Shortcut عمل میکند و به جای اینکه یک مسیر طولانی

را برای رسیدن به هدفمون طی کنیم میتونیم خیلی ساده از My استفاده کنیم. یکی از این Shortcut

ها مقداردهی و واکشی تنظیمات در Settings است.

4. منظور شما رو دقیق متوجه نشدم میشه بیشتر توضیح بدید


البته وقتی روی یکی از مثالهای msdn کار میکردم وقتی پروژه رو اجرا کردم و Setting های اونو

مقداردهی کردم و بعد بطور کامل از هارد Delete کردم. ولی وقتی دوباره مثال رو Download کردم و

دوباره اون رو اجرا کردم آخرین تنظیمات رو در خودش حفظ کرده بود.

من که فکر می کنم تنظیمات فقط در کنار App ذخیره نمی شن ودر جایی مثل داریو windows ردپایی از

خودشون بجا می ذارن. نظر شما چیه؟

habedijoo
چهارشنبه 12 بهمن 1384, 14:48 عصر
البته وقتی روی یکی از مثالهای msdn کار میکردم وقتی پروژه رو اجرا کردم و Setting های اونو

مقداردهی کردم و بعد بطور کامل از هارد Delete کردم. ولی وقتی دوباره مثال رو Download کردم و

دوباره اون رو اجرا کردم آخرین تنظیمات رو در خودش حفظ کرده بود.

من که فکر می کنم تنظیمات فقط در کنار App ذخیره نمی شن ودر جایی مثل داریو windows ردپایی از

خودشون بجا می ذارن. نظر شما چیه؟

جواب شما به همراه یک سری اطلاعات دیگه اینجا پیدا میشه .
http://msdn.microsoft.com/library/de...mysettings.asp

M.kavyani
چهارشنبه 12 بهمن 1384, 19:37 عصر
جواب شما به همراه یک سری اطلاعات دیگه اینجا پیدا میشه .
http://msdn.microsoft.com/library/de...mysettings.asp

با سلام و عرض شرمندگی
این لینکی که گفتید درست نیست. با پیغام زیر رو به رو شدم::متفکر:



Location Cannot Be Found


We apologize for the inconvenience, but the location you are seeking cannot be found. If you are looking for a particular document, please try one of the following areas:
Search (http://search.microsoft.com/search/search.aspx?View=msdn&st=a&c=0&s=1)

niloufar
پنج شنبه 13 بهمن 1384, 12:52 عصر
با سلام و عرض شرمندگی
این لینکی که گفتید درست نیست. با پیغام زیر رو به رو شدم::متفکر:
سلام
بله همینطوره، صحیح است.

niloufar
پنج شنبه 13 بهمن 1384, 12:55 عصر
آقا بابک ممنون
من اصلا حواسم نبود که این Settings هم یه کلاسه و ازش Instance نمیگرفتم و مشکل اینجا بود
در مورد ذخیره RunTime هم منظورم این نبود که خود اون Xml رو تغییر دهیم (که البته لازم هم نیست چون هر settingای که از نوع user تعریف شود میشه راحت تو اجرا عوضش کرد) بلکه منظورم این بود که وقتی عوضش میکنیم، خود 2005 اونو تو همون فایل xml ذخیره نمیکنه و هرچی گشتم هم پیدا نکردم کجاست!!

niloufar
پنج شنبه 13 بهمن 1384, 12:58 عصر
سلام

1.منظور من فایلیست که پس از افزودن یک Setting به پروژه، تولید میشه که نوع آن XML

Configuration File هست نه XML خالی !!!
و اگر اون رو Delete کنید برنامه اجرا نخواهد شد. امتحان کنید

2و3. تا اونجاییکه من اطلاع دارم MY مانند یک Shortcut عمل میکند و به جای اینکه یک مسیر طولانی

را برای رسیدن به هدفمون طی کنیم میتونیم خیلی ساده از My استفاده کنیم. یکی از این Shortcut

ها مقداردهی و واکشی تنظیمات در Settings است.

4. منظور شما رو دقیق متوجه نشدم میشه بیشتر توضیح بدید


البته وقتی روی یکی از مثالهای msdn کار میکردم وقتی پروژه رو اجرا کردم و Setting های اونو

مقداردهی کردم و بعد بطور کامل از هارد Delete کردم. ولی وقتی دوباره مثال رو Download کردم و

دوباره اون رو اجرا کردم آخرین تنظیمات رو در خودش حفظ کرده بود.

من که فکر می کنم تنظیمات فقط در کنار App ذخیره نمی شن ودر جایی مثل داریو windows ردپایی از

خودشون بجا می ذارن. نظر شما چیه؟
به جون خودم اون فایلی رو که شما می فرمایید دیده بودم ولی همانطور که در پست قبلی هم دوباره عرض کردم، می خوام بدونم بعد از ذخیره در اجرا اینا چی میشن، یعنی دقیقا همون سوالی که آخرسر برای خودتون پیش اومد.

Hamedm
پنج شنبه 13 بهمن 1384, 13:09 عصر
سلام

میدونم با وجود Setting در VS2005 دیگه احتیاج به هیچ کلاسی برای ذخیره تنظیمات نیست، اما گفتم این 2تا کلاس رو هم بد نیست دوستان داشته باشند:

Imports System
'a class for reading and writing XML style application settings
'sample usage:
' Create the object -
' Dim a As New AppSettings(AppSettings.Config.PrivateFile)
' Retrieve a setting -
' Dim myString As String = a.GetSetting("SettingName")
' Save a setting -
' a.SaveSetting("SettingName", value)
'
Public Class ClassAppSettings
Private _configFileName As String 'local var to hold the config file name
Private _configFileType As Config 'local var to hold the config file type (private or shared)

Public Shared filePath As String

'config file options
Public Enum Config
SharedFile 'all users use the same config file
PrivateFile 'each user has their own config file
End Enum

'constructor
Public Sub New(ByVal ConfigFileType As Config)
_configFileType = ConfigFileType 'remember this setting

InitializeConfigFile() 'setup the filename and location
End Sub

'initialize the apps config file, create it if it doesn't exist
Private Sub InitializeConfigFile()
Dim sb As New Text.StringBuilder

'build the path\filename depending on the location of the config file
Select Case _configFileType
Case Config.PrivateFile 'each user has their own personal settings
'use "\documents and settings\username\application data" for the config file directory
sb.Append(Environment.GetFolderPath(Environment.Sp ecialFolder.ApplicationData))
Case Config.SharedFile 'all users share the same settings
'use "\documents and settings\All Users\application data" for the config file directory
sb.Append(Environment.GetFolderPath(Environment.Sp ecialFolder.CommonApplicationData))
End Select

'add the product name
sb.Append("\")
sb.Append(Application.ProductName)

'create the directory if it isn't there
If Not IO.Directory.Exists(sb.ToString) Then
IO.Directory.CreateDirectory(sb.ToString)
End If

'finish building the file name
sb.Append("\")
sb.Append(Application.ProductName)
sb.Append(".config")

_configFileName = sb.ToString 'completed config filename

filePath = _configFileName

'if the file doesn't exist, create a blank xml
If Not IO.File.Exists(_configFileName) Then
Dim fn As New IO.StreamWriter(IO.File.Open(_configFileName, IO.FileMode.Create))
fn.WriteLine("<?xml version=""1.0"" encoding=""utf-8""?>")
fn.WriteLine("<configuration>")
fn.WriteLine(" <appSettings>")
fn.WriteLine(" <!-- User application and configured property settings go here.-->")
fn.WriteLine(" <!-- Example: <add key=""settingName"" value=""settingValue""/> -->")
fn.WriteLine(" </appSettings>")
fn.WriteLine("</configuration>")
fn.Close() 'all done
End If
End Sub

'get an application setting by key value
Public Function GetSetting(ByVal key As String) As String
'xml document object
Dim xd As New Xml.XmlDocument

'load the xml file
xd.Load(_configFileName)

'query for a value
Dim Node As Xml.XmlNode = xd.DocumentElement.SelectSingleNode( _
"/configuration/appSettings/add[@key=""" & key & """]")

'return the value or nothing if it doesn't exist
If Not Node Is Nothing Then
Return Node.Attributes.GetNamedItem("value").Value
Else
Return Nothing
End If
End Function

'save an application setting, takes a key and a value
Public Sub SaveSetting(ByVal key As String, ByVal value As String)
'xml document object
Dim xd As New Xml.XmlDocument

'load the xml file
xd.Load(_configFileName)

'get the value
Dim Node As Xml.XmlElement = CType(xd.DocumentElement.SelectSingleNode( _
"/configuration/appSettings/add[@key=""" & _
key & """]"), Xml.XmlElement)
If Not Node Is Nothing Then
'key found, set the value
Node.Attributes.GetNamedItem("value").Value = value
Else
'key not found, create it
Node = xd.CreateElement("add")
Node.SetAttribute("key", key)
Node.SetAttribute("value", value)

'look for the appsettings node
Dim Root As Xml.XmlNode = xd.DocumentElement.SelectSingleNode("/configuration/appSettings")

'add the new child node (this key)
If Not Root Is Nothing Then
Root.AppendChild(Node)
Else
Try
'appsettings node didn't exist, add it before adding the new child
Root = xd.DocumentElement.SelectSingleNode("/configuration")
Root.AppendChild(xd.CreateElement("appSettings"))
Root = xd.DocumentElement.SelectSingleNode("/configuration/appSettings")
Root.AppendChild(Node)
Catch ex As Exception
'failed adding node, throw an error
Throw New Exception("Could not set value", ex)
End Try
End If
End If

'finally, save the new version of the config file
xd.Save(_configFileName)
End Sub
End Class



Imports System.Collections.Hashtable
Module modSettings
Dim myHashes As Hashtable

Sub BuildHashTable(ByVal myControl As Control, Optional ByVal isInit As Boolean = True)
If isInit Then
If myHashes Is Nothing Then myHashes = New Hashtable(myControl.Controls.Count)
myHashes.Clear()
End If
Dim i%
Dim c As New Control
If myControl Is Nothing Then Exit Sub
If myControl.Controls Is Nothing Then Exit Sub
If myControl.Controls.Count <= 0 Then Exit Sub
For i = 0 To myControl.Controls.Count - 1
myHashes.Add(myControl.Controls(i).Name, myControl.Controls(i))
BuildHashTable(myControl.Controls(i), False)
Next
End Sub

Sub SetProperty(ByVal myObject As Object, ByVal Prop As String)
If myObject Is Nothing Then Exit Sub
Dim s$
Try
s = Prop
If s <> "" Then
Select Case myObject.GetType.ToString
Case "System.Windows.Forms.TextBox"
myObject.Text = s
Case "System.Windows.Forms.Label"
myObject.Text = s
Case "System.Windows.Forms.RadioButton"
If Mid(s, 1, 1) = "1" Then
myObject.checked = True
Else
myObject.checked = False
End If
Case "System.Windows.Forms.CheckBox"
If Mid(s, 1, 1) = "1" Then
myObject.checked = True
Else
myObject.checked = False
End If

End Select
End If
Catch ex As System.Exception

End Try
End Sub

Sub LoadControls(ByVal me1 As Control)
Dim key$, value$
Dim o As Control
While Not EOF(FileNo)
Try
key = LInput(FileNo)
o = myHashes.Item(key)
value = LInput(FileNo)
SetProperty(o, value)
Catch ex As System.Exception
FClose(FileNo)
Throw New System.Exception(ex.Message)
End Try
End While
End Sub

Sub SaveControls(ByVal me1 As Control)
Dim c As Object
Dim i%, s$, t$
If me1 Is Nothing Then Exit Sub
If me1.Controls Is Nothing Then Exit Sub
If me1.Controls.Count <= 0 Then Exit Sub
For i = 0 To me1.Controls.Count - 1
c = me1.Controls(i)
Try
Select Case c.GetType.ToString
Case "System.Windows.Forms.TextBox"
RSet(c.name, c.text)
Case "System.Windows.Forms.Label"
RSet(c.name, c.text)
Case "System.Windows.Forms.RadioButton"
If c.checked Then
RSet(c.name, "1")
Else
RSet(c.name, "0")
End If
Case "System.Windows.Forms.CheckBox"
If c.checked Then
RSet(c.name, "1")
Else
RSet(c.name, "0")
End If
End Select
Catch ex As System.Exception

End Try
SaveControls(me1.Controls(i))
Next
End Sub

Public Sub SaveSettings(ByVal Cntl As Control, ByVal File$)
FileNo = FOpen(File, OpenMode.Output)
If FileNo = -1 Then Throw New System.Exception("File - " + File + " cannot be opened for writing!")
BuildHashTable(Cntl)
SaveControls(Cntl)
FClose(FileNo)
End Sub

Public Sub LoadSettings(ByVal Cntl As Control, ByVal File$)
FileNo = FOpen(File)
If FileNo = -1 Then Throw New System.Exception("File - " + File + " cannot be opened for reading!")
BuildHashTable(Cntl)
LoadControls(Cntl)
FClose(FileNo)
End Sub

Dim FileNo% = -1

Private Sub RSet(ByVal Key$, ByVal Value$)
Print(FileNo, Key & vbCrLf)
Print(FileNo, Value & vbCrLf)
End Sub

Public Function FOpen(ByVal File$, Optional ByVal Mode As Microsoft.VisualBasic.OpenMode = OpenMode.Input) As Integer
FOpen = FreeFile()
Try
FileOpen(FOpen, File, Mode)
Catch ex As System.Exception
Try
FileClose(FOpen)
Catch ex2 As System.Exception

End Try
Return -1
End Try
End Function

Public Function FClose(ByVal FILE%) As Integer
Try
FileClose(FILE)
Catch ex As System.Exception
Return -1
End Try
Return 0
End Function
Public Function LInput(ByVal FILE%, Optional ByVal STR$ = "Error - Cannot read another line from file ") As String
Try
LInput = LineInput(FILE)

Catch ex As System.Exception
Throw New System.Exception(STR)
End Try
End Function

End Module


در پناه حق موفق باشید و پرتوان

M.kavyani
پنج شنبه 13 بهمن 1384, 20:13 عصر
البته خود پروژه یک Setting داره و اون اغلب جوابگوی همه تنظیمات هست ولی اگر نیاز به تنظیمات بیشتری بود میتونید یک Setting دیگه اضافه کنید .


یه سوال:
هر تنظیمات مربوط به بخش خاصی میشود . مثلا" فونت یا رنگ و یا کاربر و... . من برای تنظیمات از این گزینه ها استفاده میکنم. اما این با گفته شما تناقض دارد. آیا راه ساده تری هم وجود دارد؟ ( Setting خود پروژه کافی نیست باید بازم Setting اضافه کنم!).
:تشویق:
با تشکر

M.kavyani
جمعه 14 بهمن 1384, 11:43 صبح
یه سوال:
هر تنظیمات مربوط به بخش خاصی میشود . مثلا" فونت یا رنگ و یا کاربر و... . من برای تنظیمات از این گزینه ها استفاده میکنم. اما این با گفته شما تناقض دارد. آیا راه ساده تری هم وجود دارد؟ ( Setting خود پروژه کافی نیست باید بازم Setting اضافه کنم!).
:تشویق:
با تشکر

سلام
من همچنان منتظرم.
مشکل من اینجاست که مثلا" میخواهم برای تکست باکس و فرم ها رنگ جدا گانه ای داشته باشم. من در این حالت باید در بخش تنظیمات دوتا تنظیمات رنگ ایجاد کنم. اگر بخوام برای هر فرم رنگ جداگانه ای داشته باشم باید به تعداد فرم ها تنظیمات برای رنگ داشته باشم. آیا راه ساده تری هم وجود داره یا همین کاری که میکنم درسته؟؟( اگر گفته آقای زاوری نبود من همین شیوه رو پیش میگرفتم اما احساس میکنم راه حل ساده تری هم وجود داره).
در پناه حق موفق و کامروا باشید.

Hamedm
جمعه 14 بهمن 1384, 12:31 عصر
سلام
من همچنان منتظرم.
مشکل من اینجاست که مثلا" میخواهم برای تکست باکس و فرم ها رنگ جدا گانه ای داشته باشم. من در این حالت باید در بخش تنظیمات دوتا تنظیمات رنگ ایجاد کنم. اگر بخوام برای هر فرم رنگ جداگانه ای داشته باشم باید به تعداد فرم ها تنظیمات برای رنگ داشته باشم. آیا راه ساده تری هم وجود داره یا همین کاری که میکنم درسته؟؟( اگر گفته آقای زاوری نبود من همین شیوه رو پیش میگرفتم اما احساس میکنم راه حل ساده تری هم وجود داره).
در پناه حق موفق و کامروا باشید.

سلام

اگه بخواهی برای هر فرم یک رنگ جداگانه بزاری، کار کمی سخته، اما اگه بخواهی برای تمام فرمها یک رنگ قرار بدی، چرا از DataBindings استفاده نمیکنید؟

در پناه حق موفق باشید و پرتوان

بابک زواری
جمعه 14 بهمن 1384, 16:06 عصر
آقای کاویانی من متوجه منظورتون نمیشم ؟؟؟؟ شما میتونید چند تا تنظیم دیگه هم به پروژه اضافه کنید و جداگانه با نامهای مختلف به اون دسترسی داشته باشید و استفاده کنید حالا مسئله چی میمونه ؟

M.kavyani
جمعه 14 بهمن 1384, 16:31 عصر
آقای کاویانی من متوجه منظورتون نمیشم ؟؟؟؟ شما میتونید چند تا تنظیم دیگه هم به پروژه اضافه کنید و جداگانه با نامهای مختلف به اون دسترسی داشته باشید و استفاده کنید حالا مسئله چی میمونه ؟

با سلام

من در پست قبلیم گفتم که اگر نوشته شما نبود من همین شیوه رو در پیش میگرفتم. راستش بنا به این گفته شما :


البته خود پروژه یک Setting داره و اون اغلب جوابگوی همه تنظیمات هست ولی اگر نیاز به تنظیمات بیشتری بود میتونید یک Setting دیگه اضافه کنید .


من احساس کردم که اضافه کردن Setting های جدید کاری اشتباه است مگر اینکه اجباری ( نیازی ) در کار باشد.

در پناه حق موفق و کامروا باشید.

بابک زواری
جمعه 14 بهمن 1384, 17:16 عصر
من خودم برای تنظیمات مختلف از Setting های مختلف استفاده میکنم و اونا رو دسته بندی میکنم .
زمانی که Setting زیادی دارم این روش خوبیه ؛ اما برای 4 تا Setting دیگه نیازی به دسته بندی و از اینجور کارا نیست.

vbapr2005
شنبه 15 بهمن 1384, 01:10 صبح
با سلام به دوستان خوبم
ببخشید وسط صحبتتون میپرم اما من درباره ی مثالی که آقای تقویان گذاشتن یه مشکل دارم:
من اومدم این کد رو در قسمت Form_Closing قرار دادم:

My.Settings.Manualbg = Me.Button1.BackColor
My.Settings.Save()
کار دیگه ای هم که کردم این بود که یه فرم دیگه به برنامه اضافه کردم

و بعد از اجرای دوباره ی برنامه دیدم که هنوزم داره Form1.BackColor عوض میشه (دقت کنید که فقط و فقط بک کالر مربوط به فرم اول عوض شد) . و از این به این نتیجه رسیدم که : System.Drawing.Color فقط برای Form1.BackColor بوده :متفکر: یعنی در حقیقت میتونم اینجوری بگم که میشه بگید کجا این رنگی که در Setting ذخیره میشه خودش رو به Form1.BackColor میچسبونه؟

ممنون

habedijoo
شنبه 15 بهمن 1384, 09:06 صبح
سلام به همگی :


جواب شما به همراه یک سری اطلاعات دیگه اینجا پیدا میشه .
http://msdn.microsoft.com/library/de...mysettings.asp

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



سلام

البته وقتی روی یکی از مثالهای msdn کار میکردم وقتی پروژه رو اجرا کردم و Setting های اونو

مقداردهی کردم و بعد بطور کامل از هارد Delete کردم. ولی وقتی دوباره مثال رو Download کردم و

دوباره اون رو اجرا کردم آخرین تنظیمات رو در خودش حفظ کرده بود.

من که فکر می کنم تنظیمات فقط در کنار App ذخیره نمی شن ودر جایی مثل داریو windows ردپایی از

خودشون بجا می ذارن. نظر شما چیه؟

جواب شما رو هم بصورت Bold مشخص کردم . امیدوارم مفید باشه .

niloufar
شنبه 15 بهمن 1384, 10:24 صبح
سلام
جناب habedijoo
1- ما که هنوزم رو لینک شما کلیک می کنیم و همون پاسخ رو می گیریم :-(
2- ولی pdf شما را گرفتیم و دیدیم، خیلی باحال بود :-)

ممنون

Amir Taghavi
شنبه 15 بهمن 1384, 10:40 صبح
سلام

آقای عابدی جو ممنون از لطفتون استفاده کردیم.

habedijoo
شنبه 15 بهمن 1384, 10:46 صبح
سلام به همه و دوست عزیز niloufar .
این فایل pdf پرینت همون لینک هست که گذاشته بودم . راستش خودم هم نتونستم بازش کنم . Off Line اونو پیدا کردم و کردمش PDF . هر دوتاش یکیه .

M.kavyani
شنبه 15 بهمن 1384, 11:31 صبح
با سلام به دوستان خوبم
ببخشید وسط صحبتتون میپرم اما من درباره ی مثالی که آقای تقویان گذاشتن یه مشکل دارم:
من اومدم این کد رو در قسمت Form_Closing قرار دادم:

My.Settings.Manualbg = Me.Button1.BackColor
My.Settings.Save()
کار دیگه ای هم که کردم این بود که یه فرم دیگه به برنامه اضافه کردم

و بعد از اجرای دوباره ی برنامه دیدم که هنوزم داره Form1.BackColor عوض میشه (دقت کنید که فقط و فقط بک کالر مربوط به فرم اول عوض شد) . و از این به این نتیجه رسیدم که : System.Drawing.Color فقط برای Form1.BackColor بوده :متفکر: یعنی در حقیقت میتونم اینجوری بگم که میشه بگید کجا این رنگی که در Setting ذخیره میشه خودش رو به Form1.BackColor میچسبونه؟

ممنون

با سلام
من راستش درست منظورتو متوجه نشدم ولی حدس میزنم شما میخوای هروقت که پروژه لود میشه اوتوماتیک رنگ زمینه عوض بشه؟
برای اینکار بر رو تنظیمات(Propeties) شی مورد نظر( مثلا" فرم) در قسمت propertyBiding کار کنید. ( در آنجا هر چیزی رو که بخواهید میتوانید به تنظیمات پروژه متصل کنید.)
در پناه حق موفق و کامروا باشید.

M.kavyani
شنبه 15 بهمن 1384, 11:37 صبح
با سلام
جنا آقای عابدی جو ممنون. لطفت ممنون که آفلاین رو به PDF تبدیل کردی
ممنون

linux
یک شنبه 16 بهمن 1384, 05:53 صبح
وقتی یک قسمتی مانند connection string به setting اضافه میشه از طریق ویزارد دیتا هرکسی میتون فایل app.config را باز کنه و پسورد را ببیند چطور میشه کاری کرد که کسی نتونه پسورد را ببیند؟

reza6384
دوشنبه 21 مرداد 1387, 12:27 عصر
سلام.

ببخشید همه این بحث ها در VB2005 هست. اما من یه برنامه توی VB2003 دارم که باید Edit اش کنم و بهش تنظیمات اضافه کنم. چیکار کنم؟؟