| Últimas 20 atualizações de Thiago Darlei Santana Souza |
|
|
Bom pessoal neste artigo que irei disponibilizar, iremos demonstrar como fazer impressões de relatórios utilizando o componente ppReport da REPORT BUILDER. Para isso devemos ter o Report Builder instalado junto ao nosso Delphi. Para fazer o download do componente aqui vai o link: http://www.digital-metaphors.com/ Depois de tudo instalado vamos ao que interessa! Devemos criar uma nova aplicação no Delphi, devemos acessar o menu File -> New -> VCL Project. Depois da nossa aplicação criada devemos inserir os seguintes componentes: 1 DbGrid; 1 DataSource; 1 Button; 1 Query; 1 ppReport; 1 ppDBPipeline1; Devemos configurar nossa conexão para que nossa Grid traga os valores de alguma base de dados para testarmos o nosso gerador de relatórios. Depois de toda a conexão configurada e que a grid esteja trazendo os dados, devemos configurar a propriedade Datasource do nosso ppDBPipeline1 para o datasource1. E devemos configurar a propriedade Pipeline do nosso ppReport para ppDBPipeline1. Depois disso nossa tela deve ficar com a seguinte aparência: 
Agora devemos clicar com o botão direito sobre o componente ppReport e depois irmos até a opção Report Design... Iremos nos deparar com o ambiente de design do nosso ppreport onde iremos desenhar o nosso relatório. No cabeçalho devemos incluir um label e modificar a propriedade caption para a LISTA DE PESSOAS. Deverá ficar com a seguinte aparência:
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Bom pessoal neste artigo que irei disponibilizar para vocês irei demostrar como poderemos fazer com que o nosso formulário quando estiver em modo de execução nosso formulário irá ficar com a aparência gradiente! Mas como assim gradiente? Igualmente quando aplicamos uma fora gradiente no photoshop! onde temos uma mistura de cores... Para isso devemos criar uma nova aplicação no Delphi. Para criarmos uma nova aplicação no Delphi devemos ir até o menu File -> New -> VCL Project. Bom nesse nosso exemplo não iremos utilizar componente algum, pois iremos utilizar os eventos do nosso Formulário. Depois da nossa aplicação criada de vemos utilizar os seguintes eventos do nosso formulário: OnPaint e OnResize O evento OnPaint é disparado quando ocorre o desenho formulário isto é na hora em que está sendo criado o nosso formulário no momento em que o nosso formulário está recebendo o seu determinando tamanho, cor entre outros... Então para que nosso formulário recebe o estilo gradiente devemos utilizar este evento. Já o evento OnResize iremos utilizar para não deixar que o nosso formulário seja redimensionado e assim não atrapalhe a criação do nosso gradiente. Vamos lá no objecto Inspector devemos encontrar o evento OnPaint e devemos inserir o seguinte código: procedure TForm1.FormPaint(Sender: TObject); var altura, coluna: Word; begin
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Bom pessoal neste
artigo irei passar algumas dicas úteis para ser utilizadas no Delphi.
Vamos lá! Para começar irei demonstrar como tocar um som no formato WAV sem
utilizar o media player, como Clonar o
Formulário e como diminuir o tamanho do nosso EXE.
Tocando som WAV sem o media Player
Para que nossa aplicação toque um som WAV
sem utilizar o media player devemos
adicionar a Uses MMSystem.
Devemos criar uma nova aplicação no Delphi. Seguindo o menu File
-> New -> VCL Project.
Após nossa aplicação criada devemos incluir 2 buttons e renomea –
los para btnparar e bnttocar. Iremos utilizar a API
SndPlaySound();
No evento onclick do nosso bntTocar devemos inserir o seguinte
código:
procedure
TForm1.btnTocarClick(Sender: TObject);
begin
SndPlaySound('c:\tete.wav',
snd_ASync);
end;
Depois no evento onclick do nosso btnParar devemos
inserir o seguinte código:
procedure TForm1.btnPararClick(Sender:
TObject);
begin
PlaySound(nil,0,0);
end;
PS: snd_Loop serve para repetir continuamente o
som.
Depois que seguir todos os passos anteriores pressione
a tecla F9 para rodar nossa aplicação e teste os botões que verás o resultado.
Espero que tenham gostado!
Diminuir o Tamanho do nosso EXE
Como podemos fazer para que possamos reduzir o tamanho
do nosso EXE?
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Bom pessoal nesta Quick Tip irei mostrar à vocês alguns
tipos de conversões, pois na programação muitas vezes nos deparamos com
situações em que necessitamos fazer a conversão de dados para que possamos dá
continuidade ao nosso projeto. Para isso que existem as functions nativas do
Delphi. Existem vários tipos de functions de conversões e neste artigo irei
demonstrar como podemos utilizadas.
Vamos começar com as que são mais utilizadas no nosso dia –
dia que são as conversões de inteiro para string, String para Inteiro, Data
para String, String para Data e muitos outros.
IntToStr -> Faz a conversão de inteiro para String.
Abaixo um exemplo prático e simples:
procedure TForm1.Button1Click(Sender: TObject);
var
Inteiro :
Integer;
begin
Inteiro :=
1;
Edit1.Text
:= IntToStr(Inteiro);
end;
StrToInt -> Faz a conversão de String para Inteiro.
Abaixo um exemplo prático e simples:
procedure TForm1.Button1Click(Sender: TObject);
var
Inteiro :
Integer;
Numeros : String;
begin
Numeros :=
123456789;
Inteiro :=
StrToInt(Numeros);
Edit1.Text
:= IntToStr(Inteiro);
end;
StrToDate -> Faz a conversão de String para o formato
Date. Abaixo um exemplo prático e simples:
procedure TForm1.Button1Click(Sender: TObject);
var
MinhaData
: TDateTime;
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Bom pessoal neste artigo que irei disponibilizar a vocês falaremos sobre um componente da paleta Win 3.1. O componente chama-se Notebook! Com ele podemos utilizar o mesmo formulário para várias telas. Mas como assim? O componente notebook funciona muito parecido com o Pagecontrol, mas não aparece a aba para saber em qual página está! Então podemos utiliza –lo em um formulário criando várias pages podendo chamar cada uma através do Activepage. Vamos ao exemplo: Crie uma nova aplicação no Delphi, vá ate o menu File -> New -> VCL Projects. Com a nossa aplicação criada devemos inserir alguns componentes, abaixo a lista dos componentes que iremos utilizar: 1 MainMenu; 1 Notebook; 4 Labels; Vamos configurá-los: Devemos selecionar o notebook e irmos até a propriedade Pages no Object Inspector. Iremos nos deparar com uma tela igual a imagem abaixo: 
E deveremos criar 4 pages, como na imagem acima! Com os mesmos nomes da imagem acima. pagina1, pagina2, pagina3, principal. Depois de criada as 4 pages devemos incluir um label em cada Page. Para passar mos de Page em Page é só irmos até a propriedade Active Page e escolher em qual página queremos incluir o componente. Depois devemos modificar o caption dos labels de cada Page para podermos diferenciar. Modificar a propriedade caption do label seguindo a ordem abaixo: Page Principal -> Principal ; Pagina1 -> Página 1; Pagina2 -> Página 2; Pagina3 -> Página 3; No nosso Mainmenu devemos incluir os menu igual a imagem abaixo: 
Para que possamos chamar cada tela de acordo com a Page do Notebook selecionado.
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Bom pessoal neste artigo irei demonstrar à vocês como desenvolver um despertador no Delphi utilizando o componente Timer para comparar as datas. É uma aplicação bem simples, mas que pode ser bastante Útil. Para isso devemos criar uma nova aplicação no Delphi. File-> New -> VCL Project. Com a nova aplicação criada inclua os seguintes componentes: 2 buttons; 1 MaskEdit; 1 Timer; 3 Label; 1 StatusBar; Depois devemos modificar o nome dos componentes para os seguintes nomes: Button1 -> btnAtivar; Button2 -> btnDesativar; MaskEdit1 -> MaskHora; Na propriedade EditMask do nosso MaskHora devemos incluir a seguinte formatação: !90:00;1;_ No label1 modifique a propriedade Caption para (DESPERTAR) e o label2 modifique a propriedade Caption para (STATUS). E devemos inclui 2 panels no nosso Statusbar. Para adicionar os panels no statusbar devemos clicar com o botão direito sobre o nosso statusbar e ir até a opção panels editor e incluir os dois panels, ajustando a propriedade Widht para que seja possível a visualização dos valores que irão receber. Nossa aplicação fique igual a imagem abaixo:

