Você está aqui: C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Lendo o conteúdo de um arquivo uma linha de cada vez usando a classe StreamReaderQuantidade de visualizações: 11696 vezes |
Nesta dica mostro como usar a classe StreamReader para ler o conteúdo de um arquivo uma linha de cada vez. Note que esta classe é adequada para ler conteúdo de um arquivo do tipo texto. Para a leitura de bytes, a classe Stream é mais adequada. Por padrão, a classe StreamReader efetua a leitura na codificação UTF-8. Este comportamento pode ser alterado usando-se o construtor da classe que permite definir a codificação. Aqui nós estamos usando o método ReadLine() da classe StreamReader. Este método lê todo o conteúdo de uma linha e retorna tal conteúdo como uma string. Veja o código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ try{ // Cria uma instância de StreamReader StreamReader sr = new StreamReader("dados.txt"); String linha; // vamos ler as linhas de texto do arquivo até chegar // ao seu fim while((linha = sr.ReadLine()) != null){ Console.WriteLine(linha); } } catch(Exception e){ // houve algum erro! Console.WriteLine("Não consegui ler o conteúdo do arquivo"); Console.WriteLine(e.Message); } Console.WriteLine("Pressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de Java - Um laço for que solicita ao usuário 10 números inteiros e mostra o menor e o maior valor informadoQuantidade de visualizações: 706 vezes |
Pergunta/Tarefa: Escreva um programa Java console que usa o laço for para solicitar ao usuário que informe 10 números inteiros. Em seguida mostre o maior e o menor valor lido. Não é permitido usar matrizes: Dica: Use um objeto da classe Scanner para obter a entrada do usuário. Resposta/Solução: Como a solução deste exercício depende de valores informados pelo usuário, a classe Scanner deverá ser usada. Desta forma, você deverá importá-la, usando a linha: import java.util.Scanner; ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public static void main(String[] args){ // para este exercício você deverá importar a classe // Scanner. Ela está no pacote java.util.*; // vamos construir um objeto da classe Scanner para ler a // entrada do usuário Scanner entrada = new Scanner(System.in); int valor; // guarda o valor lido int maior = 0, menor = 0; // variáveis que guardarão o maior e o menor valor lido // vamos pedir ao usuário que informe 10 valores inteiros for(int i = 0; i < 10; i++){ System.out.print("Informe o " + (i + 1) + "º valor: "); valor = Integer.parseInt(entrada.nextLine()); // esta é a primeira iteração do laço? se for vamos assumir que o // maior e menor valor lido são o primeiro valor informado if(i == 0){ maior = valor; menor = valor; // poderia ser escrito assim: //maior = menor = valor; } else{ // não é a primeira iteração // vamos verificar se é maior que o valor atual da variável maior if(valor > maior){ maior = valor; } // vamos verificar se é menor que o valor atual da variável menor if(valor < menor){ menor = valor; } } } // vamos exibir o maior e o menor valor lido System.out.println("\nO maior valor lido foi: " + maior); System.out.println("O menor valor lido foi: " + menor); } |
C ::: Dicas & Truques ::: Data e Hora |
Como formatar datas e horas em C usando a função strftime() da linguagem CQuantidade de visualizações: 8027 vezes |
A função strftime() pode ser usada quando queremos formatar valores de datas e horas em C. Esta função, presente no header <time.h>, possui a seguinte assinatura:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- size_t strftime(char *strDest, size_t maxsize, const char *format, const struct tm *timeptr); O parâmetro strDest é um ponteiro para uma matriz de caracteres que receberá uma string contendo a data e/ou hora formatada. O parâmetro maxsize é a quantidade de caracteres que serão copiados para a matriz de caracteres alvo da operação. O parâmetro format contém os especificadores que serão substituídos durante a formatação. Finalmente, timeptr é um ponteiro para uma estrutura tm contendo as informações de data e hora. O retorno da função é a quantidade de caracteres copiados para a matriz strDest. Veja um trecho de código no qual formatamos e exibimos a data atual no formato longo e de acordo com as configurações regionais para o Português Brasileiro: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <time.h> #include <locale.h> int main(int argc, char *argv[]){ // vamos definir a localização para o Português do Brasil setlocale(LC_ALL, "Portuguese_Brazil"); time_t data_hora_segundos; // guarda os segundos deste 01/01/1970 struct tm *timeinfo; // declara uma estrutura tm time(&data_hora_segundos); // preenche a variável data_hora_segundos // preenche a estrutura timeinfo timeinfo = localtime(&data_hora_segundos); // um buffer para receber a data formatada char data_formatada[80]; // vamos formatar strftime(data_formatada, 80, "%A, %d de %B de %Y", timeinfo); // vamos exibir o resultado printf("Resultado da formatação: %s\n\n", data_formatada); system("PAUSE"); return 0; } O resultado da execução deste código será algo como: Resultado da formatação: segunda-feira, 23 de abril de 2011 Veja abaixo os especificadores de formatação usadas pela função strftime(): %a - Nome do dia da semana na forma abreviada. Ex: seg. %A - Nome completo do dia da semana. Ex: terça-feira. %b - Nome do mês abreviado. Ex: abr. %B - Nome completo do dia do mês. Ex: abril %c - Representação de data e hora. Ex: 23/4/2011 23:00:37. %d - Dia do mês (01-31). %H - Hora no formato 24 horas (00-23). %I - Hora no formato 12 horas (01-12). %j - Dia do ano (001-366). %m - Mês como um número decimal (01-12). %M - Minutos (00-59). %p - AM ou PM. %S - Segundos (00-61). %U - Número da semana tendo o primeiro domingo como o primeiro dia da primeira semana do ano (00-53). %w - Dia da semana como um número decimal tendo o domingo como 0 (0-6). %W - Número da semana tendo a primeira segunda-feira como o primeiro dia da primeira semana do ano (00-53). %x - Representação de data. Ex: 23/4/2011. %X - Representação de horas. Ex: 23:00:37. %y - Ano de dois dígitos (00-99). %Y - Ano com quatro dígitos. %Z - Nome ou abreviação do fuso horário. %% - Um sinal de porcentagem. |
Python ::: Dicas & Truques ::: Tupla (Tuple) |
Python para iniciantes - Como usar o tipo de dados tuple da linguagem PythonQuantidade de visualizações: 8710 vezes |
Uma tupla (tuple) é similar a uma lista (list), com a exceção de que uma tupla não pode ser modificada, ou seja, é imutável. Veja como criar uma tupla contendo cinco elementos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # Cria uma tupla valores = 4, 76, 2, 98, 4 # Exibe o valor do segundo elemento print valores[1] # Exibe todos os elementos for valor in valores: print valor, Veja agora o que acontece quando tentamos alterar o valor de um dos elementos da tupla: valores[4] = 50 Traceback (most recent call last): File "tuplas.py", line 19, in <module> valores[4] = 50 TypeError: 'tuple' object does not support item assignment Contudo, a variável do tipo tupla pode ser alterada para apontar para uma tupla diferente. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # Cria duas tuplas valores = 4, 76, 2, 98, 4 letras = 'A', 'B', 'C' # Atribue os elementos de letras a valores valores = letras # Exibe o resultado print valores É comum colocar os elementos de uma tupla entre parênteses. Assim, a tupla abaixo é perfeitamente legal: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- valores = (4, 76, 2, 98, 4) Embora não muito provável, se precisarmos criar uma tupla de apenas um elemento, devemos inserir uma vírgula após ele. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- valores = (4,) Tuplas podem conter elementos de diferentes tipos de dados. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # Cria uma tupla contendo tipos diferentes # de dados cliente = (3, "Osmar J. Silva", "Goiânia", "GO", 35) # Exibe o valor do 4º elemento estado = cliente[3] print estado |
JavaScript ::: Dicas & Truques ::: Tratamento de Erros |
Como retornar o nome ou tipo de exceção de um erro em JavaScript usando a propriedade name do objeto ErrorQuantidade de visualizações: 6761 vezes |
Em várias situações nós precisamos saber o nome do tipo de erro de tempo de execução em JavaScript. Para isso nós podemos usar a propriedade name do objeto Error. Veja um código JavaScript completo demonstrando o seu uso: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>Estudos JavaScript</title> </head> <body> <script language="javascript"> // o trecho de código a seguir vai provocar // um erro de tempo de execução em JavaScript try{ // y não foi definido var x = y; } catch(e){ document.write("Tipo do erro: " + e.name); } </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Tipo do erro: ReferenceError A propriedade name do objeto Error pode retornar os seguintes valores: EvalError - Um erro provocado pela função eval. RangeError - Um erro provocado por um número fora da faixa permitida. ReferenceError - Uma referência ilegal provocou o erro. SyntaxError - Um erro de sintáxe. TypeError - Um erro provocado por uma conversão de tipos. URIError - Provocado por um erro na função encodeURI(). |
Java ::: Classes e Componentes ::: JList |
Java Swing - Como obter a quantidade de itens em uma JList usando o método getSize() da interface ListModelQuantidade de visualizações: 9199 vezes |
Nesta dica mostrarei como podemos obter a quantidade de itens em uma JList por meio de uma chamada ao método getSize() da interface ListModel, responsável por gerenciar os itens da JList. Note que escrevi o exemplo abaixo sem usar nenhum editor GUI visual. Dessa forma fica mais fácil entender todas as partes que compoem uma aplicação Java Swing. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JList lista; public Estudos() { super("A classe JList"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria os itens da lista String nomes[] = {"Carlos", "Marcelo", "Fabiana", "Carolina", "Osmar"}; // Cria a JList lista = new JList(nomes); // Um botão que permite obter a quantidade de itens JButton btn = new JButton("Quantidade de Itens"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ int quant = lista.getModel().getSize(); JOptionPane.showMessageDialog(null, "A lista contém " + quant + " itens"); } } ); // Adiciona a lista à janela c.add(new JScrollPane(lista)); // Adiciona o botão à janela c.add(btn); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
C# - Como retornar o tamanho do texto de um TextBox em C# Windows Forms usando a propriedade TextLength |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |