PowerBuilder
PowerBuilder
Keeping Query Params in a Hashtable
Demonstrates 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.
Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Ht
string ls_Qp
oleobject loo_Keys
integer li_NumKeys
string ls_Key
string ls_Val
integer i
li_Success = 0
loo_Ht = create oleobject
li_rc = loo_Ht.ConnectToNewObject("Chilkat.Hashtable")
if li_rc < 0 then
destroy loo_Ht
MessageBox("Error","Connecting to COM object failed")
return
end if
// Add name/value pairs from an existing query param string where the values are already URL encoded.
ls_Qp = "txt=this%20is%20a%20test&color=blue&fruits=apples%26oranges"
li_Success = loo_Ht.AddQueryParams(ls_Qp)
// Add some additional name/value pairs.
loo_Ht.AddStr("name","Jack Sparrow")
loo_Ht.AddStr("movie","Pirates of the Carribean")
// Iterate over the hash table to show what we have..
loo_Keys = create oleobject
li_rc = loo_Keys.ConnectToNewObject("Chilkat.StringTable")
loo_Ht.GetKeys(loo_Keys)
li_NumKeys = loo_Keys.Count
i = 0
do while i < li_NumKeys
ls_Key = loo_Keys.StringAt(i)
ls_Val = loo_Ht.LookupStr(ls_Key)
Write-Debug ls_Key + " = " + ls_Val
i = i + 1
loop
// 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
ls_Qp = loo_Ht.ToQueryString()
Write-Debug ls_Qp
// Result:
// color=blue&name=Jack%20Sparrow&fruits=apples%26oranges&txt=this%20is%20a%20test&movie=Pirates%20of%20the%20Carribean
destroy loo_Ht
destroy loo_Keys