Naftali 0 Denunciar post Postado Abril 30, 2006 Pessoal, é o seguinte, estou fazendo um programinha, e nele eu preciso abrir arquivos texto (.txt), tudo bem, até abrir, ler, mostrar, gravar, eu consigo...Agora o único problema é que ele não reconhece caracteres com acento (é, á, ã, etc...), e não os mostra... Teria como fazer com que o programa exibisse inclusive esses caracteres?Obrigado pela atenção... Compartilhar este post Link para o post Compartilhar em outros sites
Graymalkin 0 Denunciar post Postado Abril 30, 2006 Quando você abre o arquivo você tem que definir a codificação do mesmo. Geralmente isso é feito no segundo ou terceiro parâmetro do construtor da classe. Poste o código que você está utilizando que eu posso te indicar o que deve ser mudado.Abraços,Graymalkin Compartilhar este post Link para o post Compartilhar em outros sites
Naftali 0 Denunciar post Postado Maio 1, 2006 Dim fluxoTexto as IO.StreamReaderIf IO.file.exists(txt_Caminho.text) then fluxoTexto = New IO.StreamReader TextBox1.text = fluxoTexto.ReadToEnd fluxoTexto.Close() txt_Caminho.Enabled = false btn_Abrir.Enabled = false btn_Arq.Enabled = falseElse MsgBox("Arquivo não existente") txt_Caminho.Focus()End Iftá ae, esse código fica no evento clic do botão abrir.... Compartilhar este post Link para o post Compartilhar em outros sites
Graymalkin 0 Denunciar post Postado Maio 1, 2006 Estão faltando os parâmetros na linha... fluxoTexto = New IO.StreamReader ... mas a idéia seria: fluxoTexto = New IO.StreamReader(txt_Caminho.text, System.Text.Encoding.Default) Se a codificação ANSI (Default) não servir para o seu caso você pode tentar as outras disponíveis nesta mesma classe (UTF8, Unicode, etc.). Abraços, Graymalkin Compartilhar este post Link para o post Compartilhar em outros sites
Naftali 0 Denunciar post Postado Maio 1, 2006 Funcionou, muito obrigado!!! Compartilhar este post Link para o post Compartilhar em outros sites
Naftali 0 Denunciar post Postado Maio 1, 2006 Agora mais uma pergunta...Quando eu clico em cancelar na caixa de carregar arquivo, tem como eu voltar pro programa que foi clicado em cancelar??? Compartilhar este post Link para o post Compartilhar em outros sites
Graymalkin 0 Denunciar post Postado Maio 1, 2006 Como assim "voltar pro programa que foi clicado em cancelar"?Graymalkin Compartilhar este post Link para o post Compartilhar em outros sites
Naftali 0 Denunciar post Postado Maio 1, 2006 Pq por mais que o usuário clique em cancelar, o programa executa as linhas subsequentes, de leitura ou escrita do arquivo... Ai eu queria saber se tem como saber se ele clicou no botão cancelar ou não... Compartilhar este post Link para o post Compartilhar em outros sites
Graymalkin 0 Denunciar post Postado Maio 1, 2006 É só você olhar o retorno do método ShowDialog(). Exemplo: Dim abrir As New OpenFileDialog If abrir.ShowDialog() <> DialogResult.Cancel Then 'abrir arquivo End If Certo? ;) Graymalkin Compartilhar este post Link para o post Compartilhar em outros sites
Naftali 0 Denunciar post Postado Maio 1, 2006 É isso mesmo... Obrigado... E até a próxima ^^ Compartilhar este post Link para o post Compartilhar em outros sites
Huayra 0 Denunciar post Postado Agosto 7, 2008 Bom dia, a um bom tempo atras foi discutido o problema de uma aplicação não conseguir ler acentuação e caracteres especiais de um arquivo txt. Estou com o mesmo problema, porém não consegui ainda resolver. Por favor poderia me ajudar? Segue parte do meu código com declaração das variáveis: Imports System.IO Imports System.Collections Imports System.Text Imports System.IO.StreamReader Imports System.Data Imports System.Array Protected Shared sr As System.IO.StreamReader 'Dim fileInfo As New FileInfo(Current.Server.MapPath("Conect.config")) Dim fileInfo As New FileInfo(strCaminho) If Not fileInfo.Exists Then Return "" End If Dim bytes(fileInfo.Length - 1) As Byte Dim input As FileStream = fileInfo.OpenRead() input.Read(bytes, 0, bytes.Length) input.Close() Dim enc As New UTF8Encoding Dim strLinha As String = enc.Default.GetString(bytes).ToString() Dim strLetra As String Dim strSenha As String Dim strUser As String Dim strInicio As String = enc.Default.GetString(bytes).ToString() 'Lendo de um arquivo texto Dim strLocal As String = strCaminho sr = New StreamReader(strLocal) strInicio = sr.ReadLine() While Not strInicio Is Nothing strLinha = enc.Default.GetString(bytes).ToString() .... strInicio = sr.ReadLine() .... End While sr.Close() Application.Exit() Por favor, ja tentei de várias formas e não consegui solucionar. Desde já sou muito grata. Huayra. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 7, 2008 Foi buscar longe esse tópico hein, 2006. Quando for assim é preferível criar um novo tópico Ok. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Referente ao seu problema, você já tentou utilizar outro tipo de codificação, dependedo do tipo que você utilize você pode conseguir ler. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites