Simppeli tekstieditori. Jätin tarkoituksella hieman yksinkertaiseksi ettei tule turhaa purkkakoodia ja että aloittelijatkin varmasti tajuaa. Bonuksena läpinäkyvyystila sekä yhteensopivuus myös SharpDevelopin RC3-version kanssa. Koodin vaatimat komponentit ja niiden oletuksista poikkeavat ominaisuudet ovat selkeyden vuoksi listauksessa 2.
Imports System Imports System.Drawing Imports System.Windows.Forms Imports System.IO Imports Microsoft.VisualBasic 'Viimeinen on SharpDevelop-yhteensopivuuden vuoksi. Ota pois jos herjaa jotakin. 'Määritellään muutama muuttuja. Suosittelen laittamaan 'Windows Forms Designer Generated Coden alle varmuuden 'vuoksi. Dim Naytettava As StreamReader Dim polku As String 'Lopetettaessa. Private Sub mnuLopeta_Click(sender As System.Object, e As System.EventArgs) End End Sub 'Täytyyhän sitä kopiraitit pistää jotta hakkerit 'voivat heksaeditorilla leikkiä, jos löytävät :D Private Sub mnuInfo_Click(sender As System.Object, e As System.EventArgs) MessageBox.Show("Tekstieditori (c) Jussi Kilpeläinen 2004","Info") End Sub 'Jos halutaan vaihtaa fonttia. Käyttää FontDialogia. Kätevää. Private Sub mnuFont_Click(sender As System.Object, e As System.EventArgs) If FontDialog1.ShowDialog = DialogResult.OK Then rtbMain.Font = FontDialog1.Font End If End Sub Private Sub mnuAvaa_Click(sender As System.Object, e As System.EventArgs) 'Onko kenttä tyhjä. Jos ei, niin kysytään haluatko 'tallentaa ennen avaamista. If rtbMain.Text <> "" Then 'Selvitä mitä näytetään tallennuskehotuksessa, 'kun tiedostossa kerran on jotakin. Tämä saattaa 'jäädä joillekuille hieman hämäräksi. If OpenFileDialog1.FileName="" And SaveFileDialog1.FileName<>"" Then 'Näytetään jo tallennetun tiedoston nimi polku = SaveFileDialog1.FileName ElseIf OpenFileDialog1.Filename<>"" Then 'Tai sitten jo avatun tiedoston nimi polku=OpenFileDialog1.Filename End If 'Näytä tallennuskehotus Dim tulos As DialogResult = MessageBox.Show("Haluatko tallentaa tiedoston " & polku & "?", "Haluatko tallentaa?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) Select tulos Case DialogResult.Yes Tallenna() Case DialogResult.Cancel Exit Sub End Select End If 'Jos avauksessa painettiin OK If OpenFileDialog1.ShowDialog = DialogResult.OK Then 'Käytetään System.IOssa olevaa StreamReader-luokkaa Naytettava = New StreamReader(OpenFileDialog1.FileName,System.Text.Encoding.Default) rtbMain.Text=Naytettava.ReadToEnd Naytettava.Close() rtbMain.Select(0,0) mnuTallenna.Enabled=True End If End Sub 'Jos tallennetaan jo kerran nimellä tallennettu tiedosto Private Sub mnuTallenna_Click(sender As System.Object, e As System.EventArgs) FileOpen(1, SaveFileDialog1.FileName, Microsoft.VisualBasic.OpenMode.Output) PrintLine(1,rtbMain.Text) FileClose(1) End Sub 'Subi tallentamiseen, kuten nimi kertoo. Private Sub Tallenna() SaveFileDialog1.Filter= "Tekstitiedostot (*.txt)|*.txt|Kaikki tiedostot (*.*)|*.*|" If SaveFileDialog1.ShowDialog() = ShowDialog.OK Then FileOpen(1, SaveFileDialog1.FileName, Microsoft.VisualBasic.OpenMode.Output) PrintLine(1,rtbMain.Text) FileClose(1) End If 'Jottei sitten jos tämän jälkeen avattaessa 'tiedostoa näy avatun tiedoston nimi, niin tyhjennetään OpenFileDialog1.FileName="" End Sub Private Sub mnuBackColor_Click(sender As System.Object, e As System.EventArgs) 'Avataan ColorDialog1 ja asetetaan väri kentän taustaväriksi If ColorDialog1.ShowDialog=ShowDialog.OK Then rtbMain.BackColor=ColorDialog1.Color End If End Sub 'Vaihdetaan formin läpinäkyvyyttä Opacity-ominaisuuden avulla. Private Sub mnuOpacity_Click(sender As System.Object, e As System.EventArgs) 'Jos ei läpinäkyvä(käytännössä tarkistetaan ettei check-merkkiä valikossa) If mnuOpacity.Checked=False Then Me.Opacity=0.6 mnuOpacity.Checked=True 'Jos on läpinäkyvä jo ennestään Else Me.Opacity=1 mnuOpacity.Checked=False End If End Sub Private Sub Timer1Tick(sender As System.Object, e As System.EventArgs) 'Laitetaan palkkiin kellonaika ajastimen Interval-arvon välein StatusBar1.Text = System.DateTime.Now End Sub 'Automaattinen rivitys RichTextBoxin WordWrap-ominaisuutta 'hyväksikäyttäen Private Sub mnuWrap_Click(sender As System.Object, e As System.EventArgs) If mnuWrap.Checked=True Then rtbMain.WordWrap=False mnuWrap.Checked=False Else rtbMain.WordWrap=True mnuWrap.Checked=True End If End Sub 'Vaihdetaan tekstin väri. Private Sub mnuTextColor_Click(sender As System.Object, e As System.EventArgs) If ColorDialog1.ShowDialog=ShowDialog.OK Then rtbMain.ForeColor=ColorDialog1.Color End If End Sub Private Sub mnuTallennaNimella_Click(sender As System.Object, e As System.EventArgs) mnuTallenna.Enabled=True Tallenna() End Sub
'Menu MainMenu1 >mnuTiedosto >mnuAvaa >mnuTallenna >mnuTallennaNimella >mnuLopeta >mnuAsetukset >mnuFont >mnuTeema -> mnuBackColor mnuTextColor >mnuOpacity >mnuWrap >mnuNfo >mnuInfo rtbMain (RichTextBox) WordWrap False ScrollBars ForcedBoth Size 560; 400 DetectUrls False colorDialog1 timer1 Interval 1000 openFileDialog1 saveFileDialog1 fontDialog1 statusBar1 'Ja itse lomakkeen(formin) ominaisuudet: 'Nämä sen takia että suurennettaessa ei mene rumaksi. MaximizeBox False FormBorderStyle Fixed3D Size 570;458
Hmh. Miksi minun vinkit aina hylätään (nähtävästi tämäkin) kommentoimatta... :P
Aihe on jo aika vanha, joten et voi enää vastata siihen.