Casi d'uso Delphi: un lavoro, una pagina

Una pagina di prodotto ti dice che cosa fa un componente. Una pagina di reference ti dice come si chiama ogni proprietà. Nessuna delle due ti dice come portare a termine il lavoro per cui ti sei seduto alla scrivania. Queste pagine lo fanno. Ognuna prende un singolo compito e lo porta da un form vuoto a codice funzionante, nomina l'unit e il componente a ogni passaggio, e dichiara subito quale prodotto, quale edizione e quali piattaforme servono, così conosci il costo prima di scrivere la prima riga.

Un compito per pagina, dall'inizio alla fine
Pascal preso dai sorgenti della libreria
Edizione e piattaforma dichiarate subito
Da Delphi 7 a RAD Studio 13

Che cosa ti dà una pagina di caso d'uso

Ogni pagina di questo elenco segue la stessa struttura, perché le domande sono sempre le stesse tre, poste nello stesso ordine.

Un lavoro, non un componente

La pagina è organizzata attorno al risultato che vuoi ottenere, quindi i componenti compaiono quando il compito li incontra. Dove un lavoro attraversa più componenti, ci sono tutti, nell'ordine in cui li incontreresti davvero. Dove esistono due strade, sono mostrate entrambe e il compromesso tra le due è esplicitato.

Codice che puoi incollare

Il Pascal arriva dai sorgenti della libreria e dai progetti demo inclusi nella scatola, non da pseudocodice. I nomi delle unit compaiono in ogni clausola uses, i gestori di evento portano la loro firma reale, e i casi di errore che costano un pomeriggio sono segnalati dove si verificano, non in una nota a piè di pagina.

Quanto costa prima di iniziare

Ogni pagina indica in cima il prodotto, l'edizione, le versioni del compilatore e le piattaforme che il lavoro richiede. Metà di queste funzionalità è protetta da un {$IFDEF} in sgcVer.inc, quindi un metodo che non si risolve è una questione di licenza, non di sintassi, ed è meglio saperlo alla prima pagina.

Scegli il lavoro che stai facendo

Ogni riassunto qui sotto è abbastanza esteso da rispondere alla domanda per conto suo, così puoi decidere se la pagina completa vale i tuoi prossimi venti minuti prima di aprirla.

Chiamare un LLM da Delphi

Invia un prompt da un'applicazione VCL, FMX o console e ottieni una risposta, da un modello ospitato come OpenAI o Anthropic Claude, oppure da un modello in esecuzione sulla tua macchina tramite Ollama. Le strade sono due. TsgcAIChat mette ogni provider dietro un'unica API, quindi cambiare fornitore è una sola assegnazione a Provider, e i client dedicati TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic e TsgcHTTP_API_Ollama espongono per intero l'API di ciascun fornitore quando ti servono input vision, batch, embedding o trascrizione.

La pagina copre poi le tre cose che ogni progetto incontra subito dopo. Lo streaming, perché il testo compaia nella memo mentre il modello sta ancora scrivendo, sia a livello di delta decodificato sia a livello di evento grezzo. Il tool calling, dove descrivi una funzione Pascal come JSON Schema e il modello ti chiede di eseguirla. E la scelta tra un modello ospitato e uno locale, che per qualunque cosa ricada sotto un accordo sul trattamento dei dati è una decisione di conformità, non di prestazioni.

Serve: sgcWebSockets Enterprise oppure il pacchetto indipendente sgcAI. I client REST compilano su Windows, macOS, Linux, iOS e Android; TsgcAIChat è solo per Windows, quindi la pagina mostra entrambe le strade.

Leggi la guida →

Autenticare un utente con OAuth2 e PKCE

Il flusso Authorization Code con PKCE, cioè il flusso che oggi ogni provider si aspetta da un'applicazione desktop nativa, guidato da un solo componente non visuale. Niente browser incorporato, niente web server tuo, niente framework REST. TsgcHTTP_OAuth2_Client genera il verifier, ne deriva il challenge, apre il browser di sistema, resta in ascolto su un redirect di loopback, scambia il code e scatena OnAfterAccessToken con il token.

Sul desktop il punto in cui il flusso si rompe è il redirect, quindi la pagina gli dedica spazio vero: perché il redirect è un indirizzo di loopback e non un URL pubblico, che cosa registrare presso il provider, e che cosa ti sta dicendo redirect_uri_mismatch. Poi copre i refresh token, così il browser non si apre una seconda volta, la conservazione di una credenziale senza lasciarla in giro, i componenti Google e Microsoft già pronti, e il passaggio XOAUTH2 che oggi Gmail e Microsoft 365 richiedono su SMTP e IMAP.

