(06-06-24, 11:24 AM)العتيق كتب : طبيعي أن ترغب في حفظ إعدادات الألوان والخطوط لكل مستخدم في قاعدة بيانات SQL بدلاً من الـ settings، حيث يكون لكل مستخدم إعداداته الخاصة. يمكنك القيام بذلك بسهولة باستخدام جدول في قاعدة البيانات لتخزين هذه الإعدادات.
الخطوة الأولى هي إنشاء جدول في قاعدة البيانات لتخزين إعدادات الألوان والخطوط. يمكن أن يكون لديك جدول يحتوي على الحقول التالية:
UserID: معرف المستخدم الفريد.
FontName: اسم الخط المستخدم.
FontSize: حجم الخط.
FontColor: لون الخط.
BackgroundColor: لون الخلفية.
ثم، يمكنك استخدام الكود التالي في تطبيقك لحفظ واسترجاع إعدادات الألوان والخطوط لكل مستخدم:
PHP كود :
Imports System.Data.SqlClient
Public Class Form1
Private connString As String = "Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;"
Private Sub SaveUserSettings(userID As Integer, fontName As String, fontSize As Integer, fontColor As String, bgColor As String)
Using conn As New SqlConnection(connString)
conn.Open()
Dim query As String = "INSERT INTO UserSettings (UserID, FontName, FontSize, FontColor, BackgroundColor) VALUES (@UserID, @FontName, @FontSize, @FontColor, @BgColor)"
Using cmd As New SqlCommand(query, conn)
cmd.Parameters.AddWithValue("@UserID", userID)
cmd.Parameters.AddWithValue("@FontName", fontName)
cmd.Parameters.AddWithValue("@FontSize", fontSize)
cmd.Parameters.AddWithValue("@FontColor", fontColor)
cmd.Parameters.AddWithValue("@BgColor", bgColor)
cmd.ExecuteNonQuery()
End Using
End Using
End Sub
Private Function GetUserSettings(userID As Integer) As Dictionary(Of String, String)
Dim settings As New Dictionary(Of String, String)()
Using conn As New SqlConnection(connString)
conn.Open()
Dim query As String = "SELECT FontName, FontSize, FontColor, BackgroundColor FROM UserSettings WHERE UserID = @UserID"
Using cmd As New SqlCommand(query, conn)
cmd.Parameters.AddWithValue("@UserID", userID)
Using reader As SqlDataReader = cmd.ExecuteReader()
If reader.Read() Then
settings.Add("FontName", reader("FontName").ToString())
settings.Add("FontSize", reader("FontSize").ToString())
settings.Add("FontColor", reader("FontColor").ToString())
settings.Add("BgColor", reader("BackgroundColor").ToString())
End If
End Using
End Using
End Using
Return settings
End Function
' استخدم هذه الوظيفة لحفظ إعدادات المستخدم
' يمكنك استدعائها عند تغيير الإعدادات في تطبيقك
Private Sub btnSaveSettings_Click(sender As Object, e As EventArgs) Handles btnSaveSettings.Click
Dim userID As Integer = 1 ' استبدل بمعرف المستخدم الفعلي
Dim fontName As String = "Arial" ' استبدل بالخط المختار
Dim fontSize As Integer = 12 ' استبدل بحجم الخط المختار
Dim fontColor As String = "Black" ' استبدل بلون الخط المختار
Dim bgColor As String = "White" ' استبدل بلون الخلفية المختار
SaveUserSettings(userID, fontName, fontSize, fontColor, bgColor)
End Sub
' استخدم هذه الوظيفة لاسترجاع إعدادات المستخدم
' يمكنك استدعائها عند بدء تشغيل التطبيق أو عند تحميل صفحة المستخدم
Private Sub LoadUserSettings(userID As Integer)
Dim settings As Dictionary(Of String, String) = GetUserSettings(userID)
If settings.ContainsKey("FontName") Then
Dim fontName As String = settings("FontName")
Dim fontSize As Integer = Integer.Parse(settings("FontSize"))
Dim fontColor As String = settings("FontColor")
Dim bgColor As String = settings("BgColor")
' استخدم الإعدادات لتغيير الواجهة
Me.Font = New Font(fontName, fontSize)
Me.ForeColor = Color.FromName(fontColor)
Me.BackColor = Color.FromName(bgColor)
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim userID As Integer = 1 ' استبدل بمعرف المستخدم الفعلي
LoadUserSettings(userID)
End Sub
End Class
هذا الكود يتيح لك حفظ إعدادات الخطوط والألوان لكل مستخدم في قاعدة البيانات واسترجاعها عند تحميل التطبيق. قم بتعديل القيم في الوظيفة btnSaveSettings_Click لتتناسب مع إعدادات المستخدم الفعلية في تطبيقك.
شكراً جزيلاً لك وجعله الله فى ميزان حسناتك

