Algumas unidades e componentes úteis da Delphi oferecidos pela Cornelius Concepts, LLC.
Esta biblioteca contém unidades e componentes que desenvolvi que são úteis em muitas situações. Mas eles vão além de apenas ser úteis-eles também ensinam. Existem comentários e amostras, e os componentes mostram vários aspectos de como escrever componentes Delphi, como a separação de pacotes entre tempo de execução e tempo de design, como integrar o componente ajuda ativado clicando com o botão direito do mouse no componente e até integração na tela Splash de Delphi e sobre a caixa.
Basta soltar esse componente em um formulário e seu tamanho e posição são salvos automaticamente quando fechados e restaurados quando abertos. Além disso, salve outros valores com métodos convenientes. Existem duas variações:
Ambos os componentes têm padrões para salvar arquivos ou configurações de registro em locais apropriados com configurações mínimas e criar chaves ou seções com base no nome do formulário. Assim, você pode soltar rápida e facilmente um desses componentes em cada formulário.
Com os métodos adicionais para salvar/restaurar valores inteiros, string e booleanos, isso facilita muito a lembrança de dados simples do usuário:
- procedure SaveStrValue(const Name:string;const Value:string);
- procedure SaveIntValue(const Name:string;const Value: Integer);
- procedure SaveBoolValue(const Name:string;const Value: Boolean);
- function RestoreStrValue(const Name:string; const Default: string = ''):string;
- function RestoreIntValue(const Name:string; const Default: Integer = 0): Integer;
- function RestoreBoolValue(const Name:string; const Default: Boolean = False): Boolean;
Este componente inclui rotinas escritas por alguém chamado Neil nos grupos de notícias do DBISAM há vários anos. Transformado em um componente, isso se conecta a alguns ganchos de teclado e mouse Windows para observar a inatividade no computador e aparece uma mensagem com um cronômetro de contagem para fechar o aplicativo. Um caso de uso é um aplicativo de banco de dados de duas camadas que deixa os arquivos e registros abertos.
Este componente foi removido da versão Delphi 10.3 Rio em favor do uso da classe TStopWatch da Delphi.
Este é um componente muito simples que oculta os detalhes do tempo de uma operação. Basta ligar para começar, fazer suas coisas, depois ligue para a parada e você terá as seguintes propriedades disponíveis:
Este componente não verifica a alteração nos fusos horários (se usados em um dispositivo móvel) ou é responsável pelo horário de verão. Foi projetado para operações bastante curtas (menos de uma hora).
Os componentes a seguir foram apoiados apenas através de Delphi XE e removidos de pacotes mais recentes.
Há muito tempo, usei o conjunto de componentes do InfoPower, que tinha um componente de pesquisa incremental muito bom que listaria registros correspondentes à medida que você digita. Fiz esse componente com essa ideia, mas também adicionei botões definidos pelo usuário e muitos outros recursos. Eu também usei controles RAIZE para alguns recursos de exibição extra bons-e vinculei tudo de perto com os componentes do banco de dados DBISAM. Foi para um projeto específico na época, mas eu o usei e as variações (como trocar o DBISAM para componentes elevados) em outros projetos desde então.
Este pode ser um componente interessante a ser observado, porque é um bom exemplo de como criar um componente composto.
Escrito para apoiar um projeto antigo há muitos anos, isso permite a fusão simples de nome = pares de valor com delimitadores. Descontinuado em favor do uso da lista de TString.
Fornece log rápido e fácil para um arquivo de texto. Conseguimento porque são preferidas bibliotecas e métodos de registro mais recentes.
Um visualizador de arquivo de texto simples em uma janela modal pop-up.
Finalmente, uma palavra sobre as unidades independentes.
Esta pasta contém duas unidades, udmcustomwebgenerator e udmdbisamwebgenerator. São módulos de dados e o primeiro é uma classe base com alguns componentes do WebBroker, um TPAGEPRODUCER e TDatasettableProducer. Estes foram escritos há muitos anos antes que os sistemas de gerenciamento de conteúdo (CMSs) fossem populares e eu estava tentando usar o Delphi para todo o meu desenvolvimento na web. Acabou sendo mais trabalho do que vale a pena para grandes projetos e há um grande número de ótimas ferramentas na web por aí agora, por isso não é mais usado. No entanto, ainda existem tarefas ocasionais que acham essas rotinas úteis, então eu as mantenho por perto.
Essas classes expandem a utilidade do WebBroker, construindo em um link entre tags HTML e bancos de dados. O único banco de dados que já usei dessa maneira foi o DBISAM. Não uso o DBISAM há vários anos, então não sei se ele ainda compila, mas mostra como a classe base pode ser descendente para suas necessidades específicas.
Leia os comentários no código para obter mais informações.
A pasta "Misc" contém três unidades (mais pode ser adicionada posteriormente): usearchReclist , uxmldates e utestutils .
O primeiro, o UsesearchReclist , contém algumas declarações do tipo procedimento e um procedimento: getSearchRecs.
TPathStatusProc = reference to procedure (const Path: string; var Stop: Boolean);
TFileFoundProc = reference to procedure (FileInfo: TSearchRec);
procedure GetSearchRecs(const Path, Pattern: string; const Recursive: Boolean; PathStatusProc: TPathStatusProc; FileFoundProc: TFileFoundProc);
O GetSearchRecs atravessa uma árvore de diretório procurando arquivos correspondendo a um padrão e chama PathStatusProc para todos os caminhos encontrados e FileFoundProc para cada arquivo encontrado que corresponde ao padrão.
Aqui está um exemplo de chamada que excluiria arquivos de log antigos:
GetSearchRecs(LogFolder, '*.log', False, nil,
procedure (FileInfo: TSearchRec)
begin
if FileInfo.TimeStamp < Now - 90 then
FileDelete(TPath.Combine(LogFolder, FileInfo.Name), True);
end);
A segunda unidade, uxmldates , facilita o trabalho com datas encontradas nos arquivos XML. O formato comum é: yyyy-mm-dd "t" hh: mm: ss, mas o método, converttodelphateDexml, pode tomar uma string sem a parte do tempo.
A terceira unidade, utestutils , fornece algumas funções usadas em alguns projetos, onde eu preciso gerar dados de teste, como datas, horários, números, tipos de pagamento etc. Eles são apenas úteis por perto.