![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Finnhub API - Get Stock QuoteSee more AI ExamplesDemonstrates how to get a stock quote from the Finnhub API.Note: This example requires Chilkat v11.4.0 or greater.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, HttpRequest, HttpResponse, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; apiKey: PWideChar; symbol: PWideChar; http: HCkHttp; urlWithoutParams: PWideChar; req: HCkHttpRequest; resp: HCkHttpResponse; json: HCkJsonObject; statusCode: Integer; begin success := False; // Replace with your actual Finnhub API key. apiKey := 'YOUR_FINNHUB_API_KEY'; symbol := 'AAPL'; http := CkHttp_Create(); // This is the URL without params. urlWithoutParams := 'https://finnhub.io/api/v1/quote'; req := CkHttpRequest_Create(); // Add params that will be sent in the URL. CkHttpRequest_AddParam(req,'symbol',symbol); CkHttpRequest_AddParam(req,'token',apiKey); CkHttpRequest_putHttpVerb(req,'GET'); // Send the request to get the JSON response. resp := CkHttpResponse_Create(); success := CkHttp_HttpReq(http,urlWithoutParams,req,resp); if (success = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; json := CkJsonObject_Create(); CkHttpResponse_GetBodyJson(resp,json); statusCode := CkHttpResponse_getStatusCode(resp); Memo1.Lines.Add('response status code: ' + IntToStr(statusCode)); CkJsonObject_putEmitCompact(json,False); Memo1.Lines.Add(CkJsonObject__emit(json)); // Sample result: // { // "c": 248.8, // "d": -4.09, // "dp": -1.6173, // "h": 255.493, // "l": 248.07, // "o": 253.9, // "pc": 252.89, // "t": 1774641600 // } if (statusCode = 200) then begin // Add the symbol to the top of the result. CkJsonObject_AddStringAt(json,0,'symbol',symbol); // Rename members for clarification. CkJsonObject_Rename(json,'c','currentPrice'); CkJsonObject_Rename(json,'d','change'); CkJsonObject_Rename(json,'dp','percentChange'); CkJsonObject_Rename(json,'h','high'); CkJsonObject_Rename(json,'l','low'); CkJsonObject_Rename(json,'o','open'); CkJsonObject_Rename(json,'pc','prevClose'); CkJsonObject_Rename(json,'t','unixTime'); Memo1.Lines.Add(CkJsonObject__emit(json)); end else begin Memo1.Lines.Add('Failed'); end; CkHttp_Dispose(http); CkHttpRequest_Dispose(req); CkHttpResponse_Dispose(resp); CkJsonObject_Dispose(json); end; |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.