Blog com atividades voltadas ao ambiente de desenvolvimento utilizando a ferramenta de linguagem Delphi. Ao visitar o blog, encontrará dicas úteis para seu dia-a-dia atualizadas diariamente.
segunda-feira, 22 de dezembro de 2008
Novo cargo
terça-feira, 16 de dezembro de 2008
Converter caracteres para maiúsculo
-> Tenho um componente DBMemo, e na medida que vou digitando nele, quero que o texto vá aparecendo em maiúsculo, como fazer?
Bom, parece ser bem simples, usando UpperCase, onde poderíamos colocar no evento KeyPress o código:
procedure TForm1.DBMemo1KeyPress(Sender: TObject; var Key: Char);
begin
Key := UpCase(key);
end;
Bom, fazendo um teste e digitando "avião", aparece na tela escrito dessa forma: "AVIãO", e o ã, porque não foi convertido?
O ã é um caractere ANSI, e precisa ser tratado de uma forma um pouco diferente, como um caracter ANSI, e como converter?
Em uma nova codificação, basta que seja alterado o comando de transformação de UpCase para AnsiUpperCase, assim:
procedure TForm1.DBMemo2KeyPress(Sender: TObject; var Key: Char);
begin
Key := AnsiUpperCase(key)[1];
end;
O "[1]" no final significa que estamos copiando 1 caracter da String, ou seja, convertendo String para Char. Agora ao digitarmos novamente a mesma palavra, teremos "AVIÃO", onde todas as letras, acentuadas ou não, foram transformadas para maiúsculas. Até a próxima.
quarta-feira, 3 de dezembro de 2008
Criando uma Type Array Dinâmica em ASP.NET
Veremos um exemplo onde defino um novo Type, que por sua vez retornará um array do tipo String. Este Type usaremos na declaração das variáveis, bem como ao passar o Result à function.
Crie uma nova unit, e adicione a ela o seguinte código:
unit uArrayTest;
interface
type
MinhaArray = array of String;//Declaração do tipo
function PreencherArray : MinhaArray;//declara a function
implementation
function PreencherArray : MinhaArray;//implementa a function
var
I: Integer;
Lista : MinhaArray;//variável usando o type
begin
{Precisamos definir o comprimento do array, que pode ser de duas formas:
1 - Quando já sei o comprimento que deverá assumir
2 - Quando o comprimento do mesmo for desconecido
* Utilizaremos o segundo neste caso}
//** SetLength(Lista,10);{Quando eu sei o Length do Array}
for I := 0 to 10 -1 do
begin
SetLength(Lista,Length(Lista) + 1);{Quando não sei o Length do Array, adiciona de 1 em 1}
{Preenche valores de acordo com legth do array}
Lista[i] := 'Preenchendo valor na linha '+i.ToString+'<br>';
end;
SetLength(Result,Length(Lista));//Define comprimento do resultado
{escreve o resultado da função}
Result := Lista;
end;
end.
Ao final, após criada e implementada a função, crie uma nova página e adicione a ela um Button, inserindo o seguinte código no seu evento OnClick:procedure TDefault.Button1_Click(sender: TObject; e: System.EventArgs);
var
I: Integer;
begin
{Exibe o comprimento do Array}
Response.Write(Convert.ToString(Length(PreencherArray))+' linhas no array<br>');
{Percorre registros e escreve informações na tela}
for I := 0 to Length(PreencherArray) - 1 do
Response.Write(PreencherArray[i]);
end;
Bom, através deste exemplo, você agora poderá implementar esta ferramenta aos seus códigos deixando as operações rápidas e customizadas de acordo com a necessidade de registros que deseja exibir. Abraço e até a próxima.