Web Application Development Advice & How To
Active Server Pages Development Advice & How To

Shining Star Services LLC
 
Shining Star Services
Articles
ASP.NET
ASP.net Articles
ASP, DHTML, HTML
HTML Tutorial
Auto-select an Element from a Menu or Scrolling List & Save Keystrokes!
ASP Driven DHTML Slider Menus REVISITED One Year Later! Part II
ASP Driven DHTML Slider Menus
ASP Driven HTML Outlines
Reusing Code with ASP Include Files and Subroutines
Security
Hacker Query Check
.htr IIS Security Issue
Databases, Cookies
Functions to Open a Database Connection and Record Set
Setting Up and Using OraSession to Manage Your Oracle Database Objects
Storing Non-Durable Data for Cookie-less Sessions
Javascript
Smart Popups
Javascript: Validate Numeric Fields
Javascript Confirm Form Submission
Javascript Dynamic Text Area Counter
Javascript: Check All and Uncheck All Check Boxes
Javascript Field Validations -- Client Side Scripting
Miscellaneous
Tree Select Demo
Adobe Extension Manager
Scandisk & Defrag Pointers
Standards & Style
Setting Up Your Own ASP Development Templates
Creating a Project Template for Estimations of Time, Tasks, and Resources
To Host or Not To Host
ASP Naming Conventions
HTML Naming Conventions & Visual Interdev HTML Generation
Working with and in spite of the Visual Interdev Design Mode
Commenting Your ASP Source Code
Letters!
Reader Letters

Articles Home

Shining Star Services

 
ASP Driven HTML Outlines
By Nannette Thacker - 08/13/1999

Have you ever wanted to create a web page in outline form? Here's how, using ASP Driven HTML and the Ordered List, <OL> command.

I have created two forms of outline sub procedures. The first I'll describe allows you to send a set of lines in the same outline level, without putting extra space between the lines. It consists of using three sub procedures. The second method uses only one sub procedure, but uses the equivalent of a paragraph space throughout all the lines.

Let's review the first method. There are three sub procedures for the outline: OutlineHead, OutlinePhrase, and OutlineFoot. If you're not a fast typist, you may wish to change the names to something shorter.

Here is how to use the three subs:

OutlineHead "I",1,1 
OutlinePhrase "<B>I Test Outline</B>"
OutlineFoot 1 
The OutlineHead sub takes three arguments: the type, the start, and the indent level. These commands are used as follows:

