Applicazione tipo Blocco note

mercoledì 22 novembre 2006 - 16.01

eikichi Profilo | Newbie

Ciao,
vorrei creare un'applicazione tipo Blocco note, cioè che sia in grado di visualizzare qualsiasi tipo di file.
Finché apro un file di testo nessun problema. Ma se cerco di aprire ad esempio un'immagine, non riesco a far visualizzare nulla.
Ho provato aprendo il file con un BinaryReader e salvare i byte in un array. I byte vengono salvati (credo) correttamente. Poi ho convertito ciascun byte in carattere con Convert.ToChar() e ho creato una stringa da visualizzare in un TextBox, ma niente da fare. Mi visualizza solo una parte di quello che vedo aprendo il file col Blocco note di windows.

Qualcuno sa darmi una mano?
grazie

ysdemarc Profilo | Expert

non capisco, vuoi visualizza un'immaggine in formato testo?

Comunque se non ti legge tutto molto probabilmente perchè trova qualche carattere di fine file e allora li la read si stoppa e ti restituisce quelloche fino a li ha letto.

Verifica, se è così prova a cambiare il tipo di codifica.
Vincenzo
Programmatore sbilenco

eikichi Profilo | Newbie

>non capisco, vuoi visualizza un'immaggine in formato testo?

no, voglio fare come fa il blocco note di windows. se apro un immagine col blocco note vedo una serie di caratteri senza senso

>Comunque se non ti legge tutto molto probabilmente perchè trova
>qualche carattere di fine file e allora li la read si stoppa
>e ti restituisce quelloche fino a li ha letto.

come faccio a riconoscere un carattere di fine file? ed eventualmente come aggiro il problema?

ysdemarc Profilo | Expert

Cambiando l'Encoding dovresti risolverlo... Avevo avuto il tuo stesso prelema su file testuali però e mi sono accorto che lasciando decidere a .net l'encoder di apertura non sempre è la migliore soluzione.

Però attualmente non ricordo quale usai.. fai delle prove e magari mi fai sapere.
ciao


Vincenzo
Programmatore sbilenco

eikichi Profilo | Newbie

Credo di avere individuato il problema, ma resta il fatto che non so come risolverlo.

Dunque, la codifica giusta dovrebbe essere l'ASCII visto che trasformando l'array di byte in array di char quest'ultimo ha la stessa lunghezza (4713) del primo e corrisponde alla lunghezza del file.

Dall'array di char ho poi creato una stringa e anche questa sembra essere ok visto che è lunga 4713.
Mettendo però la stringa nel TextBox mi visualizza solo 15 caratteri!

Non so proprio che fare
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5