Pular para o conteúdo principal

Postagens

Introdução ao Eclipse (Java)

Introdução O projeto Eclipse.org nasceu da iniciativa de grandes empresas lideres em seus seguimentos, tais como Borland, IBM, QNX Software, Rational Software, Red Hat, Suse, Toghether Software (comprada pela Borland), Sybase e Fujitsu. Em fevereiro de 2004 o Eclipse.org tornou-se independente, ficando “ livre” da IBM. Apesar de ser uma IDE free e opensource, o Eclipse é bem completo, permitindo que seja feito nele tudo o que pode ser feito em uma IDE paga, claro, que em alguns casos com um grau de dificuldade maior, mas para atividades de desenvolvimento básicas como desenvolvimento em Swing, Jsp, Servlets ele atende muito bem, tem grandes facilidades para desenvolvimento de EJBs, mas nada que se compare ao Jbuilder da Borland neste quesito. O Eclipse é uma IDE que possui facilidades que vão desde a rápida visualização de todos os arquivos contidos no projeto, ferramentas de gerenciamento de trabalho coletivo, um Class browser ou Package Explorer, que permite visualizar toda a e

dbGrid zebrado (Delphi)

Quando utilizamos dbGrid e este recebe muitos registros fica dificil ler toda a linha, principalmente se possuimos um grande número de colunas, um recurso que podemos lançar mão para ao menos amenizar essa situação é o efeito "zebrado", onde temos linhas com cores diferentes, na verdade duas cores diferentes que se intercalam. Então vamos ao exemplo, no evento OnDrawColumnCell: if odd (ClientDataSet4.RecNo) then DBGrid1.Canvas.Brush.Color:= clmenubar else DBGrid1.Canvas.Brush.Color:= clCream; TDbGrid(Sender).Canvas.font.Color:= clBlack; if gdSelected in State then with (Sender as TDBGrid).Canvas do begin Brush.Color := clmoneygreen; FillRect(Rect); Font.Style := [fsbold] end; TDbGrid(Sender).DefaultDrawDataCell(Rect, TDbGrid(Sender).columns[datacol].field, State);

Palavra com a primeira letra em Maiúsculo (Delphi)

Para casos onde temos palavras que são armazenadas todas em maiúsculo, geralmente surge a necessidade de utiliza-la de uma maneira mais elegante, como o título sugere, então vamos lá: function Primeira_Letra_Maiuscula(p_texto: string): string; begin IF p_texto <> '' THEN result := UpperCase(Copy(p_texto,1,1))+LowerCase(Copy(p_texto,2,Length(p_texto))); end;

Consulta Top-N SQL Server

Esse tipo de consulta é útil em situações onde precisamos encontrar, por exemplo, os N maiores ou menores dentro de determinado grupo, os funcionários mais bem pagos, os que vendem mais, as mercadorias menos vendidas e assim por diante. No SQL Server utilizamos o predicado TOP para recuperar um determinado número de registros e ordenamos a consulta com o ORDER BY. Baixe aqui o script com a criação da tabela e os inserts para o teste. No exemplo abaixo desejamos encontrar os três funcionários que ganham mais: SELECT TOP 3 NOM_FUNC NOME, SAL_FUNC SALARIO FROM FUNCIONARIOS ORDER BY SAL_FUNC DESC Agora desejamos encontrar os três funcionários que possuem os menores salários: SELECT TOP 3 NOM_FUNC NOME, SAL_FUNC SALARIO FROM FUNCIONARIOS ORDER BY SAL_FUNC Podemos perceber que ambos os códigos são idênticos, precisamos apenas mudar a ordem na cláusula ORDER BY.

Centralizar Texto em Edit

Como todos sabemos o Edit mantém todo texto digitado a esquerda, o que não fica bem quando o usamos para a entrada de números, pois bem, o exemplo abaixo apresenta uma alternativa para centralizar um determinado valor dentro de um Edit: procedure EditChange(Sender: TObject); var vl_label : TLabel; //variável do tipo Label begin vl_label := TLabel.Create(self); //criamos um label WITH vl_label DO BEGIN Font.Name := TEdit(sender).Font.Name; //pegamos a fonte usada no edit Caption := TEdit(sender).Text; //pegamos o conteúdo do edit SendMessage(TEdit(sender).Handle, EM_SETMARGINS, EC_LEFTMARGIN, (TEdit(sender).Width-vl_label.Width) div 2); //centraliza no label e retorna para o edit END ; vl_label.Free; end ;

Remover pontos de nome de arquivo (Delphi)

O exemplo a seguir nos mostra como remover pontos de um nome de arquivo, deixando é claro o da extensão: procedure TForm1.Button1Click(Sender: TObject); var vl_a: integer; vl_i: integer; begin //verifica indice do ultimo ponto FOR vl_i:= Length(LabeledEdit1.Text) DOWNTO 1 DO BEGIN IF Copy(LabeledEdit1.Text, vl_i, 1) = '.' THEN BEGIN vl_a := vl_i; Break; END; END; //copia texto ignorando os pontos, exceto quando o ponto estiver no inidice encontrado //anteriormente FOR vl_i:= 1 TO Length(LabeledEdit1.Text) DO BEGIN IF ( Copy(LabeledEdit1.Text, vl_i, 1) <> '.' ) THEN LabeledEdit2.Text := LabeledEdit2.Text + Copy(LabeledEdit1.Text, vl_i, 1) ELSE IF ( vl_i = vl_a ) THEN LabeledEdit2.Text := LabeledEdit2.Text + Copy(LabeledEdit1.Text, vl_i, 1) END; end; Baixe o exemplo aqui .

Mover ponteiro do Mouse automaticamente (Delphi)

Em certas ocasiões desejamos fazer com que o usário veja determinada funcionalidade, ou mesmo tentamos indicar o melhor procedimento a tomar naquele momento, nada melhor como mover o ponteiro do mouse, já que concentramos certa atenção nele, então vamos ao exemplo: var vl_p: TPoint; begin vl_p.X := 315; vl_p.Y := 89; vl_p := ClientToScreen(vl_p); SetCursorPos(vl_p.X, vl_p.Y); end; Baixe o exemplo completo aqui .