برای تغییر زبان ویندوز از قطعه کد زیر استفاده کنید
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New System.Globalization.CultureInfo("fa-IR"))
اگر این کد در FormLoad برنامه قرار گیرد زبان ویندوز برای این فرم فارسی میشود
Private Sub ChangeLanguage(ByVal lang As String)
For Each c As Control In Me.Controls
Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(Form1))
resources.ApplyResources(c, c.Name, New CultureInfo(lang))
Next c
End Sub
برای ذخیره داده ای که میخواهیم آنرا انتقال دهیم.
3 نوع، میتوانیم داده ها را سریالایز کنیم
Imports System.Runtime.Serialization.Formatters.Binary
Dim data As String = "This must be stored in a file."
Dim fs As FileStream = New FileStream("SerializedString.Data",FileMode.Create)
Dim bf As BinaryFormatter = New BinaryFormatter
bf.Serialize(fs, data)
fs.Close
برای استفاده از generic collections ممکن است که نیاز به رابط هایی داشته باشم
مانند Sort کردن ListArray که نیاز به IComparable دارد.
این مبحث را فردا کامل میکنم
ساخت کارت فروش فروشگاهی با استفاده از ArrayList
بعد از ساخت پروژه جدید و اضافه کردن یک Button و یک ListBox به فرم اصلی یک کلاس به نام ShoppingCartItem به صورت زیر درست میکنیم
Public Class ShoppingCartItem
Public itemName As String
Public price As Double
Public Sub New(ByVal _itemName As String, ByVal _price As Double)
Me.itemName = _itemName
Me.price = _price
End Sub
End Class
namespace زیر را به فرم اصلی برنامه اضافه میکنیم:
Imports System.Collections
در رویداد کلیک دکمه اضافه شده به فرم کد های زیر را مینویسم
Dim shoppingCart As New ArrayList()
shoppingCart.Add(New ShoppingCartItem("Car", 5000))
shoppingCart.Add(New ShoppingCartItem("Book", 30))
shoppingCart.Add(New ShoppingCartItem("Phone", 80))
shoppingCart.Add(New ShoppingCartItem("Computer", 1000))
For Each
sci As ShoppingCartItem In shoppingCart
Listbox1.Items.Add(sci.itemName & ": " & sci.price.ToString())
Next
خروجی به شکل زیر خواهد بود:
حالا برای مرتب کردن ( Sort ) هم باید از رابط (اینترفیس) IComparable استفاده کنیم، کلاس خود را به شکل زیر تبدیل میکنیم
Public Class ShoppingCartItem
Implements IComparable
Public itemName As String
Public price As Double
Public Sub New(ByVal _itemName As String, ByVal _price As Double)
Me.itemName = _itemName
Me.price = _price
End Sub
Public Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo
Dim otherItem As ShoppingCartItem = DirectCast(obj, ShoppingCartItem)
Return Me.price.CompareTo(otherItem.price)
End Function
End Class
مرتب سازی بر اساس price است.
حال میتوانیم در برنامه اصلی آیتم های خود را از کوچک به بزرگ و یا بزرگ به گوچک مرتب کنیم
shoppingCart.Sort()
shoppingCart.Reverse()