20 de dezembro de 2007

Introdução a JQuery

Bom pessoal como ultimo post de 2007, quero fechar com chave de ouro!

Ultimamente tenho ultilizado o JQuery é um 'framework' eu chamo mais de uma linguagem de progrmação, porque é extremamente animalesco(como disse meu amigo Fernando ;D).

Vou deixar aqui pra vocês uma introduçãozinha sobre o que é JQuery.

JQuery
é um conjunto de biblioteca criada em JavaScript que facilita muito a criação de aplicativos web.

Site para donwload: http://jquery.com

Para o download das bibliotecas: http://docs.jquery.com/Downloading_jQuery

Para os plugins: http://docs.jquery.com/Plugins

E claro, um simples tutorial: http://i18n.2kminterativa.com.br/jquery

O mais interessante que ele interage diretamene com CSS, DOM, HTML, entre milhares de outras..

Bom Desejo pra todos um Feliz Natal
e um Exelente ano Novo...

até mais ;D

19 de dezembro de 2007

Criar Preloader Simples [ActionScript]

Novamente mais um post aqui!!

Como estou trabalhando em um site feito em puro ActionScript vi que é essencial um Preloader e por isso nosso post vai ser a respeito..!
Vamos aprender a fazer um Preloader ;D

Bom primeiramente você tem que ter conhecimento que toda animação tem um "Tamanho em Kbytes", ou seja, tudo tem um tempo para carregamento. Se você tem uma animação de 10mb, ou seja, 10.000 Kbytes e sua conexão é de 5 Kbytes, (10.000/5 = 2.000) você demoraria 2.000 segundos ou 33 minutos para poder carregar sua animação. Inquanto carrega sua animação seria interessante ir rodando uma animaçãozinha né, um Preloader.

Bom agora que vocês sabem o que é um Preloader e qual utilidade ele tem, vamos aos codigos... ;D

Antes de mais nada abra o Flash e crie um MovieClip, instancie-o de "meu_mc" (sem aspas);

Vamos entender as princiapais funções.

1000 bytes = 1 Kbyte - 1kb
1000 Kbytes = 1 Megabyte - 1mb

(OBS estou utilizando valores arredondados para facilitar a conta de cabeça, os valores reais de bytes é 1024b);

1) getBytesTotal() - A função retorna o valor total de bytes do objeto. Você pode tanto pegar o valor total do frame como o valor de um MovieClip exclusivo.

Ex:.

>CODE <<>

trace (meu_mc.getBytesTotal());
// retorna o total de bytes do movieclip




2) getBytesLoaded() - Retorna o valor de bytes carregado.

Ex:.

>CODE <<>

loadedbytes = meu_mc.getBytesLoaded();
totalbytes = meu_mc.getBytesTotal();

_root.onEnterFrame = function(){
if(totalbytes > (loadedbytes - 50000)){
trace (loadedbytes);
}
}


Você pode perceber que ele irá fazer um loop com o valor de bytes total, mas isso ocorre porque você está abrindo ele locamente sem tempo de carregamento, se fosse Online isso demoraria muito pra carregar.

Agora vamos montar nosso primeiro Preloader.

>CODE <<>

onClipEvent(load) {
total = _parent.getBytesTotal();
_parent.stop();
}
onClipEvent(enterFrame) {
loaded = _parent.getBytesLoaded();
if(loaded == total) _parent.play();
}


Explicando cada linha:

01 - Ao carregar o movieclip, executa...
02 - Seta a variável "total" como sendo o valor total de bytes do filme. Utilizamos aqui junto a função getBytesTotal() o aliás _parent. Ele indica um caminho relativo do preloader em relação a timeline principal. Quer dizer, ele indica que o valor de bytes total é o da timeline principal, é escopo acima
(_parent) da timeline do movieclip.
03 - Pàra a execução do filme. A explicação do _parent é a mesmo da linha 2. Só que aqui, ao invés de retornar o total de bytes, ele está parando a execução da timeline.
04 - Encerra o evento load.
05 - Ao entrar no frame... Este seria o nosso loop, onde cada vez que ele executar o frame, ele atualizaria o valor da variável.
06 - Seta a variável "loaded" como sendo o valor de bytes recebidos até o momento. A cada execução do loop esse valor é atualizado.
07 - Faz um verificação de condicional. Caso o valor da variável total seja igual "== " (sinal de comparação) ao da variável loaded, executa o filme. Caso essa condicional não seja verdadeira, continua o loop.
08 -Encerra o evento enterFrame.

