Você está aqui: Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet |
Como usar a propriedade Eof para testar se estamos no último registro do TClientDataSet do DelphiQuantidade de visualizações: 13877 vezes |
Em algumas situações gostaríamos de verificar se já estamos no último registro do TClientDataSet, ou seja, estamos percorrendo todos os registros do dataset e queremos saber se já estamos no último. Para isso podemos usar a propriedade Eof da classe TClientDataSet. Esta propriedade retorna true se estivermos no último registro e false em caso contrário. Veja um trecho de código no qual usamos um laço while para percorrer todos os registros de um TClientDataSet. Note o uso da propriedade Eof para finalizar as iterações do laço: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm3.Button4Click(Sender: TObject); begin // vamos percorrer todos os registros do TClientDataSet ClientDataSet1.First; // vamos para o primeiro registro // e agora disparamos um laço While while not ClientDataSet1.Eof do begin // vamos mostrar em um TMemo os valores do // campo id de cada registro Memo1.Lines.Add(ClientDataSet1.FieldByName('id').AsString); // vamos mover para o próximo registro ClientDataSet1.Next; end; end; A propriedade Eof é verdadeira quando: a) Abrimos um dataset vazio. b) Efetuamos uma chamada ao método Last do dataset. c) Chamamos o método Next do dataset e a chamada falha porque o registro atual já é o último registro no dataset. d) Efetuamos uma chamada ao método SetRange em uma faixa de dados ou dataset vazio. Esta dica foi escrita e testada no Delphi 2009. |
Link para compartilhar na Internet ou com seus amigos: |
Delphi ::: VCL - Visual Component Library ::: TEdit |
Como habilitar ou desabilitar um TEdit do Delphi usando a função EnableWindow() da API do WindowsQuantidade de visualizações: 11543 vezes |
Embora o Delphi já nos forneça as ferramentas necessárias para habilitar ou desabilitar um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função EnableWindow() com os valores true ou false. A função EnableWindow() possui a seguinte assinatura em C/C++: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- BOOL EnableWindow( HWND hWnd, BOOL bEnable ); No arquivo Windows.pas podemos encontrar o protótipo e corpo desta função convertidos para Object Pascal: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Protótipo {$EXTERNALSYM EnableWindow} function EnableWindow(hWnd: HWND; bEnable: BOOL): BOOL; stdcall; // Implementação function EnableWindow; external user32 name 'EnableWindow'; Note que precisamos informar o HWND (parâmetro hWnd) para a caixa de texto e um valor BOOL. Se fornecermos false, a caixa de texto será desabilitada. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin // vamos desabilitar o TEdit usando a função EnableWindow() // com o valor false if EnableWindow(Edit1.Handle, False) = True then begin ShowMessage('A caixa de texto foi desabilitada com sucesso.'); end; end; Para habilitar a caixa de texto novamente, só precisamos fornecer o valor true para o parâmetro bEnable: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin // vamos habilitar o TEdit usando a função EnableWindow() // com o valor true if EnableWindow(Edit1.Handle, True) = True then begin ShowMessage('A caixa de texto foi habilitada com sucesso.'); end; end; É importante observar que o retorno da função EnableWindow será False se tentarmos habilitar uma caixa de texto que já está habilitada ou tentarmos desabilitar uma caixa de texto que já está desabilitada. |
Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows) |
Como excluir chaves no registro do Windows usando Delphi a função DeleteKey() da classe TRegistry do DelphiQuantidade de visualizações: 13930 vezes |
Em algumas situações precisamos excluir determinadas chaves do registro do Windows. Para isso podemos usar o método DeleteKey() da classe TRegistry. Este método recebe uma string especificando a chave a ser excluída e retorna um valor Boolean, informando o sucesso da operação. Veja um trecho de código no qual tentamos excluir uma chave com o nome de "Arquivo de Códigos" localizada sob a chave raiz HKEY_CURRENT_USER: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm3.Button5Click(Sender: TObject); var reg: TRegistry; begin // uses Registry // vamos criar uma instância da classe TRegistry reg := TRegistry.Create; // a chave raiz padrão é HKEY_CURRENT_USER mas, por via das dúvidas // vamos reafirmar isso reg.RootKey := HKEY_CURRENT_USER; // vamos verificar se a chave que estamos querendo excluir // existe if reg.KeyExists('Arquivo de Códigos') then begin // a chave foi encontrada? vamos excluir if reg.DeleteKey('Arquivo de Códigos') then begin ShowMessage('A chave foi excluída com sucesso.'); end else begin ShowMessage('Não consegui excluir a chave especificada'); end; end else begin ShowMessage('A chave que você deseja excluir não foi encontrada.'); end; // vamos liberar o registro reg.Free; end; Note que este método remove a chave e todas as informações associadas a ela. Porém, se a chave possuir sub-chaves, estas deverão ser removidas individualmente antes de excluirmos a chave mãe. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um arquivo em Delphi usando a função RenameFile()Quantidade de visualizações: 21584 vezes |
Em algumas situações nossas aplicações precisam renomear arquivos. Em Delphi isso pode ser feito com o auxílio da função RenameFile(), presente na unit SysUtils. Esta função requer o caminho e nome do arquivo a ser renomeado e o novo nome e caminho. O retorno será true se a operação for realizada com sucesso e false em caso contrário. Veja o exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var arquivo_original, novo_arquivo: string; begin // diretorio e nome do arquivo original arquivo_original := 'C:\arquivo de codigos\dados.txt'; // diretorio e nome do novo arquivo novo_arquivo := 'C:\arquivo de codigos\dados2.txt'; // vamos renomear o arquivo if RenameFile(arquivo_original, novo_arquivo) then ShowMessage('O arquivo foi renomeado com sucesso') else ShowMessage('Não foi possível renomear o arquivo'); end; Observe que não é possível renomear um arquivo de forma que seu caminho possua drives diferentes. Para estes casos é recomendável que você copie o arquivo para o drive desejado e exclua o arquivo anterior. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Vamos testar seus conhecimentos em Hidrologia |
A Bacia Tocantins-Araguaia é a maior bacia hidrográfica totalmente brasileira. Além da sua importância econômica e ambiental, a referida bacia possui a maior ilha fluvial do mundo. Como é denominada essa ilha? A) Ilha do Marajó. B) Ilha do Bananal. C) Ilha Solteira. D) Ilha do Gurupá. E) Ilha do São Francisco. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
A responsabilidade moral A ética leva o homem a questionar constantemente suas ações e as atitudes alheias, tentando definir se elas são boas ou más, corretas ou incorretas. Na condição de disciplina, essa ciência se preocupa com a análise das ideias que envolvem a produção do bem e do mal, ou seja, dedica-se aos seus aspectos teóricos. Em tal perspectiva, pode-se afirmar que o conceito de ética se refere a: A) quando o ser humano não pode falhar. B) um conjunto de conhecimentos extraídos dos meios de comunicação. C) um conjunto de conhecimentos extraídos da investigação do comportamento humano. D) um conjunto de conhecimentos extraídos da investigação da moral. E) quando o ser humano falha. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Topografia |
Azimute e Rumo FCC-2014 - Na realização de um levantamento topográfico, foi determinado o azimute para o alinhamento 0-1, igual a 295º 32'. O rumo para este alinhamento é de: A) 25º 32'. B) 64º 28'. C) 25º 32' NW D) 64º 28' NW E) 295º 32' NW Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Ações em estruturas: apresentação dos principais carregamentos na análise de estruturas convencionais As variações de temperatura causam ações nas estruturas. Tanto isso é verdade que é recomendado, em lajes com área grande, as tão conhecidas juntas de dilatação para evitar que ocorram fissuras no concreto devido às deformações causadas pelo carregamento térmico. A ação devido às variações de temperatura é classificada como? A) Ação acidental direta. B) Ação permanente indireta. C) Ação permanente direta. D) Ação acidental indireta. E) Ação excepcional. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
Considerando as características da Bacia do Rio São Francisco, marque a alternativa correta. A) Apresenta somente rios perenes na sua área de abrangência. B) Está localizada somente na Região Nordeste do Brasil. C) A sua principal usina hidrelétrica é a de Furnas. D) Apresenta como regimes formadores o pluvial e o nival. E) Possui grande importância econômica para a população local. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |