sábado, 31 de maio de 2008

Redimensionando imagem com Java

Arquivo contendo rotina para redimensionar uma imagem usando Java.

Miniatura.java

Existem várias maneiras de resolver - ou pelo menos tentar - o problema de acentuação no AJAX. Eis algumas:

  1. Na função em PHP que é realizada a ação, o retorno deve ser dado por
    print(urlencode($campo["ds_texto"]));

    Isso irá codificar o resultado que vem da pesquisa SQL. Na função AJAX, após a variável texto ter recebido a resposta responseText, colocar:
    texto=texto.replace(/\+/g," ");
    texto=unescape(texto);

    Isso descodificará o texto.

  2. A segunda forma é colocar na função em PHP que é realizada a ação, o seguinte item:
    header("Content-Type: text/html; charset=ISO-8859-1",true);
    Isso fará com que a codificação seja definida como ISO-8859-1.

  3. Outra forma não tão segura é colocar
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" /> na página onde será exibido o resultado.

  4. Outra forma é alterar a configuração do arquivo httpd.conf do Apache. Isso fica para outra hora!


Se Murphy ajudar é capaz que tudo isso funcione. Talvez nenhum funcione, talvez funcione parcialmente. Firefox e Internet Explorer nunca se deram muito bem, há algumas desavenças! :D

A solução que funcionou pra mim foi a 2. Inseri apenas o header na chamada PHP e deu certo, tanto pro Firefox quanto no Internet Explorer e Opera.

Tem que ficar atento quanto ao cache. Geralmente se altera uma chamada ou função e ela não reflete em solução. Reiniciar o computador, dasabilitar o cache pelas páginas ou limpar o cache de vez em quando ajuda!

São usadas expressões latinas para diversas finalidades, uma delas é citar referências bibliográficas.

A expressão latina apud significa citado por, conforme, segundo. É utilizada quando se faz referência à uma fonte secundária.

De acordo com a NBR 10520 (Norma Brasileira) da Associação Brasileira de Normas Técnicas - ABNT (2001) -, pode-se utulizar a expressão latina apud para citar um documento ao qual não se teve acesso direto, mas que foi citado em outra obra (à qual, naturalmente, se teve acesso). Desta forma, a citação é chamada de indireta.

Alguns exemplos de uso de apud:

"Segundo Cardoso (2000 apud MALDONADO, 2003, p. 40), [...]"
"[...] (CARDOSO, 2000 apud MALDONADO, 2003, p. 40)."
"[...] (MARTINS, 1986 apud SOUZA, 1991, p. 20-21)."

Nas referências colocam-se, se for possível, as duas obras envolvidas na citação indireta.

Atenção: deve-se, na medida do possível, para garantir a exatidão da informação, procurar usar citações diretas. Ou seja, deve-se procurar obter as informações das fontes originais sempre que estas estiverem disponíveis, deixando para usar a expressão apud apenas para obras de difícil acesso.

Adaptado de TCC Gravataí

Zune é um tema para Windows XP, parecido com o Royale Noir, a diferença é que oferece mais opções de cores.

O autor disponibiliza no site da devianART um screenshot do tema com as várias opções de cores.

zune.jpg


O tema pode ser baixado no site da devianART.

Caso haja problema na instalação do tema, leia este tutorial - que não é do Zune mas sim do Royale Noir, mas o funcionamento é o mesmo - que é bem provável que encontre a solução.

quinta-feira, 29 de maio de 2008

Firefox - Download Day

Para não fugir das minhas raízes e ajudar a "mão que me alimenta" peço que quem chegar até aqui participe do:


Download Day 2008

sexta-feira, 14 de março de 2008

Criar usuário no MS SQL Server

No SQL Server para adicionar um usuário basta utilizar o próprio Query Analyzer ou qualquer cliente de banco de dados que permite conexão com SQL Server. Para criar usuários, utilize os seguintes comandos:

SP_AddLogin 'usuario', 'senha'
Em seguida:
SP_AddUser 'usuario'

sábado, 1 de março de 2008

Detectar bloqueador de popup

Site que utilizam popup geralmente têm problemas com os bloqueadores de popup. Internet Banking e outros geralmente abrem uma janela para que o usuário possa continuar navegando no site e concluir o processo que havia iniciado.

Dessa forma se faz necessário detectar antecipadamente se o usuário possui ou não o bloqueador de popup ativado, com isso ele pode ser avisado, desativar o bloqueador e continuar navegando no site.

