<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6874368362031950486</id><updated>2011-11-27T15:45:23.636-08:00</updated><title type='text'>Liberty Software Writers</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://liberty-software-writers.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6874368362031950486/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://liberty-software-writers.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Liberty Writer</name><uri>http://www.blogger.com/profile/15458647705922787885</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_yo7ZPV9YQVY/SZOEIh2zCnI/AAAAAAAAAF8/72HFhJts2_8/S220/chasma+copy.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6874368362031950486.post-5405088440461953336</id><published>2009-11-30T20:08:00.000-08:00</published><updated>2009-11-30T20:16:07.347-08:00</updated><title type='text'>Type in Nepali or Hindi from English Words Directly</title><content type='html'>Launched www.NepaliTransliteration.com.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This site will enable transliteration from English to Devanagari supporting languages such as Nepali and Hindi.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Keywords: Nepali Transliteration, Hindi Transliteration, Type in Nepali, Type in Hindi, Unicode Nepali, Unicode Hindi.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6874368362031950486-5405088440461953336?l=liberty-software-writers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liberty-software-writers.blogspot.com/feeds/5405088440461953336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liberty-software-writers.blogspot.com/2009/11/type-in-nepali-or-hindi-from-english.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6874368362031950486/posts/default/5405088440461953336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6874368362031950486/posts/default/5405088440461953336'/><link rel='alternate' type='text/html' href='http://liberty-software-writers.blogspot.com/2009/11/type-in-nepali-or-hindi-from-english.html' title='Type in Nepali or Hindi from English Words Directly'/><author><name>Liberty Writer</name><uri>http://www.blogger.com/profile/15458647705922787885</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_yo7ZPV9YQVY/SZOEIh2zCnI/AAAAAAAAAF8/72HFhJts2_8/S220/chasma+copy.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6874368362031950486.post-1613263220963428998</id><published>2009-09-21T15:26:00.000-07:00</published><updated>2009-09-21T15:36:37.138-07:00</updated><title type='text'>Connection Strings</title><content type='html'>&lt;div&gt;Public Shared Function RetSqLiteCn() As SQLiteConnection&lt;/div&gt;&lt;div&gt;        Dim path_to_db As String = AppDomain.CurrentDomain.BaseDirectory &amp;amp; "xxx.sqlite"&lt;/div&gt;&lt;div&gt;        Dim sqlite_connection As New SQLiteConnection("Data Source=" &amp;amp; path_to_db &amp;amp; ";Version=3;New=True;Compress=True;")&lt;/div&gt;&lt;div&gt;        Return sqlite_connection&lt;/div&gt;&lt;div&gt;    End Function&lt;/div&gt;&lt;div&gt;************************************************************************&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'ASP.Net&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Add this in Web.Config&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt; |connectionStrings|&lt;/div&gt;&lt;div&gt;    |add name ="xxxb" connectionString ="Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|xxx" providerName="System.Data.SqlClient"|&lt;/div&gt;&lt;div&gt;  |connectionStrings|&lt;/div&gt;&lt;/div&gt;&lt;div&gt;    &lt;add name="xxx" connectionstring="Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|xxx.mdf" providername="System.Data.SqlClient"&gt;&lt;/add&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;connectionstrings&gt;&lt;/connectionstrings&gt;&lt;/div&gt;&lt;div&gt;    &lt;add name="NepalDb" connectionstring="Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|NepalInfo.mdf" providername="System.Data.SqlClient"&gt;&lt;/add&gt;&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;connectionstrings&gt;&lt;/connectionstrings&gt;&lt;/div&gt;&lt;div&gt;    &lt;add name="xxx" connectionstring="Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|NepalInfo.mdf" providername="System.Data.SqlClient"&gt;&lt;/add&gt;&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;connectionstrings&gt;&lt;/connectionstrings&gt;&lt;/div&gt;&lt;div&gt;    &lt;add name="xxx" connectionstring="Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|xxx.mdf" providername="System.Data.SqlClient"&gt;&lt;/add&gt;&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;connectionstrings&gt;&lt;/connectionstrings&gt;&lt;/div&gt;&lt;div&gt;    &lt;add name="xxx" connectionstring="Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|xxx.mdf" providername="System.Data.SqlClient"&gt;&lt;/add&gt;&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt; SqlConnection sqlCn = new SqlConnection(ConfigurationManager.ConnectionStrings["xxx"].ToString());&lt;/div&gt;&lt;div&gt;        return sqlCn;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;************************************************************************&lt;/div&gt;&lt;div&gt;'Windows&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt; Public Shared Function RetSqlModeCn(ByVal strDbName As String, ByVal blnIntgSec As Boolean) As SqlConnection&lt;/div&gt;&lt;div&gt;        Dim sqlCnB As New SqlConnectionStringBuilder&lt;/div&gt;&lt;div&gt;sqlCnB.DataSource = SystemInformation.ComputerName &amp;amp; "\SQLEXPRESS"&lt;/div&gt;&lt;div&gt;        sqlCnB.InitialCatalog = strDbName&lt;/div&gt;&lt;div&gt;        sqlCnB.IntegratedSecurity = blnIntgSec&lt;/div&gt;&lt;div&gt;        sqlCnB.UserID = "sa"&lt;/div&gt;&lt;div&gt;        sqlCnB.Password = "xxxx"&lt;/div&gt;&lt;div&gt;        sqlCnB.UserInstance = False&lt;/div&gt;&lt;div&gt;        Dim sqlCn As New SqlConnection(sqlCnB.ConnectionString)&lt;/div&gt;&lt;div&gt;        Return sqlCn&lt;/div&gt;&lt;div&gt;    End Function&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6874368362031950486-1613263220963428998?l=liberty-software-writers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liberty-software-writers.blogspot.com/feeds/1613263220963428998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liberty-software-writers.blogspot.com/2009/09/connection-strings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6874368362031950486/posts/default/1613263220963428998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6874368362031950486/posts/default/1613263220963428998'/><link rel='alternate' type='text/html' href='http://liberty-software-writers.blogspot.com/2009/09/connection-strings.html' title='Connection Strings'/><author><name>Liberty Writer</name><uri>http://www.blogger.com/profile/15458647705922787885</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_yo7ZPV9YQVY/SZOEIh2zCnI/AAAAAAAAAF8/72HFhJts2_8/S220/chasma+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6874368362031950486.post-4120259213131266383</id><published>2009-09-21T13:52:00.000-07:00</published><updated>2009-09-21T13:55:02.153-07:00</updated><title type='text'>An easy reuseable class for Insert/Delete/Update operation using Dictionary</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Imports System.Windows.Forms&lt;/div&gt;&lt;div&gt;Imports System.Data.SQLite&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Public Class GenericOpt&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    'DataGridView to show the data&lt;/div&gt;&lt;div&gt;    Private dgGeneric As DataGridView&lt;/div&gt;&lt;div&gt;    'SqlConnection to connect to the database&lt;/div&gt;&lt;div&gt;    Private sqlCnGeneric As SQLiteConnection&lt;/div&gt;&lt;div&gt;    'DataAdapter to fetch the data&lt;/div&gt;&lt;div&gt;    Private daGeneric As SQLiteDataAdapter&lt;/div&gt;&lt;div&gt;    'Dataset to hold the data&lt;/div&gt;&lt;div&gt;    Private dsGeneric As DataSet&lt;/div&gt;&lt;div&gt;    'Table to perform the operation on&lt;/div&gt;&lt;div&gt;    Private strGenericTblNm As String&lt;/div&gt;&lt;div&gt;    'Select Query&lt;/div&gt;&lt;div&gt;    Private strGenericSelectQuery As String&lt;/div&gt;&lt;div&gt;    'Columns to Hide in the datagridview&lt;/div&gt;&lt;div&gt;    'Private arrClmnsToHide As DataColumn()&lt;/div&gt;&lt;div&gt;    'Columns to Make Read Only&lt;/div&gt;&lt;div&gt;    'Private arrClmnsToReadOnly As DataColumn()&lt;/div&gt;&lt;div&gt;    'Collection for the Add Data Operation&lt;/div&gt;&lt;div&gt;    Private InputData As Dictionary(Of String, String)&lt;/div&gt;&lt;div&gt;    'Get the Current Index of Row in the dataset&lt;/div&gt;&lt;div&gt;    Private intRowIndex As Integer&lt;/div&gt;&lt;div&gt;    'Form Object to which the BindingContext is associated with&lt;/div&gt;&lt;div&gt;    Private oForm As Form&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Shared m_Updtext As String = "Edit"&lt;/div&gt;&lt;div&gt;    'GetEdit/Update text&lt;/div&gt;&lt;div&gt;    Public Property GetUpdTxt() As String&lt;/div&gt;&lt;div&gt;        Get&lt;/div&gt;&lt;div&gt;            Return m_Updtext&lt;/div&gt;&lt;div&gt;        End Get&lt;/div&gt;&lt;div&gt;        Set(ByVal value As String)&lt;/div&gt;&lt;div&gt;            m_Updtext = value&lt;/div&gt;&lt;div&gt;        End Set&lt;/div&gt;&lt;div&gt;    End Property&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    'Getter and Setter method for InputData&lt;/div&gt;&lt;div&gt;    Public Property GetInputData() As Dictionary(Of String, String)&lt;/div&gt;&lt;div&gt;        Get&lt;/div&gt;&lt;div&gt;            Return InputData&lt;/div&gt;&lt;div&gt;        End Get&lt;/div&gt;&lt;div&gt;        Set(ByVal value As Dictionary(Of String, String))&lt;/div&gt;&lt;div&gt;            InputData = value&lt;/div&gt;&lt;div&gt;        End Set&lt;/div&gt;&lt;div&gt;    End Property&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    'Getter and Setter method for Form Object&lt;/div&gt;&lt;div&gt;    Public Property GetFormObject() As Form&lt;/div&gt;&lt;div&gt;        Get&lt;/div&gt;&lt;div&gt;            Return oForm&lt;/div&gt;&lt;div&gt;        End Get&lt;/div&gt;&lt;div&gt;        Set(ByVal value As Form)&lt;/div&gt;&lt;div&gt;            oForm = value&lt;/div&gt;&lt;div&gt;        End Set&lt;/div&gt;&lt;div&gt;    End Property&lt;/div&gt;&lt;div&gt;    Private m_Query As String&lt;/div&gt;&lt;div&gt;    Public Property GetQuery() As String&lt;/div&gt;&lt;div&gt;        Get&lt;/div&gt;&lt;div&gt;            Return m_Query&lt;/div&gt;&lt;div&gt;        End Get&lt;/div&gt;&lt;div&gt;        Set(ByVal value As String)&lt;/div&gt;&lt;div&gt;            m_Query = value&lt;/div&gt;&lt;div&gt;        End Set&lt;/div&gt;&lt;div&gt;    End Property&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub New()&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub New(ByVal strParamTblNm As String, ByVal strParamSelectQuery As String, ByVal dgParamGridView As DataGridView, ByVal oParamForm As Form)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        sqlCnGeneric = Utility.RetSqLiteCn()&lt;/div&gt;&lt;div&gt;        strGenericTblNm = strParamTblNm&lt;/div&gt;&lt;div&gt;        strGenericSelectQuery = strParamSelectQuery&lt;/div&gt;&lt;div&gt;        daGeneric = New SQLiteDataAdapter(strGenericSelectQuery, sqlCnGeneric)&lt;/div&gt;&lt;div&gt;        Dim cmdB As New SQLiteCommandBuilder(daGeneric)&lt;/div&gt;&lt;div&gt;        dsGeneric = New DataSet&lt;/div&gt;&lt;div&gt;        dgGeneric = dgParamGridView&lt;/div&gt;&lt;div&gt;        oForm = oParamForm&lt;/div&gt;&lt;div&gt;        FillDataSet()&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub New(ByVal strParamTblNm As String, ByVal strParamSelectQuery As String)&lt;/div&gt;&lt;div&gt;        sqlCnGeneric = Utility.RetSqLiteCn()&lt;/div&gt;&lt;div&gt;        strGenericTblNm = strParamTblNm&lt;/div&gt;&lt;div&gt;        strGenericSelectQuery = strParamSelectQuery&lt;/div&gt;&lt;div&gt;        daGeneric = New SQLiteDataAdapter(strGenericSelectQuery, sqlCnGeneric)&lt;/div&gt;&lt;div&gt;        Dim cmdB As New SQLiteCommandBuilder(daGeneric)&lt;/div&gt;&lt;div&gt;        dsGeneric = New DataSet&lt;/div&gt;&lt;div&gt;        FillDataSet()&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Function FillDataSet() As DataSet&lt;/div&gt;&lt;div&gt;        Try&lt;/div&gt;&lt;div&gt;            sqlCnGeneric.Close()&lt;/div&gt;&lt;div&gt;            sqlCnGeneric.Open()&lt;/div&gt;&lt;div&gt;            dsGeneric.Clear()&lt;/div&gt;&lt;div&gt;            daGeneric.FillSchema(dsGeneric, SchemaType.Source, strGenericTblNm)&lt;/div&gt;&lt;div&gt;            daGeneric.Fill(dsGeneric, strGenericTblNm)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        Catch ex As Exception&lt;/div&gt;&lt;div&gt;            MsgBox(ex.ToString)&lt;/div&gt;&lt;div&gt;        Finally&lt;/div&gt;&lt;div&gt;            sqlCnGeneric.Close()&lt;/div&gt;&lt;div&gt;        End Try&lt;/div&gt;&lt;div&gt;        Return dsGeneric&lt;/div&gt;&lt;div&gt;    End Function&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub FillDg()&lt;/div&gt;&lt;div&gt;        If dgGeneric IsNot Nothing Then&lt;/div&gt;&lt;div&gt;            dgGeneric.DataSource = dsGeneric&lt;/div&gt;&lt;div&gt;            dgGeneric.DataMember = strGenericTblNm&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub AddData()&lt;/div&gt;&lt;div&gt;        Try&lt;/div&gt;&lt;div&gt;            Dim addRow As DataRow = dsGeneric.Tables(strGenericTblNm).NewRow&lt;/div&gt;&lt;div&gt;            If Me.InputData IsNot Nothing Then&lt;/div&gt;&lt;div&gt;                For Each tempData As KeyValuePair(Of String, String) In Me.InputData&lt;/div&gt;&lt;div&gt;                    addRow(tempData.Key) = tempData.Value&lt;/div&gt;&lt;div&gt;                Next&lt;/div&gt;&lt;div&gt;                dsGeneric.Tables(strGenericTblNm).Rows.Add(addRow)&lt;/div&gt;&lt;div&gt;                daGeneric.Update(dsGeneric, strGenericTblNm)&lt;/div&gt;&lt;div&gt;            End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;            FillDataSet()&lt;/div&gt;&lt;div&gt;        Catch ex As Exception&lt;/div&gt;&lt;div&gt;            MsgBox(ex.ToString)&lt;/div&gt;&lt;div&gt;        End Try&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub AddDataByVerify(ByVal strPrimaryKeyData As String)&lt;/div&gt;&lt;div&gt;        Try&lt;/div&gt;&lt;div&gt;            Dim addRow As DataRow = dsGeneric.Tables(strGenericTblNm).NewRow&lt;/div&gt;&lt;div&gt;            If Me.InputData IsNot Nothing Then&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;                If dsGeneric.Tables(strGenericTblNm).Rows.Find(strPrimaryKeyData) Is Nothing Then&lt;/div&gt;&lt;div&gt;                    For Each tempData As KeyValuePair(Of String, String) In Me.InputData&lt;/div&gt;&lt;div&gt;                        addRow(tempData.Key) = tempData.Value&lt;/div&gt;&lt;div&gt;                    Next&lt;/div&gt;&lt;div&gt;                    dsGeneric.Tables(0).Rows.Add(addRow)&lt;/div&gt;&lt;div&gt;                    daGeneric.Update(dsGeneric, strGenericTblNm)&lt;/div&gt;&lt;div&gt;                End If&lt;/div&gt;&lt;div&gt;            End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;            FillDataSet()&lt;/div&gt;&lt;div&gt;        Catch ex As Exception&lt;/div&gt;&lt;div&gt;            MsgBox(ex.ToString)&lt;/div&gt;&lt;div&gt;        End Try&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub DeleteData()&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        Try&lt;/div&gt;&lt;div&gt;            intRowIndex = oForm.BindingContext(dsGeneric, strGenericTblNm).Position&lt;/div&gt;&lt;div&gt;            If intRowIndex = -1 Then&lt;/div&gt;&lt;div&gt;                MsgBox("Please Select a Valid Record!", MsgBoxStyle.Critical, "Information")&lt;/div&gt;&lt;div&gt;            Else&lt;/div&gt;&lt;div&gt;                If MsgBox("Are you sure you want to delete this record?", MsgBoxStyle.YesNo, "Confirmation") = MsgBoxResult.Yes Then&lt;/div&gt;&lt;div&gt;                    oForm.BindingContext(dsGeneric, strGenericTblNm).RemoveAt(intRowIndex)&lt;/div&gt;&lt;div&gt;                    daGeneric.Update(dsGeneric, strGenericTblNm)&lt;/div&gt;&lt;div&gt;                    MsgBox("Record Deleted Successfully!")&lt;/div&gt;&lt;div&gt;                End If&lt;/div&gt;&lt;div&gt;            End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        Catch ex As Exception&lt;/div&gt;&lt;div&gt;            MsgBox(ex.ToString)&lt;/div&gt;&lt;div&gt;        End Try&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Function GetRowIndex() As Integer&lt;/div&gt;&lt;div&gt;        Return oForm.BindingContext(dsGeneric, strGenericTblNm).Position&lt;/div&gt;&lt;div&gt;    End Function&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub UpdateData()&lt;/div&gt;&lt;div&gt;        Try&lt;/div&gt;&lt;div&gt;            oForm.BindingContext(dsGeneric, strGenericTblNm).EndCurrentEdit()&lt;/div&gt;&lt;div&gt;            daGeneric.Update(dsGeneric, strGenericTblNm)&lt;/div&gt;&lt;div&gt;            MsgBox("Record Updated Successfully!")&lt;/div&gt;&lt;div&gt;        Catch ex As Exception&lt;/div&gt;&lt;div&gt;            MsgBox(ex.ToString)&lt;/div&gt;&lt;div&gt;        End Try&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub UpdateData(ByVal objDataToUpdate As Object)&lt;/div&gt;&lt;div&gt;        dsGeneric.Tables(0).Rows(0).ItemArray() = objDataToUpdate&lt;/div&gt;&lt;div&gt;        daGeneric.Update(dsGeneric, strGenericTblNm)&lt;/div&gt;&lt;div&gt;        MsgBox("Record Updated Successfully!")&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;    Public Sub SearchData(ByVal strSearchQuery As String, Optional ByVal clmnParamToHide As Int16() = Nothing, Optional ByVal clmnParamToReadOnly As Int16() = Nothing)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        Try&lt;/div&gt;&lt;div&gt;            sqlCnGeneric.Close()&lt;/div&gt;&lt;div&gt;            sqlCnGeneric.Open()&lt;/div&gt;&lt;div&gt;            'dgGeneric.DataSource = Nothing&lt;/div&gt;&lt;div&gt;            daGeneric.SelectCommand.CommandText = strSearchQuery&lt;/div&gt;&lt;div&gt;            dsGeneric.Clear()&lt;/div&gt;&lt;div&gt;            Dim cmdB As New SQLiteCommandBuilder(daGeneric)&lt;/div&gt;&lt;div&gt;            daGeneric.Fill(dsGeneric, strGenericTblNm)&lt;/div&gt;&lt;div&gt;            'dgGeneric.DataSource = Nothing&lt;/div&gt;&lt;div&gt;            If dsGeneric IsNot Nothing Then&lt;/div&gt;&lt;div&gt;                dgGeneric.DataSource = dsGeneric&lt;/div&gt;&lt;div&gt;                dgGeneric.DataMember = strGenericTblNm&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;                If clmnParamToHide IsNot Nothing Then&lt;/div&gt;&lt;div&gt;                    For Each i As Int16 In clmnParamToHide&lt;/div&gt;&lt;div&gt;                        dgGeneric.Columns(i).Visible = False&lt;/div&gt;&lt;div&gt;                    Next&lt;/div&gt;&lt;div&gt;                End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;                If clmnParamToReadOnly IsNot Nothing Then&lt;/div&gt;&lt;div&gt;                    For Each i As Int16 In clmnParamToReadOnly&lt;/div&gt;&lt;div&gt;                        dgGeneric.Columns(i).ReadOnly = True&lt;/div&gt;&lt;div&gt;                    Next&lt;/div&gt;&lt;div&gt;                End If&lt;/div&gt;&lt;div&gt;            End If&lt;/div&gt;&lt;div&gt;        Catch ex As Exception&lt;/div&gt;&lt;div&gt;            MsgBox(ex.ToString)&lt;/div&gt;&lt;div&gt;        Finally&lt;/div&gt;&lt;div&gt;            sqlCnGeneric.Close()&lt;/div&gt;&lt;div&gt;        End Try&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub MoveRowUp()&lt;/div&gt;&lt;div&gt;        If oForm IsNot Nothing Then&lt;/div&gt;&lt;div&gt;            oForm.BindingContext(dsGeneric, strGenericTblNm).Position -= 1&lt;/div&gt;&lt;div&gt;        Else&lt;/div&gt;&lt;div&gt;            MsgBox("Form object not initialized!")&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub MoveRowDown()&lt;/div&gt;&lt;div&gt;        If oForm IsNot Nothing Then&lt;/div&gt;&lt;div&gt;            oForm.BindingContext(dsGeneric, strGenericTblNm).Position += 1&lt;/div&gt;&lt;div&gt;        Else&lt;/div&gt;&lt;div&gt;            MsgBox("Form object not initialized!")&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;    Public Sub MoveRowFirst()&lt;/div&gt;&lt;div&gt;        If oForm IsNot Nothing Then&lt;/div&gt;&lt;div&gt;            oForm.BindingContext(dsGeneric, strGenericTblNm).Position = 0&lt;/div&gt;&lt;div&gt;        Else&lt;/div&gt;&lt;div&gt;            MsgBox("Form object not initialized!")&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub MoveRowLast()&lt;/div&gt;&lt;div&gt;        If oForm IsNot Nothing Then&lt;/div&gt;&lt;div&gt;            oForm.BindingContext(dsGeneric, strGenericTblNm).Position = oForm.BindingContext(dsGeneric, strGenericTblNm).Count - 1&lt;/div&gt;&lt;div&gt;        Else&lt;/div&gt;&lt;div&gt;            MsgBox("Form object not initialized!")&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;End Class&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6874368362031950486-4120259213131266383?l=liberty-software-writers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liberty-software-writers.blogspot.com/feeds/4120259213131266383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liberty-software-writers.blogspot.com/2009/09/easy-reuseable-class-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6874368362031950486/posts/default/4120259213131266383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6874368362031950486/posts/default/4120259213131266383'/><link rel='alternate' type='text/html' href='http://liberty-software-writers.blogspot.com/2009/09/easy-reuseable-class-for.html' title='An easy reuseable class for Insert/Delete/Update operation using Dictionary'/><author><name>Liberty Writer</name><uri>http://www.blogger.com/profile/15458647705922787885</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_yo7ZPV9YQVY/SZOEIh2zCnI/AAAAAAAAAF8/72HFhJts2_8/S220/chasma+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6874368362031950486.post-7278402160632330851</id><published>2009-09-21T13:42:00.000-07:00</published><updated>2009-09-21T13:51:45.873-07:00</updated><title type='text'>Reusable Xml Operation Class</title><content type='html'>&lt;div&gt;Imports System.Xml&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Public Class Oxml&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Private m_XmlDoc As XmlDocument&lt;/div&gt;&lt;div&gt;    Private m_xmlWriter As XmlTextWriter&lt;/div&gt;&lt;div&gt;    Private m_XmlPath As String&lt;/div&gt;&lt;div&gt;    Private m_hshWE As Hashtable&lt;/div&gt;&lt;div&gt;    Private m_KeyWE As String&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Private m_strDE() As String&lt;/div&gt;&lt;div&gt;    Private m_hshUE As Hashtable&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Private m_StartElement As String&lt;/div&gt;&lt;div&gt;    Private m_SelectionNode As String&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'Constructor&lt;/div&gt;&lt;div&gt;    Public Sub New()&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'Constructor&lt;/div&gt;&lt;div&gt;    Public Sub New(ByVal xmlpath As String, ByVal startelement As String, ByVal hshWE As Hashtable, _&lt;/div&gt;&lt;div&gt;    ByVal keyWE As String, ByVal strDE() As String, ByVal hshUE As Hashtable, ByVal selectionnodes As String)&lt;/div&gt;&lt;div&gt;        m_XmlDoc = New XmlDocument()&lt;/div&gt;&lt;div&gt;        m_XmlPath = xmlpath&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        m_hshWE = hshWE&lt;/div&gt;&lt;div&gt;        m_KeyWE = keyWE&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        m_strDE = strDE&lt;/div&gt;&lt;div&gt;        m_hshUE = hshUE&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        m_SelectionNode = selectionnodes&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'Constructor&lt;/div&gt;&lt;div&gt;    Public Sub New(ByVal xmlpath As String, ByVal startelement As String, ByVal hshWE As Hashtable, _&lt;/div&gt;&lt;div&gt;    ByVal keyWE As String, ByVal selectionnode As String)&lt;/div&gt;&lt;div&gt;        m_XmlDoc = New XmlDocument()&lt;/div&gt;&lt;div&gt;        m_XmlPath = xmlpath&lt;/div&gt;&lt;div&gt;        m_StartElement = startelement&lt;/div&gt;&lt;div&gt;        m_hshWE = hshWE&lt;/div&gt;&lt;div&gt;        m_KeyWE = keyWE&lt;/div&gt;&lt;div&gt;        m_SelectionNode = selectionnode&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'Check the path of the XML file&lt;/div&gt;&lt;div&gt;    Private Function IsXMLPathValid() As Boolean&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        If IO.File.Exists(m_XmlPath) = True Then&lt;/div&gt;&lt;div&gt;            Return True&lt;/div&gt;&lt;div&gt;        Else&lt;/div&gt;&lt;div&gt;            Return False&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    End Function&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'Write Element&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub WriteElement()&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        If m_KeyWE = String.Empty Then&lt;/div&gt;&lt;div&gt;            MsgBox("Key Write Element Invalid!")&lt;/div&gt;&lt;div&gt;            Return&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        If m_hshWE Is Nothing Then&lt;/div&gt;&lt;div&gt;            MsgBox("Write Elements Invalid!")&lt;/div&gt;&lt;div&gt;            Return&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        Dim strMainIdentifier As String = m_hshWE.Item(m_KeyWE).ToString&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If IsXMLValid() = True AndAlso HasElement(strMainIdentifier) = False Then&lt;/div&gt;&lt;div&gt;            If IsXMLPathValid() = False Then&lt;/div&gt;&lt;div&gt;                MsgBox("XML File Invalid!")&lt;/div&gt;&lt;div&gt;            Else&lt;/div&gt;&lt;div&gt;                m_XmlDoc.Load(m_XmlPath)&lt;/div&gt;&lt;div&gt;                Dim root As XmlNode = m_XmlDoc.DocumentElement&lt;/div&gt;&lt;div&gt;                Dim xmlG As XmlElement = m_XmlDoc.CreateElement("Group")&lt;/div&gt;&lt;div&gt;                'xmlG.InnerText = String.Empty&lt;/div&gt;&lt;div&gt;                For Each de As DictionaryEntry In m_hshWE&lt;/div&gt;&lt;div&gt;                    Dim xmlE As XmlElement = m_XmlDoc.CreateElement(de.Key)&lt;/div&gt;&lt;div&gt;                    xmlE.InnerText = de.Value&lt;/div&gt;&lt;div&gt;                    xmlG.AppendChild(xmlE)&lt;/div&gt;&lt;div&gt;                    'root.AppendChild(xmlE)&lt;/div&gt;&lt;div&gt;                    root.AppendChild(xmlG)&lt;/div&gt;&lt;div&gt;                    m_XmlDoc.Save(m_XmlPath)&lt;/div&gt;&lt;div&gt;                Next&lt;/div&gt;&lt;div&gt;                'root.AppendChild(m_XmlDoc.CreateNode(XmlNodeType.EndElement, "/Group", Nothing))&lt;/div&gt;&lt;div&gt;            End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        If IsXMLValid() = False AndAlso HasElement(strMainIdentifier) = False Then&lt;/div&gt;&lt;div&gt;            If m_StartElement = String.Empty Then&lt;/div&gt;&lt;div&gt;                MsgBox("Start Element Invalid!")&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;            Else&lt;/div&gt;&lt;div&gt;                m_xmlWriter = New XmlTextWriter(m_XmlPath, Nothing) 'Application.StartupPath &amp;amp; "\InternalXML\URLCat.XML", Nothing)&lt;/div&gt;&lt;div&gt;                With m_xmlWriter&lt;/div&gt;&lt;div&gt;                    .Indentation = 4&lt;/div&gt;&lt;div&gt;                    .IndentChar = " "c&lt;/div&gt;&lt;div&gt;                    .Formatting = Formatting.Indented&lt;/div&gt;&lt;div&gt;                    .WriteStartDocument()&lt;/div&gt;&lt;div&gt;                    .WriteStartElement(m_StartElement)&lt;/div&gt;&lt;div&gt;                    .WriteStartElement("Group")&lt;/div&gt;&lt;div&gt;                    For Each de As DictionaryEntry In m_hshWE&lt;/div&gt;&lt;div&gt;                        .WriteElementString(de.Key, de.Value)&lt;/div&gt;&lt;div&gt;                    Next&lt;/div&gt;&lt;div&gt;                    .WriteEndElement()&lt;/div&gt;&lt;div&gt;                    .WriteEndElement()&lt;/div&gt;&lt;div&gt;                    .WriteEndDocument()&lt;/div&gt;&lt;div&gt;                    .Flush()&lt;/div&gt;&lt;div&gt;                    .Close()&lt;/div&gt;&lt;div&gt;                End With&lt;/div&gt;&lt;div&gt;            End If&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'Delete the element&lt;/div&gt;&lt;div&gt;    Public Sub DeleteElement()&lt;/div&gt;&lt;div&gt;        If IsXMLPathValid() = False Then&lt;/div&gt;&lt;div&gt;            MsgBox("XML File Invalid!")&lt;/div&gt;&lt;div&gt;        Else&lt;/div&gt;&lt;div&gt;            m_XmlDoc.Load(m_XmlPath)&lt;/div&gt;&lt;div&gt;            For Each s As String In Me.m_strDE&lt;/div&gt;&lt;div&gt;                For Each xmlnd As XmlNode In m_XmlDoc.SelectSingleNode(m_SelectionNode)&lt;/div&gt;&lt;div&gt;                    If String.Compare(xmlnd.InnerText, s, True) = 0 Then&lt;/div&gt;&lt;div&gt;                        'xmlnd.SelectSingleNode("/URLCategories/Category").ParentNode.RemoveAll()&lt;/div&gt;&lt;div&gt;                        xmlnd.ParentNode.RemoveChild(xmlnd)&lt;/div&gt;&lt;div&gt;                    End If&lt;/div&gt;&lt;div&gt;                Next&lt;/div&gt;&lt;div&gt;                m_XmlDoc.Save(m_XmlPath)&lt;/div&gt;&lt;div&gt;            Next&lt;/div&gt;&lt;div&gt;        End If&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Public Sub UpdateElement(ByVal elementname As String)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    End Sub&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'Check to see if the XML document is valid&lt;/div&gt;&lt;div&gt;    Public Function IsXMLValid() As Boolean&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        Dim xmlDoc As New XmlDocument()&lt;/div&gt;&lt;div&gt;        Try&lt;/div&gt;&lt;div&gt;            xmlDoc.Load(m_XmlPath)&lt;/div&gt;&lt;div&gt;        Catch ex As Exception&lt;/div&gt;&lt;div&gt;            MsgBox(ex.Tostring)&lt;/div&gt;&lt;div&gt;            Return False&lt;/div&gt;&lt;div&gt;        End Try&lt;/div&gt;&lt;div&gt;        Return True&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    End Function&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;'Check to see if the XML has that element&lt;/div&gt;&lt;div&gt;    Public Function HasElement(ByVal elementname As String) As Boolean&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;        Dim blnHasElement As Boolean&lt;/div&gt;&lt;div&gt;        Try&lt;/div&gt;&lt;div&gt;            If IO.File.Exists(m_XmlPath) Then&lt;/div&gt;&lt;div&gt;                Dim xmlDoc As New XmlDocument()&lt;/div&gt;&lt;div&gt;                xmlDoc.Load(m_XmlPath)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;                For Each xmlnd As XmlNode In xmlDoc.SelectNodes(m_SelectionNode)&lt;/div&gt;&lt;div&gt;                    If String.Compare(xmlnd.InnerText, elementname, True) = 0 Then&lt;/div&gt;&lt;div&gt;                        blnHasElement = True&lt;/div&gt;&lt;div&gt;                        Exit For&lt;/div&gt;&lt;div&gt;                    End If&lt;/div&gt;&lt;div&gt;                Next&lt;/div&gt;&lt;div&gt;            End If&lt;/div&gt;&lt;div&gt;        Catch ex As Exception&lt;/div&gt;&lt;div&gt;            Return False&lt;/div&gt;&lt;div&gt;        End Try&lt;/div&gt;&lt;div&gt;        Return blnHasElement&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    End Function&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;End Class&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6874368362031950486-7278402160632330851?l=liberty-software-writers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liberty-software-writers.blogspot.com/feeds/7278402160632330851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liberty-software-writers.blogspot.com/2009/09/reusable-xml-operation-class.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6874368362031950486/posts/default/7278402160632330851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6874368362031950486/posts/default/7278402160632330851'/><link rel='alternate' type='text/html' href='http://liberty-software-writers.blogspot.com/2009/09/reusable-xml-operation-class.html' title='Reusable Xml Operation Class'/><author><name>Liberty Writer</name><uri>http://www.blogger.com/profile/15458647705922787885</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_yo7ZPV9YQVY/SZOEIh2zCnI/AAAAAAAAAF8/72HFhJts2_8/S220/chasma+copy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6874368362031950486.post-8725081067986502026</id><published>2009-09-03T20:56:00.000-07:00</published><updated>2009-09-03T21:35:43.851-07:00</updated><title type='text'>XBM (Written on C# &amp; based upon MVC architecture)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yo7ZPV9YQVY/SqCWtCItOuI/AAAAAAAAAKI/G9Y40piz8Iw/s1600-h/1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 280px;" src="http://4.bp.blogspot.com/_yo7ZPV9YQVY/SqCWtCItOuI/AAAAAAAAAKI/G9Y40piz8Iw/s400/1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5377463655492041442" /&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;:&lt;a href="http://www.nobleidea.com/xbm-beta2.zip"&gt;Download it here&lt;/a&gt;&lt;/b&gt;&lt;b&gt;(Tested with WinXP only)&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;:Extract the zipped folder using any zip handler and run XBM-Beta.exe from inside the zip folder.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;:&lt;span class="Apple-style-span"  style="color:#3366FF;"&gt;Requisites(For WinXP)&lt;/span&gt;:  Install the .Net framework below first&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&amp;amp;displaylang=en&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Please report any bug/suggestions to: &lt;span class="Apple-style-span"  style="color:#3366FF;"&gt;xbiplav@hotmail.com&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;This software is still in beta version and many enhancements/functionalities are yet to come.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#3366FF;"&gt;Why this software?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;- Are your tired of losing track of your favorite urls/bookmarks or websites?&lt;/b&gt;&lt;div&gt;&lt;b&gt;- Are you tired of scrolling through a long list of bookmarks in your browser while searching for your favorite boomark?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;-Are you looking for a software to locate/manage your favorite web addresses by category or an identifer ?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Then, this software may be what you are looking for.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#3366FF;"&gt;Features:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#3366FF;"&gt;What you can do?&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;1. Give your favorite URL a suitable name-an identifier.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;2. Manage URL by category.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;3.Search URL by keyword or identifier.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;4.Locate your favorite URLS by category.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;5.Open the URL in the browser while skimming through a number of URLs.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;6.Locate URLS by import sources.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;7.Supports upto 2 Terabyte of URL/Web Addresses storage.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#3366FF;"&gt;Built in functionalities&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;1. Import boomarks from Mozilla Firefox(3.0 and higher) &amp;amp; Internet Explorer.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;2.Imports links from a folder such as a favorite folder&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;3.Import links from a textfile.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;4.Import urls from a XML file.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;5.Manually add Urls.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;6.Export links to the XML file.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6874368362031950486-8725081067986502026?l=liberty-software-writers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liberty-software-writers.blogspot.com/feeds/8725081067986502026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liberty-software-writers.blogspot.com/2009/09/xbm-xml-based-bookmarkurl-manager.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6874368362031950486/posts/default/8725081067986502026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6874368362031950486/posts/default/8725081067986502026'/><link rel='alternate' type='text/html' href='http://liberty-software-writers.blogspot.com/2009/09/xbm-xml-based-bookmarkurl-manager.html' title='XBM (Written on C# &amp; based upon MVC architecture)'/><author><name>Liberty Writer</name><uri>http://www.blogger.com/profile/15458647705922787885</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://3.bp.blogspot.com/_yo7ZPV9YQVY/SZOEIh2zCnI/AAAAAAAAAF8/72HFhJts2_8/S220/chasma+copy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_yo7ZPV9YQVY/SqCWtCItOuI/AAAAAAAAAKI/G9Y40piz8Iw/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
