Przypadki użycia Delphi: jedno zadanie, jedna strona

Strona produktu mówi ci, co robi komponent. Dokumentacja referencyjna mówi ci, jak nazywa się każda właściwość. Żadna z nich nie mówi, jak dokończyć zadanie, do którego usiadłeś. Te strony to robią. Każda z nich prowadzi jedno zadanie od pustego formularza do działającego kodu, nazywa unit i komponent na każdym kroku i od razu podaje, jakiego produktu, jakiej edycji i jakich platform wymaga, więc znasz koszt, zanim napiszesz pierwszą linię.

Jedno zadanie na stronę, od początku do końca
Kod Pascal z dostarczanego kodu źródłowego
Edycja i platforma podane na wstępie
Od Delphi 7 do RAD Studio 13

Co daje ci strona przypadku użycia

Każda strona z tej listy ma ten sam kształt, bo pytania są zawsze te same trzy, zadawane w tej samej kolejności.

Zadanie, a nie komponent

Strona jest zbudowana wokół rezultatu, który chcesz osiągnąć, więc komponenty pojawiają się wtedy, gdy zadanie do nich dociera. Tam, gdzie zadanie obejmuje kilka komponentów, są tu wszystkie, w kolejności, w jakiej naprawdę je napotkasz. Tam, gdzie istnieją dwie drogi, pokazane są obie, a kompromis między nimi jest jasno opisany.

Kod, który możesz wkleić

Kod Pascal pochodzi z dostarczanego kodu źródłowego i projektów demo z pakietu, a nie z pseudokodu. Nazwy unitów są podane w każdej klauzuli uses, procedury obsługi zdarzeń mają swoje prawdziwe sygnatury, a przypadki błędów, które kosztują całe popołudnie, są opisane tam, gdzie występują, a nie w przypisie.

Ile to kosztuje, zanim zaczniesz

Każda strona podaje na górze produkt, edycję, wersje kompilatora i platformy, których wymaga zadanie. Połowa tych funkcji jest ukryta za {$IFDEF} w sgcVer.inc, więc metoda, której kompilator nie znajduje, to odpowiedź o licencji, a nie o składni, i lepiej wiedzieć o tym już na pierwszej stronie.

Wybierz zadanie, które wykonujesz

Każde streszczenie poniżej jest na tyle obszerne, że samo odpowiada na pytanie, więc zanim otworzysz pełną stronę, możesz zdecydować, czy warta jest twoich najbliższych dwudziestu minut.

Wywołanie LLM z Delphi

Wyślij prompt z aplikacji VCL, FMX lub konsolowej i otrzymaj odpowiedź, z modelu hostowanego takiego jak OpenAI czy Anthropic Claude albo z modelu działającego na twojej własnej maszynie przez Ollama. Są dwie drogi. TsgcAIChat ukrywa każdego dostawcę za jednym API, więc zmiana dostawcy to jedno przypisanie do Provider, a klienty poszczególnych dostawców TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic i TsgcHTTP_API_Ollama udostępniają w pełni API każdego dostawcy, gdy potrzebujesz wejścia wizyjnego, wsadów, embeddingów lub transkrypcji.

Następnie strona omawia trzy rzeczy, na które natrafia potem każdy projekt. Strumieniowanie, dzięki któremu tekst pojawia się w polu memo, gdy model jeszcze pisze, zarówno na poziomie zdekodowanych delt, jak i surowych zdarzeń. Tool calling, gdzie opisujesz funkcję Pascala jako JSON Schema, a model prosi cię o jej uruchomienie. Oraz wybór między modelem hostowanym a lokalnym, który dla wszystkiego objętego umową powierzenia przetwarzania danych jest decyzją o zgodności z przepisami, a nie o wydajności.

Wymaga: sgcWebSockets Enterprise lub samodzielnego pakietu sgcAI. Klienty REST kompilują się na Windows, macOS, Linux, iOS i Android; TsgcAIChat działa tylko na Windows, więc strona pokazuje obie drogi.

Przeczytaj przewodnik →

Logowanie użytkownika za pomocą OAuth2 i PKCE

Przepływ Authorization Code z PKCE, czyli ten, którego każdy dostawca oczekuje dziś od natywnej aplikacji desktopowej, obsługiwany przez jeden komponent niewizualny. Bez osadzonej przeglądarki, bez własnego serwera WWW, bez frameworka REST. TsgcHTTP_OAuth2_Client generuje verifier, wylicza challenge, otwiera systemową przeglądarkę, nasłuchuje na przekierowaniu na loopback, wymienia kod i zgłasza OnAfterAccessToken z tokenem.

Na desktopie przepływ psuje się przy przekierowaniu, więc strona poświęca mu sporo miejsca: dlaczego przekierowanie prowadzi na adres loopback, a nie na publiczny URL, co zarejestrować u dostawcy i co mówi ci redirect_uri_mismatch. Dalej omawia refresh tokens, dzięki którym przeglądarka nigdy nie otwiera się drugi raz, przechowywanie poświadczeń tak, by nie leżały gdzie popadnie, gotowe komponenty Google i Microsoft oraz przekazanie XOAUTH2, którego Gmail i Microsoft 365 wymagają teraz przez SMTP i IMAP.

