Estilizando Grids no Delphi
Tenho visto que algumas pessoas ainda tem dúvida, em como
pintar uma linha do componente TDbGrid com uma cor diferente da atual.
Isso é muito útil quando se quer criar um relatório com o grid zebrado, ou
mesmo quando se quer destacar uma certa linha da grid.
Vejamos na prática como estilizar um TdBgrid.
imagine que no nosso resultado da consulta tenhamos as seguintes situações
para o campo status:
- 1- aberto
- 2- fechado
- 3- atrasado
ex:
quando o valor do campo status for igual a 2 (fechado):
DataSource.FieldByName('status').Value = 1
pintaremos ele de uma cor, para destacá-lo entre os demais itens.
para fazermos isso precisamos apenar criar o evento DrawCoumnCell
do TdbGrid e colocar a seguinte rotina:
procedure TFomr1.GradeDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TbsColumn;
State: TGridDrawState);
begin
//Copie apartir daqui :p
if DSDados.DataSet.Active then
begin
if TDBGrid(Sender).DataSource.DataSet.recordcount = 0 then
Exit;
TDBGrid(Sender).Canvas.Font.Color:= clWhite;
if TDBGrid(Sender).DataSource.DataSet.FieldByName('status').Value = 2 then
TDBGrid(Sender).Canvas.Brush.Color:= clSkyBlue //deixo azul esta linha
else
if TDBGrid(Sender).DataSource.DataSet.FieldByName('status').Value = 3 then
TDBGrid(Sender).Canvas.Brush.Color:= clRed
else
begin //Outras linhas utilizam cor padrão
TDBGrid(Sender).Canvas.Brush.Color:= clWhite;
TDBGrid(Sender).Canvas.Font.Color:= clBlack;
end;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
//Solte o mouse aqui
end;
Amigos
Tenho amigos que não sabem o quanto são meus amigos.
Não percebem o amor que lhes devoto e a absoluta necessidade que tenho deles.
A amizade é um sentimento mais nobre do que o amor, eis que permite que o objeto dela se divida em outros afetos, enquanto o amor tem intrínseco o ciúme, que não admite a rivalidade. E eu poderia suportar, embora não sem dor, que tivessem morrido todos os meus amores, mas enlouqueceria se morressem todos os meus amigos! Até mesmo aqueles que não percebem o quanto são meus amigos e o quanto minha vida depende de suas existências…
A alguns deles não procuro, basta-me saber que eles existem. Esta mera condição me encoraja a seguir em frente pela vida. Mas, porque não os procuro com assiduidade, não posso lhes dizer o quanto gosto deles. Eles não iriam acreditar.
Muitos deles estão lendo esta crônica e não sabem que estão incluídos na sagrada relação de meus amigos. Mas é delicioso que eu saiba e sinta que os adoro, embora não declare e não os procure. E às vezes, quando os procuro, noto que eles não tem noção de como me são necessários, de como são indispensáveis ao meu equilíbrio vital, porque eles fazem parte do mundo que eu, tremulamente, construí e se tornaram alicerces do meu encanto pela vida.
Se um deles morrer, eu ficarei torto para um lado. Se todos eles morrerem, eu desabo! Por isso é que, sem que eles saibam, eu rezo pela vida deles. E me envergonho, porque essa minha prece é, em síntese, dirigida ao meu bem estar. Ela é, talvez, fruto do meu egoísmo.
Por vezes, mergulho em pensamentos sobre alguns deles. Quando viajo e fico diante de lugares maravilhosos, cai-me alguma lágrima por não estarem junto de mim, compartilhando daquele prazer…
Se alguma coisa me consome e me envelhece é que a roda furiosa da vida não me permite ter sempre ao meu lado, morando comigo, andando comigo, falando comigo, vivendo comigo, todos os meus amigos, e, principalmente os que só desconfiam ou talvez nunca vão saber que são meus amigos!
Vinicius de Moraes
novo brinquedinho do Google?
Mais uma vez o Google me impressiona com seus lançamentos, e desta vez o lançamento foi o brinquedinho chamado ‘Android’. Mais o que é este tal Android? Se você achou que fosse algum alien ou coisa parecida errou feio, o Android é na verdade o Sistema Operacional OpenSource da Google para Dispositivos móveis. O que mais me chamou atenção na verdade foi concurso para desenvolvedores que dará US$ 10 milhões em prêmios para os profissionais que criarem os melhores aplicativos para o Android, Os prêmios individuais variam de US$ 25 mil a US$ 275 mil. é o trocadinho bom não acha?
No site http://code.google.com/android/ você tem acesso aos downloads do SDK para o Android, alguns tutoriais, faqs e codigo-fonte de alguns programinhas ja prontos. AH! antes que eu esqueça… alias confiram vocês principalmente os que gostam de java!
gosta de animes?

