Tracey,

[I had to remove the zip for the group discussion as it was too large (882
Kb) - Paul]

I've got nothing online at the moment. But one project (large) distributed
by cdrom possibly is a go . I'll get back to you. Yeah, send me a P.O. Box
and I'll mail it to you if the description below sounds useful. I've
attached a zip with a worked static example of another approach as well.

This is all a technology with a learning curve, but I suspect one well worth
undertaking. The flow on affects for work on  report producing on intra nets
or the net at large are quite enormous. Allows the use of static and server
dynamic pages for each of their strengths. ALso introdudces client side
processing and morphing  of data and material. And WYSIWYG html editing for
clients.

                1.   The Cdrom XML Example
                2.   Not relying On Xml (Zipped Example)

The Cdrom XML Example
====================

The Cdrom example is an .HTA (Html application) front end. Its all installed
through an 11Mb  setup procedure, and then looks and feels like a regular
application or web page. Its front end is still under development
(cosmetics), but the technology behind it is stable although we've still got
it marked as a beta. Its so large as it includes whole dictionaries.

Once installed other modules may be donwloaded from the net.

Being an .HTA it allows the user to store material on disk, they have to
answer a once only system  security clearance under Xp, and I think will
operate as far back as Win 95, or even IE5 under Win 3.x (yes there are
still fine folk out there using it!).

The topic matter speaks for itself (be advised, it is Christian material),
and you can dig arround and see how it was all done.

Have a look at the area that uses JScript to turn Xml into HTML. I think in
that project we were able to use the same XML for three different
presentations, including a seperate viewing version, and a printed version.

One of the things that fascinated me with intergrating the XML into the
display was the ability to use  common glossary XMLs for mouseover hints
providing  reference information for the user, consistent no matter which
section they were looking at. You could take the concept a long way.

The printed version drew on the section being processed's glossary usage to
present the hints as footnotes in the print out. I can see I've got to learn
how to take all this further, but am quite frankly already very keen on what
can be done there.

Last point to make, when you view the finished product, apart from the .HTA
front end, there is not one bit of original HTML in what you will be viewing
and clicking on, but you would never know it. Even the button text labels
and side panel menus, and information displayed in the .HTA are dynamically
set from XML by Jscript. The html bits thast are stored in XML, are altered
to get around the entitty and reserved character issues. IExplorer
dynamically recasts them when displayed. We have our own delphi written
in-house utiltity to handle the writing of the Xml and associated xhtml.

But to the user it looks and feels like a normal web page with (hopefully)
intuitive extras - extensions to what they are already comfortable with.

Not relying On Xml (Zipped Example)
=============================

There is a simillar option not using XML. Create a page that is sectioned
with <DIV> tags according to some criteria of options of which bits you
would like displayed (could be determined by dropdown box
<selection><option> ..) or a textBox search word. Predefiend list is pretty
good in a drop down box.

Give the <DIV> s an expando attribute, one you make up like,
displayCatagory, set this in the div relevent to your breakdown of the data
by the drop down box categories.

Then use the style or runtimeStyle attribute on the DIVs name (keep them all
in an array for processing) to turn display or visibility on or off.

The DIVs are the objects you load into an array by their ID. You can
generate the IDs dynamically in JScript. You can give them another expando
name which flags which DIVs are to be loaded into an array or which array to
load then into. <DIV myArray="forecasts" displayCategory="Elephant
Products"> blah blah </div> then process document.all.tags('DIV') and test
for the expandos presence, and then for its value and do what ever with it.
Once in an array you can refer to their contents, attributes and functions,
attach expressions etc.

write a JScript like factrory function to create objects even and place
those in the array.

Once your DIVs are in arrays you can do things like the following in
functions that bulk process them on array position. This may be closer to
what you have already done. You can use delphi to write an interface for
yourself to generate these pages, templates, or host on the server.

myArrayElephants[203].innerHTML; //html taged test
myArrayElephants[203].innerText;  // absolutely plain text only
mtArrayElephants[203].style.cssText:='font-family:times new roman;
border:black 1pt solid' ;// total appearance control

