Para aqueles que como eu não gostam muito de ficar enchendo as telas da aplicação ou o data module com componentes ibquery, eu dedico este pequeno tutorial.
Eu utilizo a rotina abaixo para criar um componente ibquery para fazer uma seleção na base de dados:
QuerySelectProd := TIBQuery.Create(nil); //Aqui eu crio o componente e atribuo a ele o estado vazio [nil]
QuerySelectProd.Database := DataModule.Database; //Aqui eu atribuo qual banco de dados estou utilizando
QuerySelectProd.Close; //Fecho a conexão
QuerySelectProd.SQL.Clear;//Limpo a SQL antiga
QuerySelectProd.SQL.Add('select ');
QuerySelectProd.SQL.Add(' produtos.estoqueatual ');
QuerySelectProd.SQL.Add('from ');
QuerySelectProd.SQL.Add(' produtos ');
QuerySelectProd.SQL.Add('where ');
QuerySelectProd.SQL.Add(' produtos.id_produto = ' + #39 + edCodigo.Text + #39);
QuerySelectProd.Open; //Abro a conexão
edQuantidade.Text := QuerySelectProd.FieldByName('estoqueatual').Text; //Atribuo ao componente Edit o valor do estoque atual do produto
QuerySelectProd.Close; //Fecho novamente a conexão
QuerySelectProd.Free; //Limpo da memória o componente criado
OBS.: Tem que declarar a biblioteca TIBQuery na uses do Form
Você pode utilizar a mesma estrutura pra instruções SQL de Insert, Update, Delete...
No blog você vai encontrar: Conhecimento nas áreas de Informática Básica; Design; Programação; Textos e notícias gerais e um pouco de Humor.
Mostrando postagens com marcador Delphi. Mostrar todas as postagens
Mostrando postagens com marcador Delphi. Mostrar todas as postagens
quinta-feira, 7 de julho de 2011
quarta-feira, 6 de julho de 2011
Delphi - Formatanto um Valor Numérico em Estilo Moeda
Você pode apresentar os valores numéricos monetários da sua aplicação de maneira mais profissional com a função FormatFloat. Veja o exemplo abaixo:
Sintaxe da função FormatFloat: FormatFloat('###,###,##0.00', Variavel Numérica);
Onde: Variável Numérica deve ser uma variável do tipo Real ou Currency (existem outros tipos aceitos mas esses dois são os mais utilizados).
A seguir um exemplo prático de como implementar a função utilizando um componente Button:
procedure TForm1.Button1Click(Sender: TObject);
var
TotalPgto: Currency;
begin
TotalPgto := 1000;
Label1.Caption := 'R$ ' + FormatFloat('###,###,##0.00', TotalPgto);
end;
O componente Label1 através da sua propriedade Caption irá exibir o valor da seguinte forma: R$ 1.000,00
Sintaxe da função FormatFloat: FormatFloat('###,###,##0.00', Variavel Numérica);
Onde: Variável Numérica deve ser uma variável do tipo Real ou Currency (existem outros tipos aceitos mas esses dois são os mais utilizados).
A seguir um exemplo prático de como implementar a função utilizando um componente Button:
procedure TForm1.Button1Click(Sender: TObject);
var
TotalPgto: Currency;
begin
TotalPgto := 1000;
Label1.Caption := 'R$ ' + FormatFloat('###,###,##0.00', TotalPgto);
end;
O componente Label1 através da sua propriedade Caption irá exibir o valor da seguinte forma: R$ 1.000,00
Delphi - Tempo no Delphi
Se você necessita que seu programa espere um determinado tempo para iniciar uma nova rotina, a instrução Sleep pode ajudar, veja um exemplo:
Sleep(5000); //Onde 5000 = 5 segundos;
Exemplo da rotina em um componente Button:
procedure TForm1.Button1Click(Sender: TObject);
begin
Sleep(5000);
Showmessage('Tempo de 5 segundos...'); //Quando você clicar no botão, a mensagem só aparecerá após 5 segundos.
end;
Eu costumo aplicar essa rotina quando vou imprimir muitos relatórios. Dou um Tempo de 1 segundo para enviar uma nova impressão para spool da impressora.
Obs: Tem que ter a biblioteca "SysUtils" na Uses do Form para o Delphi conseguir reconhecer o comando Sleep.
Sleep(5000); //Onde 5000 = 5 segundos;
Exemplo da rotina em um componente Button:
procedure TForm1.Button1Click(Sender: TObject);
begin
Sleep(5000);
Showmessage('Tempo de 5 segundos...'); //Quando você clicar no botão, a mensagem só aparecerá após 5 segundos.
end;
Eu costumo aplicar essa rotina quando vou imprimir muitos relatórios. Dou um Tempo de 1 segundo para enviar uma nova impressão para spool da impressora.
Obs: Tem que ter a biblioteca "SysUtils" na Uses do Form para o Delphi conseguir reconhecer o comando Sleep.
Delphi - Fechando a Tela com Esc
No evento KeyPress do Form, digite as linhas abaixo:
if key = #27 then //#27 é o código ASCH para a tecla Esc
Close;
A rotina completa ficaria assim:
procedure TForrm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #27 then
Close;
end;
if key = #27 then //#27 é o código ASCH para a tecla Esc
Close;
A rotina completa ficaria assim:
procedure TForrm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #27 then
Close;
end;
Delphi - Fazendo o Enter se Comportar como o Tab
No evento KeyPress do Form, digitar as linhas abaixo:
if Key = #13 then //#13 é o código que representa o Enter em ASCH
begin
Key := #0; // Ttira o ruído quando pressiona o Enter.
Perform(WM_NEXTDLGCTL,0,0); //Passa o foco para o próximo componente na tela
end;
A rotina completa ficaria assim:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
Perform(WM_NEXTDLGCTL,0,0);
end;
end;
if Key = #13 then //#13 é o código que representa o Enter em ASCH
begin
Key := #0; // Ttira o ruído quando pressiona o Enter.
Perform(WM_NEXTDLGCTL,0,0); //Passa o foco para o próximo componente na tela
end;
A rotina completa ficaria assim:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
Perform(WM_NEXTDLGCTL,0,0);
end;
end;
Assinar:
Postagens (Atom)