Você está aqui: JavaScript ::: Dicas & Truques ::: Matemática e Estatística |
|
Apostila de JavaScript - Como converter de binário para decimal usando JavaScriptQuantidade de visualizações: 3783 vezes |
|
Nesta dica mostrarei um código JavaScript completo que converte um valor binário em um valor decimal. Veja que criei uma função binarioDecimal() que recebe o valor binário como um número e retorna (return) o valor decimal também como um número. Veja o código JavaScript completo: <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> // função que converte binário para decimal function binarioDecimal(binario){ var decimal = 0, i = 0, resto; while (binario != 0) { resto = binario % 10; binario = Number.parseInt(binario / 10); decimal = decimal + resto * Math.pow(2, i); ++i; } return decimal; } // vamos usar a função decimalBinario() var binario = 10000000; var decimal = binarioDecimal(binario); document.writeln("O valor " + binario + " em binário é " + decimal + " em decimal."); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: O valor 10000000 em binário é 128 em decimal. |
|
Link para compartilhar na Internet ou com seus amigos: | |
Java ::: Dicas & Truques ::: Data e Hora |
Datas e horas em Java - Como obter o dia do mês usando as constantes DATE e DAY_OF_MONTH da classe CalendarQuantidade de visualizações: 8872 vezes |
Em algumas situações pode ser necessário obtermos o dia do mês para uma determinada data. Nestes casos podemos usar o método get() em combinação com as constantes DATE e DAY_OF_MONTH da classe Calendar. Estas constantes retornam um valor inteiro na faixa de 1 a 31. Veja um exemplo:package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(String args[]){ // vamos obter a data e hora atual Calendar agora = Calendar.getInstance(); // vamos obter o dia do mês System.out.println("O dia do mês é: " + agora.get(Calendar.DAY_OF_MONTH)); } } Ao executarmos este código nós teremos o seguinte resultado: O dia do mês é: 26 |
MySQL ::: Dicas & Truques ::: Chaves, Índices e Restrições de Integridade Referencial |
Como criar chaves estrangeiras no MySQL - Como criar Foreign Keys em tabelas do MySQLQuantidade de visualizações: 88477 vezes |
O que é chave estrangeira (foreign key)? O papel da chave estrangeira é manter uma referência a um registro presente em outra tabela. Imagine o seguinte cenário. Temos uma tabela livros e uma tabela autores. Neste cenário, um autor pode escrever vários livros e um livro pode ser escrito somente por um determinado autor. Aqui temos uma relação 1:N, ou seja, um para muitos: um autor pode escrever zero, um ou vários livros. Comece analisando a tabela autores: Field Type Null Key Default Extra id int(10) unsigned NO PRI - auto_increment nome varchar(45) NO - email varchar(45) NO - CREATE TABLE autores( id int(10) unsigned NOT NULL auto_increment, nome varchar(45) NOT NULL, email varchar(45) NOT NULL, PRIMARY KEY(id) )ENGINE=InnoDB; Analise agora a tabela livros: Field Type Null Key Default Extra id int(10) unsigned NO PRI - auto_increment titulo varchar(45) NO - paginas int(10) unsigned NO - id_autor int(10) unsigned NO - CREATE TABLE livros( id INTEGER UNSIGNED NOT NULL DEFAULT NULL AUTO_INCREMENT, titulo VARCHAR(45) NOT NULL, paginas INTEGER UNSIGNED NOT NULL, id_autor INTEGER UNSIGNED NOT NULL, PRIMARY KEY(id) )ENGINE = InnoDB; O campo id é do tipo int, auto-incremento e foi marcado como chave primária. Dessa forma, o campo id identifica unicamente cada livro. O campo id_autor é do tipo int e sua função é guardar o id do autor que escreveu um determinado livro. Ao trazer o valor do campo id da tabela autores para o campo id_autor da tabela livros nós estamos relacionando as duas tabelas. O campo id_autor, neste cenário, é a chave estrangeira, pois seu valor sempre refletirá o valor do campo id da tabela autores (a única exceção é quando queremos deixar, temporariamente, um livro sem autor). Lembre-se, em uma relação 1:N, a chave estrangeira, em geral, ficará no lado N da relação. Integridade Referencial (Restrições de Chave Estrangeira) - Referential Integrity (Foreign Key Constraints) Imagine agora que você inseriu alguns registros na tabela autores e na tabela livros. Todas as vezes que o valor do campo id_autor na tabela livros for igual ao valor do campo id na tabela autores nós estaremos criando um relação autor-livro. É possível, a qualquer momento, listar um livro e saber de imediato o id do seu autor (isso permite fazer um join com a tabela autores para obter os dados do respectivo autor). Mas, o que acontecerá se excluirmos um registro na tabela autores e, mais tarde, descobrirmos que o campo id_autor da tabela livros guardava uma referência para o autor excluído? Teremos a quebra da integridade referencial. Para evitar tais situações, é responsabilidade do programador escrever códigos de verificações para prevenir estas ocorrências. Os bancos de dados, e principalmente o MySQL, possuem mecanismos para reforçar esta proteção: restrições de chave estrangeira. As restrições de chave estrangeira asseguram duas situações possíveis: 1) Não permitir que um autor seja excluído quando qualquer livro possuir uma referência a ele; 2) Se o autor for excluído, todos os livros que o referenciam também o serão. Definindo a chave estrangeira na tabela livros usando o atributo CONSTRAINT FOREIGN KEY REFERENCES Vamos agora reescrever o comando DDL CREATE TABLE para a tabela livros de forma a aplicar as restrições de chaves estrangeiras. Veja a nova versão: CREATE TABLE livros( id INTEGER UNSIGNED NOT NULL DEFAULT NULL AUTO_INCREMENT, titulo VARCHAR(45) NOT NULL, paginas INTEGER UNSIGNED NOT NULL, id_autor INTEGER UNSIGNED NOT NULL, PRIMARY KEY(id), CONSTRAINT livros_autores FOREIGN KEY(id_autor) REFERENCES autores(id) )ENGINE = InnoDB; A estrutura da tabela livros será alterada para aquela mostrada abaixo: Field Type Null Key Default Extra id int(10) unsigned NO PRI - auto_increment titulo varchar(45) NO - paginas int(10) unsigned NO - id_autor int(10) unsigned NO MUL - ErrorNr. 1451: Cannot delete or update a parent row: a foreign key constraint fails (`estudos/livros`, CONSTRAINT `livros_autores` FOREIGN KEY (`id_autor`) REFERENCES `autores` (`id`)) Em mais dicas desta seção você aprenderá a usar as cláusulas ON DELETE e ON UPDATE e as ações RESTRICT, SET NULL, CASCADE e NO ACTION. Todas estas cláusulas e ações são usadas para reforçar a integridade referencial de suas bases de dados. |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar a instrução continue da linguagem C#Quantidade de visualizações: 8964 vezes |
A instrução continue é usada quando queremos abandonar completamente a iteração atual de um laço e saltar imediatamente para a próxima iteração. Veja um exemplo:static void Main(string[] args){ for(int i = 0; i <= 10; i++){ // se o valor de i não for par, vamos passar // para a próxima iteração if(i % 2 != 0) continue; Console.WriteLine("{0}", i); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Aqui nós estamos exibindo somente os números pares de 0 a 10. Note que, cada vez que o valor de i for ímpar, nós usamos a instrução continue para interromper a instrução atual e saltar para a próxima. Veja mais um exemplo, desta vez usando um laço while: static void Main(string[] args){ int valor = 0; while(valor <= 10){ if((valor >= 5) && (valor <= 7)){ valor++; continue; } Console.WriteLine("{0}", valor); valor++; } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Este laço conta de 0 a 10 mas não exibe os valores 5, 6 e 7. |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
PHP para iniciantes - Como contar a quantidade de palavras em uma string usando as funções explode() e count() do PHPQuantidade de visualizações: 20852 vezes |
Em algumas situações nós precisamos obter a quantidade de palavras em uma frase ou texto. Para isso nós podemos combinar as funções explode() e count() da linguagem PHP. É importante, antes de efetuarmos esta tarefa, nos certificarmos de que a string sendo analisada não possui espaços em excesso. Se esse for o caso, veja nossas dicas e truques a respeito da remoção de espaços em excesso de uma frase ou texto. Veja o código completo para o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $frase = "Gosto de programar em PHP"; $palavras = explode(" ", $frase); echo "A frase \"" . $frase . "\" contém " . count($palavras) . " palavras"; ?> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: A frase "Gosto de programar em PHP" contém 5 palavras |
Delphi ::: Imagens, Gráficos e Cores ::: TBitmap (A classe TBitmap) |
Computação gráfica em Delphi - Como usar a classe TBitmap do DelphiQuantidade de visualizações: 16050 vezes |
A classe TBitmap encapsula um bitmap Windows (HBITMAP, um handle para um bitmap), incluindo sua paleta (HPALETTE, um handle para uma paleta de cores). Esta classe herda de TGraphic e é usada para criar, manipular (redimensionar, rolar, rotacionar, pintar, etc) e armazenar imagens na memória e como arquivos em disco. A classe TBitmap contém muitas propriedades e métodos úteis. Entre seus métodos podemos citar LoadFromFile(), usado para carregar uma imagem bitmap a partir do disco e guardá-la em memória como um objeto TBitmap. Veja o trecho de código abaixo: procedure TForm2.Button1Click(Sender: TObject); var bmp: TBitmap; begin // vamos criar o bitmap bmp := TBitmap.Create; // vamos carregar a imagem e guardá-la no bitmap bmp.LoadFromFile('foto.bmp'); // vamos desenhar o bitmap no formulário // começando nas coordenadas x = 0; y = 0 a partir // do canto superior esquerdo da área cliente do formulário Form2.Canvas.Draw(0, 0, bmp); // vamos liberar o bitmap bmp.Free; end; Aqui nós carregamos o bitmap foto.bmp e o desenhamos na superfície do formulário usando o método Draw() do Canvas do formulário. É possível também redimensionar o bitmap ao desenhá-lo no formulário. Veja este novo trecho de código: procedure TForm2.Button1Click(Sender: TObject); var bmp: TBitmap; retang: TRect; // um objeto TRect begin // vamos criar o bitmap bmp := TBitmap.Create; // vamos carregar a imagem e guardá-la no bitmap bmp.LoadFromFile('foto.bmp'); // vamos redimensionar o bitmap na memória de // acordo com o retângulo abaixo retang.Top := 0; retang.Left := 0; retang.Right := 200; retang.Bottom := 150; // vamos desenhar o bitmap usando o método // StretchDraw da classe TCanvas Form2.Canvas.StretchDraw(retang, bmp); // vamos liberar o bitmap bmp.Free; end; Aqui nós usamos um objeto do registro (record) TRect para criar um retângulo especificando o tamanho do bitmap e fornecemos tal retângulo, juntamente com o bitmap, para o método StretchDraw() da classe TCanvas. Este método redimensiona a imagem antes de desenhá-la na superfície do formulário. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
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 |