Devemos incluir 2 variaveis globais na nossa aplicação: var Ativar : Boolean; Tecla : Char; No evento Oncreate do form devemos incluir o seguinte código: Ativar := False; StatusBar1.Panels[0].Text := FormatDateTime('dddd,dd "de" mmmm "de" yyy', Date); Label3.Caption := 'Alarme Desativado'; No evento onkeypress do nosso MaskHora devemos incluir o seguinte código: Tecla := (Key);
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Bom pessoal nesse segundo artigo irei demonstrar as facilidade que o JEDI e o GExpert nos proporciona... Como falei no artigo passado o JEDI facilita muito a vida de qualquer programador, então irei disponibilizar essa facilidade que sem o JEDI e o GExpert seria um pouco mais complicado, que é a setagem de foco e como o foco irá se comportar dentro do seu sistema. Vamos ao exemplo! Para começar, devemos criar um novo projeto no Delphi. File -> New -> VCL Projects e deveremos incluir os seguintes componentes: 5 Edits; Depois devemos alterar os seus respectivos nomes para: Edit1 -> Primeiro; Edit2 -> Segundo; Edit3 -> Terceiro; Edit4 -> Quarto; Edit5 -> Cinco; Nossa aplicação deve ficar parecia com a da imagem abaixo:  Veja que o foco está direcionado no primeiro Edit e assim que passarmos o foco ele irá para o segundo, depois terceiro e assim por diante.... Mas com a ajuda desse componente do GExpert (SET TAB ORDER), podemos escolher a seqüência que preferirmos! Basta mantermos a tecla Shift pressionada e sairmos clicando a ordem que desejarmos. No exemplo selecione a seguinte ordem: Quinto, Terceiro, Primeiro, Segundo e Quarto. Depois de selecionada a ordem devemos ir até o menu GExpert -> Set Tab Order e conseqüentemente irá se abrir uma tela de dialogo parecida com a da imagem abaixo: 
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Bom pessoal esse artigo irá demonstrar as facilidade que o JEDI nos proporciona... Imagine termos que incluir apenas uma messagedialog de erro! Deveriamos digitar o seguinte código: MessageDlg('Operação Inválida!', mtError, [mbOK], 0); Utilizando o JEDI se quiser incluir uma msgdialog é bem mais simples! Devemos apenas no local onde queremos incluir a mensagem ir até o menu Gexpert -> Message Dialog ou então utilizar as teclas de atalho CrtL + D. Irá abir uma tela parecida com essa imagem abaixo: 
Onde no primeiro campo devemos informara a mensagem que quisermos que apareça na nossa MessaDlg... No meu exemplo informei a seguinte mensagem: Operação Inválida! Depois podemos escolher o tipo de ícone que queremos que apareça na mensagem no meu exemplo irei escolher o mtError e podemos configurar os botões que queremos que apareça tem vários exemplo entre eles existem: Apenas OK; Ok e Cancel; Abort; Ainda existe a possibilidade de testar como ficará mensagem clicando no Button Test e muito mais... Vejam como ficará nossa mensagem de teste: 
E automaticamente foi incluído o seguinte código em nossa aplicação: MessageDlg('Operação Inválida!', mtError, [mbOK], 0); Se acessarmos o menu Gexpert -> Procedure List ou pressionar as teclas CRTL + G podemos acessar a tela para a procura bem mas rápida de procedure e funciot dentro do nosso sistema! 
Na caixa de pesquisa podemos incluir uma parte do nome da prcedure ou da function para que possamos pesquisar. E automaticamente irá nos trazer o local onde a parte onde se encontra o código informado! Essa funcionalidade é muito útil para quando estamos trabalhando em projetos enormes em que fica difícil de encontrar uma parte do código desejado! É isso aí galera nos próximos artigos irei mostrar outras funcionalidades que o JEDI nos proporciona com muita facilidade. Até o próximo artigo! Espero que tenham gostado! Thiago
Contato: Thiagodarley@hotmail.com -->">
|
|
|
|
Bom pessoal este artigo mostrará como podemos incluir em nossas aplicações a opção de envio de email com anexo utilizando os componentes da JEDI (JVMAIL) e o auxílio do Outlook... Para isso devemos ter instalado os componentes da JEDI e Outlook! Para começar, devemos criar um novo projeto no Delphi. File -> New -> VCL Projects e deveremos incluir os seguintes componentes: 3 Edits; 1 Memo; 3 Labels; 1 Bitbtn; 1 SpeedButon; 1 OpenDialog; Depois devemos alterar os seus respectivos nomes para: Para os 3 edits -> EdtAssunto, EdtEndereco, EdtNomeFile Para o Memo -> MemoCorpoEmail; Para o Bitbtn - > btnEnviar; Para o SpeedButon -> BtnAnexo; Nosso formulário deve ficar com essa aparência aqui:

No evento Onclick do nosso btnAnexo devemos incluir o seguinte código: procedure TForm1.btnAnexoClick(Sender: TObject); begin OpenDialog1.Execute; EdtNomeFile.Text := OpenDialog1.FileName; end; No evento Onclick do nosso BtnEnviar devemos incluir o seguinte código: procedure TForm1.btnEnviarClick(Sender: TObject); begin JvMail1.Attachment.Clear; JvMail1.Attachment.Add(EdtNomeFile.Text); // Anexando //Arquivo JvMail1.Subject := EdtAssunto.Text; // Incluindo assunto a nosso email JvMail1.Recipient.Clear; //Limpando o recipiente para //receber o email JvMail1.Recipient.AddRecipient(EdtEndereco.Text); //Incluindo o nosso //destinatario JvMail1.body.clear; JvMail1.Body.Text := MemoCorpoEmail.Text; // escrevendo nosso email JvMail1.SendMail(true); // Enviando..
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Bom pessoal, neste artigo que irei disponibilizar iremos fazer uma conexão a uma base de dados atraves de um arquivo com extensão .INI! Este artigo será muito útil para aqueles que irão criar uma aplicação que seja ultilizada em rede! Nesta aplicação o sistema irá procurar se no PC existe o arquivo CfgBase.INI que para testes utilizarei o caminho C:\BD\CfgBase.INI caso fosse para procurar em rede vocês deveriam informar o IP do servidor e o caminho onde se encontra este arquivo! Vamos lá...
Lembrando que devemos incluir a uses IniFiles e declarar uma váriavel global chamada de Config: TInifiles
A nossa aplicação de teste terá 2 form e um Datamodule (DM) no 1º form inclua apenas um botão (BtnConectar), para que fique igual a imagem ao lado. No DM inclua um componente de conexão eu escolhi os componentes da IBO o Ib_Connection (Conexão1). No evento onclick do nosso btnConectar inclua o seguinte código:
begin Config := TIniFile.Create(''C:\BD\CfgBase.INI''); // C:\BD\CfgBase.INI foi o caminho e o nome do arquivo que escolhi, fica a critério de vocês caso seja em rede deverá informar o IP antes do caminho try Dm.Conexão1.Server := Config.ReadString(''Conexão1'', ''Server'', ''Localhost''); //Lendo o arquivo .INI para pegar o Server eu definir como fixo LOCALHOST, caso queiram mudar devem incluir mais um edit lá no form2. Dm.Conexão1.DatabaseName := Config.ReadString(''Conexão1'', ''Databasename'', ''''); //Lendo o arquivo ini para pegar o Databasename. Dm.Conexão1.Path := Config.ReadString(''Conexão1'', ''Path'', ''''); // Lendo o arquivo ini para pegar o Patch.
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Neste artigo que irei disponibilizar veremos como fazer uma exportação de dados para o Excel! Pois hoje quase todos os clientes utilizam esta opção de exportar os dados de uma determinada consulta para o excel que é um lance bem simples... Então para que possamos fazer esta exportação iremos utilizar um componente da Native Excel que vc podem fazer o download atráves deste link: http://www.nika-soft.com/dwnld.htm
Vamos então ao passos que devemos seguir.. Depois de nossa consulta já pronta, td certinho o DbGrid já recebendo os valores que queremos exportar para o execel devemos incluir um componente da paleta native excel o TDBGrid2Excel isso para aqueles que forem utilizar os componentes da native, mas fiquem a vontade para escolherem os teus componentes... Mas o nosso exemplo tem por base os componenetes da native Excel.. Depois de incluido o componente TDBGrid2Excel, devemos incluir um botão que será o responsável por efetuar a exportação dos dados para o excel e um Gauge para que possamos saber como está o nosso processo de exportação. Lembrando que devemos ligar a propriedade DbGrid do nosso componente TDBGrid2Excel para a DBGrid que queremos fazer a exportação... No evento onclick deste botão inclua o seguinte código:
Var QtdRegistros : Integer; begin QtdRegistros := DBGrid1.DataSource.DataSet.RecordCount; Gauge1.MaxValue := QtdRegistros; if QtdRegistros = 0 then begin MessageDlg('Não existem registros para efetuar a exportação!', mtWarning, [mbOK], 0); Exit; end; DBGrid2Excel1.Workbook := nil; //Limpando o nosso ambiente no excel DBGrid2Excel1.WorkSheetName := 'Exportação de dados de Login'; DBGrid2Excel1.ExportDBGrid; DBGrid2Excel1.SaveAs('C:\Teste.xls'); //Local onde será salva nossa planilha MessageDlg('Exportação efetuada com sucesso!', mtInformation, [mbOK], 0);
Explicando o código: WorkSheetName = Esta propriedade é responsável por renomear o nome da nossa aba. ExportDBGrid = Esta propriedade é responsável efetuar a exportação dos dados. SaveAs = Esta propriedade é reponsável por informar o local onde será salva a nossa planilha com o referido local e nome passado para esta propriedade.. No meu exemplo indiquei que será salva na Unidade C com o nome de Teste.xls
É isso aí espero que tenham gostado! Até a próxima...-->">
|
|
|
|
Montando SQL Dinâmico
Bom pessoal neste artigo que irei postar, mostrarei como criar um SQL dinâmico! Mas para que serve um SQL dinâmico? Imagine que vc terá várias opções de consultas em uma mesma tela... Exemplo Consultar as pessoas cadastradas no teu sistema, mas lá na tela vc terá várias opções de pesquisas tipo pesquisar pessoas por setor, por periodo de contratação etc. Então para isso teriamos que ter várias query cada uma com uma consulta diferente! Não então é para isso que serve o SQL Dinâmico com apneas uma consulta iremos testar o que o usário escolheu e o que a consulta irá gerar... Vamos ao que interessa. Em nossa tela temos 2 EDIT um para setor e outro para cargo, uma query para pesquisa, um datasource, uma DbGrid e um button. Devemos configurar nossa conexão e nossos componetes normalmente, ligado o datasource a DbGrid o datasource a Query.
Lembrando que: Query = QueryConsultar; EditSetor = Edite responsável por pegar o parametro do Setor para pesquisa; EditCargo = Edite responsável por pegar o parametro do Cargo para pesquisa; BtnConsultar = Botão responsável por efetuar a consultar quando for clicado;
No evento onclick do btnConsultar devemos incluir o seguinte código: QueryConsultar.Close; //Fechamos a Query
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Bom pessoal neste artigo aqui irei disponibilizar iremos criar uma tela de login criptografando as senhas....
Estou utilizando Delphi 2010. Firebird 2.5, componentes de conexão da IBO ( 2 IBOQUERY (Uma para fazer o cadastro de um novo login e outra para buscar o usuário e a senha para efetuar o login), IB_TRANSACTION, IB_CONNECTION, DATASOURCE)e o componente para criptografar as senhas o JvVigenereCipher!
Não irei mim aprofundar sobre o banco de dados... Faça a conexão com o banco onde nele tenha uma tabela de login com os fields Usuario e Senha... Bem simples o banco só para teste...
No Evento OnCreate do formulário:
procedure TForm1.FormCreate(Sender: TObject); begin IB_Connection1.Password := 'masterkey'; IB_Connection1.Connect; IBOQuery1.Open; end;
Devemos inserir 3 Edits, 3 Labels e 3 buttons, para que nossa tela fique como a imagem ao lado!
Devemos configurar o 3º edit e o 3º label com a propriedade visible como false e o btnCadastrarLogin a propriedade Enabled como False.
Código do Botão Novo procedure TForm1.btnNovoClick(Sender: TObject); Var SenhaAdmin: String; SenhaDigitada: String; begin // Teste de exemplo para liberar cadastro de novo login SenhaAdmin := 'ADMIN'; SenhaDigitada:= InputBox('Informe a Senha de Administrador', 'Senha:','');
if SenhaDigitada <> SenhaAdmin then begin ShowMessage('Senha Admin inválida! Favor procurar administrador do sistema!'); Exit; end; EditUsuario.SetFocus; Label3.Visible := True; EditRepitida.Visible := True;
Ao clicar no botão novo irá pedir uma senha de Administrador fiz um exemplo apenas para teste onde declarei a váriavel SenhaAdmin := 'ADMIN'; Ao informar a senha ADMIN irá liberar o cadastro de um novo LOGIN podemos melhorar mas isso será um lance mais complexo.
btncadastrarLogin.Enabled := btnNovo.Enabled; btnNovo.Enabled := False; end;
Código d
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Bom pessoal neste artigo que irei disponibilizar para vocês irei mostrar como fazer a contagem de caracteres dentro de Memo...
Mas como assim? Acho que vocês já viram quando vamos enviar um recado no orkut por exemplo onde temos uma quantidade determinada de caracteres! Então nesta aplicação iremos fazer aquela mesma contagem informando a quantidade de caracteres quem o nosso memo irá receber atraves da propriedade MaxLenght...
Vamos ao que interessa...
Incluir um componente Memo(campo onde será digitado nossos caracteres) e um Label (para mostrar quantos caracteres restam a ser digitados).
No evento onCreate incluimos este código abaixo:
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.MaxLength := 150; // Informando a quantidade máxima de caracteres no Memo no expemplo foi 150.
Label1.Caption := ('Restam ' + IntToStr(Memo1.MaxLength) + ' caracteres'); end;
No evento OnKeyPress do Memo incluimos este código abaixo:
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char); Var Max, Min, Total : integer; begin
Max := Memo1.MaxLength; //Passando o valor máximo de caracteres do Memo para a variável Max.
Min := Memo1.GetTextLen; //Passando o valor minímo de caracteres do Memo para a variável Min. Total := Max - Min; //Efetuando o cálculo entre o valor máximo e o mínimo. Label1.Caption := ('Restam ' + IntToStr(Total) + ' caracteres'); Repaint; if total < 1 then begin // Testando se ainda existem caracteres disponíveis para inserir. ShowMessage('Quantidade de caracteres excedido!'); end;
end;
end.
É isso aí galera espero que tenham gostado....
-->">
|
|
|
|
 Neste artigo que irei disponibilizar, teremos a oportunidade de incluir em nossas aplicações o envio de email atraves das mesmas utilizando shellexecute...
