Algunas unidades y componentes de Delphi útiles ofrecidos por Cornelius Concepts, LLC.
Esta biblioteca contiene unidades y componentes que he desarrollado que son útiles en muchas situaciones. Pero van más allá de ser útiles, también enseñan. Hay comentarios y muestras, y los componentes muestran varios aspectos de cómo escribir componentes de Delphi, como la separación de paquetes entre el tiempo de ejecución y el tiempo de diseño, cómo integrar la ayuda de componentes activados haciendo clic derecho en el componente e incluso la integración en la pantalla Splash de Delphi y la caja.
Simplemente deje caer este componente en un formulario y su tamaño y posición se guardan automáticamente cuando se cierran y se restauran cuando se abren. Además, guarde otros valores con métodos convenientes. Hay dos variaciones:
Ambos componentes tienen valores predeterminados para guardar archivos o configuraciones de registro en lugares apropiados con configuraciones mínimas y crear claves o secciones basadas en el nombre del formulario. Por lo tanto, puede soltar rápida y fácilmente uno de estos componentes en cada forma.
Con los métodos adicionales para guardar/restaurar los valores enteros, cadenas y booleanos, hace que recordar datos simples de los usuarios sea muy fácil:
- 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 incluye rutinas escritas por alguien llamado Neil en los grupos de noticias DBISAM hace varios años. Convertido en un componente, esto se adhiere a algunos ganchos de ventanas de teclado y mouse para observar la inactividad en la computadora y aparece un mensaje con un temporizador de cuenta hacia abajo para cerrar la aplicación. Un caso de uso es una aplicación de base de datos de 2 niveles que dejan abiertas archivos y registros.
Este componente se eliminó de la versión de Delphi 10.3 Rio a favor de usar la clase TSPHI de Delphi.
Este es un componente muy simple que oculta los detalles de la sincronización de una operación. Simplemente llame al inicio, haga sus cosas, luego llame a detener y tendrá las siguientes propiedades disponibles:
Este componente no verifica el cambio en las zonas horarias (si se usa en un dispositivo móvil) ni tiene en cuenta el tiempo de ahorro para la luz del día. Fue diseñado para operaciones bastante cortas (menos de una hora).
Los siguientes componentes solo se admitieron a través de Delphi XE y se eliminaron de los paquetes más nuevos.
Hace mucho tiempo, utilicé el conjunto de componentes de InfoPower que tenía un componente de búsqueda incremental realmente agradable que enumeraría los registros de coincidencia a medida que escribe. Estampé este componente de esa idea, pero también agregué botones definidos por el usuario y muchas otras características. También utilicé controles de Raize para algunas características de pantalla adicionales, y lo até muy de cerca a los componentes de la base de datos DBISAM. Era para un proyecto específico en ese momento, pero lo usé y variaciones de él (como cambiar DBISAM para componentes ElevatedB) en otros proyectos desde entonces.
Este podría ser un componente interesante para ver porque es un buen ejemplo de cómo construir un componente compuesto.
Escrito para apoyar un proyecto antiguo hace muchos años, esto permite la fusión simple de pares de nombre = valores con delimitadores. Deprecido a favor del uso de tStringList.
Proporciona registro rápido y fácil en un archivo de texto. Detenido porque se prefieren las bibliotecas y métodos más nuevos de registro.
Un visor de archivos de texto simple en una ventana modal emergente.
Finalmente, una palabra sobre las unidades independientes.
Esta carpeta contiene dos unidades, UDMCustomWebGenerator y UdmdbisamWebGenerator. Son módulos de datos y el primero es una clase base con un par de componentes de Webbroker, un TPageProducer y TDataSettableProducer. Estos fueron escritos hace muchos años antes de que los sistemas de gestión de contenido (CMSS) fueran populares y estaba tratando de usar Delphi para todo mi desarrollo web. Resultó ser más trabajo de lo que vale para proyectos grandes y ahora hay una gran cantidad de excelentes herramientas web, por lo que ya no se usa mucho. Sin embargo, todavía hay tareas ocasionales que encuentran útiles estas rutinas, por lo que las mantengo.
Estas clases amplían la utilidad de Webbroker mediante la construcción en un enlace entre etiquetas HTML y bases de datos. La única base de datos que usé de esta manera fue DBISAM. No he usado DBISAM durante varios años, así que no sé si todavía se compila, pero muestra cómo la clase base puede descender para sus necesidades particulares.
Lea los comentarios en el código para obtener más información.
La carpeta "Misc" contiene tres unidades (más se pueden agregar más adelante): USearchReclist , UXMLDATES y UTESTULILS .
El primero, USearchReclist , contiene un par de declaraciones de tipo de procedimiento y un procedimiento: 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);
GetSearchRecs atraviesa un árbol de directorio que busca archivos que coinciden con un patrón y llaman a pathstatusproc para cada ruta encontrada y fileFoundProc para cada archivo que coincida con el patrón.
Aquí hay una llamada de ejemplo que eliminaría los viejos archivos de registro:
GetSearchRecs(LogFolder, '*.log', False, nil,
procedure (FileInfo: TSearchRec)
begin
if FileInfo.TimeStamp < Now - 90 then
FileDelete(TPath.Combine(LogFolder, FileInfo.Name), True);
end);
La segunda unidad, UXMLDates , facilita el trabajo con fechas que se encuentran en los archivos XML. El formato común es: aaa yyyy-mm-dd "t" hh: mm: ss, pero el método, converttodelphidateFromXml, puede tomar una cadena sin la parte de tiempo.
La tercera unidad, UtestUtils , proporciona algunas funciones utilizadas en algunos proyectos en los que necesito generar datos de prueba como fechas, tiempos, números, tipos de pago, etc. Son prácticos para tener alrededor.