O script abaixo, em JavaScript, se propõe justamente a isso, detectar se o usuário possui ou não um bloqueador de popups ativado e avisá-lo da situação.

var tentativa = 1;
var aviso = 1;

function getBloqueador()
{
var janela = window.open("#","janelaBloq", "width=10, height=10, top=0, left=0, scrollbars=no, status=no, resizable=no, directories=no, location=no, menubar=no, titlebar=no, toolbar=no");
if (janela == null)
{
if (tentativa == 1)
{
alert("Bloqueador de popup ativado. Desabilite para continuar.");
tentativa++;
return false;
} else if ((tentativa > 1) && (tentativa <= 3))
{
alert("Tentativa " + tentativa + " de 3: O bloqueador ainda está ativado.");
tentativa++;
return false;
} else if (tentativa > 3)
{
if (aviso == 1)
{
if (confirm("O bloqueador de popups ainda está ativado, você pode ter dificuldades para acessar o site.\n\nDeseja continuar assim mesmo?"))
{
aviso = 0;
return true;
} else
{
aviso = 0;
return false;
}
}
}
} else
{
janela.close();
return true;
}
}
Este script tenta abrir uma janela popup, caso não consiga, inicia a sequência de avisos ao usuário. Caso consiga abrir a janela, nenhuma mensagem é exibida e o usuário segue a navegação normalmente.

Clique em links que abrem em uma janela não são considerados popup, ou seja, as janelas que abrem automaticamente são consideradas popup.

Este script pode ser usado no <body>, com o evento onLoad(), no evento onMouseOver() de algum elemento (um botão ou link, por exemplo).

sexta-feira, 29 de fevereiro de 2008

Restaurando MBR após instalação do Windows

Para quem usa dual boot (Linux/Windows) e teve que reinstalar o Win, sabe que ele toma conta da MBR.

Com o GRUB gerenciando o boot, é simples fazer com que ele volte a atuar! Caso já tenha instalado o GRUB antes de reinstalar o Win, ele já está configurado para boot com os dois sistemas operacionais, sendo assim, basta fazer com que ele volte a gerenciar o boot pela MBR.


  1. Inicie o computador com um Live CD;
  2. Abra um terminal e mude para root;
    $ sudo passwd root
  3. Escolha uma nova senha para root;
  4. Monte a partição;
    # mount -t reiserfs /dev/hdaX /mnt/hdaX
    X é o número da partição que está instalado o SO. Para saber onde está instalado o SO, execute fdisk -l ou fdisk /dev/hda, digitanto p logo em seguida.
  5. "Entre" na distribuição instalada na máquina;
    # chroot /mnt/hdaX
  6. Como o GRUB já está configurado, basta reinstalá-lo;
    # grub-install /dev/hda
  7. Pronto! O GRUB voltou a gerenciar o boot!

Este script valida checkbox gerados dinamicamente, com nomes diferentes.

function validaCheckbox(v)
{
todos = document.getElementsByTagName('input');
for(x = 0; x < todos.length; x++)
{
if (todos[x].checked)
{
return true;
}
}
alert("Selecione pelo menos um item!");
return false;
}
Na chamada do formulário <form [...] > basta colocar onSubmit="return validaCheckbox(this);"
<form action="arquivo.php" method="post" onSubmit="return validaCheckbox(this);">

A função abaixo converte uma string para maiúsculo em PHP, inclusive caracteres acentuados. É usada a função strtoupper para converter a string e, em casos em que caracteres acentuados não são convertidos, é usada a função str_replace, que substitui o caractere acentuado pelo seu equivalente maiúsculo.

Em suma, converte, usando PHP, uma string qualquer para sua equivalente maíscula.

function converteMaiusculo($string) 
{
$string = strtoupper ($string);
$string = str_replace ("â", "Â", $string);
$string = str_replace ("á", "Á", $string);
$string = str_replace ("ã", "Ã", $string);
$string = str_replace ("à", "A", $string);
$string = str_replace ("ê", "Ê", $string);
$string = str_replace ("é", "É", $string);
$string = str_replace ("Î", "I", $string);
$string = str_replace ("í", "Í", $string);
$string = str_replace ("ó", "Ó", $string);
$string = str_replace ("õ", "Õ", $string);
$string = str_replace ("ô", "Ô", $string);
$string = str_replace ("ú", "Ú", $string);
$string = str_replace ("Û", "U", $string);
$string = str_replace ("ç", "Ç", $string);
return $string;
}
A chamada da função é feita da seguinte maneira:
$variavel = converteMaiusculo($variavel);