C# ::: Dicas & Truques ::: Data e Hora |
Datas e horas em C# - Como obter a data atual no formato curto usando C#Quantidade de visualizações: 306 vezes |
Nesta dica mostrarei como obter a data atual usando a propriedade Now da classe DateTime e exibí-la no formato curto, ou seja, DD/MM/AAAA. Veja o código C# completo para o exemplo: using System; namespace Estudos{ class Program{ static void Main(string[] args) { // data atual no formato curto DateTime hoje = DateTime.Now; System.Console.WriteLine("A data hoje é: {0:d}", hoje); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código nós teremos o seguinte resultado: A data hoje é: 23/03/2021 |
PHP ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104 |
Boleto Bancário PHP - Como calcular o Dígito Verificador do Nosso Número (Módulo 11) - Boleto Caixa EconômicaQuantidade de visualizações: 2840 vezes |
Nesta dica mostrarei, passo-a-passo, como calcular o Dígito Verificador do Nosso Número para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104). O Nosso Número é o número de identificação do título no Banco. Este número deve ser único nos seus sistemas, pois, sua combinação com o código do cedente o torno único também no sistema bancário. Além disso, é o Nosso Número que permite ao Banco e a empresa identificar os dados da cobrança que deram origem ao bloqueto. Na Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro), o Nosso Número é composto de 17 posições, sendo as 02 posições iniciais para identificar a Carteira e as 15 posições restantes são para livre utilização pelo Cedente. Seu formato é XYNNNNNNNNNNNNNNN-D, onde: a) X = Modalidade/Carteira de Cobrança (1-Registrada/2-Sem Registro); b) Y = Emissão do bloqueto (4-Cedente); c) NNNNNNNNNNNNNNN = Nosso Número (15 posições livres do Cedente); d) D = Dígito Verificador do Nosso Número calculado através do Modulo 11, conforme código que mostrarei a seguir. Nos boletos e arquivos de remessa da Caixa, o Dígito Verificador do Nosso Número admite 0 (zero), diferentemente do DV Geral do Código de Barras (que também mostro como calcular em dicas dessa seção). O cálculo que mostrarei a seguir é baseado no Módulo 11 e está de acordo com as instruções do Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro e Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro). Tenha certeza de verificar sua versão do manual antes de usar o código apresentado. Dito isso, veja o código PHP completo para uma função que recebe o Nosso Número e retorna seu dígito verificador: <?php // função que recebe o nosso número // e retorna o seu dígito verificador function dvNossoNumero($nossoNumero){ // o nosso número possui mais que 17 dígitos? if(strlen($nossoNumero) > 17){ die("O Nosso Número não pode ter mais que 17 dígitos."); } // agora vamos definir os índices de multiplicação $indices = "29876543298765432"; // e aqui a soma da multiplicação coluna por coluna $soma = 0; // fazemos a multiplicação coluna por coluna agora for($i = 0; $i < strlen($nossoNumero); $i++){ $soma = $soma + ((int)($nossoNumero[$i])) * ((int)($indices[$i])); } // obtemos o resto da divisão da soma por onze $resto = $soma % 11; // subtraímos onze pelo resto da divisão $digito = 11 - $resto; // atenção: Se o resultado da subtração for // maior que 9 (nove), o dígito será 0 (zero) if($digito > 9){ $digito = 0; } return $digito; } // vamos calcular o Dígito Verificador do // Nosso Número $carteira = "1"; // $emissao = "4"; // cedente $nossoNumero = "19"; // preenche com zeros até completar 15 posições $nossoNumero = sprintf("%015d", $nossoNumero); $nossoNumeroCompleto = $carteira . $emissao . $nossoNumero; $digito = dvNossoNumero($nossoNumeroCompleto); echo "O dígito verificador para o nosso número " . $nossoNumeroCompleto . " é: " . $digito; ?> Ao executar este código PHP nós teremos o seguinte resultado: O dígito verificador para o nosso número 14000000000028288 é: 5 |
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em Delphi usando a função Cos() - Calculadora de cosseno em DelphiQuantidade de visualizações: 1324 vezes |
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Delphi. Esta função, incorporada por padrão à linguagem, recebe um valor numérico (Extended) e retorna um valor Extended, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja: procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Add('Cosseno de 0 = ' + FloatToStr(Cos(0))); Memo1.Lines.Add('Cosseno de 1 = ' + FloatToStr(Cos(1))); Memo1.Lines.Add('Cosseno de 2 = ' + FloatToStr(Cos(2))); end; Ao executar este código Delphi nós teremos o seguinte resultado: Cosseno de 0 = 1 Cosseno de 1 = 0,54030230586814 Cosseno de 2 = -0,416146836547142 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: ![]() |
Python ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter uma string para um valor numérico inteiro usando a função int() do PythonQuantidade de visualizações: 20633 vezes |
Em algumas situações precisamos converter uma string ou a entrada do usuário para um valor inteiro. Isso pode ser feito por meio da função nativa int(). Esta função recebe uma string (conjunto de dígitos, letras e símbolos) e a converte (ou pelo menos tenta) em um valor inteiro. Veja um exemplo: """ Este trecho de código mostra como ler dois valores informados pelo usuário, convertê-los para inteiros e efetuar uma soma. A função int() é usada para converter uma string ou valor numérico para um inteiro. """ def main(): # vamos ler os dois valores val1 = input("Informe o primeiro número: ") val2 = input("Informe o segundo número: ") soma = int(val1) + int(val2); print("A soma dos valores é: ", soma) if __name__== "__main__": main() A saída deste código será parecida com: Informe o primeiro número: 12 Informe o segundo número: 8 A soma dos valores é: 20 Note que, por padrão, a função int() converte a string para um valor inteiro usando a base 10, ou seja, a base decimal. É possível fornecer uma base diferente. Veja, por exemplo, como ler uma string contendo um valor binário: def main(): # vamos ler um valor binário. Ex: 0101 binario = input("Informe um valor binário: ") print("O valor lido foi:", int(binario, 2)) if __name__== "__main__": main() O resultado da execução desse código será algo como: Informe um valor binário: 0101 O valor lido foi: 5 |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de uma substring em uma string Python usando a função count()Quantidade de visualizações: 10136 vezes |
Em várias ocasiões nós precisamos obter a quantidade de vezes que parte de uma palavra é encontrada em outra palavra, frase ou texto, ou seja, uma substring dentro de uma string. Para isso nós podemos usar o método count() da linguagem Python. Veja sua assinatura:count(substring[, início[, fim]]) Veja um código Python completo para este exemplo: # função principal do programa def main(): frase = "Gosto de Python porque Python é muito bom" # conta as ocorrências de "Python" print("\"Python\" ocorreu", frase.count("Python"), "vezes.") if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: "Python" ocorreu 2 vezes. |
C# ::: C# + MySQL ::: MySqlCommand |
Como gravar dados em uma tabela MySQL usando INSERT INTO e o comando ExecuteNonQuery() da classe MySqlCommand do C#Quantidade de visualizações: 1252 vezes |
Nesta dica mostrarei como inserir dados em uma tabela MySQL usando o comando SQL INSERT INTO e o comando ExecuteNonQuery() da classe MySqlCommand do C#. A tabela usada no exemplo contém os campos id, titulo, autor, paginas, data_cadastro. O campo id é auto-incremento e o campo data_cadastro é do tipo DATETIME. Por essa razão eu passei os valores NULL para o campo auto-incremento e o valor NOW() para o campo data_cadastro, de forma que a data e hora atual sejam gravadas. Como se trata de uma operação INSERT, o método ExecuteNonQuery() retorna a quantidade de registros afetados pelo comando. No exemplo eu mostro como obter e exibir este valor. Veja o código completo para o exemplo (incluindo a conexão com o banco de dados MySQL a partir do C#): using System; using System.Data; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace EstudosMySQL { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // objeto de conexão MySqlConnection conn = null; // string de conexão string connStr = "server=localhost;user id=root; " + "password=osmar1234; database=estudos; pooling=false"; try { conn = new MySqlConnection(connStr); conn.Open(); if (conn.State == ConnectionState.Open) { // primeiro criamos um novo objeto MySqlCommand MySqlCommand comando = new MySqlCommand(); // definimos a conexão para este comando comando.Connection = conn; // definimos o comando SQL a ser executado comando.CommandText = "INSERT INTO livros (id, titulo, " + autor, paginas, data_cadastro) " + "VALUES(NULL, 'JAVA PARA INICIANTES', " + "'OSMAR J. SILVA', 740, NOW())"; // e executamos o comando SQL int res = comando.ExecuteNonQuery(); if (res > 0) { MessageBox.Show("Operação realizada com sucesso. " + res + " linhas afetadas."); } else { MessageBox.Show("Deve ter acontecido alguma coisa. " + res + " linhas afetadas."); } } } catch (MySqlException ex) { MessageBox.Show("Erro: " + ex.Message); } } } } |
Delphi ::: Dicas & Truques ::: Data e Hora |
Como retornar a hora atual em Delphi usando as funções Time(), GetTime() e TimeToStr()Quantidade de visualizações: 19473 vezes |
Como retornar a hora atual em Delphi usando as funções Time(), GetTime() e TimeToStr() Em algumas situações precisamos obter a hora atual (apenas a hora, desconsiderando a data) do sistema. Em Delphi isso pode ser feito com o auxílio da função Time(), presente na unit SysUtils. Esta função não requer nenhum argumento e retorna a hora atual como um TDateTime. Veja o exemplo: procedure TForm1.Button1Click(Sender: TObject); var hora: TDateTime; begin // vamos obter a hora atual hora := Time(); // podemos também usar a função GetTime() //hora := GetTime(); // vamos exibir o resultado ShowMessage(TimeToStr(hora)); end; Ao executar este código Delphi nós teremos o seguinte resultado: 15:17:17 Note que podemos também obter a hora atual (sem a data) usando a função GetTime(), também na unit SysUtils. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
C# para iniciantes - Como criar e inicializar um vetor (array) de strings em C#Quantidade de visualizações: 33931 vezes |
Neste dica mostrarei como declarar e inicializar um array (um vetor) de strings na linguagem C#. Veja que se trata de um vetor de nomes de cidades. Depois de inicializar o array com quatro nomes de cidades nós usamos o índice 3 para exibir o nome da quarta cidade. Veja o código completo para o exemplo: using System; namespace Estudos{ class Program{ static void Main(string[] args) { // cria e inicializa um array de strings string[] cidades = {"Goiânia", "São Paulo", "Rio de Janeiro", "Curitiba"}; // exibe o valor do quarto elemento Console.WriteLine("A cidade escolhida foi: {0}", cidades[3]); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código nós teremos o seguinte resultado: A cidade escolhida foi: Curitiba |
Java ::: Dicas & Truques ::: Formatação de datas, strings e números |
Java para iniciantes - Como formatar uma string no estilo printf da linguagem C usando a classe Formater do JavaQuantidade de visualizações: 11983 vezes |
Nesta dica eu mostro como é possível usar o método format() da classe Formater da linguagem Java para formatar strings ao bom e velho estilo da linguagem C, ou seja, com marcadores %d para inteiros, %f para decimais, por exemplo. Veja o exemplo completo: package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(String[] args){ int pessoas = 20; StringBuilder string = new StringBuilder(); Formatter fm = new Formatter(string); fm.format("Havia %d pessoas lá.", pessoas); System.out.println(string); } } Ao executar este código Java nós teremos o seguinte resultado: Havia 20 pessoas lá. |
C# ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
C# para iniciantes - Como escrever um método que possui parâmetros (e que recebe argumentos) usando a linguagem C#Quantidade de visualizações: 11491 vezes |
Parâmetros permitem que personalizemos a forma que o conjunto de instruções em um método será executado. Em C# os parâmetros de um método são separados por vírgulas e seguem a forma usual de declaração de variáveis, ou seja, o tipo de dados seguido pelo nome da variável. Veja um exemplo de método com parâmetros:// um método que recebe dois argumentos // e não retorna nenhum valor static void escrever(String texto, int quant){ for(int i = 0; i < quant; i++){ Console.WriteLine(texto); } } static void Main(string[] args) { // efetua uma chamada ao método informando o texto e // a quantidade de vezes que ele será exibido na tela escrever("http://www.arquivodecodigos.net", 4); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } O método escrever() possui dois parâmetros: texto e quant. Note que usamos o inteiro quant como limite para um laço for, que exibe na tela o valor da variável texto a cada iteração. Observe também a forma como este método é chamado a partir do método Main() da aplicação (fornecemos dois argumentos: o texto e a quantidade de vezes que este será exibido). Por último lembre-se de que as variáveis contidas nos parâmetros dos métodos estão disponíveis para acesso somente dentro do corpo do método, ou seja, entre as chaves { e }. |
Nossas 20 dicas & truques de programação mais populares |
Revit Python Shell - Como copiar grupos no Revit usando a função Create.PlaceGroup() e o Revit Python Shell |
Você também poderá gostar das dicas e truques de programação abaixo |
C# - Como detectar a mudança de estado da CheckBox do C# Windows Forms usando o evento CheckedChanged |
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 |