Meu mal

Hoje eu não vou escrever nada relacionado a programação eu vou escrever algo que é o que penso.

Meu Mal

No dia a dia que tenho, faço uma coisa que todo mundo deveria fazer, penso e penso muito, faço isso para resolver problemas, para resolver situações inusitadas, para poder falar bobagem bem falada… só que pensar não é algo muito comum, vejo milhares de pessoas fazendo perguntas todos os dias de coisas obvias que não precisavam perguntar, bastava pensar um pouquinho para saber a resposta do que procuram.

Acontece que pensar além de ser um bom habito também é algo que machuca. As pessoas que pensam de mais, elas acabam sofrendo mais do que se elas não tentacem racionalizar tudo que elas vêem pela frente, só parar para pensar, quando você sofre uma quebra de relacionamento, aquela pessoa que sofre mais o que ela fica se perguntando??? o que… porque?? como??? o que eu fiz de errado?
Essas são perguntas que todos nós nos fazemos diariamente para a maioria das coisas que fazemos. Mas se você pensar menos quando esta sofrendo uma quebra de relação, logo você se desapega mais rapido e fica mais fácil você entender que não tem motivo, as coisas são assim porque elas eram para ser assim… não precisa ser nenhum gênio nem nada, porque do mesmo jeito que uma pessoa te amou sem motivo algum, ela pode deixar de gostar no mesmo passe de mágica.
Então se eu for comparar isso não só com o lado sentimental, mas com o que fazemos que é trabalho, vida e familia. Nenhum desses adianta pensar demais, pois todos tem explicações que não são explicações, fazem coisas que a gente não consegue entender, é aquele familiar que te apoia sem motivos, é aquele que acusa e diz que ta errado sem saber porque você ta fazendo aquilo, ou seja, nada disso tem uma explicação lógica, não ao meu ver…

Mas e ai porque pensar faz mal?? não deveria, afinal como já disse Descartes “Penso logo existo”, é mas pensar é uma merda… veja lá to eu aqui escrevendo esse texto inteiro sem saber direito o que eu quero dizer… só sei que penso em tudo que faço 500 vezes antes de fazer e imagino tudo que eu possa um dia ainda querer… sem nem ao menos tentar. Crio um mundo que na minha cabeça seria perfeito, mas esqueci de fazer a coisa principal… dar o primeiro passo.

Não sou apenas eu quem faz isso, não digo que por ser assim sou um infeliz, muito pelo contrario, tenho uma vida boa, não tenho nenhum problema aparente e tenho pessoas que me adoram por eu ser assim.

Mas e ai porque eu tinha que pensar tanto? o que seria de mim se eu não pensa-se tanto assim? Será que teria uma vida melhor?? será que teria uma vida pior???
Para isso temos a resposta do Chaves “Quem se importa? coma torta!”

Bom por hoje é só… tinha q escrever algo para tentar parar de pensar tanto!!! e quem sabe passo a escrever mais código para ajudar essa galera que vem quase todo dia aqui e achar que meu blog ta abandonado…
Aviso aos navegantes não está abandonado… só me falta é tempo para ver o que eu posso criar ou escrever para ajudar ao proximo 😉

Abraços
Eu

Anúncios

Transformar UTF-8 para acentos ISO com php

Bom,

Eu tava com uma puta dificuldade com uma tabela em francês, que os nomes vinham tudo com acentuação errada… exemplo:
pagé quirion

Entre outros que não convertia corretamente na hora de exportar para um CSV
Então eu decidi fazer uma função na maneira pedreira mesmo indo olhar na DB cada acento que eu colocava para ver o correspondente…

E depois de uma boa meia hora fazendo isso criei a seguinte função

