Programming guides for beginner...
Any comments are welcomed....
I hope it helps!!! Thanks for drop by...
Powered By Blogger

Saturday, March 19, 2011

My simple way of XML serialization and deserialization in VB.net

 

         XML (Extensible Markup Language) is a language that designed to transport and store data. It is an universal language that can be used in many programming languages to store data. XML serialization is the method to import data into XML file while XML deserialization is the method to export data from XML file. I had created a method of serialization and deserialization of XML which might be used by most of the people but still, there are some people that don’t know how these works in VB.net.

        Here I included a sample test for my method. I put 11 checkboxes , 5 radiobuttons and 1 combobox in a form shown in the picture below.

image

Then insert the coding as following into this form source code.

Public Class Form1
Public str_filesavepath As String
Dim obj As New XML
Private Sub Form1_FormClosing(ByVal sender As Object, _
ByVal e As System.Windows.Forms.FormClosingEventArgs) _
Handles Me.FormClosing
obj.submit()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles MyBase.Load
str_filesavepath = Environment.CurrentDirectory & "\Setting.xml"
If Not IO.File.Exists(str_filesavepath) Then
obj.submit()
End If
obj.getsetting()
End Sub
End Class

Create a class from Project>Add Class. Insert the following coding into the class.

Imports System.IO
Imports System.Xml.Serialization

Public Class XML

Public Sub submit()
Dim setting As New Properties()
setting.RadioButton1 = Form1.RadioButton1.Checked.ToString
setting.RadioButton2 = Form1.RadioButton2.Checked.ToString
setting.RadioButton3 = Form1.RadioButton3.Checked.ToString
setting.RadioButton4 = Form1.RadioButton4.Checked.ToString
setting.RadioButton5 = Form1.RadioButton5.Checked.ToString
setting.checkbox1 = Form1.CheckBox1.CheckState
setting.checkbox2 = Form1.CheckBox2.CheckState
setting.checkbox3 = Form1.CheckBox3.CheckState
setting.checkbox4 = Form1.CheckBox4.CheckState
setting.checkbox5 = Form1.CheckBox5.CheckState
setting.checkbox6 = Form1.CheckBox6.CheckState
setting.checkbox7 = Form1.CheckBox7.CheckState
setting.checkbox8 = Form1.CheckBox8.CheckState
setting.checkbox9 = Form1.CheckBox9.CheckState
setting.checkbox10 = Form1.CheckBox10.CheckState
setting.checkbox11 = Form1.CheckBox11.CheckState
setting.combobox1 = Form1.ComboBox1.Text
setting.Savefilepath = Form1.str_filesavepath
SerializeToXML(setting)
End Sub
Public Sub SerializeToXML(ByVal setting As Properties)
Dim serializer As New XmlSerializer(GetType(Properties))
Dim textWriter As TextWriter = New StreamWriter(Environment.CurrentDirectory _
& "\Setting.xml")
serializer.Serialize(textWriter, setting)
textWriter.Close()
End Sub


Public Sub getsetting()
Dim deserializer As New XmlSerializer(GetType(Properties))
Dim textReader As TextReader = New StreamReader(Environment.CurrentDirectory _
& "\Setting.xml")
Dim setting As Properties
setting = DirectCast(deserializer.Deserialize(textReader), Properties)
textReader.Close()
getData(setting)
End Sub

Public Sub getData(ByVal setting As Properties)
Form1.RadioButton1.Checked = setting.RadioButton1.ToString
Form1.RadioButton2.Checked = setting.RadioButton2.ToString
Form1.RadioButton3.Checked = setting.RadioButton3.ToString
Form1.RadioButton4.Checked = setting.RadioButton4.ToString
Form1.RadioButton5.Checked = setting.RadioButton5.ToString
Form1.CheckBox1.Checked = setting.checkbox1
Form1.CheckBox2.Checked = setting.checkbox2
Form1.CheckBox3.Checked = setting.checkbox3
Form1.CheckBox4.Checked = setting.checkbox4
Form1.CheckBox5.Checked = setting.checkbox5
Form1.CheckBox6.Checked = setting.checkbox6
Form1.CheckBox7.Checked = setting.checkbox7
Form1.CheckBox8.Checked = setting.checkbox8
Form1.CheckBox9.Checked = setting.checkbox9
Form1.CheckBox10.Checked = setting.checkbox10
Form1.CheckBox11.Checked = setting.checkbox11
Form1.ComboBox1.Text = setting.combobox1
Form1.str_filesavepath = setting.Savefilepath
End Sub

End Class

And add another class with the following coding.


Public Class Properties
Private Radiobutton(4) As String
Private Checkbox(10) As String
Private combobox(0) As String
Private filepath(1) As String
Public Property RadioButton1()
Get
Return Radiobutton(0)
End Get

Set(ByVal Value)
Radiobutton(0) = Value
End Set
End Property
Public Property RadioButton2()
Get
Return Radiobutton(1)
End Get

Set(ByVal Value)
Radiobutton(1) = Value
End Set
End Property

Public Property RadioButton3()
Get
Return Radiobutton(2)
End Get

Set(ByVal Value)
Radiobutton(2) = Value
End Set
End Property
Public Property RadioButton4()
Get
Return Radiobutton(3)
End Get

Set(ByVal Value)
Radiobutton(3) = Value
End Set
End Property
Public Property RadioButton5()
Get
Return Radiobutton(4)
End Get