Bom pessoa esse é um Preloader bem simples.. seman que vem eu coloco um avançado com animação ;D

mas apartir daqui você já consegue fazer o carregamento!!

até mais ;D

13 de dezembro de 2007

Integração de Flash + XML [ActionScript]

OPa!!

Mais um Post aqui pra vocês sobre ActionScript..
Bom vamos logo ao que interessa ;D

É interessante que antes de tudo vocês já tenham uma boa introdução em XML.

<?xml version="1.0" encoding="iso-8859-1"?>
<album>
<foto imagem="img.jpg" legenda="Minha legenda"/>
<foto imagem="amigos.jpg" legenda="altas festas"/>
<foto imagem="servico.jpg" legenda="mais uma reunião"/>
<foto imagem="montanha.jpg" legenda="uma bela imagem de uma montanha"/>
</album>

Veja que na primeira linha declaramos a versão do XML e o encoding que dá suporte à acentos, assim podemos colocar acentos em nossas tags.

Na segunda linha abrimos a tag "album", informando que ali começa o nosso album de fotos.

Da 3ª à 6ª linha estão nossas fotos e suas legendas. É importante saber que para cada foto você tem que declarar dessa maneira.

<foto - para indicar o início de uma nova foto;
imagem="img.jpg" - para declarar o local do arquivo;
legenda="Minha legenda" - para informar o texto correspondente à imagem;
/> - declara o término da foto.

Salve seu xml como "album.xml" (sem aspas) e vamos ao Flash.
Para testarmos o código, usaremos o "trace", para exibir os resultados na janela de saída.

Abra o Flash e no 1º frame coloque este código:
(As duas barras após cada linha servem para comentários no flash. )

>CODE <<>

System.useCodepage = true; // habilita acentos;
var
arquivo:XML = new XML(); // cria a variável para ler o xml;
arquivo.load("album.xml"); // manda a variável ler o album.xml salvo anteriormente;
arquivo.ignoreWhite = true; // ignora espaços em branco no XML
arquivo.onLoad = function() { // após a leitura do XML, executa a ação:
trace(this); // mostra o conteúdo na janela de saída.
}

Pressione Ctrl + Enter e veja que aparecerá todo o nosso XML na janela de saída.

Vamos começar a fazer a leitura de linha por linhda do XML.
No XML a contagem das linhas começa apartir do 0 (zero), ou seja, a linha 1 na verdade é a linha 0 (zero).

Troque o código pelo seguinte:

>CODE <<>

System.useCodepage = true;
var
arquivo:XML = new XML();
arquivo.load("album.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
trace(this.childNodes[0]);
}

Repare que agora ele mostrou somente o que esta entre <album> ... <album> .
Mas por que isso? Simples, porque informamos que nós queríamos tudo o que estiver no primeiro nó do XML. Cada childNodes representa um nó no XML.
Você poderia ter usado também "firstChild"(sem aspas).

Vamos entrar mais no XML.

>CODE <<>

System.useCodepage = true;
var
arquivo:XML = new XML();
arquivo.load("album.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
trace(this.childNodes[0].childNodes[0]);
}

Com isso ele acessa a primeira linha das fotos. Lembre que no XML, a contagem começa do 0 (zero).

Sua caixa de saída deve ter aparecido o seguinte:

<foto imagem="img.jpg" legenda="Minha legenda" />

Quando nós vamos usar o XML para ler imagens e textos externos, não podemos deixar assim né? Temos que falar qual atributo queremos que ele pegue para mais tarde usarmos em um loadMovie.

Então vamos fazer isso agora. Pegar apenas o texto e o nome do arquivo no XML.
Como nós já estamos na linha que vai ler os atributos da foto, podemos declarar um "attributes".

>CODE <<>

System.useCodepage = true;
var
arquivo:XML = new XML();
arquivo.load("album.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
trace(this.childNodes[0].childNodes[0].attributes.imagem);
trace(this.childNodes[0].childNodes[0].attributes.legenda);

}

Pronto. O seu clipe de filme instanciado como "clipe" vai ler a imagem correspondente à primeira linha do XML, que nesse caso é a "casinha.jpg" e a sua caixa de texto vai ler a legenda correspondente.

Perceba que agora temos 2 trace. Um pra a foto e outro para a legenda.
No primeiro, o "attributes.imagem" pega o valor que está declarado no xml como imagem="img.jpg". E no segundo, o "attributes.legenda" pega a respectiva legenda no XML legenda="Minha legenda".

Sua janela de saída deverá ter ficado assim:

img.jpg
Minha legenda

Agora para exibir as informações no Flash, faça o seguinte:

  1. Crie um MovieClip, instancie-o de "imagem_mc" (sem aspas);
  2. Crie um campo de texto dinâmico e instancie-o de "legenda_mc" (sem aspas);

Agora é só informar ao flash para ler a imagem e o texto dentro dos alvos correspondentes.

>CODE <<>

System.useCodepage = true;
var
arquivo:XML = new XML();
arquivo.load("album.xml");
arquivo.ignoreWhite = true;
arquivo.onLoad = function() {
imagem_mc.loadMovie(this.childNodes[0].childNodes[0].attributes.imagem);
legenda_mc.text = this.childNodes[0].childNodes[0].attributes.legenda;

}


É isso pessoal!!
como sempre, espero que tenham gostado...
até mais!
;D

6 de dezembro de 2007

Controlando impressão [ActionScript]

Opa galera... essa informação é show de bola, e depois que descobri teve um avanço em minha vida
kkkkkkkkk

;D
bom vamos lá..

Nesse post vou ensinar a vocês como determinar qual Frame ou Mc você deseja imprimir.

Primeiramente crie um MovieClip e o istancie como 'impressao_mc' (sem as aspas)
Agora no nosso primeiro frame cole o seguinte código:
*no frame não no MC

>CODE <<>

// Criando a variável de instância com o nome de 'impressao'
var impressao:PrintJob = new PrintJob();
//
Criando uma instância e a chamei de resultado. Ela não irá retornar nenhum valor, por que a ela dei o método start() para começar a impressão.
var resultado:Boolean = impressao.start();

if (resultado) {
trace ("Imprimindo...");
// Aqui é onde eu chamo o MC ou o Frame desejado para impressão.
impressao.addPage("impressao_mc");
}else{
trace ("Erro ao imprimir");
}


É importante saber que o 'addPage' segue essa lógica de sintaxe para funcionar perfeito.

>CODE <<>
impressao.addPage(target, printArea, options, frameNumber);

ela pode até ser costumizada, não sendo necessário seguir o padrão, sendo opcional o uso de alguns desses parâmetros exceto o target.

Conheca os parâmetros:

.target - Esse parâmetro define qual o alvo será atingido, se você digitar números o compilador do filme vai entender que você está definindo por níveis de camadas, mas se for digitado strings como "impressao_mc" (sem aspas) ele vai entender que será o movieclip instanciado que será impresso.

.printArea - Esse parâmetro é especificado por 4 propriedades internas, a 'xMin', 'xMax', 'ymin', 'yMax' (sem as aspas). Essas propriedades vai determinar a área que será impressa dentro do alvo mencionado.

.options - Nas opções você define se você quer que ele imprima como bitmap ou vetor, nesse caso ele é um valor booleano definido pela palavra chave printAsBitmap, da qual vai ser impressa e se igualada a true vai imprimir bitmap se false imprime como vetor. Padrão é imprimir como vetor