Para isso devemos incluir na Uses a biblioteca ShellAPI...
Vamos lá devemos desenhar nosso formulário de acordo com a figura ao lado:
Incluiremos 4 edits, 1 button e 1 memo
No evento onclick do button devemos incluiir o seguinte código:
procedure TForm1.btnEnviarEmailClick(Sender: TObject); var stringshellexecute: string; begin stringshellexecute := stringshellexecute +'mailto:' + Edit1.Text + '?cc=' + edit2.text + '&cco=' + Edit3.text + '&subject=' + edit4.text + '&body=' + Memo_Mensg.lines.text; shellexecute(self.handle, 'open',pchar(stringshellexecute),'','',sw_shownormal); end;
Espero que gostem e seja útil...
AbraçoO... Até a próxima!
-->">
|
|
|
|
Neste artigo que irei disponibilizar poderemos validar um campo de email.
Segue a função desenvolvida para que possamos validar um campo de email, lembrando que para um email ser valido ele deve conter @ e ponto.
Esta é a função desenvolvida para validar o campo:
function ValidarEMail(aStr: string): Boolean; begin aStr := Trim(UpperCase(aStr));
if Pos( '@', aStr) > 1 then begin Delete(aStr, 1, pos( '@', aStr)); Result := (Length(aStr) > 0) and (Pos('.', aStr) > 2); end else Result := False; end;
Espero que tenham gostado...
AbraçoO -->">
|
|
|
|
Chamar Formulário Nome do formulario := TNome do formulário.Create(Self); Nome do formulario.Showmodal; Nome do formulario.Free;
Criando função no Delphi function Nome da função(Nome do parametro : Tipo de dados de entrada) :Tipo dos dados de saída. Depois pressionar Crtl + Shift + C. Result é responsável por receber os dados de saída da função.
Nome da Tabela.First – Vai para o 1º registro da tabela. Nome da Tabela.Next - Vai para o próximo registro da tabela. Nome da Tabela.RecordCount – Vai até o último registro gravado da tabela.
ProgressBar Nome do ProgressBar.Max – Para informar o valor máximo do progressbar. Nome do ProgressBar.Position := Nome da tabela.RecNo
Botão Novo Nome da Query. Append; Nome do Edit. Setfocus;
Botão Alterar Nome da Query. Edit;
Botão Salvar Nome da Query. Post; Nome da Query. Nome do Transaction. CommitRetaining;
Botão Apagar Nome da Query. Delete;
Botão Cancelar Nome da Query. Cancel; Nome da Query. Nome do Transaction. CommitRetaining;
Botão Retornar Close;
Não deixa fechar a tela quando estiver em modo de edição No Onclosequery do formulário: if (not (Nome da Tabela.State in [dsInsert, dsEdit]) and not (Nome da Tabela.State in [dsinsert,dsEdit])) then CanClose := true else CanClose := false;
AutoIncrement Incluir uma query com o seguinte SQL: Select Max (nome do campo) from nome da tabela; Variável := Query.fieldbyname(‘Max’). asInteger + 1;
Mudar de Campo ao Pressionar do ENTER Botão invisível Default: True; Enabled: True; Widht: 0; No onclick : Self.Perform(WM_NEXTDLGCTL,0,0);
Jogo de botões DataSet: Nome da Query; OnStateChange: Nome do Botão Novo.Enabled := Nome do DataSource.State = dsBrowse; Nome do Botão Altera.Enabled := Nome do Botão Novo.Enabled; Nome do Botão Salva.Enabled := not Nome do Botão Novo.Enabled; Nome do Botão Cancela.Enabled := not Nome do Botão Novo.Enabled; Nome do Botão Retorna.Enabled := Nome do Botão Novo.Enabled; ClienteDataSet: É Responsável pela criação da cópia de uma tabela onde a propriedade FieldsDefds poderá incluir todas os campos da tabela que irá fazer a cópia onde deveremos informar os campos de acordo como estão na tabela principal . A Propriedade IndexField é responsável pela criação das chaves da tabela cópia. Indexname é responsável pela indicação do nome do campo que será a chave principal.
Consultas através da função SETSQLWHERE Adicionar a biblioteca “PARSE” na uses da unit. Adicionar uma variável. No
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
Aqui vão algumas dicas importantes para todos os delphianos! Entre algumas separei essas aqui: ********************************************************************************************************* 1. Desligar/reiniciar/logoff sistemas windows; 2. Deixar Form redondo; 3. Chamar
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
|
|
|
|
QuickReport no Delphi 7
Para quem ainda usa QuickReport ao instalar o Delphi 7 pode perceber que não existe lá a paleta deste componente. Então achamos que o mesmo não faz parte do Delphi 7.
Mas ele está lá sim, só não foi instalado.
Para instalá-lo é simples. Com o Delphi 7 aberto faça o seguinte: Clique no menu Component Selecione a opção Install Packages Depois de aberta a janela, clique no botão Add Encontre e selecione o arquivo chamado dclqrt70.bpl. Está na pasta bin de onde o Delphi foi instalado (normalmente: C:\ARQUIVOS DE PROGRAMAS\BORLAND\DELPHI7\BIN). Confirme tudo e pronto... Feche o Dephi e abra novamente que irá aparecer a palheta de componentes do QuickReport.
QuickReport instalado e pronto para ser usado. Obs: Para outras versões do delphi eh só seguir o mesmo caminho!
Para mim existem geradores de relatórios superiores ao QuickReport, mas aí vai a dica para quem quiser utiliza!
-->">
|
|
|
|
Bom gente neste artigo irei ajuda-los a desenvolver uma tela Splash...
Uma tela de apresentação para teu projeto enquanto o mesmo será carregado!
Tela splash (tela de apresentação do programa) Tela Splash (Tela de Apresentação do Programa)
- Primeiro Crie um Form e Mude as Seguintes Propriedades:
Heigth - 250 (altura) Width - 400 (largura) BorderStyle - Bssingle (para não arrastar a borda do form) BorderIcons - Passar todos para false Position - DesktopCenter (Para o form ficar no centro) Caption - Programa Sendo Carregado... (é o que vai aparecer na barra de titulos) WindowsState - Normal (para ficar do tamanho que ele foi criado) Name - nomedoform (Nome do formulário)
- Depois clique no Menu Project\View Source, na janela que vai abrir vá até USES e embaixo dela escreva: SysUtils, (com a vírgula depois da palavra).
- Depois procure um Begin logo abaixo de USES, abaixo desse Begin deve ter a seguinte linha de comando: Application.CreateForm (Tnomedoform, nomedoform) e abaixo desse comando faça:
Nomedoform.Show; //chama o formulário Nomedoform.Refresh; //atualiza Sleep (4000); //tempo de exibição da tela Nomedoform.Free; ou Nomedoform.Release // libera da memória Nomedoform := Nil; //inutiliza a ação do ponteiro do mouse
Dá uma olhada como ki fica legal!
Agora eh só fazer algumas modificações para deixar do teu jeito!
Espero ter agradado -->">
|
|
|
| |
|