Casos de uso Delphi: um trabalho, uma página

Uma página de produto diz o que um componente faz. Uma página de referência diz como cada propriedade se chama. Nenhuma das duas diz como terminar o trabalho que você sentou para fazer. Estas páginas fazem isso. Cada uma leva uma única tarefa de um formulário vazio até código que funciona, nomeia a unit e o componente em cada passo e diz logo de início de qual produto, de qual edição e de quais plataformas você precisa, para que o custo esteja claro antes da primeira linha.

Uma tarefa por página, do início ao fim
Pascal tirado do código distribuído
Edição e plataforma logo no começo
Do Delphi 7 ao RAD Studio 13

O que uma página de caso de uso entrega

Toda página desta lista segue o mesmo formato, porque as perguntas são sempre as mesmas três, feitas na mesma ordem.

Um trabalho, não um componente

A página é organizada em torno do resultado que você quer, então os componentes aparecem quando a tarefa chega neles. Quando um trabalho envolve vários componentes, todos estão aqui, na ordem em que você realmente os encontraria. Quando existem dois caminhos, os dois são mostrados e o compromisso entre eles fica explicado.

Código que você pode colar

O Pascal vem do código distribuído e dos projetos de demonstração que acompanham a biblioteca, não de pseudocódigo. Os nomes das units aparecem em toda cláusula uses, os manipuladores de eventos trazem suas assinaturas reais e os casos de falha que custam uma tarde são apontados onde acontecem, e não em uma nota de rodapé.

Quanto custa antes de você começar

Cada página informa logo no topo o produto, a edição, as versões do compilador e as plataformas de que o trabalho precisa. Metade desses recursos fica protegida por um {$IFDEF} em sgcVer.inc, então um método que não resolve é uma questão de licença, não de sintaxe, e é melhor saber disso já na primeira página.

Escolha o trabalho que você está fazendo

Cada resumo abaixo é longo o bastante para responder à pergunta por conta própria, então você decide se a página completa vale seus próximos vinte minutos antes de abri-la.

Chamar um LLM a partir do Delphi

Envie um prompt a partir de uma aplicação VCL, FMX ou console e receba uma resposta, de um modelo hospedado como OpenAI ou Anthropic Claude, ou de um modelo rodando na sua própria máquina através do Ollama. Existem dois caminhos. O TsgcAIChat coloca todos os provedores atrás de uma única API, então trocar de fornecedor é uma única atribuição a Provider, e os clientes por fornecedor TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic e TsgcHTTP_API_Ollama expõem a API de cada fornecedor por inteiro quando você precisa de entrada de imagens, batches, embeddings ou transcrição.

Em seguida a página cobre as três coisas que todo projeto encontra logo depois. Streaming, para que o texto apareça no memo enquanto o modelo ainda está escrevendo, tanto no nível do delta decodificado quanto no nível do evento bruto. Tool calling, em que você descreve uma função Pascal como JSON Schema e o modelo pede que você a execute. E a escolha entre um modelo hospedado e um local, que para qualquer coisa coberta por um contrato de tratamento de dados é uma decisão de conformidade, e não de desempenho.

Precisa de: sgcWebSockets Enterprise ou o pacote independente sgcAI. Os clientes REST compilam em Windows, macOS, Linux, iOS e Android; o TsgcAIChat é somente para Windows, por isso a página mostra os dois caminhos.

Ler o guia →

Autenticar um usuário com OAuth2 e PKCE

O fluxo Authorization Code com PKCE, que é o fluxo que todo provedor hoje espera de uma aplicação desktop nativa, conduzido por um único componente não visual. Sem navegador embutido, sem servidor web próprio, sem framework REST. O TsgcHTTP_OAuth2_Client gera o verifier, deriva o challenge, abre o navegador do sistema, escuta em um redirecionamento por loopback, troca o code e dispara OnAfterAccessToken com o token.

No desktop, é no redirecionamento que o fluxo costuma dar errado, por isso a página dedica tempo real a ele: por que o redirecionamento é um endereço de loopback e não uma URL pública, o que registrar junto ao provedor e o que redirect_uri_mismatch está dizendo. Depois vem a parte dos refresh tokens, para que o navegador nunca abra uma segunda vez, o armazenamento de uma credencial sem deixá-la exposta, os componentes prontos para Google e Microsoft e a passagem XOAUTH2 que Gmail e Microsoft 365 agora exigem sobre SMTP e IMAP.

Precisa de: sgcWebSockets Standard ou superior, ou o pacote independente sgcAuth. Windows, macOS, Linux, iOS e Android. Somente a metade do servidor de autorização é um recurso Enterprise.

Ler o guia →

Conectar duas aplicações Delphi com WebRTC

Duas aplicações em duas redes diferentes, trocando um canal de chat, um fluxo de microfone e um fluxo de câmera diretamente entre si, sem servidor de mídia no meio e sem navegador embutido no processo. A página divide o WebRTC nos quatro problemas que ele realmente é: descrever a sessão como um offer e um answer SDP, levar essa descrição até o outro lado, achar um caminho através dos NATs e mover os bytes.

A sinalização é a parte que você mesmo escreve, então ela está aqui por inteiro, como um relé simples sobre TsgcWebSocketServer com três tipos de mensagem. Depois vem a conexão peer e seus eventos, os candidatos ICE e o que os candidatos host, server reflexive e relay custam a você, a opção TURN que as pessoas esquecem, os canais de dados SCTP com confiabilidade por canal e as faixas de áudio e vídeo, que são um transporte diferente, com modos de falha diferentes dos de um canal de dados. Ela termina nas falhas que não produzem erro nenhum, que é o que torna o peer to peer difícil de depurar.

Precisa de: a conexão peer e os clientes ICE e TURN vêm com o sgcWebSockets Enterprise. Os métodos de offer e answer, os canais de dados e as faixas de mídia precisam do pacote sgcWebRTC sobre o Enterprise, que também está incluído no All-Access. Um cliente STUN já vem com o Standard.

Ler o guia →

Mais trabalhos estão sendo escritos. Se o que você está fazendo ainda não está aqui, o blog cobre boa parte do mesmo terreno artigo por artigo, e o suporte indica o projeto de demonstração certo enquanto isso.

Produto, edição e plataforma em um relance

A mesma informação que cada página traz na sua seção de abertura, reunida para você comparar o custo de três trabalhos sem abrir três abas.

Guia Componentes principais Produto e edição Plataformas
Chamar um LLM a partir do Delphi TsgcAIChat, TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Ollama sgcWebSockets Enterprise, ou o pacote independente sgcAI Clientes REST em Windows, macOS, Linux, iOS e Android. TsgcAIChat em Windows.
Login OAuth2 com PKCE TsgcHTTP_OAuth2_Client, e os wrappers de Google e Microsoft sgcWebSockets Standard ou superior, ou o pacote independente sgcAuth Windows, macOS, Linux, iOS e Android
WebRTC entre duas aplicações TsgcRTCPeerConnection, TsgcICEClient, TsgcTURNClient, TsgcWebSocketServer sgcWebSockets Enterprise para a conexão peer, mais o pacote sgcWebRTC para offer e answer, canais de dados e mídia. Os dois estão no All-Access. Windows para captura e renderização. O transporte em si é multiplataforma.

Cada afirmação sobre edições acima é a que o sgcVer.inc distribuído impõe. O detalhamento completo está na matriz de recursos do Delphi, e a página qual edição percorre a mesma decisão pelo outro lado.

Se um guia de tarefa não era o que você queria

Estas páginas respondem às perguntas vizinhas: o que um componente faz, como ele se chama, como ele se compara e quanto ele custa.

sgcWebSockets A biblioteca por trás de todos os guias desta página, de WebSocket e HTTP/2 a MQTT, AMQP, WebRTC e os clientes de IA.
Comparação de bibliotecas Ainda escolhendo uma biblioteca em vez de escrever código? O hub de comparações coloca o sgcWebSockets lado a lado com Indy, ICS, TMS, mORMot 2, IPWorks e Chilkat.
Referência de componentes Todos os componentes da biblioteca, com as propriedades, os métodos e os eventos que cada um publica, e um documento técnico por trás.
Glossário Os termos de protocolo, criptografia e autenticação que estes guias usam, cada um com link para a RFC que o define.
Blog Várias centenas de artigos trabalhados, incluindo os posts de lançamento em que cada um destes guias se apoia.
Edições e preços O que Standard, Professional, Enterprise e All-Access incluem, e onde os pacotes independentes se encaixam.

Todo guia começa com o mesmo download

A versão de avaliação é a biblioteca inteira com todos os componentes habilitados, e os projetos de demonstração citados em cada guia vêm dentro dela.