sexta-feira, 23 de abril de 2010

terça-feira, 20 de abril de 2010

Novos Videos e artigos de ASP.NET e VS 2010

Salve, salve

A Microsoft - www.msdnbrasil.com.br - publicou os seguintes artigos e videos sobre ASP.NET e o Visual Studio 2010.

Os videos e artigos, foram publicados por Renato Haddad

Artigos:

http://msdn.microsoft.com/pt-br/library/ee518661.aspx
http://msdn.microsoft.com/pt-br/library/ff520616.aspx

Videos:

http://msdn.microsoft.com/pt-br/vstudio/ff625264.aspx
http://msdn.microsoft.com/pt-br/vstudio/ff625266.aspx
http://msdn.microsoft.com/pt-br/vstudio/ff625268.aspx
http://msdn.microsoft.com/pt-br/vstudio/ff625269.aspx
http://msdn.microsoft.com/pt-br/vstudio/ff625270.aspx
http://msdn.microsoft.com/pt-br/vstudio/ff625271.aspx
http://msdn.microsoft.com/pt-br/asp.net/ff625272.aspx
http://msdn.microsoft.com/pt-br/asp.net/ff625275.aspx
http://msdn.microsoft.com/pt-br/asp.net/ff625280.aspx
http://msdn.microsoft.com/pt-br/asp.net/ff625282.aspx
http://msdn.microsoft.com/pt-br/asp.net/ff625283.aspx


Take care

sábado, 17 de abril de 2010

Dicas Visual Studio (C#) - String Format para Double

Salve, salve

Abaixo, alguns exemplos de como utilizar String.Format para formar Double.


// Digitos após ponto decimal

Este exemplo formata duas vezes para string com um numero fixo de casas decimais
Para duas casas decimais o valor padrão "0.00". Se um número do tipo float tem menos lugares decimal, os dígitos restantes do lado direito será zero. Se tiver mais casas decimais, o número será arredondado.

// Somente duas casas decimal
String.Format("{0:0.00}", 123.4567); // "123.46"
String.Format("{0:0.00}", 123.4); // "123.40"
String.Format("{0:0.00}", 123.0); // "123.00"


// Máxima de duas casas decimais padrão de utilização

// max. duas casas decimais
String.Format("{0:0.##}", 123.4567); // "123.46"
String.Format("{0:0.##}", 123.4); // "123.4"
String.Format("{0:0.##}", 123.0); // "123"

// Digitos antes do ponto decimal

// at least two digits before decimal point
String.Format("{0:00.0}", 123.4567); // "123.5"
String.Format("{0:00.0}", 23.4567); // "23.5"
String.Format("{0:00.0}", 3.4567); // "03.5"
String.Format("{0:00.0}", -3.4567); // "-03.5"

// Separador de Mil
String.Format("{0:0,0.0}", 12345.67); // "12,345.7"
String.Format("{0:0,0}", 12345.67); // "12,346"


// Zeros

String.Format("{0:0.0}", 0.0); // "0.0"
String.Format("{0:0.#}", 0.0); // "0"
String.Format("{0:#.0}", 0.0); // ".0"
String.Format("{0:#.#}", 0.0); // ""


// Alinhar numeros com spaços

String.Format("{0,10:0.0}", 123.4567); // " 123.5"
String.Format("{0,-10:0.0}", 123.4567); // "123.5 "
String.Format("{0,10:0.0}", -123.4567); // " -123.5"
String.Format("{0,-10:0.0}", -123.4567); // "-123.5 "


// Formatação para números negativos e zero

String.Format("{0:0.00;minus 0.00;zero}", 123.4567); // "123.46"
String.Format("{0:0.00;minus 0.00;zero}", -123.4567); // "minus 123.46"
String.Format("{0:0.00;minus 0.00;zero}", 0.0); // "zero"


// Alguns exemplos engraçados

String.Format("{0:my number is 0.0}", 12.3); // "my number is 12.3"
String.Format("{0:0aaa.bbb0}", 12.3); // "12aaa.bbb3"


Agora, basta praticat para ver os resultados.

Take care

Dicas Visual Studio (C#) - String Format para DateTime

Salve, salve

Abaixo, alguns exemplos de como utilizar String.Format para formar datas.

// Criando uma variavel do tipo date time 2008-03-09 16:05:07.123

DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);

String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" ano
String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" mês
String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" dia
String.Format("{0:h hh H HH}", dt); // "4 04 16 16" horas 12/24
String.Format("{0:m mm}", dt); // "5 05" minutos
String.Format("{0:s ss}", dt); // "7 07" segundos
String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" seg.fracionados
String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" sem zeros
String.Format("{0:t tt}", dt); // "P PM" até 12 A.M ou após P.M.
String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" time zone


Voce pode usar também um separador de data / (barra) e um time separador : (pontos).
Estes caracteres irão ser reescritos para o caracter definido em um current DateTimeForma­tInfo.DateSepa­rator and DateTimeForma­tInfo.TimeSepa­rator.

// date separator in german culture is "." (so "/" changes to ".")

String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9/3/2008 16:05:07" - english (en-US)
String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9.3.2008 16:05:07" - german (de-DE)


// Aqui estão alguns exemplos de customizacao de data e hora sendo formatadas

// mes/dia numeros sem/com zeros

String.Format("{0:M/d/yyyy}", dt); // "3/9/2008"
String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"

// dia/nome dos meses
String.Format("{0:ddd, MMM d, yyyy}", dt); // "Sun, Mar 9, 2008"
String.Format("{0:dddd, MMMM d, yyyy}", dt); // "Sunday, March 9, 2008"

// dois/quatro digitos para ano
String.Format("{0:MM/dd/yy}", dt); // "03/09/08"
String.Format("{0:MM/dd/yyyy}", dt); // "03/09/2008"


// Padrão de formatação para DateTime

Especificador DateTimeFormatInfo Valor padrão (for en-US culture)
t ShortTimePattern h:mm tt
d ShortDatePattern M/d/yyyy
T LongTimePattern h:mm:ss tt
D LongDatePattern dddd, MMMM dd, yyyy
f (combination of D and t) dddd, MMMM dd, yyyy h:mm tt
F FullDateTimePattern dddd, MMMM dd, yyyy h:mm:ss tt
g (combination of d and t) M/d/yyyy h:mm tt
G (combination of d and T) M/d/yyyy h:mm:ss tt
m, M MonthDayPattern MMMM dd
y, Y YearMonthPattern MMMM, yyyy
r, R RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*)
s SortableDateTi­mePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss (*)

