Tuesday, September 4, 2012

Tips for building a decent HTA/HTML application


This post includes some basic tips to consider while building a HTA/HTML application. Clearly I am no Web guru knowledgeable of the various technologies that make the Web zip and zing. Here are my 2 cents

Any HTML page will contain tags for e.g
etc.
Any self-respecting Web page will include a vertical or a horizontal menu. For this you would need to use a Cascade Style Sheet (CSS). Rather than re-inventing the wheel do re-use the cool menu items & CSS style sheets at the following site http://www.dynamicdrive.com/style/layouts/

You will also be adding textboxes, radio buttons, submit  and reset buttons. Assuming you have all the form controls in a single form you need to use the following

Consider a form
Enter the file name containing the server list (srvr_list.txt) :

For this to get the input from the text box use
file = form1.servers.value

Using a radio button is a little tricky. Radio buttons belong to a group and the way to handle this in VBscript is as follows

            Include subdirectories
            Yes   
            No

This is done by iterating through the radio button list
for each radio in form1.Radio1

    If radio.checked = true Then
        
         If radio.value = "Yes" then
                  objInputFormat.recurse = -1
         ElseIf radio.value = "No" Then                 
                   objInputFormat.recurse = 0
         End If
    End if

Next

Handling a Submit requires that you handle the onClick action as below

This indicates that when you click the Submit button you will invoke the subroutine fileSize

A Reset button is of type “reset”. As long as you enclose all the controls in a single form hitting the reset button will clear all the controls.


Populating output in a table: To populate output dynamically in a table I used MS Tabular Data Control (TDC) when the output is written to a CSV file. The cool thing about this is that it automatically paginates output and display “n” entries per page instantaneously. I had tried various thing like populating using DOM, InnerHTML but all of those failed miserably when the o/p was very large. With TDC I can display ~30K entries instantaneously from a CSV file.

This is done as below

           

           

           

           


The CLASSID is the TDC control. Make sure you choose the correct delimiters and text qualifiers. Populate your CSV file.

You then need to connect this with Datasrc as below
                   
Number
                   
Path
                   
File Size
                   
Last Write Time
                                                           
                                                           
           

           

           

           

           

Add cool first,previous,next and last buttons as follows
 
       
       
       
       
       


Finally in your sub routine which you invoke to populate the table make sure you rebind your table with the new data as below

       data2.DataURL = ""
         data2.DataURL = "c:\\files.csv"
         data2.reset()

This is shown below

No comments:

Post a Comment