Buscar

Diversos

Código

Dicas diversas, que muito ajudarão  na  programação  dos desenvolvedores em Delphi.
 



Índice:

01) Enter valer como Tab

02) Mudar Resolução do video

03) Mudar o cursor do mouse

04) Como saber se o aplicativo já foi aberto

05) Executando um programa em DOS e fechando sua janela em seguida

06) Transformando SQL em String

07) Formatos Internacionais

08) Como criar Forms em tempo de execução

09) Como criar um Form de Apresentação (Splash) como o do WORD

10) Como colocar Figuras de fundo em um Form

11) Curiosidades

12) Montagem de Query(1)

13) Diversos do Delphi3

14) Trabalhando com datas

15) Colocando o Help para funcionar

16) Função para gerar Id com números, letras e números (ex.: '001CONTA0000001')

17) Oracle: Exclusão, Criação, Constraints e Insert de tabelas

18) Formatação de casas decimais

19) Alterando dados na tabela com sql

20) Forma de salvar arquivos

21) Multiseleções com DBGrid

22) Verificando o Botão - DBNavigator

23) Converte espaços em zeros (ou qualquer outro caracter)

24) Transformar 'String' em Currency

25) Abrindo um bmp

26) Busca numa Query

27) Busca numa Tabela

28) Chamando a caixa de diálogo da rede dialup

29) Validar um valor como currency (moeda)

30) Escrevendo o mês da data por extenso

31) Função com montagem de Query e retorno (Result = Integer)

32) Usando o Length

33) Função de SQL com Query solicitando Soma, Quantidade de registros somados e sua Média,

    usando várias tabelas, e passando diversos parâmetros

34) Carregando um ListBox

35) Usando uma Classe para Insert, Select, Update e Delete em SQL

36) Validando entrada de dados somente numérico num edit ('beep')

37) Mensagem com ou sem confirmação

38) Montagem de Query(2)

39) Filtrando uma Query com dados de um ComboBox ou Edit

40) Usando diversos procedimentos com diferentes pages ativos

41) Unit(Form) Agente fiscalizador de sistemas

42) Função solicitando resultado(string) passando um texto em SQL

43) Formatando dados extraídos de uma tabela, antes de exibí-lo

44) Query buscando valor máximo de um campo de uma tabela

45) SQL - Soma, Média, Count e Group By

46) SQL - função para 'select sum' passando dois parâmetros

47) Obtendo o nome do usuário da rede

48) Arraste um cor, para mudar a cor de fundo de um Label

49) Verificando a classe de um componente

50) Convertendo caractéres para caixa alta

51) Componentes (Encontrando a quantidade, nome e tipo)

52) Utilizando outros padrões de cores

53) Localizar um caracter e capturar os próximos

54) Localizar caracter, capturar os iniciais e somar a alguns dos restantes

55) Formatando data extraída do campo de uma tabela

56) Chamando Rede Dialup

57) Colocando espaços à esquerda como preenchimento com uma string

58) Como obter o caminho do diretório corrente

59) Como criar um novo diretório

60) Como remover um diretório

61) Fazendo cópia de arquivos para outro diretório

62) Validação de somente números inteiros

63) Validação de somente real

64) Acrescenta espaço em branco à direita de uma string

66) Usando o ProgressBar, fazendo uma extração de dados de uma query e

    adicionando para um arquivo texto

67) Modificando Caractéres no momento da impressão do QuickRep

68) Localizar um caracter e copiar somente o que está antes dele:

69) Formatando dados antes de exibí-lo (grid)

70) Tranformar um valor negativo em positivo

71) Verifica a existência de um arquivo para apagá-lo

72) Colocando caractéres(zeros) à esquerda de uma string

73) Formatando dados (string) para moeda antes de exibí-lo

74) Capturando somente hora

75) Transformando string para somente hora

76) Somando hora à string

77) Somando minutos à hora com string

78) Verificando a máscara baseado na quantidade de números

    digitados(CGC, CPF ou outros)

79) Conectando-se a um Banco (Oracle)

