Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

ClipboardHistoryManager

Gerenciador de Clipboard ultra-rápido para Windows. Interface em Delphi (FMX) e Engine de captura em Rust (DLL). Otimizado para 50.000+ itens com carregamento assíncrono e filtros inteligentes.

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

Clipboard History Manager (Delphi + Rust)

Um gerenciador de área de transferência de alta performance projetado para ser leve, seguro e extremamente rápido. O projeto utiliza uma arquitetura híbrida única: a elegância e agilidade visual do Delphi FireMonkey (FMX) com o poder bruto e segurança de memória do Rust.

https://github.com/user-attachments/assets/0890438c-a092-4f84-b87b-8788e34ff1f0


🧠 Arquitetura Híbrida

O projeto foi dividido para extrair o melhor de cada tecnologia:

  • Delphi (Frontend): Gerencia a interface do usuário (UI) utilizando ITask (Parallel Programming Library) para garantir que o carregamento de mais de 50.000 itens não congele a tela.
  • Rust (Engine): Uma DLL nativa que monitora as mensagens do Windows (WM_CLIPBOARDUPDATE). O Rust processa o texto bruto e o entrega ao Delphi de forma segura.

✨ Funcionalidades Principais

  • 🔥 Performance Extrema: Otimizado para manipular históricos gigantes (50.000+ registros) sem queda de frame (60 FPS).
  • 📡 Monitoramento em Tempo Real: Captura instantânea via Hooks de API do Windows.
  • 🔍 Identificação Inteligente:
    • 📧 E-mails: Detectados via Regex e destacados em Laranja.
    • 🔗 Links: Identificados e destacados em Azul.
  • ⚡ Carregamento Assíncrono: Uso de ITask e TThread.Synchronize para processar arquivos JSON pesados em background.
  • 💾 Persistência e Backup: Sistema de Auto-save periódico (Timer-based) e salvamento automático ao encerrar.
  • 🛠️ Prevenção de Duplicatas: Filtro baseado em TDictionary (Hash Set) para evitar redundância de dados.

🛠️ Stack Técnica

Componente Tecnologia
Interface Delphi FireMonkey (FMX)
Processamento Assíncrono Parallel Programming Library (PPL)
Engine de Captura Rust (Arboard crate + FFI)
Persistência JSON Esturutrado

🚀 Como Executar

1. Pré-requisitos

  • Delphi 11.x (ou Community Edition).
  • Rust Toolchain (para compilar a engine).
  • Windows 10 ou 11.

2. Compilando a Engine (Rust)

bash
cd src-rust
cargo build --release