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

Lançamento Firebird 2.5 - MindTheBird



Salve, salve

MindtheBird é o evento de lançamento do Firebird 2.5. O principal objetivo deste evento, é divulgar o maximo possivel na comunidade técnica que ainda não conhece um excelente banco de dados e muito utilizado pela comunidade Delphi

É importante observar, que junto com esta campanha acontece o concurso para a criação do novo logotipo comemorativo dos 10 anos do Firebird. Clique aqui para saber mais.

Take care

quinta-feira, 15 de abril de 2010

Videos Delphi 2010 Conference Online


Salve, salve

A Embarcadero realizou no último dia 26 de fevereiro de 2010 o Delphi Conference Online onde trouxe para a comunidade algumas das mais bem avaliadas apresentações do evento Delphi Conference 2009 realizado em São Paulo, se você não teve a oportunidade de assistir o evento online, poderá agora assistir online as apresentações ou fazer o download e assistir em casa.

Take care

Video da apresentação do Lançamento do Delphi 2010



Salve, salve

No dia 29 de agosto de 2009, tivemos o evento online de lançamento do Delphi 2010, foram quase 1000 desenvolvedores conectados para conhecer as novidades desta que é sem dúvida a melhor versão de todos os tempos.

Clique aqui- Em português

Take care

quarta-feira, 14 de abril de 2010

Delphi 101: dbExpress Data Access Components - Lesson# 2

Salve, salve

Veja neste video, como utilizar a tecnologia dbExpress em Delphi e RAD Studio com banco de dados Firebird.
Michael Rozlog - Product Manager RAD Studio

Clique aqui

Take care

Delphi 101: Database Access Methods in Delphi - Lesson# 1

Salve, salve

Veja nesta serie os métodos de Acesso a Dados em Delphi.
Michael Rozlog - Product Manager RAD Studio

Clique aqui

Take care

terça-feira, 13 de abril de 2010

Semana Visual Studio 2010 - Por que atualizar para Visual Studio 2010



Clique aqui e saiba como.

Take care

Semana Visual Studio 2010 - Downloads do Visual Studio 2010


Salve, salve

Baixe uma versão de teste completa.

Clique aqui

Semana Visual Studio 2010


Clique aqui, e confira a lista de palestrantes.

Take care

Semana Visual Studio 2010 - Assinaturas do MSDN



Salve, salve

10.9 Terabytes e acesso a mais de 12.000 downloads. Respostas prioritárias para seus assuntos urgentes. A nuvem do Windows Azure para seus projetos. E-learning para mantê-lo à frente dos outros. A edição do Microsoft Visual Studio 2010 que você comprou é fornecida com uma assinatura para o MSDN (veja gráfico abaixo; os benefícios da assinatura variam por nível), oferecendo a você acesso a praticamente todos os produtos Microsoft necessários para desenvolver e testar seu próximo aplicativo.

Experimente o MSDN

Visual Studio 2010 Professional com MSDN Essentials é uma assinatura de avaliação de um ano que fornece acesso às principais plataformas mais recentes da Microsoft – Windows 7 Ultimate, Windows Server 2008 R2 Enterprise e Microsoft SQL Server 2008 R2 – e suporte aprimorado da comunidade de profissionais. O Visual Studio 2010 Professional com MSDN Essentials pode ser atualizado para o Visual Studio 2010 Professional com MSDN no final do período de avaliação.

Clique aqui, e tenha o melhor recurso de desenvolvimento.

Take care

Semana Visual Studio 2010 - Lançado Visual Studio 2010



Salve, salve

Foi lançado na data de ontem (12/04/2010), a nova versão do Visual Studio 2010. Um marco para a ferramenta.

Clique aqui e compare as versões

Take care