Você está aqui: Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows) |
|
Como gravar e ler datas e horas no registro do Windows usando DelphiQuantidade de visualizações: 12527 vezes |
|
Em algumas situações gostaríamos de gravar ou ler datas e horas (TDateTime) no registro do Windows. Para isso podemos usar os métodos WriteDate(), WriteDateTime(), WriteTime(), ReadDate(), ReadDateTime() e ReadTime(). Todos estes métodos aceitam ou retornam objetos do tipo TDateTime. Vamos começar gravando a data e hora atual em uma chave no registro do Windows ao clicar em um botão. Em seguida, no click de outro botão nós vamos recuperar a data e hora que gravamos anteriormente. Veja o código usado para gravar a data e hora atual em uma sub-chave chamada "Data e Hora": procedure TForm3.Button4Click(Sender: TObject); var reg: TRegistry; data_hora: TDateTime; begin // uses Registry // vamos obter a data e hora atual data_hora := Now; // vamos criar uma instância da classe TRegistry reg := TRegistry.Create; // a chave padrão é HKEY_CURRENT_USER mas, por via das dúvidas // vamos reafirmar isso reg.RootKey := HKEY_CURRENT_USER; // vamos abrir ou criar um nova chave if reg.OpenKey('Arquivo de Códigos', True) then begin // vamos atualizar ou criar uma chave contendo a data // e hora atual reg.WriteDateTime('Data e Hora', data_hora); reg.CloseKey; // grava a chave e a fecha end else begin ShowMessage('Não consegui abrir ou criar a chave informada'); end; // vamos liberar o registro reg.Free; end; Veja agora o código que obtém a data e hora gravada anteriormente na chave e sub-chave informadas no trecho de código anterior: procedure TForm3.Button5Click(Sender: TObject); var reg: TRegistry; data_hora: TDateTime; begin // uses Registry // vamos criar uma instância da classe TRegistry reg := TRegistry.Create; // a chave padrão é HKEY_CURRENT_USER mas, por via das dúvidas // vamos reafirmar isso reg.RootKey := HKEY_CURRENT_USER; // vamos abrir a chave criada anteriormente if reg.OpenKey('Arquivo de Códigos', False) then begin // vamos obter a data e hora gravada anteriormente try begin data_hora := reg.ReadDateTime('Data e Hora'); ShowMessage('A data e hora armazenada é: ' + DateTimeToStr(data_hora)); end except ShowMessage('A sub-chave não foi encontrada ou não ' + 'possui um valor do tipo TDateTime'); end; reg.CloseKey; // fecha a chave end else begin ShowMessage('Não consegui abrir a chave informada'); end; // vamos liberar o registro reg.Free; end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
|
Link para compartilhar na Internet ou com seus amigos: | |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de Java - Escreva um programa (algorítmo) Java que usa o laço for para exibir uma tabela de conversões de milhas para quilômetrosQuantidade de visualizações: 3211 vezes |
Pergunta/Tarefa: Escreva um programa (algorítmo) Java que usa o laço for para exibir uma tabela de conversões de milhas para quilômetros. Sabendo que uma milha equivale a 1.609 quilômetros, seu programa deverá exibir uma saída parecida com: Milhas Quilômetros ------------------------------- 1 1.609 2 3.218 3 4.827 4 6.436 5 8.045 6 9.654 7 11.263 8 12.872 9 14.481 10 16.09 Veja a resolução comentada deste exercício usando Java console: package estudos; public class Estudos { public static void main(String[] args){ System.out.println("Milhas\t\tQuilômetros"); System.out.println("-------------------------------"); // um laço for que repetirá 10 vezes for (int i = 1; i <= 10; i++){ // usamos a variável de controle do laço para o cálculo System.out.println(i + "\t\t" + (i * 1.609)); } } } |
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se ao menos um elemento de um array satisfaz uma condição em JavaScript usando a função some()Quantidade de visualizações: 1702 vezes |
O método some(), adicionado à linguagem JavaScript por meio do ECMAScript 5 (JavaScript 5, ECMAScript 2009, ES5) pode ser usado quando queremos verificar se um ou mais elementos de um vetor satisfaz uma determinada condição. Este método nos permite fornecer uma função de callback que será chamada para cada um dos elementos do vetor. E o retorno do método some() é um valor true se ao menos um dos elementos passar no teste e false em caso contrário. Tão logo o valor true seja satisfeito, a função some() encerra sua execução imediatamente. Veja um exemplo no qual testamos se AO MENOS um elemento do array é maior que 70: <script type="text/javascript"> function testar(valor, indice, vetor){ if(valor > 70){ return true; } } var valores = new Array(21, 50, 30, 71, 12, 3); // vamos verificar se AO MENOS um valor é maior que 70 var res = valores.some(testar); window.alert("Alguns valores passaram no teste: " + res); </script> Aqui o resultado será true, pois o valor 71 passou no teste. É importante observar que, assim que a função de callback retorna true pela primeira vez, o método some() já abandona sua execução. Uma função passada para o método some() pode conter os seguintes argumentos (nessa mesma ordem): a) O valor do item; b) O índice do item (opcional); c) O vetor a partir do qual o método some() está sendo chamado (opcional). Como última observação, o método some() não modifica o array original. |
PHP ::: PHP + MySQL ::: MySQL Improved Extension (mysqli) |
Listando todas as tabelas da base de dados selecionada - Como listar as tabelas de uma base de dados MySQL usando PHP - RevisadoQuantidade de visualizações: 11872 vezes |
O comando DML SHOW TABLES do MySQL permite listar todas as tabelas de um determinado banco de dados. Nesta dica eu mostro como escrever um código PHP que dispara este comando e mostra o resultado. Note que estou usando a extensão mysqli, recomendada a partir do PHP 5.6. Veja o código completo: <? // vamos efetuar a conexão com o banco $con = new mysqli("localhost", "root", "osmar1234", "estudos"); // conexão efetuada com sucesso? if($con->connect_errno){ echo "Não foi possível efetuar a conexão: " . $mysqli->connect_error; exit(); // vamos sair daqui } // lista todas as tabelas da base selecionada $query = mysqli_query($con, "SHOW TABLES"); while($result = mysqli_fetch_array($query)){ echo $result[0] . "<br>"; } ?> Esta dica foi revisada, atualizada e testada no PHP 8. |
Java ::: Dicas & Truques ::: Recursão (Recursividade) |
Java Avançado - Como listar o conteúdo de um diretório recursivamenteQuantidade de visualizações: 10726 vezes |
Nesta dica mostrarei como podemos usar recursividade (recursão) para listar todo o conteúdo de um diretório. Este é um exercício para melhorar o seu entendimento de funções recursivas em Java. Veja o código completo para o exemplo: package arquivodecodigos; import java.io.*; import java.util.*; public class Estudos { static int indentLevel = -1; public static void main(String[] args) { listPath(new File("c:\\estudos_c")); } static void listPath(File path) { File files[]; indentLevel++; files = path.listFiles(); Arrays.sort(files); for (int i = 0, n = files.length; i < n; i++) { for (int indent = 0; indent < indentLevel; indent++) { System.out.print(" "); } System.out.println(files[i].getName()); if(files[i].isDirectory()) { listPath(files[i]); } } indentLevel--; } } Ao executar este código nós teremos o seguinte resultado: DICA.txt estudos .vs estudos v16 .suo Browse.VC.db ipch AutoPCH 1dcb307edee5acf8 ORIGEM.ipch Debug estudos.exe estudos.exe.recipe estudos.ilk estudos.log estudos.pdb estudos.tlog CL.command.1.tlog CL.read.1.tlog CL.write.1.tlog estudos.lastbuildstate link.command.1.tlog link.read.1.tlog link.write.1.tlog estudos.vcxproj.FileListAbsolute.txt Origem.obj vc142.idb vc142.pdb estudos.sln estudos.vcxproj estudos.vcxproj.filters estudos.vcxproj.user Origem.cpp Estudos_C.dev Estudos_C.exe Estudos_C.layout main.c main.o Makefile.win |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros compostos e montante usando CQuantidade de visualizações: 11298 vezes |
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos: 1º mês: M = P .(1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i)^n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código C para a resolução: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]) { float principal = 2000.00; float taxa = 0.03; // 3% int meses = 3; float montante = principal * pow((1 + taxa), meses); float juros = montante - principal; printf("O total de juros a ser pago é: %f\n", juros); printf("O montante a ser pago é: %f", montante); printf("\n\n"); system("pause"); return 0; } Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]) { float principal = 2000.00; float taxa = 0.03; // 3% int meses = 3; float anterior = 0.0; float montante; float juros; for(int i = 1; i <= meses; i++){ montante = principal * pow((1 + taxa), i); juros = montante - principal - anterior; anterior += juros; printf("Mês: %d - Montante: %f - Juros %f\n", i, montante, juros); } printf("\n\n"); system("pause"); return 0; } |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
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 |