Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - apri un file di testo con un editor creato da me
Forum - C# / VB.NET - apri un file di testo con un editor creato da me

Avatar
tullio1995 (Normal User)
Rookie


Messaggi: 59
Iscritto: 20/03/2011

Segnala al moderatore
Postato alle 21:12
Martedì, 12/04/2011
Questo topic è stato chiuso dal moderatore

sto creando un editor simile al blocco note di windows. qualcuno mi saprebbe aiutare nella funzione di apertura di un file??



Risolto.
ecco il codice
Codice sorgente - presumibilmente VB.NET

  1. Dim OpenF As New OpenFileDialog
  2.         OpenF.Filter = "File di testo|*.bat"
  3.         If OpenF.ShowDialog = Windows.Forms.DialogResult.OK Then
  4.             Dim r As New IO.StreamReader(OpenF.FileName)
  5.             TextBox1.Text = r.ReadToEnd()
  6.             r.Close()
  7.         End If


ora vorrei sapere se è possibile criptare i caratteri del testo, in modo da poter aprire un file creato con la mia applicazione, solo ed esclusivamente con il mio editor?

Ultima modifica effettuata da tullio1995 il 14/04/2011 alle 15:30
PM
Avatar
Best (Normal User)
Rookie


Messaggi: 24
Iscritto: 12/09/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 21:19
Martedì, 12/04/2011
Puoi usare le finestre di dialogo, usa quindi la classe Openfiledialog.

Ci sono alcune reference qui:

http://msdn.microsoft.com/it-it/library/system.windows.for ...


ora funziona... però c'è un problema... apre il file ma non apre le parole scritte all'interno? sai dirmi cosa è successo? ho seguito la guida di microsoft - tullio1995 - 12/04/11 22:09
Pasta il sorgente - Best - 12/04/11 22:33
PM
Avatar
Lafa_96 (Normal User)
Pro


Messaggi: 111
Iscritto: 09/03/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 21:21
Martedì, 12/04/2011
puoi usare un open file dialog o un button che prende l'indirizzo di una textbox

per il button con textbox
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         RichTextBox1.LoadFile(TextBox1.Text)
  3.     End Sub



con il file dialog è la stessa cosa ma devi cambiare l'evento e nella parentesi devi mettere l'indirizzo del file dialog

piccola precisazione, con questo metodo apri correttamente solo i file ".txt" e ".rtf", per i formati proprietari (tipo ".doc") la questione si fa piu complicata perchè hanno una formattazione particolare e quindi quando li apri non aspettarti la formattazione originale del testo - Lafa_96 - 13/04/11 16:09
PM
Avatar
R0gerBlack (Member)
Expert


Messaggi: 210
Iscritto: 10/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 17:28
Mercoledì, 13/04/2011
Senti se vuoi aprire un file ti do consigli buoni da usare, se devi caricare del testo semplice puoi usare l'IO.StreamReader e si usa così:

Codice sorgente - presumibilmente VB.NET

  1. Dim Text As String
  2.         Dim OpenF As New OpenFileDialog
  3.         OpenF.Filter = "File di testo (*.txt)|*.txt|Tutti i file (*.*)|*.*"
  4.         'Attiva il filtro per i soli file .txt e tutti i formati
  5.         If OpenF.ShowDialog = Windows.Forms.DialogResult.OK Then
  6.             Dim r As New IO.StreamReader(OpenF.FileName)
  7.             Text = r.ReadToEnd()
  8.             r.Close()
  9.             'La variabile contenente il testo sarà Text
  10.             'e caricherà testo normale
  11.         End If



Altrimenti puoi anche fare così che per gli editor di testo è più consigliato, ma devi usare un controllo RichTextBox che chiameremo RTB1

Codice sorgente - presumibilmente VB.NET

  1. Dim OpenF As New OpenFileDialog
  2.         OpenF.Filter = "File RTF (*.rtf)|*.rtf|Tutti i file (*.*)|*.*"
  3.         If OpenF.ShowDialog = Windows.Forms.DialogResult.OK Then
  4.             'RTB1 caricherà il testo con tutte le formattazioni salvate
  5.             RTB1.LoadFile(OpenF.FileName)
  6.         End If



Fammi sapere se ti è servito :k:

Ultima modifica effettuata da R0gerBlack il 13/04/2011 alle 17:43
PM
Avatar
Lafa_96 (Normal User)
Pro


Messaggi: 111
Iscritto: 09/03/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 19:36
Mercoledì, 13/04/2011
ho fatto qualche ricerca e per aprire un file .doc occorre questo codice (preciso che non so se funziona perchè occorre installare word e io non ce l'ho quindi provatelo e ditemi!)
Codice sorgente - presumibilmente VB.NET

  1. Dim word_app As New Microsoft.Office.Interop.Word.Application
  2. Dim documento As Microsoft.Office.Interop.Word.Document = word_app.Documents.Open("percorso del file in formato .doc")
  3. document.SaveAs("percorso del file che vogliamo salvare in .rtf", 6)
  4. document.Close
  5. RichTextBox1.Text = System.IO.File.ReadAllText("PercorsoDelFile.rtf")



tradotto vorrebbe dire prendere il file .doc, trasformarlo in .rtf, salvarlo e andare a ripescare il file convertito per aprirlo nella richtextbox, non so se si debbano importare librerie poichè io non posso testare il codice, comunque visual basic vi dirà se si devono importare!

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
0
Down
V
Segnala al moderatore
Postato alle 12:08
Giovedì, 14/04/2011

PM
Avatar
Lafa_96 (Normal User)
Pro


Messaggi: 111
Iscritto: 09/03/2011

Up
-1
Down
V
Segnala al moderatore
Postato alle 16:31
Mercoledì, 13/04/2011
c'è anche un altro metodo se quello di prima non funzionasse o non ti piacesse (non sono sicuro al 100% che funzioni bene riguardo alla formattazione)
Codice sorgente - presumibilmente VB.NET

  1. Imports System.IO.File
  2. Public Class Form1
  3.  
  4.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  5.         Dim disco As System.IO.File
  6.         Dim leggi As System.IO.StreamReader
  7.         leggi = disco.OpenText(textbox1.text)
  8.         RichTextBox1.Text = leggi.ReadLine()
  9.     End Sub
  10. End Class



questo è per quanto riguarda il button con la textbox,
per il file dialog
Codice sorgente - presumibilmente VB.NET

  1. Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
  2.         Dim disco As System.IO.File
  3.         Dim leggi As System.IO.StreamReader
  4.         leggi = disco.OpenText(OpenFileDialog1.FileName)
  5.         RichTextBox1.Text = leggi.ReadLine()
  6.     End Sub



questo è tutto ciò che so, se vuoi roba più da smanettoni ci sono guide molto più complesse (e sicuramente più precise di me) sul sito della msdn

A vista sembra che non possa funzionare, l'IO.StreamReader si usa in un altro modo, e innanzitutto se metti .ReadLine() legge solo una riga, poi se non fai .Close() rimane aperto il processo sul file di testo e non lo rende più accessibile affinché il programma è aperto. - R0gerBlack - 13/04/11 17:49
PM