.frameNumber - Imprime o Frame especificado. *lembrando que ele aceita apenas por números de frames e não em labels.


Mais abaixo outros exemplos mais complexos:

Ultilizando .options e
.frameNumber
>CODE <<>
var impressao:PrintJob = new PrintJob();
var resultado:Boolean = impressao.start();
if (resultado) {
minhaimpressao.addPage("imprima_mc", null, {printAsBitmap:true}, 5);
} else {
trace ("Impressão cancelada pelo usuário");
}


Utilizando
.printArea
>CODE <<>
var impressao:PrintJob = new PrintJob();
var resultado:Boolean = impressao.start();
if (resultado) {
minhaimpressao.addPage(
"imprima_mc", 0, {xMin:50, xMax:134, yMin:21, yMax:160});
} else {
trace ("Impressão cancelada pelo usuário");
}



Bom pessoal é isso...
Espero que ajude ;D

Até mais!!

3 de dezembro de 2007

Rodar um MC a partir de um ponto [ActionScript]

Uffaa.. 1 mês sumido mas estou aqui novamente com uma coisinha legal ;D

ultimamente ando meio sem tempo para postar devido a muita correria do serviço.. mas muita muita mesmo
kkkkkkkkkkkkkkkkk
algo do tipo trabalho escravo =p

bom mas vamos ao que interessa!

esse post vai ensinar vocês como fazer um MC (MovieClip) ficar girando em volta de um ponto fixo. Como se fosse uma 'Lua' ao redor da 'Terra'.

Primeiramente crie um MovieClip e o istancie como 'meuMC_mc'

>CODE <<>

// Aqui estou setando o 'raio' ou seja a distancia que o MC vai girar do ponto
raio = 100;
// Aqui estou setando a posição do MC (centralizando MovieClip)
this._x = Number(Stage.width - this._width)/2;
this._y = Number(Stage.height - this._height)/2;

// Função para girar o MC
function girar(){
meuMC_mc.onEnterFrame = function(){
// Seta a posição do X (formula para rotacionar a posição x)
this._x = Math.cos(Math.PI/180*angulo)*raio;
// Seta a posição do Y (formula para rotacionar a posição y)
this._y = Math.sin(Math.PI/180*angulo)*raio;

/* Verifica se o valor do angulo é menor que 360, caso seja ela almenta 20 em seu angulo. Caso contrário ele seta o valor do angulo para 1 */
angulo = angulo >= 360 ? angulo = 1 : angulo += 20;
}
}

girar();

Facil galera!!!
bom uma dica galera.. você pode criar varios MC's e fazerem ficar rodando.. algo como os 9 planetas ao redor do sol

pra fazer isso é só você repetir o mesmo precesso com outro MC e ir adicionando um valor depois do angulo

this._x = Math.cos(Math.PI/180*angulo+21)*raio;
this._y = Math.sin(Math.PI/180*angulo+21)*raio;

Espero que gostem disso heheh

bom até mais pessoal!
Fuiz.....

30 de outubro de 2007

Criando e Animando TextField [ActionScript]

Demorei mas estou aqui novamente!!!

Bom pessoal devido a muito correria no serviço tive que ficar ausente um tempinho hehehe...

Hoje vou mostrar pra vocês como criar um campo de TextField dentro de um MovieClip e depois animando ele.

Vamos primeiramente passar os parâmetros do nosso TextField

>CODE <<>

// Aqui estou setando alguns atributos para meu texto, como COR, FONT, TAMANHO
var txt_fmt:TextFormat = new TextFormat();
txt_fmt.color = 0x000000;
txt_fmt.font = 'tahoma,arial';
txt_fmt.size = 13;


Como já mostrei no post anterior, vamos criar nosso MC [MovieClip]

// Aqui estou criando meu MC
var meuMc_mc:MovieClip = createEmptyMovieClip("meuMc_mc", 1);
// Passando o valor do y inicial do meu MC
meuMc_mc._y = 65;

