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) Keeping Query Params in a HashtableDemonstrates how to use a Chilkat Hashtable to hold query params and re-emit as a query param string. Note: The ToQueryString method was added in Chilkat v9.5.0.92.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Hashtable, StringTable; ... procedure TForm1.Button1Click(Sender: TObject); var ht: HCkHashtable; success: Boolean; qp: PWideChar; keys: HCkStringTable; numKeys: Integer; key: PWideChar; val: PWideChar; i: Integer; begin ht := CkHashtable_Create(); // Add name/value pairs from an existing query param string where the values are already URL encoded. qp := 'txt=this%20is%20a%20test&color=blue&fruits=apples%26oranges'; success := CkHashtable_AddQueryParams(ht,qp); // Add some additional name/value pairs. CkHashtable_AddStr(ht,'name','Jack Sparrow'); CkHashtable_AddStr(ht,'movie','Pirates of the Carribean'); // Iterate over the hash table to show what we have.. keys := CkStringTable_Create(); CkHashtable_GetKeys(ht,keys); numKeys := CkStringTable_getCount(keys); i := 0; while i < numKeys do begin key := CkStringTable__stringAt(keys,i); val := CkHashtable__lookupStr(ht,key); Memo1.Lines.Add(key + ' = ' + val); i := i + 1; end; // Output for the above loop: // color = blue // name = Jack Sparrow // fruits = apples&oranges // txt = this is a test // movie = Pirates of the Carribean // Get all name/value pairs as a query parm string with values URL encoded qp := CkHashtable__toQueryString(ht); Memo1.Lines.Add(qp); // Result: // color=blue&name=Jack%20Sparrow&fruits=apples%26oranges&txt=this%20is%20a%20test&movie=Pirates%20of%20the%20Carribean CkHashtable_Dispose(ht); CkStringTable_Dispose(keys); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.