RTF C#
Olá,
Eu gostaria de saber como usar essas formatações abaixo em um RTF no C#. Qual é o problema: Eu uso um programa para modelagem de requisitos, no caso o PowerDesigner, e nele digito palavras com acentos sem nenhum problema, mais quando eu tento abrir o arquivo salvo por ele no Notepad (exemplo) ele exibe as palavras que digitei com uma formatação estranha. Por exemplo a palavra NÃO. No programa mostra certo, mais no Notepad mostra N\'e3o
Abaixo a linha que contém o não:
Eu gostaria de saber como usar essas formatações abaixo em um RTF no C#. Qual é o problema: Eu uso um programa para modelagem de requisitos, no caso o PowerDesigner, e nele digito palavras com acentos sem nenhum problema, mais quando eu tento abrir o arquivo salvo por ele no Notepad (exemplo) ele exibe as palavras que digitei com uma formatação estranha. Por exemplo a palavra NÃO. No programa mostra certo, mais no Notepad mostra N\'e3o
Abaixo a linha que contém o não:
Citação:{tf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}}
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\f0\fs20 N\'e3o (Notes) - Teste\par
}
Formato RTF é assim mesmo. Se você salvar o texto RTF do objeto RichText ele vai gravar assim mesmo. Utilize a propriedade Text para gravar apenas o texto, sem formatação nenhuma. Ou, use o wordpad para abrir...
Então, mais o PowerDesigner grava dessa forma.
A minha parte é pegar o arquivo é le-lo. E quando faço isso ele converte tudo que é palavra acentuada. Gostarai de saber como ler a palavra no seu modo correto.
A minha parte é pegar o arquivo é le-lo. E quando faço isso ele converte tudo que é palavra acentuada. Gostarai de saber como ler a palavra no seu modo correto.
Use o wordpad para abrir...
Já usei o Wordpar, Word 2007, Word 2010, Notepad++
Sempre a mesma coisa....
o que eu preciso é ler esse Não da forma correta e via código.
Sempre a mesma coisa....
o que eu preciso é ler esse Não da forma correta e via código.
Alguém sabe como resolver isso?
Coloque o arquivo aqui que eu faço um [Ô]exemplo[Ô] pra vc...
Arquivo anexado.
KERPLUNK,
Abre o arquivo com qualquer editor de texto, e procure pela palavra: Possui
O código que você ver antes dessa palavra Possui é a palavra Não porém codificada.
O que preciso fazer é conseguir por exemplo usando um Stream é ler esse arquivo com as palavras acentuadas corretamente e não com essa codificação.
Obrigado
KERPLUNK,
Abre o arquivo com qualquer editor de texto, e procure pela palavra: Possui
O código que você ver antes dessa palavra Possui é a palavra Não porém codificada.
O que preciso fazer é conseguir por exemplo usando um Stream é ler esse arquivo com as palavras acentuadas corretamente e não com essa codificação.
Obrigado
Anexo
O valor que você quer, está dentro de um xml preparado para ser exibido em um browser, por isso, alguns caracteres (como o apóstrofo, por exemplo), são subsituÃdos pelo seu código unicode. No seu caso, o texto:
{tf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}}
{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\f0\fs20 N\[ô]e3o possui Notes.\par
}
Na verdade, deveria ser:
{tf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}}
{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\f0\fs20 N\[ô];e3o possui Notes.\par
}
Esse segundo sim, é um valor RTF que pode ser colado em um componente RichTextBox para ser exibido corretamente.
Então o procedimento é meio estranho, mas vai funcionar:
1 - Coloque um componente RichTextBox no seu form.
2 - Suponho que você já tenha um procedimento para buscar esse valor de dentro do arquivo. Então, pegue esse texto, use o comando replace como abaixo colocando-o como valor RTF no objeto RichText:
dim valor as string
valor = [Ô]{tf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}}{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\f0\fs20 N\& # 39e3o possui Notes.\par}[Ô]
[ô]Acima, estou colocando o valor direto na variável, mas deve vir do arquivo...
valor = replace(valor, [Ô]& # 39[Ô], [Ô][ô][Ô]) [ô]substituindo o valor unicode [Ô][ô][Ô] por apóstrofo
RichTextBox1.TextRTF = valor
Isso deve resolver seu problema.
Edição: Depois de publicar, notei que o valor [Ô]& # 39[Ô] (sem os espaços) é substituÃdo pelo apóstrofo normalmente no site. Então estou corrigindo, no valor da variável, vai estar [Ô]& # 39[Ô], na verdade não tem os espaços...
{tf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}}
{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\f0\fs20 N\[ô]e3o possui Notes.\par
}
Na verdade, deveria ser:
{tf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}}
{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\f0\fs20 N\[ô];e3o possui Notes.\par
}
Esse segundo sim, é um valor RTF que pode ser colado em um componente RichTextBox para ser exibido corretamente.
Então o procedimento é meio estranho, mas vai funcionar:
1 - Coloque um componente RichTextBox no seu form.
2 - Suponho que você já tenha um procedimento para buscar esse valor de dentro do arquivo. Então, pegue esse texto, use o comando replace como abaixo colocando-o como valor RTF no objeto RichText:
dim valor as string
valor = [Ô]{tf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}}{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\f0\fs20 N\& # 39e3o possui Notes.\par}[Ô]
[ô]Acima, estou colocando o valor direto na variável, mas deve vir do arquivo...
valor = replace(valor, [Ô]& # 39[Ô], [Ô][ô][Ô]) [ô]substituindo o valor unicode [Ô][ô][Ô] por apóstrofo
RichTextBox1.TextRTF = valor
Isso deve resolver seu problema.
Edição: Depois de publicar, notei que o valor [Ô]& # 39[Ô] (sem os espaços) é substituÃdo pelo apóstrofo normalmente no site. Então estou corrigindo, no valor da variável, vai estar [Ô]& # 39[Ô], na verdade não tem os espaços...
KERPLUNK,
Genial, funcionou perfeitamente.
Agora só para ganho de conhecimento. Por que funcionou tirando aquela parte do código por [ô] ?
Obrigado
Genial, funcionou perfeitamente.
Agora só para ganho de conhecimento. Por que funcionou tirando aquela parte do código por [ô] ?
Obrigado
Tópico encerrado , respostas não são mais permitidas