2014-07-17

"Como usar divs"

... é algo que não vos posso ensinar.

Posso no entanto ir partilhando truques que aprenda.

Vamos supor que querem pôr o equivalente a duas células de uma tabela lado a lado.
Podem usar uma tabela (o que aparentemente é sacrilégio?) ou então usar divs.

O código abaixo permite colocar texto lado a lado.

        <div>
            <div>
                <div style="float:left;display:inline-block;">
                    <div>
                        <asp:Label ID="Label3" runat="server" Text="Please, select one grammar file:"></asp:Label>
                    </div>
                </div>
                <div style="float:inherit;display:inline-block;margin-left:100px;">
                    <div>
                        <div>
                            <asp:Label ID="Label4" runat="server" Text="Alternatively, you can also create a new grammar file: "></asp:Label>
                        </div>
                    </div>
                </div>
            </div>
        </div>

Depois deste código poderão querer colocar mais texto em baixo.
Normalmente o que acontece é, por causa do float, ficar tudo sobreposto: o div debaixo é puxado para o espaço dos de cima.

Graças ao Pai Natal descobri que o trecho de código abaixo faz uma "barrier" a divs e fica tudo a funcionar como esperado:

        <div style="clear:both">
            <asp:Label ID="Label1" runat="server" Text="GrammarId"></asp:Label>
            <asp:TextBox ID="GrammarId" runat="server"></asp:TextBox>
        </div>


Sei que o Zeca e o Marco já sabem que HTML/CSS, portanto vão-me perdoar o facto de usar inline CSS. Fora isso acho que não cometo nenhum sacrilégio.

2014-07-16

NASA - primeiras imagens de um buraco negro!!!1

Vivemos numa era realmente fantastica.
Diaramente são estabelecidas novas fronteiras no mundo da ciência.
Desta vez, é a NASA que nos dá imagens nunca antes vista de um buraco negro.

Nota: Por favor vejam em 1080p

2014-07-09

Visual Studio, Webforms e ANTLR

O Webforms no Visual Studio (2012, 2013, outros?) usa o Webgrease.

O Webgrease puxa um DLL, Antlr3.Runtime, versão 3.4.1.9004.

Se usarem o ANTLR num projecto, podem fazê-lo via:

  1. via Nuget
  2. via unzip para pasta adicionar o ANTLR para lá, e acrescentarem a referência no projeto.

Se por sua vez usarem esse projecto num Website em Webforms, vai haver colisão

Caso usem a 2ª via (e potencialmente a 1ª, mas não cheguei a testar instalando o ANTLR via Nuget), no vosso site:
  • removam a referência ao ANTLR 3.4.1.9004 (no 2012 acho que é o 3.2.qqcoisa)
  • adicionem a referência ao vosso ANTLR (no meu caso, 3.5.0.2)
  • redirecionem todos os pedidos ao ANTLR antigo para o novo, no Web.config:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
        <bindingRedirect oldVersion="3.4.1.9004" newVersion="3.5.0.2" />
      </dependentAssembly>
 <dependentAssembly>
<assemblyIdentity name="WebGrease" culture="neutral" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234"/>
 </dependentAssembly>
    </assemblyBinding>
  </runtime>