Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet |
Como usar a propriedade Bof para verificar se estamos no primeiro registro do TClientDataSet do DelphiQuantidade de visualizações: 11225 vezes |
Em algumas situações gostaríamos de verificar se já estamos no primeiro registro do TClientDataSet, ou seja, estamos percorrendo todos os registros do dataset de trás para frente e queremos saber se já estamos no primeiro. Para isso podemos usar a propriedade Bof da classe TClientDataSet. Esta propriedade retorna true se estivermos no primeiro registro e false em caso contrário. Veja um trecho de código no qual usamos um laço while para percorrer todos os registros de um TClientDataSet de trás para frente. Note o uso da propriedade Bof para finalizar as iterações do laço: procedure TForm3.Button4Click(Sender: TObject); begin // vamos percorrer todos os registros do TClientDataSet // de trás para frente ClientDataSet1.Last; // vamos para o último registro // e agora disparamos um laço While while not ClientDataSet1.Bof do begin // vamos mostrar em um TMemo os valores do primeiro // campo de cada registro Memo1.Lines.Add(ClientDataSet1.FieldByName('id').AsString); // vamos mover para o registro anterior ClientDataSet1.Prior; end; end; A propriedade Bof é verdadeira quando: a) Abrimos um dataset. b) Efetuamos uma chamada ao método First (primeiro) do dataset. c) Chamamos o método Prior (anterior) do dataset e a chamada falha porque o registro atual já é o primeiro registro no dataset. d) Efetuamos uma chamada ao método SetRange em uma faixa de dados ou dataset vazio. Esta dica foi escrita e testada no Delphi 2009. |
Java ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Regras para a escolha de nomes de variáveis e constantes em JavaQuantidade de visualizações: 15862 vezes |
Cada linguagem de programação tem seu conjunto próprio de regras e convenções para os tipos de nomes que você pode usar, e Java não é diferente. As regras e convenções para nomear variáveis em Java são as seguintes: 1) Nomes de variáveis são sensíveis a minúsculas e maiúsculas. Isso quer dizer que "cliente" é diferente de "Cliente". O nome de uma variável pode ser qualquer identificador legal: Uma sequência sem limites de tamanho de letras Unicode e dígitos, começando com uma letra, "$" ou o caractere de sublinhado "_" (underscore). A convenção, contudo, é sempre começar um nome de variável com uma letra e não "$" ou "_". Além disso, por convenção, o caractere $ nunca é usado. Você pode encontrar situações em que nomes gerados automaticamente podem conter o sinal $, mas evite usá-lo sempre que possível. O mesmo acontece com "_". Embora permitido, evite começar nomes de variáveis com "_". Espaços não são permitidos em nomes de variáveis. 2) Caracteres subsequentes podem ser letras, dígitos, $ ou "_". Convenções (e senso comum) se aplicam a esta regra também. Quando escolher nomes para suas variáveis, use nomes completos em vez de abreviações confusas. Isso tornará seu código mais legível. Nomes tais como "cliente", "nota", "quantidade", etc, são bem mais fáceis de entender e lembrar que "cl", "n", "qt", etc. Tenha também em mente que palavras-chaves e palavras reservadas da linguagem não podem ser usadas como nomes de variáveis. 3) Se o nome de variável que você escolher consistir de apenas um palavra, escreva-a toda em letras minúsculas. Ex.: cliente. Se consistir de mais de uma palavra, escreva a primeira letra da segunda palavra usando letra maiúscula. Ex.: nomeCliente. Se o nome for de uma constante, ele deve ser escrito todo em letras maiúsculas. Ex.: MODELO = 102. Se o nome da constante possuir mais de uma palavra, separe-as com o caractere "_". Ex.: NIVEL_BOLETO = 2. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como verificar quantas vezes um valor é encontrado em um vetor - Como usar vetores e matrizes em JavaQuantidade de visualizações: 16182 vezes |
Pergunta/Tarefa: Escreva um programa Java que declara, constrói e inicializa um vetor de 10 inteiros. Em seguida peça para que o usuário informe um valor a ser pesquisado. Faça uma varredura no vetor e informe quantas vezes o valor pesquisado é encontrado: // declara, constrói e inicializa um vetor de 10 inteiros int valores[] = {4, 21, 9, 8, 12, 21, 4, 4, 1, 10}; Informe um valor: 4 O valor foi encontrado: 3 vezes Informe um valor: 8 O valor foi encontrado: 1 vezes Informe um valor: 3 O valor foi encontrado: 0 vezes Veja a resolução comentada deste exercício usando Java: package estudos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ // declara, constrói e inicializa um vetor de 10 inteiros int valores[] = {4, 21, 9, 8, 12, 21, 4, 4, 1, 10}; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler um valor inteiro System.out.print("Informe um valor: "); int pesquisa = Integer.parseInt(entrada.nextLine()); // vamos verificar quantas vezes o valor informado está // contido no vetor int repeticoes = 0; for(int i = 0; i < valores.length; i++){ if(valores[i] == pesquisa){ repeticoes++; // encontrou? vamos contar esta ocorrência } } // vamos mostrar o resultado System.out.println("O valor foi encontrado: " + repeticoes + " vezes"); } } |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as palavras de uma frase ou texto em C# usando as funções IndexOf(), Replace() e Split() da classe StringQuantidade de visualizações: 12266 vezes |
Este exemplo mostra como retornar a quantidade de palavras em uma frase ou texto usando métodos da classe String do C#. Veja como usar os métodos IndexOf() e Replace() para remover os espaços em excesso e, em seguida, o método Split() para quebrar as partes da frase ou texto usando um único espaço como separador. Veja o código completo: using System; namespace Estudos { class Program { static void Main(string[] args) { string frase = "Gosto muito de C# e Java"; int cont = 0; // remove os espaços em excesso while (frase.IndexOf(" ") >= 0) { frase = frase.Replace(" ", " "); } // remove espaços antes e depois da string frase = frase.Trim(); // conta as palavras cont = frase.Split(" ").Length; Console.WriteLine("A frase contém " + cont + " palavras"); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: A frase contém 6 palavras |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como classificar um array em ordem crescente usando o método sort() da classe Arrays do JavaQuantidade de visualizações: 26848 vezes |
Nesta dica mostrarei como podemos usar o método sort() da classe Arrays da linguagens Java para ordenar um vetor de inteiros em ordem crescente. A assinatura do método sort() que usaremos é aquela que recebe apenas um argumento, ou seja, o array a ser ordenado. Note que a implementação de ordenação usada pelo método sort() é a ordenação quicksort, considerada uma das mais rápidas nos dias atuais. Veja o código completo para o exemplo: package estudos; import java.util.*; public class Estudos{ public static void main(String[] args){ // vamos declarar e construir um vetor de 5 inteiros int[] valores = new int[5]; // inicializa os elementos do array valores[0] = 23; valores[1] = 65; valores[2] = 2; valores[3] = 87; valores[4] = 34; // exibe os valores dos elementos do array // usando o laço for melhorado System.out.println("Elementos na ordem original:"); for(int valor : valores){ System.out.print(valor + " "); } // ordena os valores em ordem crescente Arrays.sort(valores); // exibe os valores dos elementos do array // usando o laço for melhorado System.out.println("\n\nElementos classificados em ordem crescente:"); for(int valor : valores){ System.out.print(valor + " "); } System.out.println("\n\n"); System.exit(0); } } Ao executarmos este código Java nós teremos o seguinte resultado: Elementos na ordem original: 23 65 2 87 34 Elementos classificados em ordem crescente: 2 23 34 65 87 |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar a diferença em dias entre duas datas usando JavaScriptQuantidade de visualizações: 18676 vezes |
Nesta dica mostrarei como podemos usar a linguagem JavaScript para calcular a quantidade de dias, ou seja, a diferença de dias entre duas datas. Note que o truque é subtrair um objeto Date de outro objeto Date. Veja o código JavaScript completo para o exemplo: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> function diferencaDias(data1, data2){ var dif = Date.UTC(data1.getYear(),data1.getMonth(),data1.getDate(),0,0,0) - Date.UTC(data2.getYear(),data2.getMonth(),data2.getDate(),0,0,0); return Math.abs((dif / 1000 / 60 / 60 / 24)); } // datas no formato ano/mês/dia document.write("A diferença de dias é: " + diferencaDias(new Date(2007, 0, 10), new Date(2007, 0, 20)) + " dias."); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: A diferença de dias é: 10 dias. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversaQuantidade de visualizações: 16039 vezes |
Exercício Resolvido de Java - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversa Pergunta/Tarefa: Escreva um programa Java console ou GUI que leia um número de 3 dígitos e o inverta, escrevendo o número lido e o invertido. Por exemplo, se o usuário informar o valor 753, seu programa deverá invertê-lo, resultando em 357. Seu programa deverá exibir a seguinte saída: Informe um valor inteiro de três dígitos: 753 O valor original é: 753 O valor invertido é: 357 Veja a resolução comentada deste exercício usando Java console: public static void main(String[] args){ // não se esqueça de adicionar um import para a classe Scanner // import java.util.Scanner; // vamos criar um objeto da classe Scanner Scanner entrada = new Scanner(System.in); // vamos solicitar ao usuário que informe um valor inteiro // na faixa 100 a 999 (incluindo) System.out.print("Informe um valor inteiro de três dígitos: "); // vamos ler o valor informado int valor = Integer.parseInt(entrada.next()); // vamos verificar se o valor está na faixa permitida if(valor < 100 || valor > 999){ System.out.println("Valor fora da faixa permitida"); System.exit(0); } // vamos criar uma variável temporária para manter intacto o valor lido int temp = valor; int inverso = 0; // guardará o valor invertido // vamos inverter o valor agora while(temp != 0){ inverso = (inverso * 10) + (temp % 10); temp = temp / 10; } // vamos mostrar o resultado System.out.println("O valor original é: " + valor); System.out.println("O valor invertido é: " + inverso); } |
C# ::: Dicas & Truques ::: Data e Hora |
Como usar a classe Calendar em suas aplicações C#Quantidade de visualizações: 11740 vezes |
A classe Calendar da plataforma .NET está presente no namespace System.Globalization. Esta é uma classe abstrata (não pode ser instanciada e serve somente como classe base para futuras implementações) que implementa a interface ICloneable. Veja sua posição na hierarquia de classes da plataforma .NET:System.Object System.Globalization.Calendar Um calendário divide o tempo em unidades, tais como semanas, meses e anos. O número, comprimento e início destas divisões variam de acordo com cada calendário. Qualquer momento no tempo pode ser representado como um conjunto de valores numéricos usando um calendário em particular. Por exemplo, um equinócio vernal ocorreu em (1999, 3, 20, 8, 46, 0, 0.0) no calendário Gregoriano (Gregorian calendar), ou seja, 20 de março de 1999 C.E às 8:46:00:0.0. Uma implementação de Calendar pode mapear cada data na faixa de um calendário específico para um conjunto similiar de valores numéricos, e DateTime pode mapear tais conjuntos de valores numéricos para uma representação textual usando informações de Calendar e DateTimeFormatInfo. A representação textual pode ser dependente de cultura (culture-sensitive) (por exemplo, "8:46 AM March 20th 1999 AD" para a cultura en-US) ou independente de cultura (culture-insensitive) (por exemplo, "1999-03-20T08:46:00" no formato ISO 8601). Uma implementação de Calendar pode definir uma ou mais eras. A classe Calendar identifica tais eras como uma enumeração de inteiros na qual a era atual (CurrentEra) tem o valor 0. Para compensar a diferença entre o ano do calendário e a tempo real que a terra se movimenta ao redor do sol ou o tempo real que a lua se movimenta ao redor da terra, um ano bissexto tem um número diferente de dias que um ano padrão de um calendário. Cada implementação de Calendar define anos bissextos de forma diferenciada. Para fins de consistência, a primeira unidade de cada intervalo (por exemplo, o primeiro mês) recebe o valor 1. O trecho de código abaixo mostra como obter o calendário padrão não dependente de cultura e então exibir o valor numérico referente ao dia do mês: static void Main(string[] args){ // using System.Globalization; // obtém uma instância da implementação padrão de // Calendar não dependente da cultura local Calendar c = CultureInfo.InvariantCulture.Calendar; // obtém a data e hora atual DateTime agora = DateTime.Now; // obtém o dia do ano int dia = c.GetDayOfMonth(agora); Console.WriteLine("O dia do mês é: {0}", dia); // pausa o programa Console.ReadKey(); } O namespace System.Globalization inclui as seguintes implementações de Calendar: GregorianCalendar, HebrewCalendar, HijriCalendar, JapaneseCalendar, JulianCalendar, KoreanCalendar, TaiwanCalendar e ThaiBuddhistCalendar. |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de VisuAlg - Um programa que lê três números inteiros e mostra o maiorQuantidade de visualizações: 1338 vezes |
Pergunta/Tarefa: Faça um algoritmo VisuAlg que solicita três números inteiros e mostra o maior deles. Exiba uma mensagem caso os três números não forem diferentes. Sua saída deverá ser parecida com: Informe o primeiro número: 34 Informe o segundo número: 83 Informe o terceiro número: 72 O segundo número é o maior Veja a resolução comentada deste exercício usando VisuAlg: Algoritmo "Um programa que lê três números inteiros e mostra o maior" Var // variáveis usadas na resolução do problema num1, num2, num3: inteiro Inicio // vamos solicitar os três números inteiros escreva("Informe o primeiro número: ") leia(num1) escreva("Informe o segundo número: ") leia(num2) escreva("Informe o terceiro número: ") leia(num3) // o primeiro número é o maior? se (num1 > num2) e (num1 > num3) entao escreva("O primeiro número é o maior") senao // o segundo número é o maior? se (num2 > num1) e (num2 > num3) entao escreva("O segundo número é o maior") senao // o terceiro número é o maior? se (num3 > num1) e (num3 > num2) entao escreva("O terceiro número é o maior") senao // os números não são diferentes escreva("Os três números não são diferentes") fimse fimse fimse Fimalgoritmo |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como usar o método replace() da classe String do Java para substituir palavras em uma frase ou texto - RevisadoQuantidade de visualizações: 392 vezes |
Nesta dica mostrarei como substituir substrings em uma string, ou seja, substituir uma palavra (ou parte de uma palavra) em uma frase ou texto. Para isso podemos usar o método replace() da classe String da linguagem Java. Note que o método replace() da classe String retorna uma nova string com todas as ocorrências substituídas. Veja o exemplo: package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java é bom."; System.out.println(frase); // substitui todas as ocorrências de "Java" por "C#" String frase2 = frase.replace("Java", "C#"); System.out.println(frase2); System.exit(0); } } Ao executar este exemplo nós teremos o seguinte resultado: Programar em Java é bom. Programar em C# é bom. Esta dica foi revisada e testada no Java 8. |
Nossas 20 dicas & truques de programação mais populares |
AutoCAD Civil 3D .NET C# - Como pedir para o usuário selecionar um alinhamento no Civil 3D usando a função GetEntity() do AutoCAD Civil 3D .NET C# API JavaScript - Como testar se uma string contém uma determinada substring em JavaScript usando a função includes() JavaScript - Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |