Public Class frmQHTML
#Region "Variabili, costanti, strutture"
Public Shared Indent As String = " "
Public Shared Index As Int64 = 0
Public Shared CloseTAG As String = "</body>"
Public Const Quote As Char = Chr(34)
Public Const DRight As Char = Chr(77)
Public Const Dleft As Char = Chr(75)
Public Const DUp As Char = Chr(72)
Public Const DDown As Char = Chr(80)
Public Shared AnchorLink As ArrayList
Public Saved, SavedFirst As Boolean
Public FName As String
#End Region
#Region "Funzioni, procedure, proprietà"
Public Shared Sub InsertTAG(ByVal Result As String)
Dim Ind As Int64 = Index
frmQHTML.txtCode.Text = frmQHTML.txtCode.Text.Insert(Index, Result)
frmQHTML.txtCode.SelectionStart = Ind
frmQHTML.txtCode.SelectionLength = Result.Length
End Sub
Public Shared Function QuickSearch(ByVal ToSeek As String, ByVal InWhichFind As String) As Int16
Dim S As String = ""
For i As Int16 = 0 To ToSeek.Length - 1
S = S & InWhichFind.Chars(i)
Next
For i As Int64 = ToSeek.Length To InWhichFind.Length - 1
If S = ToSeek Then
Return i
End If
S = S.Remove(0, 1)
S = S & InWhichFind.Chars(i)
Next
End Function
Public Function GetCompletelyColor(ByVal col As String) As String
Select Case col.ToLower
Case "color [orange]" : Return "orange"
Case "color [blue]" : Return "blue"
Case "color [white]" : Return "white"
Case "color [yellow]" : Return "yellow"
Case "color [gray]" : Return "gray"
Case "color [brown]" : Return "brown"
Case "color [black]" : Return "black"
Case "color [red]" : Return "red"
Case "color [green]" : Return "green"
Case "color [violet]" : Return "violet"
End Select
Return "black"
End Function
Public Sub InsertSimpleTAG(ByVal Name As String)
Dim Result As String
Result = "<" + Name + ">" + vbCrLf + " </" + Name + ">"
txtCode.Text = txtCode.Text.Insert(Index, Result)
End Sub
Public Sub IndentCode()
Me.Cursor = Cursors.WaitCursor
If MsgBox("La pulitura del codice dipende dalle dimensioni del codice HTML stesso. Perciò la durata dell'operazione potrebbe protrasrsi. Il tempo stimato è " & txtCode.Text.Length / 1000 & " secondi. Continuare?", MsgBoxStyle.Question + vbYesNo) = MsgBoxResult.No Then
Exit Sub
End If
lblStatus.Text = "Indentazione in corso... L'operazione potrebbe richiedere alcuni minuti"
Dim NewSource As String = ""
For i As Int64 = 0 To txtCode.Text.Length - 1
If txtCode.Text.Chars(i) = Chr(10) Then
NewSource = NewSource & vbCrLf
Else
NewSource = NewSource & txtCode.Text.Chars(i)
End If
Next
txtCode.Text = NewSource
lblStatus.Text = "Codice sorgnete indentato!"
Me.Cursor = Cursors.Arrow
End Sub
#End Region
Private Sub frmQHTML_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AnchorLink = New ArrayList
Saved = False
SavedFirst = False
lblStatus.Text = "Posizione corrente: 0"
End Sub
Private Sub AllineamentoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AllineamentoToolStripMenuItem.Click
Dim A As New frmAlignment(txtCode.SelectionStart)
A.ShowDialog()
End Sub
Private Sub CommentoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommentoToolStripMenuItem.Click
Dim C As New frmComment
C.ShowDialog()
End Sub
Private Sub NuovoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NuovoToolStripMenuItem.Click
Dim N As New frmNew
N.ShowDialog()
End Sub
Private Sub txtCode_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCode.KeyPress
If e.KeyChar = "ç" Then
Index = txtCode.SelectionStart
End If
End Sub
Private Sub PaginaWebToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PaginaWebToolStripMenuItem.Click
WebBrowser.DocumentText = txtCode.Text
WebBrowser.Visible = True
txtCode.Visible = False
End Sub
Private Sub SorgenteToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SorgenteToolStripMenuItem1.Click
txtCode.Visible = True
WebBrowser.Visible = False
End Sub
Private Sub txtCode_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCode.TextChanged
lblStatus.Text = "Posizione corrente: " & txtCode.SelectionStart
Index = txtCode.SelectionStart
Saved = False
End Sub
Private Sub FontToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FontToolStripMenuItem.Click
If DFont.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim Result As String = "<font"
Result += " face=" + Quote + DFont.Font.Name + Quote
Result += " size=" + Quote & DFont.Font.SizeInPoints & Quote
Result += ">" + vbCrLf + " </font>"
txtCode.Text = txtCode.Text.Insert(Index, vbCrLf + Result + vbCrLf)
End If
End Sub
Private Sub ColoreToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ColoreToolStripMenuItem.Click
Dim C As New frmColor
C.ShowDialog()
End Sub
Private Sub GrandezzaTestoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GrandezzaTestoToolStripMenuItem.Click
Dim G As Byte
G = InputBox("Introdurre un numero da 1 a 6 che specifichi la grandezza:")
If G = 0 Or G > 6 Then
MsgBox("Valore errato!", MsgBoxStyle.Exclamation)
Else
txtCode.Text = txtCode.Text.Insert(Index, "<h" & G & ">" & vbCrLf & " </h" & G & ">")
End If
End Sub
Private Sub ParagrafoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ParagrafoToolStripMenuItem.Click
txtCode.Text = txtCode.Text.Insert(Index, "<p>" + vbCrLf + " </p>")
End Sub
Private Sub BloccoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BloccoToolStripMenuItem.Click
txtCode.Text = txtCode.Text.Insert(Index, "<div>" + vbCrLf + " </div>")
End Sub
Private Sub LineaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LineaToolStripMenuItem.Click
Dim L As New frmLine
L.ShowDialog()
End Sub
Private Sub ACapoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ACapoToolStripMenuItem.Click
txtCode.Text = txtCode.Text.Insert(Index, "<br>" + vbCrLf)
End Sub
Private Sub GrassettoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GrassettoToolStripMenuItem.Click
InsertSimpleTAG("b")
End Sub
Private Sub CorsivoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CorsivoToolStripMenuItem.Click
InsertSimpleTAG("i")
End Sub
Private Sub SottolineatoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SottolineatoToolStripMenuItem.Click
InsertSimpleTAG("u")
End Sub
Private Sub BarratoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BarratoToolStripMenuItem.Click
InsertSimpleTAG("strike")
End Sub
Private Sub ApiceToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ApiceToolStripMenuItem.Click
InsertSimpleTAG("sup")
End Sub
Private Sub PediceToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PediceToolStripMenuItem.Click
InsertSimpleTAG("sub")
End Sub
Private Sub PreformattatoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PreformattatoToolStripMenuItem.Click
InsertSimpleTAG("pre")
End Sub
Private Sub AbbreviazioneToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AbbreviazioneToolStripMenuItem.Click
InsertSimpleTAG("abbr")
End Sub
Private Sub AcronimoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AcronimoToolStripMenuItem.Click
InsertSimpleTAG("acronym")
End Sub
Private Sub IndirizzoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IndirizzoToolStripMenuItem.Click
InsertSimpleTAG("address")
End Sub
Private Sub BloccoCitazioneToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BloccoCitazioneToolStripMenuItem.Click
InsertSimpleTAG("blockquote")
End Sub
Private Sub CitazioneBreveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CitazioneBreveToolStripMenuItem.Click
InsertSimpleTAG("cite")
End Sub
Private Sub SorgenteToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SorgenteToolStripMenuItem.Click
InsertSimpleTAG("code")
End Sub
Private Sub DefinizioneToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DefinizioneToolStripMenuItem.Click
InsertSimpleTAG("dfn")
End Sub
Private Sub EnfasiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EnfasiToolStripMenuItem.Click
InsertSimpleTAG("em")
End Sub
Private Sub DigitazioneTastieraToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DigitazioneTastieraToolStripMenuItem.Click
InsertSimpleTAG("kbd")
End Sub
Private Sub EsempioToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EsempioToolStripMenuItem.Click
InsertSimpleTAG("samp")
End Sub
Private Sub RafforzamentoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RafforzamentoToolStripMenuItem.Click
InsertSimpleTAG("strong")
End Sub
Private Sub VariabiliToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VariabiliToolStripMenuItem.Click
InsertSimpleTAG("var")
End Sub
Private Sub TabellaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabellaToolStripMenuItem.Click
Dim T As New frmTable
T.ShowDialog()
End Sub
Private Sub ListaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListaToolStripMenuItem.Click
Dim L As New frmList
L.ShowDialog()
End Sub
Private Sub ImmagineToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImmagineToolStripMenuItem.Click
Dim I As New frmImage
I.ShowDialog()
End Sub
Private Sub CollegamentoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CollegamentoToolStripMenuItem.Click
Dim L As New frmLink
L.ShowDialog()
End Sub
Private Sub CreaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CreaToolStripMenuItem.Click
Dim S As String = InputBox("Nome del nuovo collegamento ancora:")
AnchorLink.Add(S)
txtCode.Text = txtCode.Text.Insert(Index, "<a name=" + Quote + S + Quote + ">Testo</a>")
End Sub
Private Sub InserisciToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InserisciToolStripMenuItem.Click
Dim I As New frmAnchor
I.ShowDialog()
End Sub
Private Sub ApriToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ApriToolStripMenuItem.Click
If FOpen.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim R As New IO.StreamReader(FOpen.FileName)
txtCode.Text = R.ReadToEnd
R.Close()
R = Nothing
FName = FOpen.FileName
Saved = True
SavedFirst = True
End If
End Sub
Private Sub ChiudiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChiudiToolStripMenuItem.Click
If Not Saved Then
If MsgBox("Salvare i cambiamenti al documento corrente?", MsgBoxStyle.Question + vbYesNo) = MsgBoxResult.Yes Then
Dim W As New IO.StreamWriter(FName)
W.Write(txtCode.Text)
W.Close()
W = Nothing
End If
End If
Saved = False
SavedFirst = False
FName = Nothing
txtCode.Text = Nothing
End Sub
Private Sub SalvaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalvaToolStripMenuItem.Click
If Not SavedFirst Then
If FSave.ShowDialog = Windows.Forms.DialogResult.OK Then
FName = FSave.FileName
Dim W As New IO.StreamWriter(FName)
W.Write(txtCode.Text)
W.Close()
W = Nothing
SavedFirst = True
Saved = True
End If
Else
Dim W As New IO.StreamWriter(FName)
W.Write(txtCode.Text)
W.Close()
W = Nothing
SavedFirst = True
Saved = True
MsgBox("File salvato!", MsgBoxStyle.Information)
End If
End Sub
Private Sub SalvaComeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalvaComeToolStripMenuItem.Click
If FSave.ShowDialog = Windows.Forms.DialogResult.OK Then
FName = FSave.FileName
Dim W As New IO.StreamWriter(FName)
W.Write(txtCode.Text)
W.Close()
W = Nothing
SavedFirst = True
Saved = True
End If
End Sub
Private Sub EsciToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EsciToolStripMenuItem.Click
If Not Saved Then
If MsgBox("Salvare i cambiamenti al documento corrente?", MsgBoxStyle.Question + vbYesNo) = MsgBoxResult.Yes Then
Dim W As New IO.StreamWriter(FName)
W.Write(txtCode.Text)
W.Close()
W = Nothing
End If
End If
Application.Exit()
End Sub
Private Sub PulisciSorgenteToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PulisciSorgenteToolStripMenuItem.Click
IndentCode()
End Sub
Private Sub ModificaIntestazioneToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ModificaIntestazioneToolStripMenuItem.Click
Dim S As String = txtCode.Text
Do Until S(0) = ">"
S = S.Remove(0, 1)
Loop
S = S.Remove(0, 1)
S = "<!DOCTYPE HTML PUBLIC " + Quote + "-//W3C//DTD HTML 4.01 Frameset//IT" + Quote + " " + Quote + "http://www.w3.org/TR/html4/frameset.dtd" + Quote + ">" + S
txtCode.Text = S
End Sub
Private Sub InserisciFramesetToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InserisciFramesetToolStripMenuItem.Click
Dim F As New frmFrame
F.ShowDialog()
End Sub
Private Sub FormToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FormToolStripMenuItem.Click
Dim F As New frmForm
F.ShowDialog()
End Sub
Private Sub GroupBoxToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBoxToolStripMenuItem.Click
Dim S As String = InputBox("Inserisci il nome dell'etichetta:")
Dim Result As String
Result = "<fieldset>" + vbCrLf + " <legend>" + S + "</legend>" + vbCrLf + " <fieldset>"
txtCode.Text = txtCode.Text.Insert(Index, Result)
End Sub
Private Sub ButtonToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonToolStripMenuItem.Click
Dim B As New frmButton
B.ShowDialog()
End Sub
Private Sub TextBoxToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBoxToolStripMenuItem.Click
Dim T As New frmTextBox
T.ShowDialog()
End Sub
Private Sub LabelToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelToolStripMenuItem.Click
Dim S As String = InputBox("Testo dell'etichetta:")
txtCode.Text = txtCode.Text.Insert(Index, "<label>" + S + "</label>")
End Sub
Private Sub CheckBoxToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxToolStripMenuItem.Click
Dim C As New frmCheckBox
C.ShowDialog()
End Sub
Private Sub RadioButtonToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButtonToolStripMenuItem.Click
Dim R As New frmRadio
R.ShowDialog()
End Sub
Private Sub ComboBoxToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxToolStripMenuItem.Click
Dim C As New frmCombo
C.ShowDialog()
End Sub
Private Sub OpenFileDialogToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenFileDialogToolStripMenuItem.Click
Dim S As String = InputBox("Nome del File Dialog:", , "[FileDialog]")
Dim I As Int16 = InputBox("Lunghezza del controllo:", , 20)
txtCode.Text = txtCode.Text.Insert(Index, "<input name=" + Quote + S + Quote + " type=" + Quote + "file" + " size=" + Quote & I & Quote + ">")
End Sub
Private Sub DescrizioneToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ParoleChiaveToolStripMenuItem.Click, DescrizioneToolStripMenuItem.Click
Dim K As New frmKeyword
K.ShowDialog()
End Sub
Private Sub BugReportToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BugReportToolStripMenuItem.Click
lblStatus.Text = "Apertura pagina in corso..."
WebBrowser.Navigate("http://www.pierotofy.it/pages/conctat/writeus.php?mail=nicolo1990@yahoo.it")
txtCode.Visible = False
WebBrowser.Visible = True
End Sub
Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
MsgBox("Il programma QHTML 2.0 è stato scritto da Totem in linguaggio VB.NET. La licenza è freeware. Il codice sorgente del progetto è reperibile su http://www.pierotofy.it.", MsgBoxStyle.Information)
End Sub
End Class