- 25 Setembro 2008
- Uncategorized
- 0 Comments
Estou a testar o moBlog, uma aplicação para windows mobile, que permite fazer posts como este a partir do pda
Caso vejam este post, é porque está a funcionar
Estou a testar o moBlog, uma aplicação para windows mobile, que permite fazer posts como este a partir do pda
Caso vejam este post, é porque está a funcionar
Uma situação vulgar é termos uma DropDownList com uma lista de opções retornadas da base de dados para o utilizador poder seleccionar uma delas.
Para evitar que uma das opções está seleccionada por defeito, recorre-se normalmente à opção “– Seleccione –” ou “– Escolha uma opção –”, etc etc etc.
Para evitar que tenhamos um UNION na nossa query que retorna essas mesmas opções ou mesmo um registo na tabela para tal, adicionando ao output a tal opção “default”, podemos adicionar esse mesmo item à DropDownList.
Para actualizar os dados, recorrendo ao metodo DataBind(), fará com que sejam adicionados os items retornados aos que já lá estão. Ou seja, antes de fazer o DataBind() é necessário apagar todos os items (usando o xpto.Items.Clear()) e só depois então faremos o DataBind().
Nesta altura, a opção “– Seleccione –” foi à vida e temos que adiciona-la novamente à dropdownlist.
Uma forma de evitar isto é adicionar um método (recorrendo aos Extension Methods) para apagar os items e preservar o item que queremos que apareça sempre por defeito.
Desta forma, o método ClearItems aparece agora no Intellisence e basta passar o parâmetro preserveDefaultItem a true.
Já lá vão alguns dias que uso um tema no Visual Studio disponibilizado pelo Rob Conery e hoje já não quero outra coisa. Sem dúvida que este tema com fundo preto e cores essencialmente escuras é uma enorme diferença (para melhor) em relação ao tema que vem por defeito.
Na altura que andei a procura de um tema que fosse de encontro ao que pretendia encontrei outros sites com vários disponíveis e que podem servir-vos:
WOW
pelo que parece o prático e simples MS Paint vai ter um novo look no Windows 7.
![]()
imagem retirada de UXEvangelist
Como este artigo diz, após instalar o SP3 do MS Office 2003, alguns tipos de ficheiros ficam bloqueados, ficheiros estes que são referentes a versões antigas do Office e que podem por em risco a segurança da máquina.
Para contornar o erro é necessário fazer algumas alterações no registo do Windows e para tal podem sacar este pack com os seguintes ficheiros:
A expressão yield é bastante útil quando queremos os valores de um método que retorna um IEnumerable ou IEnumerator.
Para retornarmos os valores entre o intervalo passado como parâmetro no método GetValuesFromInterval() teriamos algo assim:
static IEnumerable<int> GetValuesFromInterval(int min, int max) { List<int> intervalo = new List<int>(); for (int i = min+1; i < max; i++) { intervalo.Add(i); } return intervalo; }
Neste exemplo, para retornarmos todos os valores precisamos de criar um List e adicionar todos os nºs do intervalo que indicamos, e por fim retornarmos o List.
Com a expressão yield deixamos de precisar de criar um List e ficamos com o código bastante mais elegante.
static IEnumerable<int> GetValuesFromInterval(int min, int max) { for (int i = min + 1; i < max; i++) { yield return i; } }
As aplicações web são sem dúvida o futuro, e desde que fiz esta análise que nunca mais troquei de leitor.
Mas ok, dá jeito para acedermos de qualquer sitio às nossas leituras mas uma aplicação “local” é sempre melhor no que respeita a rapidez na disponibilização dos conteúdos.
Foi então que me lembrei se existiria algum leitor offline que permitisse fazer a sincronização com o Google Reader, e foi aí que encontrei o RSS Bandit.
Foi adicionada à nova versão (ainda em BETA) esta opção e que para já está a funcionar muito bem.
Podem fazer o download aqui, e para sincronizarem com o Google Reader basta irem ao menu File > Sincronize Feeds. Alem do Google Reader, ainda poderão optar por sincronizar com o Newsgator Online e com o Internet Explorer ou Outlook.
Basta indicarem o username/password da vossa conta e em poucos minutos tá a sincronização feita. O bom disto tudo é que as alterações que façam no RSS Bandit é reflectido no Google Reader
Muito rápidamente, as classes Pair e Triplet servem para guardar objectos que possam estar relaccionados. A classe Pair é usada normalmente para guardar as colecções do ViewState e do ControlState, usando a propriedade First e a proriedade Second respectivamente.
Podemos usar a classe Triplet para guardar as cores primárias por exemplo.
Triplet cores = new Triplet("Vermelho","Azul","Amarelo");
Para fazer o output de ambas as cores deveremos ter algo assim:
lblCoresPrimarias.Text = String.Format("As cores primárias são
o {0}, o {1} e o {2}.", cores.First, cores.Second, cores.Third);
Quando recorremos ao Membership para implementarmos a segurança da nossa aplicação, um dos problemas que podemos ter é quando definimos que determinada pasta será acedida apenas por utilizadores previamente autenticados e nela contemos ficheiros que usamos noutras páginas que não precisam desta mesma autenticação para serem acedidas, como ficheiros de estilos (CSS), imagens, etc.
Se tivermos por exemplo a seguinte estrutura:
/ (root)
/Imagens
/Imagens/usericon.png
/Estilos
/Estilos/estilos.css
/Login.aspx
/MinhaPaginaProtegida.aspx
/OutraPaginaProtegida.aspx
E no web.config definirmos que, para aceder a qualquer página na aplicação temos que estar autenticados,
<authorization>
<deny users=“*“ />
</authorization>
se usarmos o ficheiro de estilos ( /Estilos/estilos.css ) na nossa página de login, ao ser carregada no browser irá aparecer sem qualquer personalização feita. Isto porque na página Login.aspx teremos algo do tipo
<link type=”text/css” rel=”Stylesheet” href=”Estilos/estilos.css” />
Para podermos contornar isso temos que indicar no web.config que o ficheiro poderá ser acedido mesmo não sendo feita a autenticação na aplicação. Para isso usamos o elemento <location> e no atributo path indicamos onde está o ficheiro. Por fim, indicamos que todos os utilizadores (incluindo os anónimos) poderão aceder a ele, fazendo assim com que a nossa página de login consiga ir buscar os estilos a serem carregados.
Para quê ser diferente dos outros e não dizer que já está disponível o download do Google Chrome?
Pelo que estive a ler no Lifehacker, o que me saltou mais à vista neste browser foi:
Recently Closed Tabs – para mim é sem dúvida um “must-have” em qualquer browser, e vir de base é uma mais valia.
Porn Mode Incognito Mode – É sem dúvida a opção que muita gente irá usar e abusar (lol). Acabaram-se as preocupações em esconder todas as páginas dúvidosas por onde andaram
Inspector – Analisar em detalhe o código das nossas páginas.
Não tenho hipotese de tar o testar para ver que mais funcionalidades dispomos, mas podem ve-las mais ao detalhe na página principal do Google Chrome assim como fazer o download.