Imports System.IO
Imports System.Drawing.Printing
Public Class Form1
Private PrintPageSettings As New PageSettings
Private IpotesiToPrint As String
Private TesiToPrint As String
Private DimostrazioneToPrint As String
Private PrintTIFont As New Font("Arial", 12)
Private PrintDIMFont As New Font("Arial", 15)
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
cmbSizeMode.SelectedItem = "Normal"
pbFigura.SizeMode = PictureBoxSizeMode.Normal
End Sub
Private Sub ProgettToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ProgettToolStripMenuItem.Click
If (MsgBox("Sei sicuro? Tutti i dati non salvati andranno perduti!", MsgBoxStyle.YesNo, "Procedere?") = MsgBoxResult.Yes) Then
txtIpotesi.Text = ""
txtTesi.Text = ""
txtDimostrazione.Text = ""
End If
End Sub
Private Sub IpotesiToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles IpotesiToolStripMenuItem.Click
If (MsgBox("Sei sicuro? Tutti i dati non salvati nell'ipotesi andranno perduti!", MsgBoxStyle.YesNo, "Procedere?") = MsgBoxResult.Yes) Then
txtIpotesi.Text = ""
End If
End Sub
Private Sub TesiToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles TesiToolStripMenuItem.Click
If (MsgBox("Sei sicuro? Tutti i dati non salvati nella tesi andranno perduti!", MsgBoxStyle.YesNo, "Procedere?") = MsgBoxResult.Yes) Then
txtTesi.Text = ""
End If
End Sub
Private Sub DimostrazioneToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles DimostrazioneToolStripMenuItem.Click
If (MsgBox("Sei sicuro? Tutti i dati non salvati nella dimostrazione andranno perduti!", MsgBoxStyle.YesNo, "Procedere?") = MsgBoxResult.Yes) Then
txtDimostrazione.Text = ""
End If
End Sub
Private Sub FiguraToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles FiguraToolStripMenuItem1.Click
OpenFileDialog2.Filter = "PNG Files (*.png) | *.png | JPEG Files (*.jpg) | *.jpg | BMP Files (*.bmp) | *.bmp"
If (OpenFileDialog2.ShowDialog() = Windows.Forms.DialogResult.OK) Then
Try
pbFigura.Image = System.Drawing.Image.FromFile(OpenFileDialog2.FileName)
Catch ex As Exception
MsgBox("Il file potrebbe non essere supportato o non esistere più!", MsgBoxStyle.Critical, "Errore!")
End Try
End If
End Sub
Private Sub btnCaricaIMG_Click(sender As System.Object, e As System.EventArgs) Handles btnCaricaIMG.Click
OpenFileDialog2.Filter = "PNG Files (*.png) | *.png | JPEG Files (*.jpg) | *.jpg | BMP Files (*.bmp) | *.bmp"
If (OpenFileDialog2.ShowDialog() = Windows.Forms.DialogResult.OK) Then
Try
pbFigura.Image = System.Drawing.Image.FromFile(OpenFileDialog2.FileName)
Catch ex As Exception
MsgBox("Il file potrebbe non essere supportato o non esistere più!", MsgBoxStyle.Critical, "Errore!")
End Try
End If
End Sub
Private Sub IpotesiToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles IpotesiToolStripMenuItem1.Click
OpenFileDialog1.Filter = "Text Files (*.txt) | *.txt"
If (OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK) Then
txtIpotesi.Text = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)
End If
End Sub
Private Sub btnCaricaHP_Click(sender As System.Object, e As System.EventArgs) Handles btnCaricaHP.Click
OpenFileDialog1.Filter = "Text Files (*.txt) | *.txt"
If (OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK) Then
txtIpotesi.Text = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)
End If
End Sub
Private Sub TesiToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles TesiToolStripMenuItem1.Click
OpenFileDialog1.Filter = "Text Files (*.txt) | *.txt"
If (OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK) Then
txtTesi.Text = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)
End If
End Sub
Private Sub btnCaricaTH_Click(sender As System.Object, e As System.EventArgs) Handles btnCaricaTH.Click
OpenFileDialog1.Filter = "Text Files (*.txt) | *.txt"
If (OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK) Then
txtTesi.Text = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)
End If
End Sub
Private Sub DimostrazioneToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles DimostrazioneToolStripMenuItem1.Click
OpenFileDialog1.Filter = "Text Files (*.txt) | *.txt"
If (OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK) Then
txtDimostrazione.Text = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)
End If
End Sub
Private Sub btnCaricaDIM_Click(sender As System.Object, e As System.EventArgs) Handles btnCaricaDIM.Click
OpenFileDialog1.Filter = "Text Files (*.txt) | *.txt"
If (OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK) Then
txtDimostrazione.Text = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)
End If
End Sub
Private Sub cmbSizeMode_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbSizeMode.SelectedIndexChanged
pbFigura.SizeMode = cmbSizeMode.SelectedIndex
End Sub
Private Sub EsciToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles EsciToolStripMenuItem.Click
End
End Sub
Private Sub ProgrammaToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ProgrammaToolStripMenuItem.Click
MsgBox("GeoDem (Geometric Demonstrations) è un semplice programma per scrivere, salvare e stampare ordinatamente le tue dimostrazioni geometriche!", MsgBoxStyle.Information, "GeoDem")
End Sub
Private Sub ProgrammatoreToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ProgrammatoreToolStripMenuItem.Click
MsgBox("GeoDem è stato sviluppato interamente da Riccardo Graziosi", MsgBoxStyle.Information, "Sviluppatore")
End Sub
Private Sub NonRiescoAVisualizzareLimmagineToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles NonRiescoAVisualizzareLimmagineToolStripMenuItem.Click
MsgBox("GeoDem accetta immagini con le seguenti estensioni: .jpg, .png, .bmp, .gif, .tiff e .tga. Caricare file di testo, file eseguibili etc non è consentito.", MsgBoxStyle.Information, "Non riesco a visualizzare l'immagine")
End Sub
Private Sub NonRiescoACaricareFileDiTestoToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles NonRiescoACaricareFileDiTestoToolStripMenuItem.Click
MsgBox("GeoDem accetta file di testo solo con l'estensione .txt. Caricare file di immagini, file eseguibili o anche documenti di Word non è consentito.", MsgBoxStyle.Information, "Non riesco a caricare file di testo")
End Sub
Private Sub NonTrovoLeImmaginiAncheSeCiSonoToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles NonTrovoLeImmaginiAncheSeCiSonoToolStripMenuItem.Click
MsgBox("Prova a cambiare il filtro, ovvero da .jpg a .bmp o .png. Le immagini potrebbero non essere nel formato standard di GeoDem", MsgBoxStyle.Information, "Non trovo le immagini anche se ci sono")
End Sub
Private Sub ComeUsareIlProgrammaToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ComeUsareIlProgrammaToolStripMenuItem.Click
MsgBox("Usare GeoDem è molto semplice, infatti non devi fare altro che risolvere la dimostrazione scrivendo nelle rispettive caselle di testo Ipotesi, Tesi e Dimostrazioni. Puoi anche caricare la figura! Dopo aver finito non ti basta altro che premere Stampa! La tua dimostrazione verrà stampata ordinatamente su un foglio.", MsgBoxStyle.Information, "Come usare il programma")
End Sub
Private Sub IpotesiToolStripMenuItem3_Click(sender As System.Object, e As System.EventArgs) Handles IpotesiToolStripMenuItem3.Click
txtIpotesi.Text += "≡"
End Sub
Private Sub TesiToolStripMenuItem2_Click(sender As System.Object, e As System.EventArgs) Handles TesiToolStripMenuItem2.Click
txtTesi.Text += "≡"
End Sub
Private Sub DImostrazioneToolStripMenuItem3_Click(sender As System.Object, e As System.EventArgs) Handles DImostrazioneToolStripMenuItem3.Click
txtDimostrazione.Text += "≡"
End Sub
Private Sub IpotesiToolStripMenuItem4_Click(sender As System.Object, e As System.EventArgs) Handles IpotesiToolStripMenuItem4.Click
txtIpotesi.Text += "≠"
End Sub
Private Sub TesiToolStripMenuItem3_Click(sender As System.Object, e As System.EventArgs) Handles TesiToolStripMenuItem3.Click
txtTesi.Text += "≠"
End Sub
Private Sub DimostrazioneToolStripMenuItem4_Click(sender As System.Object, e As System.EventArgs) Handles DimostrazioneToolStripMenuItem4.Click
txtDimostrazione.Text += "≠"
End Sub
Private Sub PostulatiToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles PostulatiToolStripMenuItem.Click
Aiuto.Show()
End Sub
Private Sub IpotesiToolStripMenuItem2_Click(sender As System.Object, e As System.EventArgs) Handles IpotesiToolStripMenuItem2.Click
SaveFileDialog1.Title = "Salva Ipotesi con nome..."
SaveFileDialog1.Filter = "Text Files | *.txt | All Files | *.*"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
PrintLine(1, txtIpotesi.Text)
FileClose(1)
End If
End Sub
Private Sub btnSaveIpotesi_Click(sender As System.Object, e As System.EventArgs) Handles btnSaveIpotesi.Click
SaveFileDialog1.Title = "Salva Ipotesi con nome..."
SaveFileDialog1.Filter = "Text Files | *.txt | All Files | *.*"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
PrintLine(1, txtIpotesi.Text)
FileClose(1)
End If
End Sub
Private Sub TestiToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles TestiToolStripMenuItem.Click
SaveFileDialog1.Title = "Salva Tesi con nome..."
SaveFileDialog1.Filter = "Text Files | *.txt | All Files | *.*"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
PrintLine(1, txtTesi.Text)
FileClose(1)
End If
End Sub
Private Sub btnSaveTesi_Click(sender As System.Object, e As System.EventArgs) Handles btnSaveTesi.Click
SaveFileDialog1.Title = "Salva Tesi con nome..."
SaveFileDialog1.Filter = "Text Files | *.txt | All Files | *.*"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
PrintLine(1, txtTesi.Text)
FileClose(1)
End If
End Sub
Private Sub DimostrazioneToolStripMenuItem2_Click(sender As System.Object, e As System.EventArgs) Handles DimostrazioneToolStripMenuItem2.Click
SaveFileDialog1.Title = "Salva Dimostrazione con nome..."
SaveFileDialog1.Filter = "Text Files | *.txt | All Files | *.*"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
PrintLine(1, txtDimostrazione.Text)
FileClose(1)
End If
End Sub
Private Sub btnSaveDim_Click(sender As System.Object, e As System.EventArgs) Handles btnSaveDim.Click
SaveFileDialog1.Title = "Salva Dimostrazione con nome..."
SaveFileDialog1.Filter = "Text Files | *.txt | All Files | *.*"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
PrintLine(1, txtDimostrazione.Text)
FileClose(1)
End If
End Sub
Private Sub ProgettoToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ProgettoToolStripMenuItem.Click
'Salva Ipotesi
SaveFileDialog1.Title = "Salva Ipotesi con nome..."
SaveFileDialog1.Filter = "Text Files | *.txt | All Files | *.*"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
PrintLine(1, txtIpotesi.Text)
FileClose(1)
End If
'Salva Tesi
SaveFileDialog1.Title = "Salva Tesi con nome..."
SaveFileDialog1.Filter = "Text Files | *.txt | All Files | *.*"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
PrintLine(1, txtTesi.Text)
FileClose(1)
End If
'Salva Dimostrazione
SaveFileDialog1.Title = "Salva Dimostrazione con nome..."
SaveFileDialog1.Filter = "Text Files | *.txt | All Files | *.*"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)
PrintLine(1, txtDimostrazione.Text)
FileClose(1)
End If
End Sub
Private Sub ColoreToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ColoreToolStripMenuItem.Click
ColorDialog1.ShowDialog()
txtIpotesi.SelectionColor = ColorDialog1.Color
txtTesi.SelectionColor = ColorDialog1.Color
txtDimostrazione.SelectionColor = ColorDialog1.Color
End Sub
Private Sub CarattereToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles CarattereToolStripMenuItem.Click
FontDialog1.ShowDialog()
txtIpotesi.SelectionFont = FontDialog1.Font
txtTesi.SelectionFont = FontDialog1.Font
txtDimostrazione.SelectionFont = FontDialog1.Font
End Sub
Private Sub StampaToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles StampaToolStripMenuItem1.Click
Try
PrintDocument1.DefaultPageSettings = PrintPageSettings
IpotesiToPrint = txtIpotesi.Text
TesiToPrint = txtTesi.Text
DimostrazioneToPrint = txtDimostrazione.Text
PrintDialog1.Document = PrintDocument1
Dim result As DialogResult = PrintDialog1.ShowDialog()
If (result = Windows.Forms.DialogResult.OK) Then
PrintDocument1.Print()
End If
Catch ex As Exception
MsgBox("Si è verificato un errore imprevisto! Impossibile stampare la dimostrazione!", MsgBoxStyle.Critical, "Errore!")
End Try
End Sub
Private Sub PrintDocument1_PrintPage(sender As System.Object, e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
e.Graphics.PageUnit = GraphicsUnit.Millimeter
Dim numChars As Integer
Dim numLines As Integer
Dim stringForPageIPO As String
Dim stringForPageTESI As String
Dim stringForPageDIM As String
Dim strFormat As New StringFormat
'FIGURA
Dim FiguraTITRect As New RectangleF(10, 5, 115, 95)
Dim FiguraRect As New RectangleF(10, 15, 115, 95)
e.Graphics.DrawString(lblFigura.Text, lblFigura.Font, Brushes.Red, FiguraTITRect, strFormat)
e.Graphics.DrawImage(Image.FromFile(OpenFileDialog2.FileName), FiguraRect)
e.HasMorePages = False
'IPOTESI
Dim IpotesiTITRect As New RectangleF(134, 5, 70, 65)
Dim IpotesiRect As New RectangleF(134, 15, 70, 65)
Dim sizeMeasureIpotesi As New SizeF(70, 65 - PrintTIFont.GetHeight(e.Graphics))
strFormat.Trimming = StringTrimming.Word
e.Graphics.MeasureString(IpotesiToPrint, PrintTIFont, sizeMeasureIpotesi, strFormat, numChars, numLines)
stringForPageIPO = IpotesiToPrint.Substring(0, numChars)
e.Graphics.DrawString(lblIpotesi.Text, lblIpotesi.Font, Brushes.Red, IpotesiTITRect, strFormat)
e.Graphics.DrawString(stringForPageIPO, PrintTIFont, Brushes.Black, IpotesiRect, strFormat)
If (numChars < IpotesiToPrint.Length) Then
IpotesiToPrint = IpotesiToPrint.Substring(numChars)
e.HasMorePages = True
Else
e.HasMorePages = False
IpotesiToPrint = txtIpotesi.Text
End If
'TESI
Dim tesiTITRect As New RectangleF(134, 80, 70, 25)
Dim TesiRect As New RectangleF(134, 90, 70, 25)
Dim sizeMeasureTesi As New SizeF(70, 25 - PrintTIFont.GetHeight(e.Graphics))
strFormat.Trimming = StringTrimming.Word
e.Graphics.MeasureString(TesiToPrint, PrintTIFont, sizeMeasureTesi, strFormat, numChars, numLines)
stringForPageTESI = TesiToPrint.Substring(0, numChars)
e.Graphics.DrawString(lblTesi.Text, lblTesi.Font, Brushes.Red, tesiTITRect, strFormat)
e.Graphics.DrawString(stringForPageTESI, PrintTIFont, Brushes.Black, TesiRect, strFormat)
If (numChars < TesiToPrint.Length) Then
TesiToPrint = TesiToPrint.Substring(numChars)
e.HasMorePages = True
Else
e.HasMorePages = False
TesiToPrint = txtTesi.Text
End If
'DIMOSTRAZIONE
Dim DimostrazioneTITRect As New RectangleF(10, 115, 190, 170)
Dim DimostrazioneRect As New RectangleF(10, 125, 190, 170)
Dim sizeMeasureDimostrazione As New SizeF(190, 180 - PrintDIMFont.GetHeight(e.Graphics))
strFormat.Trimming = StringTrimming.Word
e.Graphics.MeasureString(DimostrazioneToPrint, PrintDIMFont, sizeMeasureDimostrazione, strFormat, numChars, numLines)
stringForPageDIM = DimostrazioneToPrint.Substring(0, numChars)
e.Graphics.DrawString(lblDimostrazione.Text, lblDimostrazione.Font, Brushes.Red, DimostrazioneTITRect, strFormat)
e.Graphics.DrawString(stringForPageDIM, PrintDIMFont, Brushes.Black, DimostrazioneRect, strFormat)
If (numChars < DimostrazioneToPrint.Length) Then
DimostrazioneToPrint = DimostrazioneToPrint.Substring(numChars)
e.HasMorePages = True
Else
e.HasMorePages = False
DimostrazioneToPrint = txtDimostrazione.Text
End If
End Sub
End Class