// Aqui eu crio meu campo de texto dentro no MC, passo os seguintes parâmetros:
// Nome do campo, depth, valor do x, valor do y, tamanho - largura e tamanho - altura
texto_txt = meuMc_mc.createTextField("texto_txt", 1, 15, 0, 390, 22);
meuMc_mc.texto_txt.wordWrap = true;
meuMc_mc.texto_txt.text = "meu texto ;D";

// Aqui é onde eu atribuo os parâmetros para meu campo de texto.
// OBS:. isto sempre vem por ultimo
meuMc_mc.texto_txt.setTextFormat(txt_fmt);

Bom agora temos nosso TextField com nosso texto inserido dentro de nosso MC!

Vamos agora fazer uma animação básica...

function inicio(){
_root.onEnterFrame = function(){
if(meuMc_mc._y > 10){
meuMc_mc._y -= 1;
}else{
meuMc_mc._y = 65;
}
}

inicio();




Pronto!!! temos um campo TextField criado dentro de um MC e animado... ;D

até mais...
;*

19 de outubro de 2007

Centralizar MovieClip no Stage [ActionScript]

Opa!!!

Agora ta entrando na área de mais conhecimento meu hehehe..
uma dica bem rapida para o pessoal novato em ActionScript ;D

Vamos lá!

Rapidamente vou dar um exemplo de como criar e centralizar um MovieClip em seu Stage.

>CODE <<>

/** Aqui você está criando um MovieClip vazio **/
var meu_mc:MovieClip = createEmptyMovieClip("meu_mc", this.getNextHighestDepth());

/** Aqui estamos setando uma imagem dentro do nosso MovieClip **/
loadMovie("swf/image/minhaImagem.png", meu_mc);

/** Aqui estamos pegando o tamanho width do nosso MovieClip subtraindo o width do nosso Stage e dividindo por 2, assim teremos o centro da nossa posição "x" **/
meu_mc._x = (Stage.width - meu_mc._width) / 2;

/** Aqui estamos pegando o tamanho height do nosso MovieClip subtraindo o height do nosso Stage e dividindo por 2, assim teremos o centro da nossa posição "y" **/
meu_mc._y = (Stage.height - meu_mc._height) / 2;



Simples pessoal, assim você vai ter uma imagem centralizada!!
Até mais ;D

16 de outubro de 2007

Crie seu próprio gerador de CPF

Olá pessoal,

Uma coisa muito ultilizada para a maiorias dos desenvolvedores Web é o CPF, porque sempre tem algum sistema de cadastro pra testar ou pra criar.

Como muitas vezes precisamos de vários CPFs para testar nossos programas, eu descidi postar a lógica de como um CPF funciona, e talvez assim você possa criar seu próprio gerador de CPF para testar seus produtos.

O CPF é composto de 11 algorítmos, onde os 9 primeiros são os algorítmos randômicos, e os 2 ultimos são os algorítmos de verificação.

ex.
351.253.324-XX (XX > Algorítmo de verificação)

Bom agora vamos por a mão na massa! ;D


Para calcular o primeiro algorítmo de verificação.

Distribua os 9 primeiros dígitos em um quadro colocando os pesos 10, 9, 8, 7, 6, 5, 4, 3, 2 abaixo da esquerda para a direita, conforme representação abaixo:





















351254324
1098765432

Multiplique os valores de cada coluna:































351253324
1098765432
304581430151268

Calcule o somatório dos resultados (30+45+...+6+8) = 168

O resultado obtido (168) será divido por 11. Considere como quociente apenas o valor inteiro (15), o resto da divisão (3) será responsável pelo cálculo do primeiro dígito verificador (X).

Ex: 168 dividido por 11 obtemos 15 como quociente e 3 como resto da divisão.
Caso o resto da divisão seja menor que 2, o nosso primeiro dígito verificador se torna 0 (zero), caso contrário vamos subtrair o valor obtido da divisão.

Ex: 11-3 = 8 (oito). Já temos portanto o primeiro algorítmo de verificação do nosso CPF, confira:
351.253.324-8X.

Para calcular o segundo algorítmo de verificação.

Para o cálculo do segundo dígito será usado o primeiro dígito verificador já calculado. Montaremos uma tabela semelhante a anterior só que desta vez usaremos na segunda linha os valores 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 já que estamos incorporando mais um algarismo para esse cálculo.

Veja:






















3512533248
111098765432


Na próxima etapa faremos como na situação do cálculo do primeiro dígito verificador, multiplicaremos os valores de cada coluna e efetuaremos o somatório dos resultados obtidos: (33+50+...+12+16) = 212.


































3512533248
111098765432
335091635181581216


Realizamos novamente o cálculo do módulo 11. Dividimos o total do somatório por 11 e consideramos o resto da divisão.

Vamos acompanhar: 212 dividido por 11 obtemos 19 como quociente e 3 como resto da divisão.

Caso o valor do resto da divisão seja menor que 2, esse valor passa automaticamente a ser 0 (zero), caso contrário vamos subtrair o valor obtido da divisão.

Ex: 11-3 = 8 (oito). Já temos portanto o segundo algorítmo de verificação do nosso CPF, confira:
351.253.324-88.

Neste caso chegamos ao final dos cálculos e descobrimos que os dígitos verificadores do nosso CPF são os números 8 e 8, portanto o CPF ficaria assim: 351.253.324-88.

Básicamente esse gerador de CPF ele randômiza os 9 primeiros algorítimos e depois calcula a validação deles com a regrinha.

Até mais pessoal!
;D

11 de outubro de 2007

Adobe Share

Fala pessoal!!!

Estava agora a pouco fuçando as coisas na net quando recebi um e-mail, era um convite de compartilhamento de arquivo, estranhei... mas como vi que era de fonte confiavel e também sou uma pessoa muito curiosa, fui dar uma fuçadinha ;B

Bom Pelo o que eu pude entender, Adobe Share é um site de compartilhamento de arquivos Online.
Mais interessante que é feito em Flex 2.0, uma tecnologia magnifica no meu ponto de vista hehe...

Bom, uma grande vantagem de tudo isso é que você pode interagir com pessoas tanto de dentro como de fora, ou seja, você pode compartilhar arquivos com pessoas que não ultilizam o Adobe Share, pena que o contrário não é possivel (pessoas de fora compartilharem arquivos com você).

Além de você poder fazer upload dos arquivos e enviar para outras pessoas para compartilhar, você tem um sitema de organização bem eficiente, onde você pode ver seus arquivos recentemente recebidos, pode também ver os arquivos que você compartilhou com outras pessoas, e o que acho mais interessante é poder guardar seus arquivos Online, no modo que você possa ter acesso a eles de qualquer lugar, entre varias outras opções que ele te oferece.

O Adobe Share ainda se encontra em versão BETA, mas vale a pena conferir.

Bom qualquer duvida pode perguntar que na medida do meu conhecimento vou explicando!
Até mais pessoal....

8 de outubro de 2007

Multiplas versões do IE

Bom pessoal,
Um dos sofrimentos dos designer é o fato de ter apenas 1 versão do IE e o Firefox para desenvolver e testar suas páginas. Ai vem o problema, você nunca sabe se o seu projeto está funcionando em todos os navegadores.
Por tal fato, fui a trás de um simulador de Internet Explorer, e graças a Deus encontrei o Multiple-IE, ele simula várias versões do
Internet Explorer (v3.0, v4.01, v5.01, v5.5, v6.0).

Recomendo que você já tenha o IE 7 instalado.

para Download direto clique aqui.

Testado e aprovado ;D
Até mais!

4 de outubro de 2007

Ativando a tecla Num Lock no Logon

Ajudinha básica para o pessoal do Xp e 2000...

Muitas pessoa tem um pequeno probleminha chato!!!
Quando você liga o pc o status da tecla Num Lock é específico de cada usuário, e por padrão fica desativado.
Ai o que acontece, toda vez você tem que apertar a tecla Num Lock pra funcionar!

Mas isso pode ser resolvido fácil...

O segredinho é o seguinte

*Clique no 'Menu Iniciar'
*Clique em 'Executar' e digite 'regedit'
//Vai abrir uma janela chamada 'Editor do Registro'

*No canto esquerdo de dois cliques na pasta 'HKEY_USERS'
//Vai abrir 'Subpastas' abaixo dela

*De dois clique na pasta '.Default'
//Vai abrir 'Subpastas' abaixo dela

*De dois clique na pasta 'Control Panel'
//Vai abrir 'Subpastas' abaixo dela

*De um clique em 'Keyboard'
//No canto direito vai aparecer várias opções


*De dois clique na opção 'InitialKeyboardIndicators'
//Vai aparecer uma janelinha chamada 'editar seqüência'

*No campo 'Dados de valor' altere de '0' para '2'
//Lembrando: '0 é igual a Num Lock DESLIGADO, '2' é igual Num Lock LIGADO

*Clique em 'OK'
*Feche todas as janelas
*Reinicie o computador

Feito!!
agora toda vez que ligar o PC a tecla Num Lock está habilitada

Espero ter ajudado, flws!

1 de outubro de 2007

Menu Iniciar mais rápido

Opa pessoal! é conhecido mas da uma ajuda e tanto para pc's mais lentinhos =]

Depois de fuçar alguns lugares descobri que é possível deixar o Menu Iniciar do Win XP e 2000 (que foram os que eu testei) mais rápido.

É bem simples basta fazer o seguinte:

*Clique no 'Menu Iniciar'
*Clique em 'Executar' e digite 'regedit'
//Vai abrir uma janela chamada 'Editor do Registro'

*No canto esquerdo de dois cliques na pasta 'HKEY_CURRENT_USER'
//Vai abrir 'Subpastas' abaixo dela

*De dois clique na pasta 'Control Panel'
//Vai abrir 'Subpastas' abaixo dela

*De um clique em 'Desktop'
//No canto direito vai aparecer várias opções

*De dois clique na opção 'MenuShowDelay'
//Vai aparecer uma janelinha chamada 'editar seqüência'

*No campo 'Dados de valor' digite o valor do Delay¹ que deseja
//Delay: tempo para executar a tarefa. Quanto menor o Valor mais rápido será executado.

*Clique em 'OK'
*Feche todas as janelas
*Reinicie o computador

PRONTO!!!
Apartir de agora seu 'Menu Iniciar' terá uma velocidade maior para a exibição das Opções...

Até mais Galera!

27 de setembro de 2007

Liberando 20% a mais de sua banda (rede/internet)

Bom dia galera,

sei que isso é mais conhecido que o café da manhã, mas pra quem não sabe é uma dica legalzinha.. ;D

Há um recurso no Windows XP, chamado "Agendador de pacotes QoS", que reserva 20% da banda disponível de rede e Internet para uso próprio.

Para poder liberar essa reserva faça o seguinte:

* Clique no Menu Iniciar;
* Clique em 'Executar' e digite gpedit.msc e pressione 'OK';
//Vai abrir uma janela chamada 'Diretiva de grupo'

* Clique na pasta 'Configuração do computador'
* Clique na pasta 'Modelos Administrativos'
* Clique na pasta 'Rede'
* Clique na pasta 'Agendador de pacotes Qos'
//Ao lado direito vai ter uma opção 'Limitar largura de banda reservavel'

* De um duplo-clique em 'Limitar largura de banda reservavel'
//Vai abrir uma outra janela chamada 'Propriedades de limitar largura de banda reservavel'

* Clique na aba 'Configurações'
//Vai ter varias opções 'Não configurado', 'Ativado' e 'Desativado'

* Clique em 'Ativado'
//Na parte mais abaixo tem uma opção 'Limite largura de banda [%]', deixe 0

* Clique em 'OK'
//Feche as janelas

* Agora vá ao 'Painel de Controle'
* Clique em 'Conexões de Rede'
* Clique com o botão direito na conexão existente e selecione 'Propriedades'
* Clique na aba Geral e habilite o Agendador de Pacotes QoS.
//Se já estiver habilitado, deixe−o assim.

* Reinicie o computador.

//Se houver mais de um computador em rede, é preciso seguir este procedimento em todos para que haja um real benefício desta dica.

OBS:.
SÓ FUNCIONA EM WINDOWS XP!!!


Bom, simples e eficiente!!
Espero ter ajudado..
e Meus agradecimentos ao Fernando por ter feito o acompanhamento deste tutorial em uma máquina XP, pq eu mesmo uso 200o =/

Até mais!

20 de setembro de 2007

Centralizando sua página por CSS

Bom vou explicar pra vocês como podemos deixar uma página centralizada independente do tamanho ou resolução do monitor.

A primeira dica é deixar tudo dentro de uma 'DIV'.
é muito comum utilizar a resolução 800x600, mas mesmo assim gosto de utilizar 760x600, porque assim não teremos uma barra de rolagem na horizontal.

Temos um grande problema, quando colocamos a 'margin: 0px' no CSS, ele apenas interpreta isso no Firefox, mas ai vem uma dica, que é por o 'texto centralizado' no 'body', isso resolve o alinhamento do IE6.

Ai surge um outro problema hehehe, todos os texto ficam centralizado!
é ai que vem outra dica. Que é por o texto alinhado a esquerda na sua DIV master.
vamos para o código...

No seu CSS ficaria assim:

>CODE <<>


<style type="text/css">
    body{
        margin: 0;
        padding: 0;
        text-align:center;
/* hack para deixar a página centralizada no IE6 */
    }

    #master{
        width: 760px;
        margin: 0 auto;
/* hack para deixa o Firefox centralizado */
        padding: 15px;
        text-align:left;
/* hack para deixar o texto normal no IE6 */
    }