Eu sempre curti animes, mais por ter uma internet “incompatível” para baixar só assistia os que eu conseguia com os amigos…
Mais assim que eu finalmente tive acesso a um internet digna da minha casa.. resolvi baixar algo pra passar o tempo.. foi quando eu comentei algo num canal no irc, e por acaso um dos users também gostava de animes.. e praticamente me ordenou que baixasse um tal de gundam seed o pacote com os 50 episódios tinham aproximadamente 8gbs! Aí eu pensei… é vamos ver o quão boa é minha conexão.. vou baixar esse tal gundam.. e se eu não gostar eu deleto.. hahahaha foi meu erro..
Bendito anime, ja no primeiro capitulo temos ação de sobra, e nisso fica em praticamente todo o anime… o desejo de assistir o próximo capitulo era tão grande.. que eu ja não queria dormir para assistir, só comia na frente do pc para assistir… e assistir ia pro trabalho pensando em voltar pra casa pra assistir…
Então se você quer assistir algo que tenha AÇÃO, ROMANCE, HISTÓRIA e que te PRENDA a tela do pc.. recomendo o GUNDAM SEED
Classe Java para conexão com banco de dados firebird
/** Import declarations */
import java.sql.*;
public class Conexao {
// Conexao, Sql, Ativa
/** Conexao’s local Variables */
private Connection Conn = null;
private String SQL = “”;
private boolean Ativa = false;
/** Creates a new instance of Conexao */
public Conexao() throws Exception {
// Abre a conexao
Class.forName(“org.firebirdsql.jdbc.FBDriver”);
Conn = DriverManager.getConnection(“
jdbc:firebirdsql:127.0.0.1/3050:C:/tentativa/Java/TRABLTPV.FDB” , “SYSDBA” , “masterkey”);
if(!Ativa) {
this.Ativa = true;
}
}// Fim do construtor
/*
* Metodos de Funcoes de acesso ao Banco de Dados
*/
/** “Sets” a SQL instruction */
public void setSQL(String sql) {
// “Seta” uma instrucao SQL
this.SQL = sql;
}
/** Returns a SQL instruction */
public String getSQL() {
// Retorna a instrucao SQL
return this.SQL;
}
/** Executes SQL command with SELECT instructions */
public ResultSet consulta() throws Exception {
// Faz SELECT no banco e retorna valores
Statement Stm = Conn.createStatement();
return Stm.executeQuery(this.SQL);
}
/** Executes SQL command with INSERT, EDIT and DELETE commands */
public void ExecutaSQL() throws Exception {
// Realiza INSERT, EDIT, DELETE no Banco de Dados
Statement Stm = Conn.createStatement();
Stm.execute(this.SQL);
}
/** Closes the Connection */
public void fechar() throws Exception {
// Fecha a Conexao com o Banco de Dados
if (Ativa)
this.Ativa = false;
Conn.close();
}
/** Returns status of Conexao (boolean Ativa) */
public boolean getAtivA() {
// Retorna se a Conexao esta Ativa ou nao
return this.Ativa;
}
}
-
Recentes
-
Links
-
Arquivos
- Março 2008 (1)
- Novembro 2007 (2)
- Outubro 2007 (2)
-
Categorias
-
RSS
Entradas RSS
Comentários RSS