Codice PHP:
Dim MyRow As DataRow
Dim arrKeyWords() As String, strKW As String
Me.AcceptsTab = True
'Carica la colonna Word e Color
Words.Columns.Add("Word")
Words.PrimaryKey = New DataColumn() {Words.Columns(0)}
Words.Columns.Add("Color")
'Aggiunge le keywords del linguaggio SQL all'array
arrKeyWords = New String() {"select", "insert", "delete", _
"truncate", "from", "where", "into", "inner", "update", _
"outer", "on", "is", "declare", "set", "use", "values", "as", _
"order", "by", "drop", "view", "go", "trigger", "cube", _
"binary", "varbinary", "image", "char", "varchar", "text", _
"datetime", "smalldatetime", "decimal", "numeric", "float", _
"real", "bigint", "int", "smallint", "tinyint", "money", _
"smallmoney", "bit", "cursor", "timestamp", "uniqueidentifier", _
"sql_variant", "table", "nchar", "nvarchar", "ntext", "left", _
"right", "like", "and", "all", "in", "null", "join", "not", "or"}
'Quindi le aggiunge una alla volta alla tabella con colore rosso
For Each strKW In arrKeyWords
MyRow = Words.NewRow()
MyRow("Word") = strKW
MyRow("Color") = Color.LightCoral.Name
Words.Rows.Add(MyRow)
Next
Codice PHP:
ByVal lStart As Integer)
Dim i As Integer = 0
Dim SelectionAt As Integer = Me.SelectionStart
Dim MyRow As DataRow
Dim Line() As String, MyI As Integer, MyStr As String
'Blocca il refresh
LockWindowUpdate(Me.Handle.ToInt32)
MyI = lStart
If CaseSensitive Then
Line = Split(Me.Lines(LineIndex).ToString, " ")
Else
Line = Split(Me.Lines(LineIndex).ToLower, " ")
End If
For Each MyStr In Line
'Seleziona i primi MyStr.Length caratteri della linea, ossia
'la prima parola
Me.SelectionStart = MyI
Me.SelectionLength = MyStr.Length
'Se la parola è contenuta in una delle righe
If Words.Rows.Contains(MyStr) Then
'Seleziona la riga
MyRow = Words.Rows.Find(MyStr)
'Quindi colora la parola prelevando il colore da tale
'riga
If (Not CaseSensitive) Or _
(CaseSensitive And MyRow("Word") = MyStr) Then
Me.SelectionColor = Color.FromName(MyRow("Color"))
End If
Else
'Altrimenti lascia il testo in nero
Me.SelectionColor = Color.Black
End If
'Aumenta l'indice di un fattore pari alla lunghezza della
'parola
'più uno (uno spazio)
MyI += MyStr.Length + 1
Next
'Ripristina la selezione
Me.SelectionStart = SelectionAt
Me.SelectionLength = 0
'E il colore
Me.SelectionColor = Color.Black
'Riprende il refresh
LockWindowUpdate(0)
Con questo processo mi da diversi errore che non sono riuscito a risolvere