Set(ByVal Value)
Radiobutton(4) = Value
End Set
End Property
Public Property checkbox1()
Get
Return Checkbox(0)
End Get
Set(ByVal value)
Checkbox(0) = value
End Set
End Property

Public Property checkbox2()
Get
Return Checkbox(1)
End Get
Set(ByVal value)
Checkbox(1) = value
End Set
End Property

Public Property checkbox3()
Get
Return Checkbox(2)
End Get
Set(ByVal value)
Checkbox(2) = value
End Set
End Property

Public Property checkbox4()
Get
Return Checkbox(3)
End Get
Set(ByVal value)
Checkbox(3) = value
End Set
End Property
Public Property checkbox5()
Get
Return Checkbox(4)
End Get
Set(ByVal value)
Checkbox(4) = value
End Set
End Property
Public Property checkbox6()
Get
Return Checkbox(5)
End Get
Set(ByVal value)
Checkbox(5) = value
End Set
End Property

Public Property checkbox7()
Get
Return Checkbox(6)
End Get
Set(ByVal value)
Checkbox(6) = value
End Set
End Property
Public Property checkbox8()
Get
Return Checkbox(7)
End Get
Set(ByVal value)
Checkbox(7) = value
End Set
End Property

Public Property checkbox9()
Get
Return Checkbox(8)
End Get
Set(ByVal value)
Checkbox(8) = value
End Set
End Property

Public Property checkbox10()
Get
Return Checkbox(9)
End Get
Set(ByVal value)
Checkbox(9) = value
End Set
End Property
Public Property checkbox11()
Get
Return Checkbox(10)
End Get
Set(ByVal value)
Checkbox(10) = value
End Set
End Property
Public Property combobox1()
Get
If combobox(0) = Nothing Then
Return "F5"
Else
Return combobox(0)
End If

End Get
Set(ByVal value)
combobox(0) = value
End Set
End Property
Public Property Savefilepath()
Get
Return filepath(1)
End Get
Set(ByVal value)
filepath(1) = value
End Set
End Property

End Class


With this, the XML serialization and deserialization will works. You might be thinking how to test whether it is working or not….


   To the the coding, just simply run the program and check or uncheck any checkbox and radiobutton. Beside that, you can also change the text in combobox. The default text in combobox is “F5” which is hard-coded in the coding. When you close the program, a Setting.xml file will be created in the directory where the .exe file is. You can open it with notepad or other text editor and you will see that any changes you makes will save inside the file. When you rerun the program, you can see that all changes had been saved.


    This is how xml file works nowadays. It used to stored data and then restores it back when you need it.

Sunday, March 13, 2011

My first Android apps–Bit Converter

 

   As my friend, Meng Suan and I planned to write a program for Bit Converter in android since October 2010, he had actually completed his program on 7th November 2010 and posted on his blog while I completed mine but not for android. Mine is in Visual Basic (posted at another blog of mine which is not updated for quite a long time) while he had done it using Google App Inventor within a day but as I mentioned in my previous post that I started to work at November 2010, I had no time for new programming language and at that time, I think that Java is a very hard programming language.

   The thought changes after I had been works for 3+ months. I had learnt from my supervisor that most of the languages are almost the same. The differences between programming languages is just the syntax. He said that, if you know the concept, it won’t be difficult at all. With this kind of thinking, I try to explore more about Eclipse and Java. I had downloaded some video tutorials from here. These videos are very useful for beginner in Eclipse and Java.

The following are pictures from my emulator showing my Bit Converter apps.

1

The interfaces with radio buttons selection for one kilo = 1024 or one kilo = 1000.

2

When click on the buttons, a dialog with radio buttons will shows.

3

The continue of the dialog. The conversion till Petabytes (same as my bit converter in visual basic)

4

The output after you select the unit you wish to convert to.

To download this apps, please visit my website. Please leave comments on any curiosity.

The Earth or the World going to the end?

    As the Moon is getting nearer to the Earth, rumors say that this “SuperMoon” might be the cause to Japan Earthquake. There are few scientists stated that “SuperMoon” is not the cause of Japan Earthquake. As the Earthquake occurs, it cause tsunami and effecting about 52 countries in the Earth (correct me if I am wrong).

   Previously, an independent Christian group in the U.S. predicted that 21st May 2011 is the End. With the Earthquake in Japan and the “SuperMoon” that coming soon in 19th March 2011, many might believe that doomsday is coming. I believed that there were many that asked a similar question before, “One thing that you want to do when you going to die.” May be those who view this post might want to share your wanted to do thing before doomsday. You are welcome to leave comment. As for me, I would like to learn more things before doomsday.

   As from my post title, I am actually curious about the saying of doomsday. Many said that doomsday == the end of World. As from here, I would like to ask, is the “World” here means the Earth, or the Universe? Does it include the Galaxy? Is doomsday apply to the Earth only or it is actually apply to the Universe?

Hope I will get my answer and hope everyone will pray for the World or may be the Earth.

Sunday, March 6, 2011

Polls for my blog

 

  As I am busy since I started to work last year November, I have not much time to spend in my blog. As from the title, I would like to inform anyone who visited my blog, I had created a polls provided by Nuffnang. I hope to get some response from you who is reading this now.

I would like to know is my tutorials help you…?

How much does it help you…?

Do you ever download any programs from my website…?

Just three simple questions. I hope to get responds so that I would know whether should I often update more tutorials…

If I got good responds, I would try my best to update more of tutorials in other languages such as C#, or C# with asp.net. Thanks for voting.