Wymaga: sgcWebSockets Standard i wyższe lub samodzielny pakiet sgcAuth. Windows, macOS, Linux, iOS i Android. Funkcją Enterprise jest tylko serwerowa połowa autoryzacji.

Przeczytaj przewodnik →

Połączenie dwóch aplikacji Delphi przez WebRTC

Dwie aplikacje w dwóch różnych sieciach wymieniają między sobą bezpośrednio kanał czatu, strumień z mikrofonu i strumień z kamery, bez serwera mediów pośrodku i bez przeglądarki osadzonej w procesie. Strona dzieli WebRTC na cztery problemy, którymi w rzeczywistości jest: opisanie sesji jako SDP offer i answer, przeniesienie tego opisu na drugą stronę, znalezienie ścieżki przez NAT i przesłanie bajtów.

Sygnalizacja to część, którą piszesz sam, więc jest tu w całości jako prosty przekaźnik na TsgcWebSocketServer z trzema rodzajami wiadomości. Dalej peer connection i jego zdarzenia, kandydaci ICE oraz to, ile kosztuje cię każdy z kandydatów host, server reflexive i relay, przełącznik TURN, o którym ludzie zapominają, kanały danych SCTP z niezawodnością ustawianą per kanał, a także ścieżki audio i wideo, które są innym transportem, z innymi trybami awarii niż kanał danych. Na koniec awarie, które nie dają żadnego błędu, i to właśnie sprawia, że peer to peer trudno debugować.

Wymaga: peer connection oraz klienty ICE i TURN są w sgcWebSockets Enterprise. Metody offer i answer, kanały danych oraz ścieżki multimedialne wymagają pakietu sgcWebRTC dołożonego do Enterprise, który jest też zawarty w All-Access. Klient STUN jest już w Standard.

Przeczytaj przewodnik →

Kolejne zadania są w opracowaniu. Jeśli tego, które wykonujesz, jeszcze tu nie ma, blog omawia artykuł po artykule sporą część tego samego materiału, a wsparcie wskaże ci w międzyczasie właściwy projekt demo.

Produkt, edycja i platforma w skrócie

Te same informacje, które każda strona podaje w sekcji otwierającej, zebrane tak, byś mógł porównać koszt trzech zadań bez otwierania trzech kart.

Przewodnik Główne komponenty Produkt i edycja Platformy
Wywołanie LLM z Delphi TsgcAIChat, TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Ollama sgcWebSockets Enterprise lub samodzielny pakiet sgcAI Klienty REST na Windows, macOS, Linux, iOS i Android. TsgcAIChat na Windows.
Logowanie OAuth2 z PKCE TsgcHTTP_OAuth2_Client oraz wrappery Google i Microsoft sgcWebSockets Standard i wyższe lub samodzielny pakiet sgcAuth Windows, macOS, Linux, iOS i Android
WebRTC między dwiema aplikacjami TsgcRTCPeerConnection, TsgcICEClient, TsgcTURNClient, TsgcWebSocketServer sgcWebSockets Enterprise dla peer connection, plus pakiet sgcWebRTC dla offer i answer, kanałów danych oraz mediów. Oba są w All-Access. Windows dla przechwytywania i wyświetlania. Sam transport jest wieloplatformowy.

Każde stwierdzenie o edycjach powyżej jest tym, które wymusza dostarczany sgcVer.inc. Pełne zestawienie znajdziesz w matrycy funkcji Delphi, a strona która edycja prowadzi przez tę samą decyzję z drugiej strony.

Jeśli przewodnik zadaniowy to nie to, czego szukałeś

Te strony odpowiadają na sąsiednie pytania: co robi komponent, jak się nazywa, jak wypada na tle innych i ile kosztuje.

sgcWebSockets Biblioteka stojąca za każdym przewodnikiem na tej stronie, od WebSocket i HTTP/2 po MQTT, AMQP, WebRTC i klienty AI.
Porównanie bibliotek Wciąż wybierasz bibliotekę, zamiast pisać kod? Centrum porównań zestawia sgcWebSockets z Indy, ICS, TMS, mORMot 2, IPWorks i Chilkat.
Dokumentacja referencyjna komponentów Każdy komponent w bibliotece, z właściwościami, metodami i zdarzeniami, które publikuje, oraz dokumentem technicznym w tle.
Słownik Terminy protokołów, kryptografii i uwierzytelniania używane w tych przewodnikach, każdy z odnośnikiem do RFC, który go definiuje.
Blog Kilkaset opracowanych artykułów, w tym wpisy o wydaniach, na których opiera się każdy z tych przewodników.
Edycje i cennik Co zawiera każda z edycji Standard, Professional, Enterprise i All-Access oraz gdzie pasują samodzielne pakiety.

Każdy przewodnik zaczyna się od tego samego pobrania

Wersja próbna to cała biblioteka z włączonymi wszystkimi komponentami, a projekty demo, do których odwołuje się każdy przewodnik, są w niej zawarte.