Segue função em VBA (Serve para Acces ou para Excel) que converte um número Decimal para binário
Public Function ConvertDecimalToBinario(nDecimal As Double, nBits As Integer) As String
Dim i As Long
Dim num As Long: num = Int(nDecimal / 2)
Dim bin As Long: bin = nDecimal Mod 2
Dim strBinarios As String: strBinarios = bin
For i = 1 To nBits - 1
bin = num Mod 2
num = Int(num / 2)
strBinarios = strBinarios & bin
Next
'Inverte o texto
Dim txt As String
For i = 0 To Len(strBinarios) - 1
txt = txt & Mid(CStr(strBinarios), Len(CStr(strBinarios)) - i, 1)
Next
ConvertDecimalToBinario = txt
End Function
Exemplo de uso:
no Excel: =ConvertDecimalToBinario(25;8) --> retorna um número binário (00011001) com 8 bits.
WAGO Scripts
Do básico ao avançado!
quinta-feira, 12 de junho de 2014
quinta-feira, 25 de outubro de 2012
Access :: Múltiplos resultados com 1 só Dlookup
Sempre que usar um Dlookup uma viagem será feita a tabela correspondente. Logo, usar vários dlookups - principalmente em sistemas em rede - faz com que o rendimento do sistema diminua.
me!campoA = Dlookup("campo1","NomeDaTabela",filtro) me!campoB = Dlookup("campo2","NomeDaTabela",filtro) me!campoC = Dlookup("campo3","NomeDaTabela",filtro) me!campoD = Dlookup("campo4","NomeDaTabela",filtro) me!campoE = Dlookup("campo5","NomeDaTabela",filtro)Forma Correta
Dim seq As String, k filtro = "''" seq = "[campo1] & '|' & [campo2] & '|' & [campo3] & '|' & [campo4] & '|' & [campo5]" seq = Dlookup(seq, "NomeDaTabela", Filtro) k = Split(seq, "|") Me!campoA = k(0) Me!campoB = k(1) Me!CampoC = k(2) Me!CampoD = k(3) Me!CampoE = k(4)Fonte deste artigo: http://www.usandoaccess.com.br/dicas/dica32.asp?id=1#inicio
quinta-feira, 21 de junho de 2012
Converter primeira letra em maiúsculo com PHP
Esta função mostra como converter as inicias de uma string para maiúscula. A função converte string com acento.
Veja:
Espero que tenha gostado.
Veja:
Exemplo:<?php function __INIMASC($term) { $palavra = str_replace(" Da "," da ",strtr(ucwords(strtolower($term)),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ")); $palavra = str_replace(" Do "," do ",$palavra); $palavra = str_replace(" De "," de ",$palavra); $palavra = str_replace(" Das "," das ",$palavra); return $palavra; } ?>
<?php $texto = "JOÃO DA SILVA SAURO"; echo __INIMASC($texto); ?>
O resultado será: João da Silva Sauro.
Espero que tenha gostado.
segunda-feira, 11 de junho de 2012
Gerar Mensalidades com PHP
Para quem estava interessado no exemplo para download, clique aqui, mas lembrando que está em PDO.
Este Script mostra como gerar parcelas para seu sistema. Por exemplo:
Este Script mostra como gerar parcelas para seu sistema. Por exemplo:
Um sistema de cadastro de aluno, onde o mesmo pagará 3 parcelas do seu curso,
1ª parcela | 01/05/2012 | R$ 50,00
2ª parcela | 01/06/2012 | R$ 50,00
3ª parcela | 01/07/2012 | R$ 50,00
[...] e assim por diante.
Confira o código abaixo, que salva os dados no banco de dados e também mostra o que foi gravado no banco em forma de tabela.
Crie uma tabela com o nome mensalidades e adicione os seguintes campos a ela
valor_mens(double), data_mens(date), num_mens(varchar)
<?php include "config.php"; //inclue seu arquivo de conexão com banco de dados $valor = 50; //Valor da parcela $parcelas = 10; //Número de parcelas $datapagamento1 = "2012-06-25"; //Data do primeiro pagamento $diavencimento = 10; //Dia de vencimento das parcelas $gravadata = $datapagamento1; echo '<table border="1">'; echo "<tr>"; echo "<td>Parcela</td>"; echo "<td>Vencimento</td>"; echo "</tr>"; for ($i = 1; $i <= $parcelas; $i++){ //Parcela $parcela = $i."a"; //grava o número da parcela assim: 1a, 2a, 3a, etc... echo "<tr>"; echo "<td>"; echo $parcela; echo "</td>"; //Vencimento echo "<td>"; echo $gravadata; echo "</td>"; echo "</tr>"; if (!empty($diavencimento)){ //Se o dia de vencimento não tiver em branco $dia = $diavencimento; //o dia será igual ao dia de vencimento }else{ $dia = date("d",strtotime($gravadata)); //se o dia de vencimento tiver em branco, então o dia será igual ao dia da data de vencimento } $mes = date("m",strtotime($gravadata)) + 1; $ano = date("Y",strtotime($gravadata)); $sql = mysql_query("INSERT INTO mensalidades (valor_mens, data_mens, num_mens) VALUES ('$valor', '$gravadata', '$parcela')"); if ($mes == 13) { //se passar do mês 12, então inicia com o mes 1 do próximo ano $mes = 1; $ano = $ano + 1; } if ($dia == 30 && $mes == 2){ //fevereiro não pode ter 30 dias não é. kkk $gravadata = $ano."-".$mes."-28"; }else{ $gravadata = $ano."-".$mes."-".$dia; } } echo "</table>"; if ($sql) { echo "Mensalidades inseridas com sucesso."; }else{ echo "Erro ao inserir mensalidades."; } ?>
1 - Crie uma pasta dentro da raiz do seu projeto com o nome "classes" e dentro dessa pasta crie um arquivo com o nome "BD.class.php". Segue código desse arquivo:
2 - Crie uma pasta chamado "config" dentro da raiz do seu projeto e dentro dessa pasta, inclua os seguintes arquivos "config.php, define.php e load.php", segue código de cada arquivo.
config.php
define.php
<?php class BD { private static $conn; private function __construct() { } public static function getConn() { try { if (is_null(self::$conn)) { self::$conn = new PDO(DSN, USER, PASS); } return self::$conn; } catch (Exception $e) { echo '<div class="alertErro">' . $e->getMessage() . '</div>'; } } }
2 - Crie uma pasta chamado "config" dentro da raiz do seu projeto e dentro dessa pasta, inclua os seguintes arquivos "config.php, define.php e load.php", segue código de cada arquivo.
config.php
<?php include ('config/define.php'); include ('config/load.php');
define.php
<?php define('HOST', 'localhost'); // Host define('USER', 'root'); // Usuário define('PASS', ''); //Senha define('BD', 'banco'); //Nome do banco de dados define('DSN', 'mysql:host=' . HOST . ';dbname=' . BD);
load.php
<?php function __autoload($classe) { $pagina = sprintf('classes/%s.class.php', $classe); if (file_exists($pagina)) { include ($pagina); } else { echo '<div class="AlertErro">Arquivo não existe</div>'; } }3 - E finalmente o código para gerar as parcelas e salvá-las no banco.
Este é o código SQL para criar a tabela.
CREATE TABLE `mensalidades` ( `id` int(5) NOT NULL AUTO_INCREMENT, `valor_mens` double DEFAULT NULL, `data_mens` date DEFAULT NULL, `num_mens` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;E para gerar as mensalidades use este código em qualquer arquivo dentro da sua pasta raiz.
<?php include "config/config.php"; //inclue seu arquivo de conexão com banco de dados $valor = $_POST['valor']; $parcelas = $_POST['parcelas']; $datapagamento1 = implode(!strstr($_POST['datapagamento1'], '/') ? "/" : "-", array_reverse(explode(!strstr($_POST['datapagamento1'], '/') ? "-" : "/", $_POST['datapagamento1']))); //Esta rotina é para converter a data do formato brasileiro para o americano $diavencimento = $_POST['vencimento']; $gravadata = $datapagamento1; $sql = "INSERT INTO mensalidades (valor_mens, data_mens, num_mens) VALUES "; echo '<table border="1">'; echo "<tr>"; echo "<td>Parcela</td>"; echo "<td>Valor</td>"; echo "<td>Vencimento</td>"; echo "</tr>"; for ($i = 1; $i <= $parcelas; $i++) { //Parcela $parcela = $i . "a"; //grava o número da parcela assim: 1a, 2a, 3a, etc... echo "<tr>"; echo "<td>"; echo $parcela; echo "</td>"; //Valor echo "<td>"; echo $valor; echo "</td>"; //Vencimento echo "<td>"; echo implode(!strstr($gravadata, '-') ? "-" : "/", array_reverse(explode(!strstr($gravadata, '-') ? "/" : "-", $gravadata))); //Muda para o formato brasileiro echo "</td>"; echo "</tr>"; if (!empty($diavencimento)) { //Se o dia de vencimento não tiver em branco $dia = $diavencimento; //o dia será igual ao dia de vencimento } else { $dia = date("d", strtotime($gravadata)); //se o dia de vencimento tiver em branco, então o dia será igual ao dia da data de vencimento } $mes = date("m", strtotime($gravadata)) + 1; $ano = date("Y", strtotime($gravadata)); $sql .= "(" . $valor . ", '" . $gravadata . "', '" . $parcela . "'),"; if ($mes == 13) { //se passar do mês 12, então inicia com o mes 1 do próximo ano $mes = 1; $ano = $ano + 1; } if ($dia == 30 && $mes == 2) { //fevereiro não pode ter 30 dias não é. kkk $gravadata = $ano . "-" . $mes . "-28"; } else { $gravadata = $ano . "-" . $mes . "-" . $dia; } } echo "</table>"; //Remove a última vírgula da string SQL $sql = substr($sql, 0, -1); //Salva no banco try { echo "<p>String SQL: $sql</p>"; $stmt = BD::getConn()->prepare($sql); if ($stmt->execute()): echo "Mensalidades inseridas com sucesso."; else: echo "Erro ao inserir!"; endif; } catch (Exception $e) { echo 'ERROR: ', $e->getMessage(), "\n"; }
Assinar:
Postagens (Atom)