function utf8Fix($msg){
$accents = array("á", "à", "â", "ã", "ä", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö", "ú", "ù", "û", "ü", "ç", "Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö", "Ú", "Ù", "Û", "Ü", "Ç");
$utf8 = array("á","à ","â","ã","ä","é","è","ê","ë","í","ì","î","ï","ó","ò","ô","õ","ö","ú","ù","û","ü","ç","Á","À","Â","Ã","Ä","É","È","Ê","Ë","Í","Ì","Î","Ï","Ó","Ò","Ô","Õ","Ö","Ú","Ù","Û","Ü","Ç");
$fix = str_replace($utf8, $accents, $msg);
return $fix;
}

Então eu espero que isso ajude alguem a resolver os problemas 🙂
Os meus parcialmente foram resolvidos com essa função

Mas quem sabe num futuro com ela mais completa, com outros caracteres não ajude muita gente.

Abraços

Trocar de url ao mudar a lingua do site – PHP

Eu tava com problemas para trocar a url quando um usuário simplesmente clica-se em inglês ou francês em um dos sites que eu estava desenvolvendo
Eu tentei tudo quanto foi código HTACCESS para tentar resolver isso… mas não tive muito sucesso

Então para resolver esse problema de uma vez por todas eu resolvi fazer esse código php aqui:

if(preg_match("/loulouextreme/", $_SERVER["HTTP_HOST"])){
if(preg_match("/\/fr/", $_SERVER["REQUEST_URI"])){
header("location: http://dev.louloushoppingextreme.com".$_SERVER["REQUEST_URI"]);
}
}else if(preg_match("/louloushopping/", $_SERVER["HTTP_HOST"])){
if(preg_match("/\/en/", $_SERVER["REQUEST_URI"])){
header("location: http://dev.loulouextremeshopping.com".$_SERVER["REQUEST_URI"]);
}
}

Isso é um caso real do site louloumagazine.com eu tava trabalhando com um dos concursos internos do site.
E precisava detectar a lingua e alterar a url

Após fazer esse código o site passou a verificar a url e alterar ela para o site correto, assim as propagandas e outras coisas também puderam ser alteradas de acordo com o site que ela entrava.

Isso ai fica como uma nota para a proxima vez que eu tiver problemas com isso 🙂

Espero que isso ajude alguem hehe

Abraços

Criando botão no flash

Bom galera hoje eu vou ensinar como fazer um botão no flash, com códigos simples como rollOver e rollOut para que nosso botão faça uma animaçãozinha boba e simples, o intuito desse tutorial é explicar passo a passo como fazer para se criar um botão animado com MovieClip e não com botão propriamente dito.

Então vamos aos passos ok?

1 Passo – Criando um novo arquivo
Criar um arquivo para isso basta ir em File -> Novo

Próximo passo agora é escolhermos qual tipo de Flash vamos utilizar.
bom devido a grande utilização de AS 2.0 ainda e a galera de AS 3.0 eu vou ensinar como faz nos 2.

Os exemplos e imagens serão do CS 3 e CS 4, assim ninguem fica perdido, uma vez que o CS 3 utiliza o padrão antigo das versões do flash como visual, e o CS 4 já cria um novo padrão visual.

Bom então vamos lá essa telinha aqui é de prache:

Depois de selecionar o tipo de Arquivo AS 2 ou AS 3, vamos agora para o próximo passo

2 Passo – Criando um quadrado

Crie um quadrado em sua tela com a ferramenta rect tool (R) é o quadradinho que fica na barra de ferramentas.
Clique sobre sua tela e desenhe um quadrado.

3 Passo – Modificando o status do simbolo

Selecione esse quadrado e aperte F8 ou vá em modify/modificar -> convert to a symbol/converter para simbolo

4 Passo – Convertendo Simbolo para MovieClip

Ao converter para simbolo irá aparecer essa telinha:

Selecione como está selecionado, MovieClip na drop box CS4 ou radio button CS 3, e de um nome para esse arquivo, no caso vamos chamar de botão. (Pode deixar o nome acentuado mesmo, pois por enquanto acentuação ou não, não vai fazer a menor diferença pois ainda estamos só no layout).

5 Passo – Abrindo as propriedades

Agora vamos alterar as propriedades do objeto para colocar uma instância no mesmo, lembrando que se você está procurando como usar on(release) veio ao lugar errado!
Para isso vamos ter que fazer com que a caixa de propriedades apareça, aperte ctrl + F3 para que isso ocorra.
Fazendo isso você deverá ver uma das seguintes imagens:

Como podem ver, vemos agora o campo de propriedades e o que eu quero fazer com ele??
Bom você agora vai colocar o mouse onde tem escrito <instance name> e vai digitar:  botao

Porque estou fazendo isso? o que significa instance name?
Instance name é o nome do elemento que você está colocando na tela propriamente dito, é com ele que você poderá acessar as propriedades de um elemento através do ActionScript e é através dele que você poderá fazer ações de rollOver e rollOut como estou ensinando nesse tutorial.

6 Passo – Criando camada e bloqueando

Vá em sua timeline e adicione uma nova camada (para isso não tem shortcut até onde eu sei), inserir/insert -> timeline -> layer/camada
Clique sobre a mesma e renomeie como ActionScript (não que isso vá fazer muita diferença no projeto, mas é só para diferenciar essa layer das demais) e clique no cadeado para bloquear a layer, assim você não correrá o risco de colocar imagens etc na layer de actions

7 Passo – Abrindo o Action no flash

Clique agora sobre o primeiro frame da layer Actions e abra o campo de ActionScript apertando F9 ou indo em window -> Actions

8 Passo – As ações do botão

No campo de action script vamos escrever o seguinte código (já explico para que o mesmo serve):

AS2
botao.onRollOver = function(){
trace('Roll Over');
}
botao.onRollOut = function(){
trace('Roll Out');
}

AS 3
botao.addEventListener(MouseEvent.MOUSE_OVER, over);
botao.addEventListener(MouseEvent.MOUSE_OUT, out);
function over(e:MouseEvent){
trace('Roll Over');
}
function out(e:MouseEvent){
trace('Roll Out');
}

Bom agora você vai testar o clip apertando ctrl + enter ou indo em controle/control -> testar filme/test movie
Ao testar o clip passe o mouse sobre o botão criado, você verá que uma telinha de output aparecerá escrevendo Roll Over e Roll Out.

E pronto agora você tem seu clip com ação de rollover e rollout, mas poxa vida ele não faz nada de bacana 😦 queria que ele muda-se de cor ou alguma coisa quando colocar o botão sobre ele.

Então vamos lá fazer a animação 🙂

9 Passo – A animação do botão

De um duplo click sobre o botão e você verá que agora está dentro do botão, a time line mudou e você poderá fazer sua animação
Então clique no frame 15 e aperte F6 para criar um novo keyframe, e depois clique sobre o 30 e faça a mesma coisa.
volte ao passo 6 e insira também dentro do  botão a camada Action.

No faça o mesmo procedimento na camada action 1 keyframe no frame 1 no 15 e no 30
Nos keyframe da camada action abra os actions e digite apenas:  stop();
Ou seja no keyframe 1 tem que ter o código stop() no 15 e no 30 também

Sua timeline tem que parecer com essa aqui:

Você pode ver um a bem pequeno no frame indicando que tem Actions naquele frame.

Agora vamos fazer o Motion Tween clicando com o botão direito do mouse sobre a segunda camada de botão no meio da timeline entre o 1 e o 15 e escolhendo motion tween, faça o mesmo procedimento para o 15 ao 30 ficando algo assim:

Agora clique sobre o frame 15 como indica na figura acima depois clique sobre o seu Movie clip no palco e vá em propriedades e selecione nas Color: e marque alpha e depois 50%, faça o mesmo procedimento no 1 e no 30 só que marcando alpha 100%

Agora volte ao palco principal para isso basta selecionar  a cena 1 / scene 1 ou clicar na setinha de voltar:

Clique novamente na sua camada de actions e abra o action script e digite o seguinte:
AS2
botao.onRollOver = function(){
this.gotoAndPlay(2);
}
botao.onRollOut = function(){
this.gotoAndPlay(16);
}

AS3
botao.addEventListener(MouseEvent.MOUSE_OVER, over);
botao.addEventListener(MouseEvent.MOUSE_OUT, out);
function over(e:MouseEvent){
botao.gotoAndPlay(2);
}
function out(e:MouseEvent){
botao.gotoAndPlay(16);
}

no lugar do código que você tinha anteriormente.

Parabéns se você completou todos os passos com sucesso agora você já tem um botão com ações de rollOver e rollOut, o que você precisa agora é fazer sua propria animação da maneira que você bem entender.

Abraços e até a próxima.

Ler XML com flash

Lendo XML com flash e Action Script 2

Bom aqui vai um tutorial bem simples de como se ler um XML com o flash.

Existem varios tipos de XML, são eles com ou com id ou valores dentro dos nós como atributos… ou as vezes só com conteúdo dentro do mesmo.
E eu como muitos programadores já passaram mals bucados para ler um XML no flash.

Pois bem aqui eu vou tentar simplificar um cadinho a vida dos programadores de como ler um XML
Teremos o seguinte XML para ler como desafio:

<?xml version="1.0" encoding="UTF-8"?>
<xml version='1.0'>
<childNode id='1'>Exemplo de XML</childNode>
</xml>

Bem simples pois assim não vamos ter muito o que complicar né?

Então vamos primeiramente como fazer em ActionScript 2
Não tem muito mistério, coloquei comentários para explicar o porque fiz dessa maneira
Segue o código:

//Aqui crio a variavel que via ser responsavel pelo XML
var xml:XML = new XML();
//Aqui vou dizer para ignorar os espaços em branco
xml.ignoreWhite = true;
//Aqui eu vou carregar meu XML
xml.load('exemplo.xml');
//Aqui vou criar o ao carregar chama uma função
xml.onLoad = function(ok){
if(ok){ //Se carregou com sucesso faz:
//Aqui eu pego o attributo do cabeçalio do meu XML no caso o vou pegar o 1.0
trace(xml.firstChild.attributes.version);
/*
* Aqui agora eu vou pegar o atributo do nós.. como é o primeiro nó tenho que pegar o valor
* como se fosse uma array então temos que usar o [0] como parametro para indicar que é o primeiro nós e não o segundo
* Lembrando que arrays sempre começam do 0 para mostrar o primeiro elemento
*/
trace(xml.firstChild.childNodes[0].attributes.id);
//Aqui eu vou pegar agora o valor do nó
//Para isso preciso chamar o firstChild novamente para dizer que eu quero o valor daquele nó e não de outros que podem estar dentro dele
trace(xml.firstChild.childNodes[0].firstChild.nodeValue);
}else { //Senão ele vai mostrar um erro
trace('error');
}
}

Action Script 3 ficará para uma proxima.

Abraços e até lá

Pré loader AS3

Faz tempo que não escrevo… vamos ver se começo a colocar material com maior frequencia…

Então muita gente tem dificuldade quanto a isso, mas é como sempre digo AS 3 eh mais ou menos a mesma coisa que AS 2 a unica diferença clara que vejo… é que AS 3 adooooora chamar um listener coisa que não eramos acostumados em AS 2…

Então vamos a um PréLoader Simples em AS3
Segue o código:


stop();
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS , onLoadProgress);
this.loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
function onLoadProgress(event:ProgressEvent):void {
var l:uint = event.bytesLoaded;
var t:uint = event.bytesTotal;
var porcento:int = Math.floor((l/t) * 100);
//Aqui eh a hora de vc colocar aquela sua barrinha igual ao porcento... só que lembrando que vc tem que colocar * o tamanho dela e não 100
trace(porcento+"%"); //mostra o porcentual carregado... aqui é a hora de colocar seu campo de texto se quiser
}
function onLoadComplete(event:Event):void {
trace("Carregamento completado!");
nextFrame();
}

