Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) QR Code Generator via api.qrserver.com REST APISee more HTTP ExamplesDemonstrates how to generate a QR code using the api.qrserver.com REST API service. For more information, see https://goqr.me/api/doc/create-qr-code/
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, BinData, HttpResponse, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; success: Boolean; queryParams: HCkJsonObject; resp: HCkHttpResponse; bd: HCkBinData; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); // Send the following GET request to get a binary response. // The body of the binary response contains the image data for the QR code. // https://api.qrserver.com/v1/create-qr-code/?data=[URL-encoded-text]&size=[pixels]x[pixels] queryParams := CkJsonObject_Create(); CkJsonObject_UpdateString(queryParams,'data','Hello World'); CkJsonObject_UpdateString(queryParams,'size','100x100'); // Get a PNG file.. // Possible formats are: // png // gif // jpeg // jpg // svg // eps // Case matters. Use lowercase. CkJsonObject_UpdateString(queryParams,'format','png'); // Send the GET request to an endpoint. // Chilkat will add the url-encoded query params passed in the JSON. resp := CkHttp_QuickRequestParams(http,'GET','https://api.qrserver.com/v1/create-qr-code/',queryParams); if (CkHttp_getLastMethodSuccess(http) = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; // Did it succeed? if (CkHttpResponse_getStatusCode(resp) <> 200) then begin // The response body, if anything, would not be the image data, but would likely be the error text (or HTML, or whatever...) Memo1.Lines.Add(CkHttpResponse__bodyStr(resp)); Memo1.Lines.Add('Response status = ' + IntToStr(CkHttpResponse_getStatusCode(resp))); Memo1.Lines.Add('Failed.'); CkHttpResponse_Dispose(resp); Exit; end; // Success if we get here.. // Save the binary body as the PNG file, or you can get the bytes of the PNG.. success := CkHttpResponse_SaveBodyBinary(resp,'c:/temp/qa_output/qr_code.png'); // Or get the bytes: bd := CkBinData_Create(); CkHttpResponse_GetBodyBd(resp,bd); // Use the bytes in bd... // See the online reference documentation for the function to access the bytes directly. CkHttpResponse_Dispose(resp); Memo1.Lines.Add('Success.'); CkHttp_Dispose(http); CkJsonObject_Dispose(queryParams); CkBinData_Dispose(bd); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.