80) Substituíndo um sinal numa TString (Texto) por outro

81) Levando parâmetros para um form antes de exibí-lo

82) Salvando arquivo e imprimindo

83) Digitando somente números

84) Criando arquivo texto e salvando

85) Como saber o dia da semana à partir da data

86) Capturando o nome do computador

87) Salvando e imprimindo arquivo texto local e em rede

88) Salvando e imprimindo um arquivo em rede

89) Salvando arquivo do tipo bat e executando seu conteúdo

90) Capturando o caminho e nome do executável

91) Selecionando todos os registros de um dbgrid

92) Efetuando a soma de um campo numa query, baseando-se em outra

93) Colocando papel de parede

94) Verificando se há disco no drive

95) Como saber se o aplicativo já foi aberto

96) Para fazer protetor de tela com o Delphi

97) Capturando o conteúdo do desktop

98) Alterar papel de parede

99) Abrindo Browser para acesso à Internet

100) Transferindo o conteúdo de um Memo para um MemoField

101) Trabalhando com cursor em um Memo

102) Impressão direto para impressora

103) Limpando todos os Edits de uma só vez

104) Pegando o nome da classe de componentes

105) Conectando em uma unidade de rede

106) Posicionando um Image ou Label em posições randomizadas

107) Aceitando somente centésimos para result de currency

108) Escondendo - Mostrando a Barra de Tarefas - Win95

109) Trava Contra (Alt+Tab, Ctrl+Esc, Ctrl+Alt+Del) - Win95

110) Nome e Empresa do Windows 95

111) Fundo do texto transparente

112) Escrevendo um Texto na Diagonal usando o Canvas - NT/95

113) Detectando o número serial do HD

114) Como fechar aplicativos, reiniciar ou desligar o Windows 95

115) Não visualizar o Form principal

116) Modificando o filtro de um Table

117) Mudando o parametro de uma query(SQL)

118) Carregar variáveis num ComboBox

119) Verifica o nome do usuário que está logado na rede

120) Adicionando valores (não repetidos) a um ComboBox

121) Transformando data e hora em um único número

122) SQL para inserir novo registro numa tabela do banco (Oracle) gerando automaticamente um Id sequencial

123) Como fazer para o computador soar o beep

124) Como pausar um programa por determinado número de segundos

125) Como mostrar o mouse como uma ampulheta (e depois retorná-lo ao normal)

126) Como controlar o pressionamento da tecla

127) Como modificar a cor do texto dentro de um campo DBGrid dependendo do conteúdo

128) Como chamar um outro programa (tipo o notepad do Windows©) a partir de um aplicativo (de três maneiras diferentes: normal, maximizado e minimizado)

129) Como varrer uma tabela inteira

130) Como interceptar as teclas de função

131) Como os valores de campos de uma tabela para outra

132) Como verificar se um campo inteiro é par ou ímpar

133) Como verificar se uma string contém um inteiro

134) Como subtrair datas

135) Como colocar funções em uma DLL

136) Verifica validade de CGC e CPF

137) Carregar um cursor animado '*.ani'

138) Colocando filtro na propriedade 'Filter' de um TTable

139) Marcando um pedaço do código

140) Como descobrir se o ano é bisexto

141) Criando objetos(TEdit, TButton e TRadioButton) no executável

142) Tornando um form transparente

143) Copiando e Colando conteúdo do Clipboard

144) Formatando o conteúdo de um Memo ou Edit para caixa alta

145) Utilizando a tecla CTRL + E para executar procedimento

146) Retirando espaços à direito ou à esquerda de uma string

147) Criando uma classe como componente para acesso à base de dados

148) Adicionando items (checklistbox) ao marca-lo

149) Transformando um checklistbox em um radiobox

150) Criando alias no BDE

151) Deletando alias no BDE



1) Enter valer como Tab:

procedure TForm1.EditKeyPress(Sender: TObject;

  var Key: Char);

begin

  with Sender do

    if Key = #13 then begin

      SelectNext(Sender as tWinControl, True, True);

      Key := #0;

    end;

end;



