Uma Ajuda Rápida

Rago

Membro
Boa tarde,
É o seguinte, estou a trabalhar em Windows Forms e preciso assim de uma ajuda rápida para a frequência de amanhã.
E quero gravar um ficheiro.txt com uma frase que vem de uma textbox, até aqui tudo bem.
O que preciso, é que ele vá depois a esse ficheiro e me troque as maiúsculas para minúsculas e vice-versa.
O meu problema deve estar a ver com controlar o ponteiro que está dentro do ficheiro já que ele só lê a ultima letra.
Código já feito.
O que está em comentário é o algoritmo que irá fazer a alteração de maiúsculas para minúsculas e vice-versa.
https://imgur.com/a/Dy3iani
 
Primeiro, isso é C#, se usas Windows Forms ou Xaml para a UI já não tem nada a ver com programação mas sim com Markup.

Por partes
Código:
int c;
Um int é um inteiro em que o tamanho vai depender da arquitectura e compilador, devias usar "char c" ou mais correctamente "byte c" que é o equivalente ao "uint8_t" do c++.

Código:
while ((c = F.ReadByte()) != -1)
{
   if (c >= 'a' && c <= 'z')
   {
     richTextBox2.Text = Convert.ToString((char)(c - 32));
   }
   else if (c >= 'A' && c <= 'Z')
   {
     richTextBox2.Text = Convert.ToString((char)(c + 32));
   }
   else
   {
     richTextBox2.Text = Convert.ToString((char)c);
   }
}
Código indentado e com chavetas é muito mais simples de ler e evita erros tanto do utilizador como do parser do compilador.

Código:
richTextBox2.Text = Convert.ToString((char)(c - 32));
Nem sei o que pretendias que saísse daqui, estás a mudar o texto todo da textbox por um char, claro que só aparece o último char, já que por cada iteração ele vai alterar o texto pelo char onde está.

Pelo que percebi, queres passar do ficheiro para a textbox
Código:
richTextBox2.Text += Convert.ToString((char)(c - 32));
Isto faz com que ele adicione a string no final (concatenação), e assim já ficas com a string completa.
 
Back
Topo