Guide, pattern ed esempi di codice commentati, organizzati per tematica: Delphi, Free Pascal, PHP, JavaScript
Disclaimer: le informazioni pubblicate in questa sezione hanno finalità di pura divulgazione tecnica. EG Software S.r.l. non si assume alcuna responsabilità per un utilizzo improprio dei contenuti, né per eventuali danni diretti o indiretti derivanti dalla loro applicazione, e non garantisce l'aggiornamento, l'accuratezza o la completezza delle informazioni riportate. Prima di utilizzare in produzione codice o procedure qui descritte, verificane sempre l'adeguatezza al proprio contesto.
Come incapsulare o estendere TDictionary<K,V> e costruire un filtro generico per array, per scrivere strutture dati riutilizzabili in tutto il progetto.
Una classe che eredita da TIdHTTP per aggiungere l'avanzamento di download e upload tramite TProgressBar, con qualche accorgimento su errori e thread.
Costruire un componente VCL data-aware derivato da TPanel, con validazione dell'input carattere per carattere e registrazione nella Tool Palette.
Un componente basato su thread anonimo per eseguire task pianificati, escludendo festività fisse e mobili (Pasqua inclusa) e caricando codice da DLL esterne.
Piccole classi di supporto per popolare una TComboBox da un array, da un file JSON o da una query FireDAC filtrabile, senza duplicare la logica di riempimento in ogni form.
Come trasformare il risultato di una query ADO in un array di record indipendente dalla connessione al database, filtrabile lato client senza nuove interrogazioni.
Un pattern molto comune per copiare i dati di una query in una FDMemTable dentro un TThread nasconde un difetto che annulla i benefici del multithreading: ecco come riconoscerlo e correggerlo.
Costruire un componente data-aware in sola lettura che, collegato a un campo del dataset principale, mostra il valore corrispondente cercato in una tabella o in un array di lookup.
Una classe di invio email che gestisce insieme allegati tradizionali e immagini incorporate nel corpo HTML tramite Content-ID, con i componenti Indy già inclusi in Delphi.
Una classe base minimale con TIdHTTP e OpenSSL per interrogare un'API REST esterna con autenticazione a token, da adattare al provider che serve davvero.
Una classe di servizio che incapsula il client S3 dell'AWS SDK for Delphi per caricare e scaricare file da un bucket, con avanzamento riportato su una TProgressBar.
Come TDBGrid tiene traccia delle righe selezionate dall'utente tramite bookmark, e come usarli per sommare un campo, esportare un sottoinsieme di record o applicare un'azione a più righe insieme.
Come distinguere un errore di chiave duplicata dagli altri errori del database usando OnPostError, dal vecchio BDE fino alle eccezioni tipizzate di FireDAC.
Object Pascal non permette un case diretto su stringhe: AnsiIndexStr colma il vuoto trasformando il confronto in una posizione di array, con un'alternativa case-insensitive e un confronto con MatchStr.
Come strutturare un'interfaccia desktop multipiattaforma con la LCL per simulare e monitorare sensori prima di portare il codice su hardware reale.
Un giro pratico su come Free Pascal permette di pilotare pin GPIO, reagire a eventi hardware e misurare tempi con precisione su Raspberry Pi, cross-compilando dal proprio PC.
Come definire rotte, middleware di autenticazione e risposte JSON in un server REST scritto interamente in Free Pascal, senza dipendenze da IDE o librerie proprietarie.
Come un'applicazione PHP può dialogare con un server REST scritto in Free Pascal usando cURL, token Bearer e payload JSON.
Come validare un token JWT in ingresso e salvare in modo sicuro il payload di un webhook, senza mai fidarsi ciecamente di chi lo invia.
Un pattern collaudato per importare CSV di grandi dimensioni in un database PHP, con transazioni PDO e gestione degli errori riga per riga.
Struttura minimale per un endpoint REST di ricerca in PHP: token di autenticazione, routing sul path e paginazione senza rischi con PDO.
Estrarre la logica ripetuta di CORS, rate limiting e validazione dell'input in un piccolo livello middleware riutilizzabile da ogni endpoint.
Un parser che trasforma le righe grezze del log di errore di Apache in dati strutturati, con classificazione automatica di gravità e tipo di errore.
Come attraversare un intero albero di cartelle in modo efficiente con RecursiveDirectoryIterator, senza scrivere a mano la ricorsione.
Perché una chiamata cURL verso un endpoint HTTPS può fallire su un'installazione WAMP appena fatta, e come risolverlo con un bundle di certificati radice.
Quando una richiesta a un modello linguistico può richiedere secondi o minuti, conviene separare l'invio dalla lettura del risultato con un job e un polling dello stato.
Senza bisogno di un WebSocket, un polling ben scritto può tenere aggiornata una dashboard rispettando la batteria del dispositivo e la percezione di reattività dell'utente.
Due micro-pattern in JavaScript vanilla, senza framework: differire il caricamento delle immagini con IntersectionObserver e centralizzare la gestione delle finestre modali.
Un'implementazione minima ma completa di Service Worker per mettere in cache gli asset statici e mostrare una pagina di cortesia quando manca la connessione.