Usando o 'Sender', poderá ser utilizado vários componentes.



2) Mudar Resolução do video:

implementation



{$R *.RES}



procedure TForm1.FormCreate(Sender: TObject);

var

  i : Integer;

  DevMode : TDevMode;

begin

  i := 0;

  while EnumDisplaySettings(nil,i,Devmode) do begin

    with Devmode do

      ListBox1.Items.Add(Format('%dx%d %d Colors',[dmPelsWidth,dmPelsHeight,

                         1 shl dmBitsperPel]));

    Inc(i);

  end;

end;



procedure TForm1.ListBox1Click(Sender: TObject);

begin

  Button1.Enabled := Listbox1.ItemIndex >= 0;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

  DevMode : TDevMode;

begin

  EnumDisplaySettings(nil,Listbox1.ItemIndex,Devmode);

  ChangeDisplaySettings(DevMode,0);

end;



end.



3) Mudar o cursor do mouse

Sintaxe: Screen.Cursor := ;

Exemplo : Screen.Cursor := crHourGlass; //crHourGlass representa a ampulheta



crSQLWait representa a ampulheta de SQL, existem outros tipo de cursores já

pré-definidos no  Delphi,  se você quiser o nome de todos vá na propriedade

Cursor de algum componente.



4) Como saber se o aplicativo já foi aberto

Insira o código abaixo dentro do arquivo .DPR de sua aplicação



{$R *.RES}



begin

  Application.Title := '';

  Application.HelpFile := '';

  if HPrevInst = 0 then begin

     F_Splash := TF_Splash.create(Application);

     F_Splash.Show;

     Application.CreateForm(TF_Menu, F_Menu);

     Application.CreateForm(TF_Error, F_Error);

     Application.CreateForm(TF_Form1, F_From1);

     Application.CreateForm(TF_Form2, F_Form2j);

     Application.Run;

  end else

     messagedlg('O sistema já foi inicializado!',mtinformation,[mbok],0);

end.



//Segunda alternativa:

//Como executar apenas uma vez a aplicação?

//Código abaixo para Delphi 2/3.



program Projeto1;



uses

Forms,

Windows,

Form1 in Unit1 {Form1};



{$R *.RES}



var Handle1,

Handle2 : HWND;



begin

Application.Initialize;

Handle1:= FindWindow(PChar('Form1'),nil);

if Handle1 = 0 then

   begin

        Application.CreateForm(TForm1, Form1);

        Application.Run

   end

else

    begin

         Handle2:= GetWindow(Handle1,GW_OWNER);

         ShowWindow(Handle2,SW_HIDE);

         ShowWindow(Handle2,SW_RESTORE);

         SetForegroundWindow(Handle1)

    end

end.



//Aviso: Este codigo so funcionara qdo o Delphi nao estiver

//carregado.





5) Executando um programa em DOS e fechando sua janela em seguida após a execução:

Deve ser especificado " command.com /c 'nome do programa' " na linha de comando.

Usando a função da API WinExec para executar um programa chamado exemplo.exe,  a

chamada deve ser:



  //Local

  WinExec('command.com /c exemplo.exe',sw_ShowNormal);  //Visualização normal.

  WinExec('command.com /c exemplo.exe',sw_Hide);        //Sem que seja visualizado pelo usuário.



6) Transformando String - SQL:

function TForm1.SqlStr(const Str: String): String;

begin

  if Str = '' then

    SqlStr := 'NULL'

  else

    SqlStr := '''' + UpperCase(Str) + '''';

end;



7)Formatos Internacionais:



  DecimalSeparator := '.';

  ShortDateFormat := 'mm/dd/yy';



Isto terá precedência sobre a configuração padrão. Para uma lista completa das variáveis, procure em Currency Formatting Variables na ajuda do Delphi.



8) Como criar Forms em tempo de execução ?



Para você economizar memória, pode-se criar os forms de sua aplicação somente no momento da execução. Na criação do Form você define se ele é MODAL ou NÃO MODAL. Para Isso observe os seguintes códigos:

MODAL - Mostra form em modo exclusivo