Lembrem-se que ao pegar o código tem que re escrever a porcaria das aspas… se não pode dar problema 🙂

Abraços e até a proxima

Fazendo gradiente com AS 2.0

Isso é um código simples de se entender

//Primeiro você importa a classe necessária do flash
import flash.geom.*;
//Especifica qual o tipo de gradiente vc quer
var fillType:String = “linear”
//Escolhe as cores no caso azul e vermelho
var colors:Array = [0xFF0000, 0x0000FF];
//Diz o alpha que vai de 0 a 100
var alphas:Array = [100, 100];
//que vai de 0 a 255 ou 0 a 0xFF
var ratios:Array = [0, 255];
//Cria-se a variavel matrix responsavel pela configuração
var matrix:Matrix = new Matrix();
//Cria a caixa de gradiente
matrix.createGradientBox(100, 20, 0, 0, 0);
//Se trabalha com spreadMethod que são reflect, repeat e pad. (pad é o padrão)
var spreadMethod:String = “pad”;
//Agora criamos o gradiente propriamente dito, colocando sempre, tipo, cores, alphas, ratios, matrix e o tipo de controle
this.beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod);
//Aqui eu só crio o quadrado que vai ter as cores
this.moveTo(0, 0);
this.lineTo(0, 100);
this.lineTo(100, 100);
this.lineTo(100, 0);
this.lineTo(0, 0);
this.endFill();

Simples fácil e prático

Lembrando que ao copiar e colar mudar as aspas, pois o WP altera as aspas no código

Abraços e até a próxima.