</style>



No seu HTML ficaria assim:

>CODE <<>


<div id="master">Seu conteudo aqui</div>


Até mais pessoal!

14 de setembro de 2007

Background PNG Transparente para IE 6.0

Bom pessoal, depois de quebrar muito a cabeça com esse tal de PNG transparente para IE 6...
eu consegui resolver, e vou compartilhar aqui para que não precisem sofrer como eu hehehe.

Primeiramente você insere sua imagem de 'background' como uma outra qualquer.

>CODE <<>


<style media="screen,projection" type="text/css">
    #suaID{
      background: url(imagem.png);
    }
</style>




Agora vamos eliminar esse 'background para o IE', pois isso pode te dar problemas, e também vamos setar nossa fórmula mágica para a transparência no IE6

>CODE <<>


<!--[if lt IE 7]>
<style media="screen,projection" type="text/css">
    #suaID{
      background-image: none;
      filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/suaimg.png');
    }
</style>
<![endif]-->



(importante: o caminho para a imagem, é relativo à página aberta, não ao CSS)

Agora tem um problema que é horripilante.... mas também já tem a solução [pra quem não tem idéia do problema que isso da, eu vou explicar.. os LINKS SOMEM]

Para resolver o problema de 'não poder clicar' em algumas coisas (em links principalmente), é só colocar uma DIV interna, com ‘position: relative;’, resolvendo este impasse.

EX do código....


<style media="screen,projection" type="text/css">

/** SETA O FUNDO NORMALMENTE PARA IE7 E FX */
.fundo{
    float: left;
    width: 757px;
    background-image: url(img/conteudo.png);
    background-repeat: repeat;
    margin: -2px 0 0 0;
}

/** HACK PARA SEUS LINKS VOLTAREM A FUNCIONAR */
 #BugLink{
    position: relative;
}
</style>

<!--- HACK PARA LER APENAS NO IE6 --->
<!--[if lt IE 7]>
    <style media="screen,projection" type="text/css">
        .fundo{
            float: left;
            width: 757px;
            background-image: none;
         filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/conteudo.png');
        }
    </style>
<![endif]-->

<div class="fundo">
    <div id="BugLink"> Todo link aplicado aqui ou qualquer outro conteúdo vai continuar funcionando.!!! ;D </div>
</div>




Espero ter ajudado, até mais!