DELPHI – Busca utilizando caracteres (COLLATE) no MS ACCESS

Sabendo-se que a busca ignorando caracteres NÃO FUNCIONA no Microsoft Access, a solução foi criar múltiplos parametros de busca, utilizando a formula a seguir (desenvolvida em Pascal).

//busca inteligente por nomes
strBuscaNome:= '([mensalistas].NomeCliente LIKE "%'+strBusca+'%")';
//áäàãâÁÄÀÃÂ
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'a','á',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'a','ä',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'a','à',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'a','ã',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'a','â',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'A','Á',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'A','Ä',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'A','À',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'A','Ã',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'A','Â',[rfReplaceAll])+'%")';
//éëèêÉËÈÊ
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'e','é',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'e','ë',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'e','è',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'e','ê',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'E','É',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'E','Ë',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'E','È',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'E','Ê',[rfReplaceAll])+'%")';
//íïìîÍÏÌÎ
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'i','í',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'i','ï',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'i','ì',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'i','î',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'I','Í',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'I','Ï',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'I','Ì',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'I','Î',[rfReplaceAll])+'%")';
//óöòõôÓÖÒÕÔ
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'o','ó',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'o','ö',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'o','ò',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'o','õ',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'o','ô',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'O','Ó',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'O','Ö',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'O','Ò',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'O','Õ',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'O','Ô',[rfReplaceAll])+'%")';
//úüùûÚÜÙÛ
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'u','ú',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'u','ü',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'u','ù',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'u','û',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'U','Ú',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'U','Ü',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'U','Ù',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'U','Û',[rfReplaceAll])+'%")';
//çÇ
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'c','ç',[rfReplaceAll])+'%")';
strBuscaNome:=strBuscaNome+' OR ([mensalistas].NomeCliente LIKE "%'+StringReplace(strBusca,'C','Ç',[rfReplaceAll])+'%")';

Sublime Text 2 no MacOSX

No terminal:

1. cd /Applications/Sublime\ Text\ 2.app/Contents/MacOS/
2. Edite o arquivo ->> “vim Sublime\ Text\ 2″
3. Mude para o modo de hexadecimal ->> “:$!xxd”
4. Substitua a string ->> “:%s/5BE509C33B020111/5BE509C32B020111/g”

Como atualizar o SVN do MacOSx

* Necessário que você possua o XCODE instalado, caso não tenha, baixe-o em: https://developer.apple.com/downloads/index.action?q=xcode

Abra o terminal, efetue login como root (sudo su).

Baixe o pacote SVN atualizado:

cd ~
curl -o subversion-latest.tar.gz http://apache.mirrors.tds.net/subversion/subversion-1.8.8.tar.gz
tar -xvf subversion-latest.tar.gz

Compilando:

cd ~/subversion-1.8.8/
sh get-deps.sh serf
cd ~/subversion-1.8.8/serf/
./configure
make
make install
cd ..
../configure --prefix=/usr/local --with-serf=/usr/local/serf
make
make install

Adicione ao seu .bash_profile (pico ~/.bash_profile) a seguinte linha:

export PATH=/usr/local/bin:$PATH

 

Reinicie o computador e teste o SVN utilizando o terminal:

svn --version

🙂

 

 

Remover propagandas do uTorrent

Modifique as chaves de configuração abaixo, em Opções > Preferências > Avançado

  • offers.left_rail_offer_enabled/left_rail_offer P
  • gui.show_plus_upsellP
  • offers.sponsored_torrent_offer_enabled/sponsored_torrent_offer_enabledP
  • bt.enable_pulseP
  • gui.show_notorrents_nodeP
  • offers.content_offer_autoexec

JS – Validação de CPF que funciona

/**
 * Função para validação de CPF
 * @param String str numero do cpf para validar
 * @return true or false
 */
function validaCpf(str){
    str = str.replace('.','');
    str = str.replace('.','');
    str = str.replace('-','');
    cpf = str;
    var numeros, digitos, soma, i, resultado, digitos_iguais;
    digitos_iguais = 1;
    if (cpf.length < 11)
        return false;
    for (i = 0; i < cpf.length - 1; i++)
        if (cpf.charAt(i) != cpf.charAt(i + 1)){
            digitos_iguais = 0;
            break;
        }
    if (!digitos_iguais){
        numeros = cpf.substring(0,9);
        digitos = cpf.substring(9);
        soma = 0;
        for (i = 10; i > 1; i--)
            soma += numeros.charAt(10 - i) * i;
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(0))
            return false;
        numeros = cpf.substring(0,10);
        soma = 0;
        for (i = 11; i > 1; i--)
            soma += numeros.charAt(11 - i) * i;
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(1))
            return false;
        return true;
    }
    else
        return false;
}

Configurando SSL no MAMP 3.02

Acesse o terminal, digite SU para obter permissão de root…

Gerando o certificado local…

cd /Applications/MAMP/conf/apache

# generate a private key (will request a password twice)
openssl genrsa -des3 -out server.key 1024

# generate certificate signing request (same password as above)
openssl req -new -key server.key -out server.csr

# Answer the questions
Country Name (2 letter code) [AU]: BR
State or Province Name (full name) [Some-State]: Rio Grande do Sul
Locality Name (eg, city) []: Pelotas
Organization Name (eg, company) [Internet Widgits Pty Ltd]: 2WAY DIGITAL SOLUTIONS
Organizational Unit Name (eg, section) []: # leave this empty
Common Name (eg, YOUR name) []: # leave this empty
Email Address []: # leave this empty
A challenge password []: # leave this empty
An optional company name []: # leave this empty

# generate the certificate
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

# remove the password from the server key
cp server.key server.tmp
openssl rsa -in server.tmp -out server.key

Editando as configurações do apache

Edite o arquivo de configuração do apache (/Applications/MAMP/conf/apache/httpd.conf), e remova o comentário da seguinte linha (próximo a linha 537).

# Secure (SSL/TLS) connections
# Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf

Habilitando as configurações HTTPS..

Edite as configurações do httpd-ssl.conf (/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf) para habilitar a porta 443 para localhost, deve ficar semelhante a isto:

DocumentRoot "/Users/Nataniel/Sites/"
ServerName localhost:443
ServerAdmin webmaster@localhost
ErrorLog "/Applications/MAMP/Library/logs/error_log"
TransferLog "/Applications/MAMP/Library/logs/access_log" 

Telefone do BCash

O telefone de atendimento do BCash está escondido no site, e somente aparece após o contato:

3004-1533 (Capitais e Regiões Metropolitanas)

(11)3075-7520 (Demais Localidades)

Horário de Atendimento:
Segunda a Sexta 7h as 22h – Sábados 9h as 15h

BOA SORTE!

foto (4)