Salve,
Sto cercando di impratichirmi con Visual Studio. Mi son messo a seguire passo passo questo tutorial.
http://youtu.be/RqCpOykpQl
Per creare un editor testo simile a notepad. Quindi aprire il contenuto di un file e poi salvarlo.
Nel Form c'è un pulsante chiamato "btnOpen", un'altro chiamato "btnSave" e un riquadro testo chiamato "TextBox1"
____________________________________________________________________
| Imports System
| Imports System.IO
| Imports System.Text
|
| Public Class Form1
| _ Dim ContenutoFile As String
|
| _ Private Sub btnOpen_Click(sender As Object, e As EventArgs) Handles btnOpen.Click
| _ _ If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
| _ _ _ ContenutoFile = System.IO.File.ReadAllText(OpenFileDialog1.FileName, System.Text.Encoding.ASCII)
| _ _ _ TextBox1.Text = ContenutoFile
| _ _ End If
| _ End Sub
|
| _ Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
| _ _ If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
| _ _ _ System.IO.File.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text)
| _ _ End If
| _ End Sub
|
| End Class
____________________________________________________________________
Il risultato è fedele a quello prodotto nel tutorial. Apre piccoli file TXT mostrando il contenuto nel TextBox, e poi puoi salvare un file nuovo salvando al suo interno il contenuto del TextBox
Il problema è che funziona solo con file di testo semplici
Se io per esempio voglio editare il contenuto di un file che contiene dei simboli complessi, ascii, ecc.. non funziona
Se per esempio volessi editare questa immagine JPEG
https://www.iprogrammatori.it/images/aziende.jp
Mi dovrebbe mostrare:
ÿØÿà JFIF d d ÿì ... e via discoorendo
E invece nulla
La parte che dice "System.Text.Encoding.ASCII" l'ho aggiunta dopo (infatti non compare nel tutorial) proprio per tentare di risolvere il problema. Effettivamente, dopo che ho aggiunto quello, se io salvo il contenuto del file letto senza farlo passare dalla TextBox
System.IO.File.WriteAllText(SaveFileDialog1.FileName, ContenutoFile)
Lui effettivamente crea un file delle stesse dimensioni del file originale (cosa che non faceva prima) ma comunque non mostra all'interno la stessa simbologia.
Al simbolo
ÿ ascii(255) fa corrispondere
? (punto interrogativo)
Qualche consiglio?