This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
1
Web Server - Ask For Help / Re: How to translate C# API call to NT
« on: June 26, 2026, 03:29:15 PM »
Wow, I just put it into llamacoder.dev and this is what I got back! Now to test it.
Here's the Clarion equivalent of your C# code:
```clarion
PROGRAM
INCLUDE('NetWebClient.INC') ! Include for HTTP client functionality
INCLUDE('StringTheory.INC') ! Include for StringTheory class (string manipulation)
MAP
END
VINData STRING('3GNDA13D76S000000;5XYKT3A12CG000000;')
URL STRING('https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVINValuesBatch/')
Response STRING(100000)
ErrorMsg STRING(1000)
ST StringTheory
WebClient NetWebClient
PostData CSTRING(1000)
CODE
! Prepare the POST data
ST.SetValue('data=' & VINData & '&format=json')
ST.URLEncode()
PostData = ST.GetValue()
! Configure the web client
WebClient.SetSSL() ! Enable SSL for HTTPS
WebClient.SetHeader('Content-Type', 'application/x-www-form-urlencoded')
WebClient.SetHeader('Accept', 'application/json')
! Make the POST request
IF WebClient.Post(URL, PostData, Response)
! Success - Response contains the JSON data
! Process the response here
ELSE
! Error handling
ErrorMsg = WebClient.GetError()
! Handle error here
END
```
Notes:
1. This uses the NetTalk WebClient class (NetWebClient) which is the standard HTTP client in Clarion
2. StringTheory is used for URL encoding the POST data
3. You'll need to have NetTalk installed in your Clarion environment
4. The response will be in the Response variable as a JSON string
5. Error handling is done through WebClient.GetError() if the request fails
Here's the Clarion equivalent of your C# code:
```clarion
PROGRAM
INCLUDE('NetWebClient.INC') ! Include for HTTP client functionality
INCLUDE('StringTheory.INC') ! Include for StringTheory class (string manipulation)
MAP
END
VINData STRING('3GNDA13D76S000000;5XYKT3A12CG000000;')
URL STRING('https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVINValuesBatch/')
Response STRING(100000)
ErrorMsg STRING(1000)
ST StringTheory
WebClient NetWebClient
PostData CSTRING(1000)
CODE
! Prepare the POST data
ST.SetValue('data=' & VINData & '&format=json')
ST.URLEncode()
PostData = ST.GetValue()
! Configure the web client
WebClient.SetSSL() ! Enable SSL for HTTPS
WebClient.SetHeader('Content-Type', 'application/x-www-form-urlencoded')
WebClient.SetHeader('Accept', 'application/json')
! Make the POST request
IF WebClient.Post(URL, PostData, Response)
! Success - Response contains the JSON data
! Process the response here
ELSE
! Error handling
ErrorMsg = WebClient.GetError()
! Handle error here
END
```
Notes:
1. This uses the NetTalk WebClient class (NetWebClient) which is the standard HTTP client in Clarion
2. StringTheory is used for URL encoding the POST data
3. You'll need to have NetTalk installed in your Clarion environment
4. The response will be in the Response variable as a JSON string
5. Error handling is done through WebClient.GetError() if the request fails
2
Web Server - Ask For Help / How to translate C# API call to NT
« on: June 26, 2026, 03:24:11 PM »
HI,
I am trying to write an API to send auto VIN number to NHTSA and get an XML or JSON return regarding the information about the auto.
This is the C# POST Code:
string text = "3GNDA13D76S000000;5XYKT3A12CG000000;";
string url = @"https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVINValuesBatch/";
var nameValues = new Dictionary<string, string>();
nameValues.Add("data", text);
nameValues.Add("format", "json");
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(url);
// using FormUrlEncodedContent
var name = new FormUrlEncodedContent(nameValues);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
System.Threading.CancellationToken token = new System.Threading.CancellationToken();
try
{
var tmp = client.PostAsync(client.BaseAddress, name, token).Result;
var result = tmp.Content.ReadAsStringAsync();
}
catch (Exception err)
{
// error handling
}
Can anyone help translate this to NetTalk Client Post?
Thanks,
Ron
I am trying to write an API to send auto VIN number to NHTSA and get an XML or JSON return regarding the information about the auto.
This is the C# POST Code:
string text = "3GNDA13D76S000000;5XYKT3A12CG000000;";
string url = @"https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVINValuesBatch/";
var nameValues = new Dictionary<string, string>();
nameValues.Add("data", text);
nameValues.Add("format", "json");
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(url);
// using FormUrlEncodedContent
var name = new FormUrlEncodedContent(nameValues);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
System.Threading.CancellationToken token = new System.Threading.CancellationToken();
try
{
var tmp = client.PostAsync(client.BaseAddress, name, token).Result;
var result = tmp.Content.ReadAsStringAsync();
}
catch (Exception err)
{
// error handling
}
Can anyone help translate this to NetTalk Client Post?
Thanks,
Ron
3
Web Server - Ask For Help / Looking for Testers - new App
« on: June 18, 2026, 05:23:39 AM »
Hi All,
We have completed an app for shops and customers and this is the customer portion. It allows the customer to create a KK-eGloveBox which will store the information and photos of their drivers license, their auto registration, insurance and inspection. This information is available at the touch of a button and if they are stopped, they can show all the documents to the officer from ANY car which they are linked to. No more digging through the glove box for documents. Additionally, they can use it to create electronic service requests and take a photo of their keys that they drop off - thereby giving positive key ID to the shop with a printable signed work order. Additionally, the customers will get e mail reminders for renewing any document if they put in expiration dates.
RIght now there is only one shop in the database as we test it out and start rolling it out.
We have also developed a Kiwi-Kiosk which will dispense keys 24/7 and this is operated through the same mobile app. That is at https://kiwi-kiosks.com.
Right now we need to test the customer portion. The interface may change a little as we tweak it. So, give it a try and get back to me with any issues/feedback, etc.
You can find the customer portion at http://eppili.net. Use the Setup New Account on the top menu. You will need a valid e mail account and mobile phone number to set it up. Then you can enter cars that you own and enter data on these cars. Everything should be working and if it isn?t let me know so that we can fix it.
Ron
We have completed an app for shops and customers and this is the customer portion. It allows the customer to create a KK-eGloveBox which will store the information and photos of their drivers license, their auto registration, insurance and inspection. This information is available at the touch of a button and if they are stopped, they can show all the documents to the officer from ANY car which they are linked to. No more digging through the glove box for documents. Additionally, they can use it to create electronic service requests and take a photo of their keys that they drop off - thereby giving positive key ID to the shop with a printable signed work order. Additionally, the customers will get e mail reminders for renewing any document if they put in expiration dates.
RIght now there is only one shop in the database as we test it out and start rolling it out.
We have also developed a Kiwi-Kiosk which will dispense keys 24/7 and this is operated through the same mobile app. That is at https://kiwi-kiosks.com.
Right now we need to test the customer portion. The interface may change a little as we tweak it. So, give it a try and get back to me with any issues/feedback, etc.
You can find the customer portion at http://eppili.net. Use the Setup New Account on the top menu. You will need a valid e mail account and mobile phone number to set it up. Then you can enter cars that you own and enter data on these cars. Everything should be working and if it isn?t let me know so that we can fix it.
Ron
4
Web Server - Ask For Help / Calling a javascript function
« on: April 22, 2026, 07:38:59 AM »
Hi
C11.1 NT 14.37
I have a javascript function called move().
I have a button and i want to execute the move() function when the button is pressed.
I have tried multiple permutations and this is my current permutation for the button embed. However, it is not correct as the function does not execute.
This is the current iteration:
p_web.script('$(''["move()"]'').call();')
Can someone help me with the correct syntax to call this function from a NT button?
THanks,
Ron
C11.1 NT 14.37
I have a javascript function called move().
I have a button and i want to execute the move() function when the button is pressed.
I have tried multiple permutations and this is my current permutation for the button embed. However, it is not correct as the function does not execute.
This is the current iteration:
p_web.script('$(''["move()"]'').call();')
Can someone help me with the correct syntax to call this function from a NT button?
THanks,
Ron
5
Web Server - Ask For Help / Re: Progress Bar woes...
« on: April 21, 2026, 12:28:20 PM »
Hi All,
I was trying too much trickery... going to try to implement a javascript progress bar. It will operate without server communication for the duration of 45 seconds. I simply want to keep it contained within the client and not have to hit the server for progress bar updates...
I am sure that I will have questions on implementing the javascript progress bar.
Ron
I was trying too much trickery... going to try to implement a javascript progress bar. It will operate without server communication for the duration of 45 seconds. I simply want to keep it contained within the client and not have to hit the server for progress bar updates...
I am sure that I will have questions on implementing the javascript progress bar.
Ron
6
Web Server - Ask For Help / Progress Bar woes...
« on: April 21, 2026, 07:07:45 AM »
Hi,
Using C11.1 and NT 14.37.
I have a procedure with a javascript timer and I am trying to turn on the progress bar and time it down with my timer. My timer DOES work correctly but I can't get my progress bar to show up.
On Memform. I have a progress field with the Equate of: ProgressName with a timer of 3500 and NO Hyperlink creation.
My TimerButton is firing every 2 seconds and I have the ProgressName as a field to be updated with this control.
I create the Progress Bar with:
! ! initialize the progress bar
loc:ProgressName = p_web.GetValue('_ProgressName_')
p_web.SetProgress(loc:ProgressName,1,'')
Then, in my Timer button, I have this code:
if int(p_web.GSV('countervalue')) <= 45 and p_web.GSV('countervalue') <> '-'
if int(p_web.GSV('countervalue')) <=1
p_web.SSV('countervalue','Drawer will close soon..')
p_web.SetProgress(loc:ProgressName,100,'' )
ELSE
p_web.trace('counter value: ' & p_web.GSV('countervalue'))
p_web.SSV('countervalue',int(p_web.GSV('countervalue')-2))
PercentageComplete = int(p_web.GSV('countervalue')) * 2 ! calculate the percentage complete, using whatever code is applicable to your process
p_web.SetProgress(loc:ProgressName,PercentageComplete,'') ! set the progress bar to that number.
end
end
As I said, my timer counts down but progress bar does NOT show up. What am I missing?
THanks,
Ron
Using C11.1 and NT 14.37.
I have a procedure with a javascript timer and I am trying to turn on the progress bar and time it down with my timer. My timer DOES work correctly but I can't get my progress bar to show up.
On Memform. I have a progress field with the Equate of: ProgressName with a timer of 3500 and NO Hyperlink creation.
My TimerButton is firing every 2 seconds and I have the ProgressName as a field to be updated with this control.
I create the Progress Bar with:
! ! initialize the progress bar
loc:ProgressName = p_web.GetValue('_ProgressName_')
p_web.SetProgress(loc:ProgressName,1,'')
Then, in my Timer button, I have this code:
if int(p_web.GSV('countervalue')) <= 45 and p_web.GSV('countervalue') <> '-'
if int(p_web.GSV('countervalue')) <=1
p_web.SSV('countervalue','Drawer will close soon..')
p_web.SetProgress(loc:ProgressName,100,'' )
ELSE
p_web.trace('counter value: ' & p_web.GSV('countervalue'))
p_web.SSV('countervalue',int(p_web.GSV('countervalue')-2))
PercentageComplete = int(p_web.GSV('countervalue')) * 2 ! calculate the percentage complete, using whatever code is applicable to your process
p_web.SetProgress(loc:ProgressName,PercentageComplete,'') ! set the progress bar to that number.
end
end
As I said, my timer counts down but progress bar does NOT show up. What am I missing?
THanks,
Ron
7
Web Server - Ask For Help / Re: webserver example 79
« on: April 21, 2026, 07:00:29 AM »
HI Harold,
I have QR code scanning and camera taking pictures using a NT web server. Using Easy Cam to do some of this. If you test locally 127.0.0.1 with you barcode scanner connected, then it will work fine. No security certificate needed. I would suggest you do this on your local machine first to get it going ( run your web server on local machine with qr reader connected). You essentially have 2 options - read it through a USB interface (HID) and get text returned into a text box or use a USB-Serial interface. I did a small show and tell on this about 2 years ago on net talk webinar. If you use the HID (USB) interface, then you can test your code reader in any text box - just open something in notepad and scan something and the HID interface will place it right into the active document.
Ron
I have QR code scanning and camera taking pictures using a NT web server. Using Easy Cam to do some of this. If you test locally 127.0.0.1 with you barcode scanner connected, then it will work fine. No security certificate needed. I would suggest you do this on your local machine first to get it going ( run your web server on local machine with qr reader connected). You essentially have 2 options - read it through a USB interface (HID) and get text returned into a text box or use a USB-Serial interface. I did a small show and tell on this about 2 years ago on net talk webinar. If you use the HID (USB) interface, then you can test your code reader in any text box - just open something in notepad and scan something and the HID interface will place it right into the active document.
Ron
8
Web Server - Ask For Help / Re: Question about PressedButton parameter
« on: February 11, 2026, 07:21:30 AM »
HI,
Not sure exactly what your question is and what is NOT WORKING correctly for you. But, I will take a stab at your question. Net talk is NOT LIKE Clarion - the code that you write does not directly translate to the screen and back. Because Web transactions are stateless - question, response, done - then the Code in the browser has to maintain continuity to appear as a running program to the end user. Net Talk does this largely by session ids and then session data stored in queues on the user's machine. Considering this, ?PressedButton is represented in stored queue values which then are used by the net talk code to perform work or calculations and then update the HTML. THere is a lot of "behind the scenes work" going on and re-assignment that you are speaking of may be part of it. The real question is what is not working for you?
Ron
Not sure exactly what your question is and what is NOT WORKING correctly for you. But, I will take a stab at your question. Net talk is NOT LIKE Clarion - the code that you write does not directly translate to the screen and back. Because Web transactions are stateless - question, response, done - then the Code in the browser has to maintain continuity to appear as a running program to the end user. Net Talk does this largely by session ids and then session data stored in queues on the user's machine. Considering this, ?PressedButton is represented in stored queue values which then are used by the net talk code to perform work or calculations and then update the HTML. THere is a lot of "behind the scenes work" going on and re-assignment that you are speaking of may be part of it. The real question is what is not working for you?
Ron
9
Web Server - Ask For Help / Re: How to delete another session (multiple login same user)
« on: February 07, 2026, 07:08:23 AM »
HI,
The session data queue used to be exposed and the example you are quoting was from 2010. Since then, the session queue data is available through an interface (class).
Ron
The session data queue used to be exposed and the example you are quoting was from 2010. Since then, the session queue data is available through an interface (class).
Ron
10
Web Server - Ask For Help / Re: Opening and closing nettalk apps running remotely
« on: February 05, 2026, 04:20:55 PM »
HI RIchard,
Don't know of any standard way but I would consider starting a TIMER app which would time out and re-start the app and then close - only to be re-opened when needed.
Ron
Don't know of any standard way but I would consider starting a TIMER app which would time out and re-start the app and then close - only to be re-opened when needed.
Ron
11
Web Server - Ask For Help / Re: SetTableValue and HTTPS
« on: January 23, 2026, 07:44:32 AM »
Hi Jari,
Really not sure what you are asking. Please be more specific in what you are trying to do so we can understand your question.
Ron
Really not sure what you are asking. Please be more specific in what you are trying to do so we can understand your question.
Ron
12
Web Server - Ask For Help / Re: NetClient.Send error??
« on: January 11, 2026, 01:34:03 PM »
Hi Jari,
Wow, that was a long time ago - I don't remember how I solved it. I am not sure if I did not have the name for my APP in the Global extension in Tab 2 - of Activate Capesoft's NetRefresh extension. You might look at the NetTalk webinars around that time as I would have asked for help there.
Ron
Wow, that was a long time ago - I don't remember how I solved it. I am not sure if I did not have the name for my APP in the Global extension in Tab 2 - of Activate Capesoft's NetRefresh extension. You might look at the NetTalk webinars around that time as I would have asked for help there.
Ron
13
Web Server - Ask For Help / Re: Multi site host maintenance message
« on: January 07, 2026, 05:17:06 PM »
HI Tim,
I don't know much about multisite hosts but I think that each site gets compiled as a dll and my understanding is that the "host" will always be available even when one site's dll is down for maintenance. Therefore, I would think that you would want to notify only the site to get the update and not have it as a general message.
How are you going to deal with updates? How are you going to handle users that are already logged into your site when you want to do maintenance?
Ron
I don't know much about multisite hosts but I think that each site gets compiled as a dll and my understanding is that the "host" will always be available even when one site's dll is down for maintenance. Therefore, I would think that you would want to notify only the site to get the update and not have it as a general message.
How are you going to deal with updates? How are you going to handle users that are already logged into your site when you want to do maintenance?
Ron
14
Web Server - Ask For Help / Re: Change Page Title - browser tab description
« on: December 02, 2025, 02:12:35 PM »
HI Johan,
Are you trying to change Tab (Laptop5) to something else like Tab (LaptopDONE)? Is that what you are trying to change?
Ron
Are you trying to change Tab (Laptop5) to something else like Tab (LaptopDONE)? Is that what you are trying to change?
Ron
15
Web Server - Ask For Help / Re: Change Page Title - browser tab description
« on: December 02, 2025, 04:36:46 AM »
Johan,
IF you are trying to modify the text in the Tab header itself, you might be able to do it in css. I Took the tab Properties page for the tab and I put in names for the CSS selectors in the fields on Properties tab. e.g. the 8th item down, the Tab Heading Item CSS: I put in 'tab1headingitemcss'. Tab text is "Actions".
Looking at it with Inspector:
<li class="tab1headingItemcss ui-tabs-tab ui-corner-top ui-state-default ui-tab ui-tabs-active ui-state-active" role="tab" tabindex="0" aria-controls="tab_a_mobilebutton_memform0_div" aria-labelledby="ui-id-14" aria-selected="true" aria-expanded="true"><a class="tab1headingcss ui-tabs-anchor" href="#tab_a_mobilebutton_memform0_div" tabindex="-1" id="ui-id-14"><div>Actions</div></a></li>
<a class="tab1headingcss ui-tabs-anchor" href="#tab_a_mobilebutton_memform0_div" tabindex="-1" id="ui-id-14"><div>Actions</div></a>
The Text of the Tab is "Actions" and you see it in the DIV. There are css selectors around it like class="tab1headingcss ui-tabs-anchor" and class="tab1headingcss ui-tabs-anchor"
You might be able to use these to change the text of the DIV. I have not played with this so if you figure this out, let us know.
Ron
IF you are trying to modify the text in the Tab header itself, you might be able to do it in css. I Took the tab Properties page for the tab and I put in names for the CSS selectors in the fields on Properties tab. e.g. the 8th item down, the Tab Heading Item CSS: I put in 'tab1headingitemcss'. Tab text is "Actions".
Looking at it with Inspector:
<li class="tab1headingItemcss ui-tabs-tab ui-corner-top ui-state-default ui-tab ui-tabs-active ui-state-active" role="tab" tabindex="0" aria-controls="tab_a_mobilebutton_memform0_div" aria-labelledby="ui-id-14" aria-selected="true" aria-expanded="true"><a class="tab1headingcss ui-tabs-anchor" href="#tab_a_mobilebutton_memform0_div" tabindex="-1" id="ui-id-14"><div>Actions</div></a></li>
<a class="tab1headingcss ui-tabs-anchor" href="#tab_a_mobilebutton_memform0_div" tabindex="-1" id="ui-id-14"><div>Actions</div></a>
The Text of the Tab is "Actions" and you see it in the DIV. There are css selectors around it like class="tab1headingcss ui-tabs-anchor" and class="tab1headingcss ui-tabs-anchor"
You might be able to use these to change the text of the DIV. I have not played with this so if you figure this out, let us know.
Ron