Serve: sgcWebSockets Standard e superiori, oppure il pacchetto indipendente sgcAuth. Windows, macOS, Linux, iOS e Android. Solo la metà server di autorizzazione è una funzionalità Enterprise.

Leggi la guida →

Collegare due applicazioni peer to peer con WebRTC

Due applicazioni su due reti diverse, che si scambiano un canale di chat, un flusso dal microfono e un flusso dalla webcam direttamente tra loro, senza media server nel mezzo e senza browser incorporato nel processo. La pagina divide WebRTC nei quattro problemi che è davvero: descrivere la sessione come offer e answer SDP, portare quella descrizione all'altro lato, trovare un percorso attraverso i NAT e far viaggiare i byte.

Il signalling è la parte che scrivi tu, quindi è qui per intero come un relay elementare su TsgcWebSocketServer con tre tipi di messaggio. Poi la peer connection e i suoi eventi, i candidate ICE e quanto ti costano rispettivamente i candidate host, server reflexive e relay, l'interruttore TURN che tutti dimenticano, i data channel SCTP con affidabilità per canale, e le tracce audio e video, che sono un trasporto diverso con modalità di errore diverse da un data channel. Si chiude sugli errori che non producono alcun messaggio, che è ciò che rende difficile il debug del peer to peer.

Serve: la peer connection e i client ICE e TURN arrivano con sgcWebSockets Enterprise. I metodi di offer e answer, i data channel e le tracce media richiedono il pacchetto sgcWebRTC sopra Enterprise, incluso anche in All-Access. Un client STUN arriva con Standard.

Leggi la guida →

Altri lavori sono in preparazione. Se quello che stai facendo non c'è ancora, il blog copre gran parte dello stesso terreno articolo per articolo, e il supporto nel frattempo ti indica il progetto demo giusto.

Prodotto, edizione e piattaforma a colpo d'occhio

Le stesse informazioni che ogni pagina dichiara nella sezione di apertura, raccolte qui per confrontare il costo di tre lavori senza aprire tre schede.

Guida Componenti principali Prodotto ed edizione Piattaforme
Chiamare un LLM da Delphi TsgcAIChat, TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Ollama sgcWebSockets Enterprise, oppure il pacchetto indipendente sgcAI Client REST su Windows, macOS, Linux, iOS e Android. TsgcAIChat su Windows.
Login OAuth2 con PKCE TsgcHTTP_OAuth2_Client, più i wrapper Google e Microsoft sgcWebSockets Standard e superiori, oppure il pacchetto indipendente sgcAuth Windows, macOS, Linux, iOS e Android
WebRTC tra due applicazioni TsgcRTCPeerConnection, TsgcICEClient, TsgcTURNClient, TsgcWebSocketServer sgcWebSockets Enterprise per la peer connection, più il pacchetto sgcWebRTC per offer e answer, data channel e media. Entrambi sono in All-Access. Windows per cattura e rendering. Il trasporto in sé è multipiattaforma.

Ogni indicazione di edizione qui sopra è quella che sgcVer.inc applica nella libreria distribuita. Il dettaglio completo è nella matrice delle funzionalità Delphi, e la pagina quale edizione percorre la stessa decisione dalla direzione opposta.

Se non era una guida operativa quello che cercavi

Queste pagine rispondono alle domande vicine: che cosa fa un componente, come si chiama, come si confronta e quanto costa.

sgcWebSockets La libreria dietro ogni guida di questa pagina, dal WebSocket e HTTP/2 fino a MQTT, AMQP, WebRTC e ai client AI.
Confronto tra librerie Stai ancora scegliendo una libreria invece di scrivere codice? L'hub dei confronti mette sgcWebSockets accanto a Indy, ICS, TMS, mORMot 2, IPWorks e Chilkat.
Reference dei componenti Ogni componente della libreria, con le proprietà, i metodi e gli eventi che pubblica, e un documento tecnico alle spalle.
Glossario I termini di protocollo, crittografia e autenticazione che queste guide usano, ognuno collegato all'RFC che lo definisce.
Blog Diverse centinaia di articoli con esempi, compresi i post di rilascio a cui attinge ognuna di queste guide.
Edizioni e prezzi Che cosa includono Standard, Professional, Enterprise e All-Access, e dove si collocano i pacchetti indipendenti.

Ogni guida inizia dallo stesso download

La versione di prova è l'intera libreria con ogni componente abilitato, e i progetti demo a cui ogni guida fa riferimento sono inclusi.