Salve, salve
A propriedade MaxLenght de um componente descendente de TCustomEdit (Edit, DBEdit, etc.) especifica o número máximo de caracteres que o usuário pode inserir no controle. Esta dica mostra como mover imediatamente para o próximo controle (seguindo a ordem do tab) quando o número máximo de caracteres for alcançado.
procedure TForm1.Edit1Change(Sender: TObject) ;
begin
if Sender is TEdit then
with Sender as TEdit do
if MaxLength = GetTextLen then
Self.SelectNext(TCustomEdit(Sender), True, True);
end;
O código anterior é do evento OnChange de um Edit chamado Edit1. A propriedade MaxLength é utilizada em aplicações que utilizam bancos de dados, onde o MaxLength de um DBEdit é o mesmo que a propriedade Size de um TField (para campos texto).
//Deixe seu comentário
Take care
sexta-feira, 2 de abril de 2010
Dicas Delphi - Código que exclui itens selecionados de um Listbox
Salve, salve
Adicione um ListBox no formulário, altere a propriedade MultiSelect para True. Adicione alguns itens na propriedade Items do componente. Implemente a procedure a seguir:
procedure DeletarVarios(var ListBox1: TListBox);
var
lista1, lista2: TStringList;
i: integer;
begin
for i := 0 to ListBox1.Items.Count-1 do
if ListBox1.Selected[i] then
begin
ListBox1.Items.Strings[i] := '';
ListBox1.Items.SaveToFile(extractfilepath(application.ExeName)+'items.txt');
end;
lista2 := TStringList.Create;
lista1 := TStringList.Create;
lista1.LoadFromFile(extractfilepath(application.ExeName)+'items.txt');
for i := 0 to lista1.Count-1 do
begin
if lista1.Strings[i] <> '' then
begin
lista2.Add(lista1.Strings[i]);
lista2.SaveToFile(extractfilepath(application.ExeName)+'items.txt');
end
else
lista2.SaveToFile(extractfilepath(application.ExeName)+'items.txt');
end;
ListBox1.Items.LoadFromFile(extractfilepath(application.ExeName)+'items.txt');
DeleteFile(extractfilepath(application.ExeName)+'items.txt');
end;
Coloque um botão no formulário e “chame” a procedure criada anteriormente.
// Deixe seu comentário
Take care
Adicione um ListBox no formulário, altere a propriedade MultiSelect para True. Adicione alguns itens na propriedade Items do componente. Implemente a procedure a seguir:
procedure DeletarVarios(var ListBox1: TListBox);
var
lista1, lista2: TStringList;
i: integer;
begin
for i := 0 to ListBox1.Items.Count-1 do
if ListBox1.Selected[i] then
begin
ListBox1.Items.Strings[i] := '';
ListBox1.Items.SaveToFile(extractfilepath(application.ExeName)+'items.txt');
end;
lista2 := TStringList.Create;
lista1 := TStringList.Create;
lista1.LoadFromFile(extractfilepath(application.ExeName)+'items.txt');
for i := 0 to lista1.Count-1 do
begin
if lista1.Strings[i] <> '' then
begin
lista2.Add(lista1.Strings[i]);
lista2.SaveToFile(extractfilepath(application.ExeName)+'items.txt');
end
else
lista2.SaveToFile(extractfilepath(application.ExeName)+'items.txt');
end;
ListBox1.Items.LoadFromFile(extractfilepath(application.ExeName)+'items.txt');
DeleteFile(extractfilepath(application.ExeName)+'items.txt');
end;
Coloque um botão no formulário e “chame” a procedure criada anteriormente.
// Deixe seu comentário
Take care
Dicas Delphi - Como mostrar o hint de um Button na StatusBar
Salve, salve amigos
// Criando a função para mostrar a hora
function mostrahora: string;
begin
mostrahora := timetostr(time);
end;
// Criando a função para mostrar a data
function mostradata: string;
var
dthoje: TDatetime;
diasemana: integer;
strdiasemana: string;
begin
dthoje := date;
diasemana := dayofweek(dthoje);
case diasemana of
1: strdiasemana := 'Domingo';
2: strdiasemana := 'Segunda-feira';
3: strdiasemana := 'Terça-feira';
4: strdiasemana := 'Quarta-feira';
5: strdiasemana := 'Quinta-feira';
6: strdiasemana := 'Sexta-feira';
7: strdiasemana := 'Sábado';
end;
mostradata := strdiasemana+' '+datetostr(dthoje);
end;
No formulário coloque: um Timer, um Application Events e uma StatusBar adicionando 3 Panels. Clique no Application Events, no evento OnHint digite o código abaixo:
procedure TFprincipal.ApplicationEvents1Hint(Sender: TObject);
begin
StatusBar1.Panels[2].Text := Application.Hint;
end;
Logo depois: Selecione no timer dê 2 cliques e digite o código abaixo:
procedure TFprincipal.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[0].Text := mostrahora();
StatusBar1.Panels[1].Text := mostradata();
end;
Para testar coloque um botão e digite qualquer hint para ele, daí e só compilar e testar passando o mouse em cima do botão.
// Deixe seu comentátio
Take care
// Criando a função para mostrar a hora
function mostrahora: string;
begin
mostrahora := timetostr(time);
end;
// Criando a função para mostrar a data
function mostradata: string;
var
dthoje: TDatetime;
diasemana: integer;
strdiasemana: string;
begin
dthoje := date;
diasemana := dayofweek(dthoje);
case diasemana of
1: strdiasemana := 'Domingo';
2: strdiasemana := 'Segunda-feira';
3: strdiasemana := 'Terça-feira';
4: strdiasemana := 'Quarta-feira';
5: strdiasemana := 'Quinta-feira';
6: strdiasemana := 'Sexta-feira';
7: strdiasemana := 'Sábado';
end;
mostradata := strdiasemana+' '+datetostr(dthoje);
end;
No formulário coloque: um Timer, um Application Events e uma StatusBar adicionando 3 Panels. Clique no Application Events, no evento OnHint digite o código abaixo:
procedure TFprincipal.ApplicationEvents1Hint(Sender: TObject);
begin
StatusBar1.Panels[2].Text := Application.Hint;
end;
Logo depois: Selecione no timer dê 2 cliques e digite o código abaixo:
procedure TFprincipal.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[0].Text := mostrahora();
StatusBar1.Panels[1].Text := mostradata();
end;
Para testar coloque um botão e digite qualquer hint para ele, daí e só compilar e testar passando o mouse em cima do botão.
// Deixe seu comentátio
Take care
Dicas Delphi - Mudando a cor de fundo de linhas diferentes de texto em um Listbox
Salve, salve
Crie uma nova aplicação, insira um Listbox e altere a propriedade Style para lbOwnerDrawFixed, depois clique na propriedade Items (...) e digite alguns valores em linhas diferentes. Copie o código abaixo, no evento OnDrawItem do Listbox.
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
myColor: TColor;
myBrush: TBrush;
begin
myBrush := TBrush.Create;
with (Control as TListBox).Canvas do
begin
if not Odd(Index) then
myColor := clSilver
else
myColor := clWhite;
myBrush.Style := bsSolid;
myBrush.Color := myColor;
Windows.FillRect(handle, Rect, myBrush.Handle);
Brush.Style := bsClear;
TextOut(Rect.Left, Rect.Top,(Control as TListBox).Items[Index]);
MyBrush.Free;
end;
end;
Não se esqueça de incluir valores no Listbox para que possa ser visto o efeito das cores. Execute a aplicação e veja a o funcionamento.
// Deixe seu comentátio ok.
Take care
Crie uma nova aplicação, insira um Listbox e altere a propriedade Style para lbOwnerDrawFixed, depois clique na propriedade Items (...) e digite alguns valores em linhas diferentes. Copie o código abaixo, no evento OnDrawItem do Listbox.
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
myColor: TColor;
myBrush: TBrush;
begin
myBrush := TBrush.Create;
with (Control as TListBox).Canvas do
begin
if not Odd(Index) then
myColor := clSilver
else
myColor := clWhite;
myBrush.Style := bsSolid;
myBrush.Color := myColor;
Windows.FillRect(handle, Rect, myBrush.Handle);
Brush.Style := bsClear;
TextOut(Rect.Left, Rect.Top,(Control as TListBox).Items[Index]);
MyBrush.Free;
end;
end;
Não se esqueça de incluir valores no Listbox para que possa ser visto o efeito das cores. Execute a aplicação e veja a o funcionamento.
// Deixe seu comentátio ok.
Take care
Dicas Delphi - Utilize as teclas para mover entre os controles
Salve, salve amigos
As teclas UP e DOWN são virtualmente sem utilidade em controles Edit. Então porque não utilizá-las para navegar entre os campos? Se você alterar a propriedade KeyPreview de um formulário para True, pode usar o seguinte trecho de código no evento OnKeyDown do formulário para navegar entre os controles.
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift : TShiftState) ;
var
Direction : Integer;
begin
Direction := -1;
case Key of
VK_DOWN, VK_RETURN : Direction := 0; {Next}
VK_UP : Direction := 1; {Previous}
end;
if Direction <> -1 then
begin
Perform(WM_NEXTDLGCTL, Direction, 0) ;
Key := 0;
end;
end;
// Deixe seu comentário.
Take care
As teclas UP e DOWN são virtualmente sem utilidade em controles Edit. Então porque não utilizá-las para navegar entre os campos? Se você alterar a propriedade KeyPreview de um formulário para True, pode usar o seguinte trecho de código no evento OnKeyDown do formulário para navegar entre os controles.
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift : TShiftState) ;
var
Direction : Integer;
begin
Direction := -1;
case Key of
VK_DOWN, VK_RETURN : Direction := 0; {Next}
VK_UP : Direction := 1; {Previous}
end;
if Direction <> -1 then
begin
Perform(WM_NEXTDLGCTL, Direction, 0) ;
Key := 0;
end;
end;
// Deixe seu comentário.
Take care
terça-feira, 30 de março de 2010
Disponibilizados os Videos Mix10
Salve, salve,
Segue abaixo, link com os vídeos disponibilizados do evento MIX10.
Clique aqui
Take care.
Segue abaixo, link com os vídeos disponibilizados do evento MIX10.
Clique aqui
Take care.
Construindo uma aplicação Windows Phone 7 Twitter utilizando Silverlight
Salve, salve amigos,
Veja no link abaixo, no blog de Scott Guthrie, um passo a passo de como criar uma aplicação Windows Phone 7 Twitter utilizando Silverlight.
Clique aqui
Take care
Veja no link abaixo, no blog de Scott Guthrie, um passo a passo de como criar uma aplicação Windows Phone 7 Twitter utilizando Silverlight.
Clique aqui
Take care
Assinar:
Postagens (Atom)