segunda-feira, outubro 27, 2008

Moda e loiça sanitária

Aparentemente são duas coisas distintas...NÃO...após vários dias a escolher loiça apercebi-me que até se cruzam em vários pontos quando ouço frases como -"Este modelo é da colecção de 2008" ou -"Este modelo está agora muito na moda"...mas o que é que é isto? Aquilo deveria ser só um sítio para fazermos as nossas necessidades!

Nunca pensei que fosse tão complicado escolher loiça sanitária, mas ao fim de pesquisar em meia dúzia de lojas, consegui seleccionar alguns modelos e comparar preços entre as diferentes lojas. Esta coisa de andar a fazer obras e escolher material é mesmo chato, a única vantagem é que ficamos com uma casa personalizada ao nosso gosto.

quinta-feira, outubro 23, 2008

Ciclo de eventos no ASPX

Uma das coisas mais chatas no ciclo de eventos, é o evento de click de um botão acontecer só depois do OnLoad. Então que fazer quando no OnLoad precisamos de saber se um botão foi pressionado? O truque para conseguir esta informação no OnLoad é ter um hidden field que é afectado pelo evento de client click do botão.

Código no ASPX:
<asp:button id="filter" onclientclick="JSFilter()" onclick="Filter" runat="server">

Código no code behind:
protected override void OnInit(EventArgs e)
{
   Page.ClientScript.RegisterHiddenField("filterChange", "");
}
protected override void OnLoad(EventArgs e)
{
   base.OnLoad(e);

   string arg = HttpContext.Current.Request.Form["filterChange"];
   if (arg == "1")
   {
       //A lógica que se quiser se o botão foi pressionado
   }
}

Código de Javascript:
function JSFilter(){
  var hidden = $('filterChange');
  hidden.value = 1;
}
Quando o botão é pressionado o javascript é executado colocando o valor do hidden field igual a 1 (estou a usar mootools no javascript, mas poderia usar um get por id, sem usar o mootools). Quando entro no evento OnLoad verifico se o valor do hidden field é 1, se for é porque o botão foi pressionado.

sexta-feira, outubro 17, 2008

Orion's Belt 2.0 - Alpha

Após as dificuldades que tivemos no final da semana passada na criação de um ambiente num servidor de teste, desde o inicio desta semana que o Orion's Belt 2.0 - Alpha está no ar e a funcionar sem grandes problemas, tirando alguns bugs ocasionais, mas essa é mesmo a definição de uma versão alpha.

Temos recebido opiniões e ajudas muito interessantes dos jogadores que já se encontram a experimentar o jogo, e vamos aproveitar algumas delas para que o jogo seja construído como base no que a comunidade gostaria mais de ter. Obrigado a todos aqueles que nos estão a ajudar!

terça-feira, outubro 07, 2008

Google Chart

Ontem pela primeira vez andei de volta disto e ao contrário do que me disse o Pedro Santos, o Google Chart não me pareceu assim tão intuitivo. Ok que fazer um gráfico simples são 3 parâmetros e voilá já temos um graficozito, o problema é quando se quer personalizar alguma coisa tudo se torna confuso. Ao fim de 3 horas lá surgiu algo idêntico à imagem seguinte.

Google Chart Example

Alguns dos problemas que senti:
  • Os exemplos de transparências não funcionam e não consegui fazer transparências de todo, se alguém já conseguiu e tem um exemplo funcional agradecia a ajuda;
  • A posição de alguns parâmetros da query string tem influência no resultado final;
  • A documentação não é explicita em todos os casos e às vezes não se sabem todas as opções dentro de cada parâmetro e que faz cada uma delas;
  • Existe redundância na passagem de parâmetros, por exemplo, no gráfico que mostrei tive de colocar três vezes o número 2000.

sexta-feira, outubro 03, 2008

Estatísticas das provas europeia

Encontrei este site que deduzo que seja holandês com todas as estatísticas das provas europeias, organizado tanto por clubes como por países. O site está constantemente a ser actualizado com os novos resultados, ao ponto dos jogos que se realizam dum dia já estarem disponíveis para estatística no início do dia seguinte.

quarta-feira, outubro 01, 2008

Dropdown com submenus

No outro dia necessitei de fazer o seguinte controlo, e apesar de nunca o ter feito antes com submenus até é algo bastante simples:



Código:
<select id="groupType">
 <option value=""> </option>
 <optgroup label="Resources">
  <option value="1">Intrinsic</option>
  <option value="2">Rare</option>
 </optgroup>
 <optgroup label="Units">
  <option value="4">Ships</option>
  <option value="8">Light</option>
  <option value="16">Medium</option>
  <option value="32">Heavy</option>
  <option value="64">Ultimate weapon</option>
 </optgroup>
</select>