mtArrayElephants[203].style.border ='solid gray dashed';
mtArrayElephants[203].display = 'none';// takes up no space in page
invisible areas around it collapse to occupoy its space.
mtArrayElephants[203].display = 'block';//like a paragraph space above and
below
mtArrayElephants[203].display = 'inline';// like a letter of the alphabet
mtArrayElephants[203].visibility = 'hidden';// takes up  space in page
leaves a blank area
mtArrayElephants[203].visibility = 'vissible';//

etc .. dig into MSDN Library on cdrom or on line

I've attached a zip with a worked static example of that approach. There the
DIVs are set to represent static pages. There is a Next and A Prev. button
and the user reads a "book". There are "chapter" titles at the left, page
dynamic headers and even page numbers! Disconnect the JavaScript file and
you get one long reasonibly formatted page. (allows for users who have no
JavaScript).  I'm looking forward to learning more about this, this one
little example just scratches the surface I feel.

Nearly forgot to mention the big plus about having your html in divs stored
in arrays is that you can write self searching routines (have a look at the
attached example, use the index button) this means that the search is
performed on current (invisible) content. Speed is unbeliveable especailly
with the kinds of phone lines you say your clients have, no unnecessary
round trips to the server once the first download happens., then all
clientside!.

 This connection speed reliability  was a consideration for us as well. You
could develop this searching capibliity to encapsulate references to other
simillar static pages (help keep downloads smaller instead of one big page
if that is a problem -  still reduces the number of turnaround visits to teh
server) .

We also do use a small bit of XML in a drop down box for direct links to
other pages of the same kind. Using XML allows for addition of new pagews
relying on the same XML. I think that the dropdown box was written in JS
from the XML. Soon to launch it all on our web site hopefully. Using this
approach you could write detailed indexes built into the page behind the
scenes. Use a frame set, load the index into the parent frame, load data in
XML into the parent frame. Setup local  searching, dynamically populate the
framset members from the parent's xml. etc etc .. ..

The outward  format of the attached example page is not directly  much use
to you no doubt, but the concept might be useful, and the read should be
good! (Again be advised it is Christian material).

Delphi programmers should excell at this stuff, its all sort of object
orienatated and completely object orientated in parts. Though Gary may choke
at this sentiment! (I'm not an oop purest sorry!)

For database drops into this format, look at the MSHTML_TLB and SHOWDOC_TLB
(Internet Explorer) there using casts between various IHTMLxxxx Disps you
can quickly produce consistent HTML code (as templates or live on the
server) with out once writing any raw HTML unless it is convenient to do so.
There is a Yahoo Group on the topic.
http://groups.yahoo.com/group/delphi-webbrowser/
(TEmbeddedWB is a better replacement for TWebBrowser which can both be used
virtually for some aspects of mass production drops from databases. See
http://www.euromind.com/iedelphi/embeddedwb.htm)

And search Tamarak or Google for direct Delphi Borland groups where these
topics comes up. (borland.public.delphi.oleautomation) for TWebBrowser  is a
common one I think.
http://www.tamaracka.com/search.htm
http://groups.google.com/advanced_group_search?q=group:borland.public.delphi
.*&num=100&hl=en

Paul A Norman
[EMAIL PROTECTED]
http://PaulANorman.com

Ph NZ 021 782 433
Fx NZ 021 292 2433

Overseas:

Ph. +6421782433
Fax +64212912433

P.O. Box 1005
Nelson 7015
New Zealand


You could disect that
==================previous
> Prerequisite: Need a bit of a working knowledge of the HTML document
object
> model and JavaScript or JScript (MS).

how small a bit can that be?

where do i start?  can you point me to a demo so i can see if it does what i
am after before i spend days trying to understand what you said?
It sounds like what i am after but right now i feel like going home and
crawling into a dark cupboard.

I have some HTML experience, some very basic JS, and no XML/XSL.  (and im
still fresh in the industry and know bugger all)

How big an initial download am i looking at? many of my clients are on poxy
modems with bad phone lines.

_______________________________________________
Delphi mailing list
[EMAIL PROTECTED]
http://ns3.123.co.nz/mailman/listinfo/delphi

Reply via email to