(*) = culture independent


// Abaixo, examplos usando o formato padrão utilizando os especificadores

String.Format("{0:t}", dt); // "4:05 PM" ShortTime
String.Format("{0:d}", dt); // "3/9/2008" ShortDate
String.Format("{0:T}", dt); // "4:05:07 PM" LongTime
String.Format("{0:D}", dt); // "Sunday, March 09, 2008" LongDate
String.Format("{0:f}", dt); // "Sunday, March 09, 2008 4:05 PM" LongDate+ShortTime
String.Format("{0:F}", dt); // "Sunday, March 09, 2008 4:05:07 PM" FullDateTime
String.Format("{0:g}", dt); // "3/9/2008 4:05 PM" ShortDate+ShortTime
String.Format("{0:G}", dt); // "3/9/2008 4:05:07 PM" ShortDate+LongTime
String.Format("{0:m}", dt); // "March 09" MonthDay
String.Format("{0:y}", dt); // "March, 2008" YearMonth
String.Format("{0:r}", dt); // "Sun, 09 Mar 2008 16:05:07 GMT" RFC1123
String.Format("{0:s}", dt); // "2008-03-09T16:05:07" SortableDateTime


Agora, basta praticat para ver os resultados.

Take care

Dicas Visual Studio (C#) - Formatando Valores e Datas

Salve, salve

Veja no exemplo abaixo, como fazer para formatar a soma de dois numero.

protected void Button2_Click(object sender, EventArgs e)
{
decimal resul = Convert.ToDecimal(TextBox1.Text) + Convert.ToDecimal(TextBox2.Text);
TextBox3.Text = string.Format("Resultado = {0:C}", resul);
}


// Outros exemplos de formataçoes

// ** Para Valores

// Number - {0:N}
// Decimal - {0:D}
// Fixed-point - {0:F}
// Currency - {0:C}
// Scientific - {0:E}
// Hexadecimal - 0x{0:X}

// ** Para Datas

// Short time - {0:t}
// Long time - {0:T}
// Short date - {0:d}
// Long date - {0:D}
// Date and time - {0:g}
// Full date - {0:G}

Faça um exemplo e teste todas as formatações e observe o resultado.

Take care

Dicas Visual Studio (C#) - Subtrair duas datas #1

Salve, salve

Bom dia!

Segue abaixo, um simples código para subtrair duas data e trazer o resultado.


protected void Button1_Click(object sender, EventArgs e)
{
TimeSpan res = Convert.ToDateTime(TextBox2.Text) - Convert.ToDateTime(TextBox1.Text);
TextBox3.Text = res.TotalDays.ToString();
}

Take care

sexta-feira, 16 de abril de 2010

Delphi no MacOS: Será que precisamos disso?

Por Erick Sasse

Todo mundo que acompanha as notícias sobre Delphi já deve estar sabendo que a próxima versão trará um compilador nativo para MacOS. Não é usando Mono e Delphi Prism, como já é possível hoje, é um novo compilador. A IDE vai continuar no Windows, mas poderá compilar para MacOS.

Que a plataforma Mac está crescendo um pouco, ninguém tem dúvida, provavelmente em grande parte devido ao iPhone, que é um aparelho fantástico, eu mesmo tenho um. Mas quantos de vocês já tiveram uma demanda realmente importante para portar seus sistemas para MacOS? Sim eu já tive alguns clientes querendo rodar meus produtos no Mac, mas posso contar nos dedos. Certamente nada que justifique uma versão para essa plataforma.

Estamos falando de sistemas empresariais, que deve ser o que a maioria aqui no Brasil desenvolve usando Delphi. Para nós, se precisarmos suportar qualquer plataforma além do Windows, vejo muito mais sentido usar web, e já estaremos suportando não só Mac, mas também Linux, Chrome OS, telefones, PS3, etc.

Além disso, quem não é desenvolvedor Delphi certamente não vai usar o Delphi para fazer algo no Mac. Eles tem a IDE Xcode da Apple, que é muito poderosa, gratuita e mais “nativa” da plataforma. Então os clientes potenciais que restam realmente são apenas os clientes que já usam Delphi no Windows. Portanto dificilmente isso trará uma quantidade significante de novos usuários para o Delphi.

Lógico que é um recurso legal de ter, só não podemos esquecer que custa dinheiro para desenvolver e manter isso, dinheiro esse que poderia estar sendo melhor utilizado no Delphi Win32, que usamos diariamente e que infelizmente ainda tem muitos bugs a serem corrigidos.

A Embarcadero faz pesquisas anuais para saber o que os usuários querem no Delphi, então estou curioso para saber o que vocês acham disso. Vocês acham que esse recurso vai ser útil? Alguém aqui pretende usar? Meus usuários são diferentes e eu não estou percebendo a necessidade? Talvez consigam me fazer mudar de idéia, ou confirmar meu receio de que quase ninguém vai usar isso pelo menos por aqui.

Take care