sub OutlineHead(otype,ostart,oindent)
dim indent
for indent = 1 to oindent
	Response.Write "<OL TYPE=""" & otype & """ START=" & ostart & ">" & vbCrLf
next
end sub
A "for" loop is used to repeat the OL command for the number of indents needed. The "type" is used in the OL command to indicate the TYPE. Valid TYPE values are:

I, A, 1, a, and i

This indicates which outline type to use.

The "start" variable is used within the OL command to indicate the starting point. It takes a numeric value. If you want the outline level to start with I,A,1,a, or i, set the value to 1. If you want the outline level to start with III,C,3,c, or iii, set the value to 3, and so on.

The OutlinePhrase sub takes one parameter: the verbiage to display. You may optionally include HTML commands within this phrase.

sub OutlinePhrase(ophrase)
Response.Write "<LI>" & ophrase & "</LI>" & vbCrLf
end sub
The OutlinePhrase sub wraps the phrase with the List command and writes it to the user's browser.

OutlineFoot 1 
The OutlineFoot sub takes one parameter, the indent level. It uses a "for loop" to repeat the ending Ordered List command in order to exit the number of indent levels.

sub OutlineFoot(oindent)
dim indent
for indent = 1 to oindent
	Response.Write "</OL>" & vbCrLf
next
end sub
When creating a group of lines within the same indent level, simply repeat the OutlinePhrase sub for as many lines are in the same level. The example code below was used to display the outline shown next:

OutlineHead "I",1,1 
OutlinePhrase "<B>I Test Outline</B>"
OutlineFoot 1 

OutlineHead "A",1,2 
OutlinePhrase "A Test Outline"
OutlinePhrase "B Test Outline"
OutlinePhrase "C Test Outline"
OutlineFoot 2 

OutlineHead "1",1,3 
OutlinePhrase "1 Test Outline"
OutlinePhrase "2 Test Outline"
OutlinePhrase "3 Test Outline"
OutlineFoot 3 

OutlineHead "A",4,2 
OutlinePhrase "D Test Outline"
OutlinePhrase "E Test Outline"
OutlineFoot 2 

OutlineHead "1",1,3 
OutlinePhrase "1 Test Outline"
OutlinePhrase "2 Test Outline"
OutlineFoot 3 


OutlineHead "a",1,4 
OutlinePhrase "a Test Outline"
OutlinePhrase "b Test Outline"
OutlineFoot 4 


OutlineHead "i",1,5 
OutlinePhrase "i Test Outline"
OutlinePhrase "ii Test Outline"
OutlineFoot 5 

OutlineHead "a",3,4 
OutlinePhrase "c Test Outline"
OutlinePhrase "d Test Outline"
OutlineFoot 4 
OutlineHead, OutlinePhrase, OutlineFoot example:

  1. I Test Outline
    1. A Test Outline
    2. B Test Outline
    3. C Test Outline
      1. 1 Test Outline
      2. 2 Test Outline
      3. 3 Test Outline
    1. D Test Outline
    2. E Test Outline
      1. 1 Test Outline
      2. 2 Test Outline
        1. a Test Outline
        2. b Test Outline
          1. i Test Outline
          2. ii Test Outline
        1. c Test Outline
        2. d Test Outline
The one sub outline procedure takes 5 arguments:

Outline "A Test Outline","A",1,2
The phrase, the TYPE, the START, and the indent level.

sub Outline(ophrase,otype,ostart,oindent)

dim indent
for indent = 1 to oindent
	Response.Write "<OL TYPE=""" & otype & """ START=" & ostart & ">" & vbCrLf
next
Response.Write "<LI>" & ophrase & "</LI>" & vbCrLf
for indent = 1 to oindent
	Response.Write "</OL>" & vbCrLf
next

end sub
This is the easiest outline to implement, but it creates the paragraph space between all lines.

The code below was used to create the outline example below:

Outline "<B>I Test Outline</B>","I",1,1 
Outline "A Test Outline","A",1,2
Outline "B Test Outline","A",2,2
Outline "C Test Outline","A",3,2
Outline "1 Test Outline","1",1,3
Outline "2 Test Outline","1",2,3
Outline "3 Test Outline","1",3,3
Outline "D Test Outline","A",4,2
Outline "1 Test Outline","1",1,3
Outline "2 Test Outline","1",2,3
Outline "a Test Outline","a",1,4
Outline "b Test Outline","a",2,4
Outline "3 Test Outline","1",3,3
Outline "E Test Outline","A",5,2
Outline "<B>II Test Outline</B>","I",2,1 
Outline "A Test Outline","A",1,2
Outline "B Test Outline","A",2,2
Outline sub example:

  1. I Test Outline
    1. A Test Outline
    1. B Test Outline
    1. C Test Outline
      1. 1 Test Outline
      1. 2 Test Outline
      1. 3 Test Outline
    1. D Test Outline
      1. 1 Test Outline
      1. 2 Test Outline
        1. a Test Outline
        1. b Test Outline
      1. 3 Test Outline
    1. E Test Outline
  1. II Test Outline
    1. A Test Outline
    1. B Test Outline
For your cutting and pasting pleasure, the entire VBScript functions looks like this. (Put them in an include file please. Don't let me catch you pasting this on multiple pages!! :)

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

sub Outline(ophrase,otype,ostart,oindent)

dim indent
for indent = 1 to oindent
	Response.Write "<OL TYPE=""" & otype & """ START=" & ostart & ">" & vbCrLf
next
Response.Write "<LI>" & ophrase & "</LI>" & vbCrLf
for indent = 1 to oindent
	Response.Write "</OL>" & vbCrLf
next

end sub

sub OutlineHead(otype,ostart,oindent)
dim indent
for indent = 1 to oindent
	Response.Write "<OL TYPE=""" & otype & """ START=" & ostart & ">" & vbCrLf
next
end sub

sub OutlinePhrase(ophrase)
Response.Write "<LI>" & ophrase & "</LI>" & vbCrLf
end sub

sub OutlineFoot(oindent)
dim indent
for indent = 1 to oindent
	Response.Write "</OL>" & vbCrLf
next
end sub

</script>


ChristianSinglesDating

ShiningStar.net | ShiningStarSingles.com | Christian911.com