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
(PureBasic) 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.
IncludeFile "CkStringTable.pb" IncludeFile "CkHashtable.pb" Procedure ChilkatExample() ht.i = CkHashtable::ckCreate() If ht.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i ; Add name/value pairs from an existing query param string where the values are already URL encoded. qp.s = "txt=this%20is%20a%20test&color=blue&fruits=apples%26oranges" success = CkHashtable::ckAddQueryParams(ht,qp) ; Add some additional name/value pairs. CkHashtable::ckAddStr(ht,"name","Jack Sparrow") CkHashtable::ckAddStr(ht,"movie","Pirates of the Carribean") ; Iterate over the hash table to show what we have.. keys.i = CkStringTable::ckCreate() If keys.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkHashtable::ckGetKeys(ht,keys) numKeys.i = CkStringTable::ckCount(keys) key.s val.s i.i = 0 While i < numKeys key = CkStringTable::ckStringAt(keys,i) val = CkHashtable::ckLookupStr(ht,key) Debug key + " = " + val i = i + 1 Wend ; 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::ckToQueryString(ht) Debug qp ; Result: ; color=blue&name=Jack%20Sparrow&fruits=apples%26oranges&txt=this%20is%20a%20test&movie=Pirates%20of%20the%20Carribean CkHashtable::ckDispose(ht) CkStringTable::ckDispose(keys) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.