Arquivo da tag: vb.net

Conhecendo o F#

Como você sabe, existem algumas linguagens OOP por aí. Você provavelmente conhece VB.Net, C# e Java, mas eu vou falar de uma relativamente nova.

Gostaria de falar um pouco sobre F#.

Similar ao C# e ao VB.Net, o F# também é direcionado para o Framework .Net e também é orientado a objeto.

A principal diferença no F# não é sua sintaxe única, mas sim o novo ponto de vista e o estado de espírito que traz para a programação orientada a objeto.

O F# usa inferência de tipos – o que significa que o programador não precisa se preocupar com a declaração de tipo e pode apenas utilizar a palavra reservada “let” (que é similar a “var”). A declaração do tipo de dados será deduzida pelo compilador durante a compilação (o F# também permite a declaração explícita de tipos de dados).

Depois dessa pequena introdução ao F# (bem pequena), gostaria de começar a parte prática. E este artigo será sobre Listas no F#.

Vamos fazer um pequeno experimento:

Crie uma lista de ints no C#

List<int> newList = new List<int>();

Adicione os seguintes valores a essa lista:

newList.Add(5);
newList.Add(2);
newList.Add(-3);
newList.Add(1);

Agora por favor tente classificá-la usando valor absoluto.

Você provavelmente descobrirá que se você tentou fazer isso, você usou a funcionalidade da programação.

No F#, é quase o mesmo, e fica o mais fácil possível, uma vez que você chega neste ponto:

[5; 2; -3; 1] |> List.sortBy(fun intElem -> abs intElem)

Vamos testar nossas habilidades no C# mais uma vez mapeando a lista de ints (cada número será aumentado em 3).

Mais uma vez, a maioria de vocês que se saiu bem usando LINQ ou outra programação funcional que o C# permite, é assim que funcional no F#:

[5; 2; -3; 1] |> List.map(fun x-> x * x * x)

Outro teste para o poder do nosso C# (ou Java) será tentar filtrar essa lista para ints que retornam 0 quando divididas por 2. No F#, é fácil assim:

[5; 2; -3; 1] |> List.filter(fun x -> x % 2 = 0)

Esses foram apenas alguns exemplos sobre o F# e sua usabilidade. Espero que ajude você a compreender a sintaxe, e mais importante – que ajude você a pensar em programação funcional.

Falando nisso, como podemos esquecer o imortal primeiro programa: “Hello World!” ?

printfn "Hello World!"

Texto original disponível em http://www.devaffair.com/2011/01/first-steps-in-f-sharp.html

Fonte: IMasters

Conhecendo o F#

Como você sabe, existem algumas linguagens OOP por aí. Você provavelmente conhece VB.Net, C# e Java, mas eu vou falar de uma relativamente nova.

Gostaria de falar um pouco sobre F#.

Similar ao C# e ao VB.Net, o F# também é direcionado para o Framework .Net e também é orientado a objeto.

A principal diferença no F# não é sua sintaxe única, mas sim o novo ponto de vista e o estado de espírito que traz para a programação orientada a objeto.

O F# usa inferência de tipos – o que significa que o programador não precisa se preocupar com a declaração de tipo e pode apenas utilizar a palavra reservada “let” (que é similar a “var”). A declaração do tipo de dados será deduzida pelo compilador durante a compilação (o F# também permite a declaração explícita de tipos de dados).

Depois dessa pequena introdução ao F# (bem pequena), gostaria de começar a parte prática. E este artigo será sobre Listas no F#.

Vamos fazer um pequeno experimento:

Crie uma lista de ints no C#

List<int> newList = new List<int>();

Adicione os seguintes valores a essa lista:

newList.Add(5);
newList.Add(2);
newList.Add(-3);
newList.Add(1);

Agora por favor tente classificá-la usando valor absoluto.

Você provavelmente descobrirá que se você tentou fazer isso, você usou a funcionalidade da programação.

No F#, é quase o mesmo, e fica o mais fácil possível, uma vez que você chega neste ponto:

[5; 2; -3; 1] |> List.sortBy(fun intElem -> abs intElem)

Vamos testar nossas habilidades no C# mais uma vez mapeando a lista de ints (cada número será aumentado em 3).

Mais uma vez, a maioria de vocês que se saiu bem usando LINQ ou outra programação funcional que o C# permite, é assim que funcional no F#:

[5; 2; -3; 1] |> List.map(fun x-> x * x * x)

Outro teste para o poder do nosso C# (ou Java) será tentar filtrar essa lista para ints que retornam 0 quando divididas por 2. No F#, é fácil assim:

[5; 2; -3; 1] |> List.filter(fun x -> x % 2 = 0)

Esses foram apenas alguns exemplos sobre o F# e sua usabilidade. Espero que ajude você a compreender a sintaxe, e mais importante – que ajude você a pensar em programação funcional.

Falando nisso, como podemos esquecer o imortal primeiro programa: “Hello World!” ?

printfn "Hello World!"

Texto original disponível em http://www.devaffair.com/2011/01/first-steps-in-f-sharp.html

Fonte: IMasters

Dica ASP.NET para alerta e nova página

Olá, pessoal, hoje vou falar um pouco das coisas simples, mas que se tornam complicadas quando colocamos o objeto Ajax do .NET na aplicação. Um exemplo disso são as mensagens em javascript, ou as que surgem no momento de abrir um popup. Antes de colocar o objeto <ScriptManager> ou o <ToolkitScriptManager>, todas as mensagens javascript de alerta ou script para abrir popup funcionam sem qualquer problema.

Depois de colocar as tags e usar o <UpdatePanel> e o <ContentTemplate>, aquelas mensagens que funcionam deixam de funcionar apresentando apenas um erro na tela. Todo esse processo é mostrado quando a mensagem javascript está dentro do código VB.NET ou C#.NET.

O objetivo é mostrar uma forma simples e fácil de como deixar funcionando os comandos javascripts dentro do C#.NET.

Usado: Linguagem C#.NET, ferramenta Visual Studio 2010, plataforma ASP.NET (web).

A mensagem deve vir de dentro do código de programação, como na imagem 1. Veja no código 1 como tem que ficar.

Imagem 1

Ao clicar no botão da página aspx, o campo não foi preenchido e, de acordo com a regra do sistema, precisa ser preenchido pelo usuário. Foi usado o ScriptManager.RegisterClientScriptBlock passando alguns parâmetros particulares para exibição da mensagem mantendo ainda os dados da tela aspx.

ScriptManager.RegisterClientScriptBlock(this, this.GetType(),”sua-mensagem”, “alert(‘sua mensagem qualquer’)”, true);

Código 1

Analisando o Código 1, veja que a parte onde fica “sua-mensagem” é apenas um controle, como se fosse um id de objeto de tela, ou seja, não deve ser repetido na mesma página. Não é necessário passar o <script>javascript:</script>, basta colocar o alert ou confirm para quem usa.

Para exibir uma mensagem na tela pegando alguma variável do próprio C#.NET, basta utilizar as aspas e a concatenação:

String situacao = “meu nome”;

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), “mensagem-1”, “alert(‘” + situacao + “‘);”, true);

Código 2

Esse código resolveu o meu problema para exibição de alerta javascript na página. Ele pode resolver o seu também. Finalizando, para abrir outra página executando dentro do código C#.NET, veja o código seguinte:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), “abrir-1”, “window.open(‘pagina.aspx’)”, true);

Código 3

O Código 3 executa o window.open chamando a página. Em resumo, todo código javascript que quiser colocar dentro do C#.NET pode ser colocado de acordo com os exemplos acima.

Fonte: IMaster