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.
46
Web Server - Ask For Help / Re: Browse Conditional CSS Background-color
« on: April 21, 2024, 10:32:20 AM »
Hi Ken,
I have no CSS experience. I hired a young kid to help me with CSS and help me understand it. He knows NOTHING of Clarion. These young kids code this CSS in their sleep. He was able to help me do some styling - even to dig down and take what appeared to be the correct style and find what was overriding it and correct it - all in css.....My advice, buy some CSS time and you can get it sorted out very quickly. I am trying to wrap up my web app. I have the kid on call so that we can do all the css and make it look pretty. CSS was a big headache for me - now, I just call my consultant and he sorts it out very quickly! No more CSS headaches for me. Also, I am learning CSS and how to put stuff in clarion so that I can control the elements I want! Let me know if you want contact info for my guy. (He charges less than $40.00 per hour because he is in Nigeria.)
Ron
I have no CSS experience. I hired a young kid to help me with CSS and help me understand it. He knows NOTHING of Clarion. These young kids code this CSS in their sleep. He was able to help me do some styling - even to dig down and take what appeared to be the correct style and find what was overriding it and correct it - all in css.....My advice, buy some CSS time and you can get it sorted out very quickly. I am trying to wrap up my web app. I have the kid on call so that we can do all the css and make it look pretty. CSS was a big headache for me - now, I just call my consultant and he sorts it out very quickly! No more CSS headaches for me. Also, I am learning CSS and how to put stuff in clarion so that I can control the elements I want! Let me know if you want contact info for my guy. (He charges less than $40.00 per hour because he is in Nigeria.)
Ron
47
Web Server - Ask For Help / Re: Using MemForm again
« on: April 21, 2024, 07:32:51 AM »
Solved!
I had to move my code to the "POST UPDATE". That allowed all the field validations and then when they were all validated, the code ran the UPDATE and then my code in the "POST UPDATE" embed. I had called the Memform in "Change" mode.
Ron
I had to move my code to the "POST UPDATE". That allowed all the field validations and then when they were all validated, the code ran the UPDATE and then my code in the "POST UPDATE" embed. I had called the Memform in "Change" mode.
Ron
48
Web Server - Ask For Help / Using MemForm again
« on: April 21, 2024, 03:50:40 AM »
Hi, Using NT14.18 and C11.0.136
I am using a Memform called in Change mode. I am collecting data and using it to write to 3 different tables.
I am putting my code in the ValidateUpdate Routine ( which calls the do CompleteForm and do ValidateRecord routines) and it calls these first.
However, if I open the memform and click the "Save" button for the form, it starts writing to my 3 tables and then pops up a message that required fields are not filled in... However, I want it to get the required fields FIRST. Is there a statement like IF ALL FIELDS ARE VALIDATED then go ahead and write to the tables. If NOT ALL VALIDATED then remind them to fill in the required fields?
Thanks,
Ron
I am using a Memform called in Change mode. I am collecting data and using it to write to 3 different tables.
I am putting my code in the ValidateUpdate Routine ( which calls the do CompleteForm and do ValidateRecord routines) and it calls these first.
However, if I open the memform and click the "Save" button for the form, it starts writing to my 3 tables and then pops up a message that required fields are not filled in... However, I want it to get the required fields FIRST. Is there a statement like IF ALL FIELDS ARE VALIDATED then go ahead and write to the tables. If NOT ALL VALIDATED then remind them to fill in the required fields?
Thanks,
Ron
49
Web Server - Ask For Help / Using MEmform
« on: April 21, 2024, 03:28:50 AM »
Hi, Using NT 14.18 and c11.0.13630.
I am calling a MemForm in Change Mode.
Question 1: I am capturing a local field with a alphanumeric field on Tab1. I want to display this field which is saved as a Session Variable on Tab2 - 'thisVIN'. I save it as p_web.SSV('thisVIN', thisVIN). I have tried various Display field methods such as displaying the TEXT of p_web.GSV('thisVIN'). I have tried displaying it as a Session Variable using p_web.GSV('thisVIN'). No luck. What is the trick?
Thanks,
Ron
I am calling a MemForm in Change Mode.
Question 1: I am capturing a local field with a alphanumeric field on Tab1. I want to display this field which is saved as a Session Variable on Tab2 - 'thisVIN'. I save it as p_web.SSV('thisVIN', thisVIN). I have tried various Display field methods such as displaying the TEXT of p_web.GSV('thisVIN'). I have tried displaying it as a Session Variable using p_web.GSV('thisVIN'). No luck. What is the trick?
Thanks,
Ron
50
Web Server - Ask For Help / Re: Different menu if they log on from mobile phone.
« on: April 11, 2024, 08:26:13 AM »
HI Osquiabro,
That is exactly my intent. From mobile phone, I have 3 activities that they will do. Going to create a separate MemForm with those three buttons. Thanks for the info.
BTW, I sent you a message through Net Talk messaging on site to see if you do any consulting. I am going to need a little help with getting the mobile version of my web app going.
Thanks,
Ron
That is exactly my intent. From mobile phone, I have 3 activities that they will do. Going to create a separate MemForm with those three buttons. Thanks for the info.
BTW, I sent you a message through Net Talk messaging on site to see if you do any consulting. I am going to need a little help with getting the mobile version of my web app going.
Thanks,
Ron
51
Web Server - Ask For Help / Different menu if they log on from mobile phone.
« on: April 06, 2024, 06:18:02 AM »
Hi,
I want to display a different menu and possibly a different start screen when the users log onto my program with a mobile phone. I am using @media <600 to trap small screens. My menus do change to the hamburg menu. I have created custom css for the small screens to display correctly. However, I want to change some behavior of the app on mobile scren.
1. I want to change the menu items - some so display and some not to display. How does that get done? I doubt that i can capture @media < 600 and use it as a condition. The other way that I can think of is to add a class attribute to the menu items and change their properties in the css. Which is doaboe or better?
2. I want to display a page with "3 Action Buttons" when they log in on a mobile phone. One way would be to give it a class name and hide it and use CSS to display if it is in on a small screen.
Any help will be appreciated.
Thanks,
Ron
I want to display a different menu and possibly a different start screen when the users log onto my program with a mobile phone. I am using @media <600 to trap small screens. My menus do change to the hamburg menu. I have created custom css for the small screens to display correctly. However, I want to change some behavior of the app on mobile scren.
1. I want to change the menu items - some so display and some not to display. How does that get done? I doubt that i can capture @media < 600 and use it as a condition. The other way that I can think of is to add a class attribute to the menu items and change their properties in the css. Which is doaboe or better?
2. I want to display a page with "3 Action Buttons" when they log in on a mobile phone. One way would be to give it a class name and hide it and use CSS to display if it is in on a small screen.
Any help will be appreciated.
Thanks,
Ron
52
Web Server - Ask For Help / Re: Trying to Resize Browse Grid for Mobile phone
« on: March 29, 2024, 05:06:50 AM »
Solved. I hired a young kid to go over the css with me.
in my custom.css:
@media screen and (max-width: 640px){
.ui-dialog{max-width:100%}
.ui-dialog-content{max-width:100%}
.nt-body-div{font-size: x-small}
.nt-contentpanel{font-size: x-small}
.nt-child-grid{font-size: x-small}
.nt-child-grid{
display: grid;
grid-template: 1fr; <<<<<<<<<------------- this one line did the trick!!!
Ron
in my custom.css:
@media screen and (max-width: 640px){
.ui-dialog{max-width:100%}
.ui-dialog-content{max-width:100%}
.nt-body-div{font-size: x-small}
.nt-contentpanel{font-size: x-small}
.nt-child-grid{font-size: x-small}
.nt-child-grid{
display: grid;
grid-template: 1fr; <<<<<<<<<------------- this one line did the trick!!!
Ron
53
Web Server - Ask For Help / Trying to Resize Browse Grid for Mobile phone
« on: March 26, 2024, 11:38:31 AM »
Hi All,
I have edited custom.css to make the font on my mobile phone screen so that it is x-small.
I have managed to edit a lot of the text in the browse grid to x-small text with the following css in custom.css.
@media screen and (max-width: 640px){
.nt-body-div{font-size: x-small}
.nt-child-grid{font-size: x-small}
}
However, what I really want to do is make the whole grid presentation SMALLER
THe following is the Class that I want to make SMALLER in its entirety.
What are the CSS settings to make the whole Browse Grid ( class=" nt-child-grid" ) shrink to only 50% of its
size?
Thanks,
Ron
This is the element:
<div class=" ">
<div id="sm_browsec_auto_small_screen-parent-container" class=" nt-child-grid" data-elem="child-table">
<div class=" nt-child-grid-cell" data-elem="child-cell" valign="top">
<div id="sm_browsec_auto_small_screen_div" class="nt-browse exists">
<div id="sm_browsec_auto_small_screen_header_div" class=" nt-header nt-browse-header"> See Autos</div>
<div id="sm_browsec_auto_small_screen_locator_b_div" style="display: none;"><table class=" nt-locator" data-loc="table">
<tbody><tr class=" nt-flex nt-locator-row" data-loc="row">
<td data-loc="prompt">
<div class="nt-locator-prompt"> :</div></td>
<td data-loc="input">
<div><input type="search" name="locator1sm_browsec_auto_small_screen" id="locator1sm_browsec_auto_small_screen" value="" class=" nt-locator ui-widget nt-entry ui-corner-all" data-do="lo" data-imm="true" size="20" placeholder="Search"></div></td>
<td data-loc="buttons">
<div id="sm_browsec_auto_small_screen_locate_b" class=" nt-flex nt-locator-button-set"><button type="button" name="" id="dLqg" value="Search" class="nt-flex nt-button nt-button-with-icon nt-locate-button ui-button ui-corner-all ui-widget" title="Click here to start the Search"><span class=" ui-icon ui-button-icon ui-icon-lightbulb"></span><span class="ui-button-icon-space"></span>Search</button>
</div></td>
</tr>
</tbody></table>
</div>
<div id="sm_browsec_auto_small_screen_table_resize_div" class="nt-" style="width: 500px; height: 500px;"><div id="sm_browsec_auto_small_screen_table_div" class=" ui-widget">
<table id="sm_browsec_auto_small_screen_tbl" class=" nt-browse nt-browse-table nt-browse nt-browse-table" data-elem="browse-table" style="opacity: 1;">
<thead class=" nt-browse-head nt-browse-table-header">
<tr id="sm_browsec_auto_small_screen_head" class="nt-browse-row nt-browse-table-row nt-browse-row-header sm_browsec_auto_small_screen-row-header ui-sortable" data-elem="browse-header-row">
<th data-col="1" id="head_66" class=" nt-browse-table-cell nt-browse-header-all-table nt-browse-header-not-selected ui-corner-top nt-browse-header-cant-select" data-elem="browse-header-cell" data-colname="Other66ServiceRequest">
<div class="nt-flex nt-browse-table-cell"><div class="nt-browse-header-text-cell">Service Request</div></div></th><!-- endCell [1] headerCell -->
I have edited custom.css to make the font on my mobile phone screen so that it is x-small.
I have managed to edit a lot of the text in the browse grid to x-small text with the following css in custom.css.
@media screen and (max-width: 640px){
.nt-body-div{font-size: x-small}
.nt-child-grid{font-size: x-small}
}
However, what I really want to do is make the whole grid presentation SMALLER
THe following is the Class that I want to make SMALLER in its entirety.
What are the CSS settings to make the whole Browse Grid ( class=" nt-child-grid" ) shrink to only 50% of its
size?
Thanks,
Ron
This is the element:
<div class=" ">
<div id="sm_browsec_auto_small_screen-parent-container" class=" nt-child-grid" data-elem="child-table">
<div class=" nt-child-grid-cell" data-elem="child-cell" valign="top">
<div id="sm_browsec_auto_small_screen_div" class="nt-browse exists">
<div id="sm_browsec_auto_small_screen_header_div" class=" nt-header nt-browse-header"> See Autos</div>
<div id="sm_browsec_auto_small_screen_locator_b_div" style="display: none;"><table class=" nt-locator" data-loc="table">
<tbody><tr class=" nt-flex nt-locator-row" data-loc="row">
<td data-loc="prompt">
<div class="nt-locator-prompt"> :</div></td>
<td data-loc="input">
<div><input type="search" name="locator1sm_browsec_auto_small_screen" id="locator1sm_browsec_auto_small_screen" value="" class=" nt-locator ui-widget nt-entry ui-corner-all" data-do="lo" data-imm="true" size="20" placeholder="Search"></div></td>
<td data-loc="buttons">
<div id="sm_browsec_auto_small_screen_locate_b" class=" nt-flex nt-locator-button-set"><button type="button" name="" id="dLqg" value="Search" class="nt-flex nt-button nt-button-with-icon nt-locate-button ui-button ui-corner-all ui-widget" title="Click here to start the Search"><span class=" ui-icon ui-button-icon ui-icon-lightbulb"></span><span class="ui-button-icon-space"></span>Search</button>
</div></td>
</tr>
</tbody></table>
</div>
<div id="sm_browsec_auto_small_screen_table_resize_div" class="nt-" style="width: 500px; height: 500px;"><div id="sm_browsec_auto_small_screen_table_div" class=" ui-widget">
<table id="sm_browsec_auto_small_screen_tbl" class=" nt-browse nt-browse-table nt-browse nt-browse-table" data-elem="browse-table" style="opacity: 1;">
<thead class=" nt-browse-head nt-browse-table-header">
<tr id="sm_browsec_auto_small_screen_head" class="nt-browse-row nt-browse-table-row nt-browse-row-header sm_browsec_auto_small_screen-row-header ui-sortable" data-elem="browse-header-row">
<th data-col="1" id="head_66" class=" nt-browse-table-cell nt-browse-header-all-table nt-browse-header-not-selected ui-corner-top nt-browse-header-cant-select" data-elem="browse-header-cell" data-colname="Other66ServiceRequest">
<div class="nt-flex nt-browse-table-cell"><div class="nt-browse-header-text-cell">Service Request</div></div></th><!-- endCell [1] headerCell -->
54
Web Server - Ask For Help / Re: Best way to recover from web-folder out of sync
« on: March 17, 2024, 03:30:36 AM »
Poul,
A good place to start is on your web folder app which is running. On the window - go to Settings Tab (Log - Performance- Settings Tabs on top).
Settings Tab - will have 4 tabs (Site-Certificate-Headers-Proxy)
On the Site Tab - 4th field down: "Web Folder" - THIS HAS TO BE the LOCATION THAT YOUR APP IS RUNNING FROM.
If this path is NOT set correctly, then it will be pointing to an incorrect folder from which the running application CANNOT DOWNLOAD the correct assets....
So, that is the first place that I go to.
Ron
A good place to start is on your web folder app which is running. On the window - go to Settings Tab (Log - Performance- Settings Tabs on top).
Settings Tab - will have 4 tabs (Site-Certificate-Headers-Proxy)
On the Site Tab - 4th field down: "Web Folder" - THIS HAS TO BE the LOCATION THAT YOUR APP IS RUNNING FROM.
If this path is NOT set correctly, then it will be pointing to an incorrect folder from which the running application CANNOT DOWNLOAD the correct assets....
So, that is the first place that I go to.
Ron
55
Web Server - Ask For Help / Re: Refresh form fields after a pop-up form closes
« on: March 13, 2024, 02:57:35 AM »
Hi Jeff,
Are you on a form or a MemoryForm? The way I look at this is that a regular form is an almost linear progression of stages - as opposed to an ACCEPT LOOP which we are used to working with in windows. As such, the embeds and thinks that we want to do ( like close a form and update another's fields) does not work the way we expect. Bruce has said it, and I have found that using your forms and tables on a MemoryForm (personally I think that this name is misleading but it serves the purpose) allows me to be able to do those kind of things. The MemoryForm allows you to have something analogous to the Accept Loop functioning in that you can open and close controls and STAY WITHIN the MEMORY FORM PAGE and do this and that until you are done doing what you want to do. This is just the nature of the way browsers and internet work. For example, I have a browse and I want to have several drop down filters for it. The best way to get it done is on a Memory Form. Can move info and update other controls ( tables...) and stay on the same page. If you haven't started working with MemoryForms, I suggest that you start. Take your related forms and browses and simply put them into a Memory Form. Then you can work with them and move information between them much easier.
Ron
Are you on a form or a MemoryForm? The way I look at this is that a regular form is an almost linear progression of stages - as opposed to an ACCEPT LOOP which we are used to working with in windows. As such, the embeds and thinks that we want to do ( like close a form and update another's fields) does not work the way we expect. Bruce has said it, and I have found that using your forms and tables on a MemoryForm (personally I think that this name is misleading but it serves the purpose) allows me to be able to do those kind of things. The MemoryForm allows you to have something analogous to the Accept Loop functioning in that you can open and close controls and STAY WITHIN the MEMORY FORM PAGE and do this and that until you are done doing what you want to do. This is just the nature of the way browsers and internet work. For example, I have a browse and I want to have several drop down filters for it. The best way to get it done is on a Memory Form. Can move info and update other controls ( tables...) and stay on the same page. If you haven't started working with MemoryForms, I suggest that you start. Take your related forms and browses and simply put them into a Memory Form. Then you can work with them and move information between them much easier.
Ron
56
Web Server - Ask For Help / Mixing Small screens in Web App
« on: February 28, 2024, 05:36:56 AM »
Hi All,
Using NT14.18 and C11.013630
Before I build a PWA, my clients are going to run a web site mostly on their browser. There are a few screens that they will do on their mobile phones. Before I build the mobile phone app, I want to make and test the small screens in my web app. So, can I have the web app deliver a "mobile screen" version of the procedure when a mobile phone is used? I will have lets say 2 procedures - 1. Pick Services - Browser and 2. Pick Services - mobile phone. How can I have the app deliver the correct screen (2) when used on mobile phone?
Thanks,
Ron
Using NT14.18 and C11.013630
Before I build a PWA, my clients are going to run a web site mostly on their browser. There are a few screens that they will do on their mobile phones. Before I build the mobile phone app, I want to make and test the small screens in my web app. So, can I have the web app deliver a "mobile screen" version of the procedure when a mobile phone is used? I will have lets say 2 procedures - 1. Pick Services - Browser and 2. Pick Services - mobile phone. How can I have the app deliver the correct screen (2) when used on mobile phone?
Thanks,
Ron
57
Web Server - Ask For Help / Validate New Password to make sure entries are the same
« on: February 14, 2024, 05:36:27 AM »
Hi
NT 14.16 C 11.0.136
I have a web MEMORY form which I call to have the end user enter a new password and then to repeat the new password to make sure that they are the same.
Where Do I put the code to check if the password and repeat new password fields have the same content?
Do I put the code under the Immediate Validation for repeat new password field?
Thanks,
Ron
NT 14.16 C 11.0.136
I have a web MEMORY form which I call to have the end user enter a new password and then to repeat the new password to make sure that they are the same.
Where Do I put the code to check if the password and repeat new password fields have the same content?
Do I put the code under the Immediate Validation for repeat new password field?
Thanks,
Ron
58
Web Server - Ask For Help / Re: Net Talk - Scan a document
« on: February 13, 2024, 02:51:50 AM »
THanks for the replies, gives me lots to think about as to how we will address the problem. Ron
59
Web Server - Ask For Help / Net Talk - Scan a document
« on: February 12, 2024, 02:46:01 PM »
Hi,
NT 14.16 C11.0.136
My clients want to scan a document and save it in my NetWeb Program.
How might I accomplish this? Would they have to pull up a scanner program in Windows and scan the document and then in the web app pick the file with the document? Is it easier to accomplish in the Web App?
Thanks,
Ron
NT 14.16 C11.0.136
My clients want to scan a document and save it in my NetWeb Program.
How might I accomplish this? Would they have to pull up a scanner program in Windows and scan the document and then in the web app pick the file with the document? Is it easier to accomplish in the Web App?
Thanks,
Ron
60
Web Server - Ask For Help / Re: Starting NetWeb E Mail on own thread - compile problem
« on: February 12, 2024, 02:40:28 PM »
Hi
From Net Talk Documentation:
Calling the SendEmail Procedure
The SendEmail procedure can be acalled from any other procedure. It might be a button, or a menu item, or it might happen in source code when some event occurs. To call SendEmail follow these steps:
Create a local variable in the procedure;
parms group(EmailParametersGroup).
Where you want to send the email, prime the components of the parms parameter
clear(parms)
parms.pEmailTo = 'bruce@capesoft.com'
parms.pEmailFrom = glo:UserEmail
parms.pEmailSubject = 'Great Release'
parms.pEmailCC = ''
parms.pEmailBCC = ''
parms.pEmailFileList = ''
parms.pEmailEmbedList = ''
parms.pEmailMessageTextST.SetValue('Well done on a great release')
parms.pEmailMessageHTMLST.SetValue('<html>...</html>')
Call the SendEmail procedure. You can do this on another thread;
START(SendEmail,25000,parms) <<<<<<<<=========================
or on the same thread (in which case you get a returned value;
result = SendEmail(parms)
Ron
From Net Talk Documentation:
Calling the SendEmail Procedure
The SendEmail procedure can be acalled from any other procedure. It might be a button, or a menu item, or it might happen in source code when some event occurs. To call SendEmail follow these steps:
Create a local variable in the procedure;
parms group(EmailParametersGroup).
Where you want to send the email, prime the components of the parms parameter
clear(parms)
parms.pEmailTo = 'bruce@capesoft.com'
parms.pEmailFrom = glo:UserEmail
parms.pEmailSubject = 'Great Release'
parms.pEmailCC = ''
parms.pEmailBCC = ''
parms.pEmailFileList = ''
parms.pEmailEmbedList = ''
parms.pEmailMessageTextST.SetValue('Well done on a great release')
parms.pEmailMessageHTMLST.SetValue('<html>...</html>')
Call the SendEmail procedure. You can do this on another thread;
START(SendEmail,25000,parms) <<<<<<<<=========================
or on the same thread (in which case you get a returned value;
result = SendEmail(parms)
Ron