procedure TForm1.Button1Click(Sender: TObject);

begin

  Application.CreateForm(TForm2, Form2);  //Carrega form na memória

  Form2.ShowModal;                        //Mostra form em modo exclusivo

  Form2.Free;                             //Libera Memória

end;



NÃO MODAL - Mostra form em modo não exclusivo



procedure TForm1.Button1Click(Sender: TObject);

begin

  Application.CreateForm(TForm2, Form2); //Carrega form na memória

  Form2.ShowModal;                       //Mostra form em modo exclusivo

end;



No evento OnClose do Form2 coloque o seguinte código.



procedure TForm2.FormClose (Sender: Tobject; var Action : TCloseAction);

begin

  Action:= caFree;

end;



Alterar no delphi, no menu Options, opção Project. Mudando os forms a serem criados dinamicamente da coluna Auto-Create Forms para Avaliable Forms.



9) Como criar um Form de Apresentação (Splash) como o do WORD?

****************

program Project1;



uses

  Forms,

  Unit1 in 'Unit1.pas' {Form1},

  Unit2 in 'Unit2.pas' {Form2};



{$R *.RES}



procedure Iniciar;

begin

  Application.CreateForm(TForm1, Form1);

  Application.CreateForm(TForm2, Form2);

  Form2.ShowModal;

end;



begin

  Iniciar;

  Application.run;

end.



****************

unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  StdCtrls;



type

  TForm1 = class(TForm)

    Label1: TLabel;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);



  private

    { Private declarations }

  public

    { Public declarations  }

  end;



var

  Form1: TForm1;



implementation



{$R *.RES}



procedure TForm1.Button1Click(Sender: TObject);

begin

  Application.Terminate;

end;



end.



****************

unit Unit2;



interface



uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  StdCtrls;



type

  TForm2 = class(TForm)

    Label1: TLabel;

    Edit1: TEdit;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);



  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form2: TForm2;



implementation



uses Unit1;



{$R *.RES}



procedure TForm2.Button1Click(Sender: TObject);

begin

  if Edit1.text = 'Edit1' then begin

    Form2.Hide;

    Form1.ShowModal;

  end else

    Application.Terminate;

end;



end.





//OU NUMA SEGUNDA OPÇÃO:



//FORMA ORIGINAL DO PROJECT SOURCE:

//begin

  //Application.CreateForm(TForm1, Form1);

  //Application.CreateForm(TAcesso, Acesso);

  //Application.Run;

//end.



//FORMA ALTERADA DO PROJECT SOURCE:

procedure Iniciar;

begin

  Application.CreateForm(TForm1, Form1);

  Application.CreateForm(TAcesso, Acesso);

  Application.ShowMainForm := False;

end;



begin

  Iniciar;

  Application.Run;

end.





//USO NO FORM DE ACESSO DO SEU PROJETO:



procedure TAcesso.BtnOKClick(Sender: TObject);

//var

  //Query: TQuery;

  //Status: String;

begin

  //Query := TQuery.Create(nil);

  //Alias utilizado no BDE

  //Query.DatabaseName := 'ComputerLife';

  try

    //Select do status do usuario

    //se pode ou não ter acesso ou

    //o tipo de autorização ou algo parecido...

    //Query.SQL.Clear;

    //Query.SQL.Add(' SELECT STATUS FROM USUARIO ');

    //Query.SQL.Add(' WHERE USUARIO = ' + SqlStr(EditUsuario.Text));

    //Query.SQL.Add(' AND SENHA = ' + SqlStr(EditSenha.Text));

    //Query.Open;

    //if not Query.EOF then

    if EditSenha.Text = 'ELIEL' then  begin

      //Poderá ser utilizado ou não...

      //Status := Query.Fields[0].AsString;

      Form1.WindowState := wsNormal;

      Form1.Visible := True;

      FrmAcesso.Hide;

    end else begin

      ShowMessage( 'Usuário/Senha inválido!!');

      EditUsuario.SetFocus

    end;

 
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 09/02/05
Por: Jose Ribeiro
Visualizada: 19150 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009