Rafael’s XBlog

Delphi, CSS, JavaScript, Php, C#, Java, POO, WEB, HTML

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;

Março 5, 2008 Publicado por lastk | Uncategorized | | Sem comentários ainda

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

Novembro 24, 2007 Publicado por lastk | amizade | | Sem comentários ainda

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!

Novembro 18, 2007 Publicado por lastk | Uncategorized | | Sem comentários ainda

gosta de animes?

gundam_seed.jpg
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

Outubro 26, 2007 Publicado por lastk | animes | | Sem comentários ainda

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;
}
}

Outubro 18, 2007 Publicado por lastk | java | , | 2 Comentários