TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Forum View

Use Proportional Font
Show Text Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender:
"Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
X-To:
Date:
Mon, 13 Sep 1999 10:15:24 -0400
Reply-To:
"Richard L. Conn" <[log in to unmask]>
Subject:
From:
"Richard L. Conn" <[log in to unmask]>
Content-Transfer-Encoding:
7bit
In-Reply-To:
Content-Type:
text/plain; charset="iso-8859-1"
MIME-Version:
1.0
Parts/Attachments:
text/plain (175 lines)
Robert pointed out an issue that I forgot to mention.  Since a URL is
in play for the action to respond to a form, you can use the file:
scheme to specify a program on your PC to handle the action.
This totally eliminates the need for a Personal Web Server.
All you need is to have your HTML page, your client (browser), and
your Ada engine on the PC you are personnally using.

Re Robert's question, I have not tried it, but I suspect you should
stick to specifying the file: scheme for portability.  Also, C: will
probably have to be replaced with C| (C-bar) since many URL parsers
don't like two colons in the URL.

Good catch, Robert.

----------------------------------
Richard Conn, ASE and PAL Manager
http://xenadu.home.mindspring.com/

> -----Original Message-----
> From: Robert C. Leif [mailto:[log in to unmask]]
> Sent: Sunday, September 12, 1999 12:53 PM
> To: Richard L. Conn
> Subject: RE: How to provide Ada with the best possible GUI.
>
>
> To: Richard Conn
> From: Bob Leif
>
> I have included a very simple HTML screen. I believe this would be a very
> simple example for your write-up.
> -----------------------------------------------------
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
>
> <html>
>
> <head>
>
> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Latin1">
> <meta HTTP-EQUIV="Content-Language" CONTENT="en-us">
> <title>(Test_Ada)</title>
>
>
> </head>
>
> <body BACKGROUND="" BGCOLOR="#ffffff" TEXT="#000000" LINK="#0000ff"
> VLINK="#800080" ALINK="#ff0000">
>
> <form METHOD= "post" ACTION="file://C:\Ada_Work\html_small_read.exe" >
> <textarea NAME="Test_String" ROWS="1" COLS="10"></textarea>
> <input TYPE="submit" VALUE="Submit Form">
> <input TYPE="Reset" VALUE="Reset Form">
> </form>
>
> </body>
>
> </html>
> ------------------------------------------------------------------
> First question: "~URL to data server~" should this be
> file://C:\Ada_Work\html_small_read.exe or
> C:\Ada_Work\html_small_read.exe
> ------------------------------------------------------------------
> with Ada.Text_Io;
> with Ada.Exceptions;
> procedure Html_Small_Read is
>    Prog_Location : constant String := "HTML_Small_Read";
>    package T_Io renames Ada.Text_Io;
>    Max_Line_Length : Natural := 10;
>    subtype Line_Type is String(1..Max_Line_Length);
>    Line : Line_Type := "No input! ";
>    Char : Character := ' ';
>    End_Of_Line : Boolean := True;
>    Line_Length : Natural := 0;
>
> begin --
>    T_Io.Put_Line (Prog_Location);
>    T_Io.New_Line;
>    T_Io.Get(Item => Line);
>    T_Io.Put_Line("The Line was " & Line);
>    Hold_On_Screen:
>       for I in 1..100 loop
>       T_Io.Put("The Line was " & Line);
>    end loop Hold_On_Screen;
>    T_Io.Put_Line("Ending HTML_File_Test");
>    T_Io.Put_Line("");
> exception
>    when O: others  =>
>       T_Io.Put_Line (Ada.Exceptions.Exception_Information (O));
>       T_Io.Put_Line (Ada.Exceptions.Exception_Message (O));
>
> end Html_Small_Read;
> ------------------------------------------------------------------
> After I submit the form, it goes to the program and prints the Pkg_Name
>
> Description of html_small_read.exe
> It reads in the 10 letter string and puts it to the screen.
> I actually originally attempted to put the form data to a log
> file. However
> I made this real simple. I output the data in a loop to make sure
> I can see
> it.
> Unfortunately, the program never gets past placing its name on
> the screen. I
> believe it is waiting for the string.
>
> Thank you.
> Bob
> -----Original Message-----
> From: Team Ada: Ada Advocacy Issues (83 & 95)
> [mailto:[log in to unmask]]On Behalf Of Richard L. Conn
> Sent: Saturday, September 11, 1999 6:56 PM
> To: [log in to unmask]
> Subject: Re: How to provide Ada with the best possible GUI. was RE: Two
> interesting approaches to job hunting and more
>
>
> The upcoming Ada and Software Engineering CDROM (which will be
> distributed to all SIGAda 99 attendees) will have material on
> this topic, so you can look there for more details.
>
> Basically, we have this in a nutshell:
>
> 1. Any HTML form is of the following format (in HTML)
>   <form method="POST" action="~URL to data server~">
>   ... form-oriented tags and normal HTML tags ...
>   <input type="submit" value="text on SUBMIT button">
>   </form>
>
> where ~URL to data server~ is the URL of your Ada program, acting
> as a data
> server.  I referenced the POST method here, but GET works just as well.
> What POST does is send the data from the form into standard input of the
> data server, where GET sends the data from the form into a (sometimes
> very long) command line.  The Ada program is a normal Ada
> program, residing
> in a Common Gateway Interface directory or subdirectory.
>
> The INPUT tag causes a SUBMIT button to be displayed with the indicated
> text.  When the user presses this button, the data in the various
> fields of
> the form (text boxes, etc) is encoded into one of the enctypes and sent to
> the
> standard input of the data server indicated in the URL (in this case, an
> Ada program).  I forget the name of the "standard" enctype offhand.
>
> 2. Once the Ada program (acting as a data server) receives the
> enctype-encoded
> data, it simply decodes/parses it and performs its function (stores data,
> etc).
>
> 3. The Ada program should usually send a message back to the user,
> confirming
> the transaction.  To do this, the Ada program has to compose a web page
> (using
> HTML) and simply send it to standard output.  The only hitch is
> to remember
> to
> start that web page with:
>   Content-type: text/html
>   ... blank line ...
>   ... your program-composed HTML ...
>
> That's about it ... no rocket science here.  Most of the tricks I had to
> deal with were within the Ada program, addressing issues surrounding the
> problems associated with multiple copies of the same program
> running at the
> same time.  All data files had to be unique, and any generated scripts had
> to have unique names as well.
>
> Rick
> ----------------------------------
> Richard Conn, ASE and PAL Manager
> http://xenadu.home.mindspring.com/
> SNIP to end
>

ATOM RSS1 RSS2