[comp.lang.ada] Help!

rds@goanna.oz.au (Rowan D. Stevens) (01/24/90)

 ----  HELP!  ----

I am looking for information about either a user interface methodology, a
name of a research paper, an actual CASE tool or development environment, or
anything which might help me to locate the following:-

A tool or method which will allow a user interface to be developed visually
(similiar to Microsoft's Dialog Box Editor) but will output the operational
interface shell in some object-oriented programming type language (ie. c++)
The method should allow modelling of window-oriented and text user interfaces.
Anything close to this, I would still like to hear about.

If someone out there is carrying out research in this or a similar area, then I
would be very interested in talking further about this.

I can be contacted at:

	Royal Melbourne Institute of Technology
	C/-Department of Computer Science
	GPO BOX 2476V
	Melbourne, Vic 3001
	Australia

	Phone: +61-3-660-3216  
	ACSnet: rds@goanna.rmit.oz

Much appreciated!

Regards --> Rowan Stevens

STRIPET@JALCF.WPAFB.AF.MIL ("Thomas H. Stripe 255-4472", 513) (09/01/90)

I am trying to reconstruct my Ada library into the installation family
(Note: I am using ALSYS Ada compiler version 4.3) by the following:

Ada.MEND (LIBRARY => RESTORE.LST, FAMILY => INSTALLATION)

RESTORE.LST contains three file names: D:\ALSYS\PREDEF, D:\ALSYS\ALTERNAT, and
D:\SOME_LIB. D:\SOME_LIB is the library I am trying to mend. The problem is
that I get the following error:

FAMILY_MANAGER: ERROR: The library D:\SOME_LIB does not belong to the
same family (D:\ALSYS\INST_FAM) as D:\ALSYS\ALTERNAT (D:\ALSYS\INST_FAM)

My question is this, Has anybody encountered this, and if so, do you know
of a work-around?

Thanks
Tom

falis@ajpo.sei.cmu.edu (Edward Falis) (09/05/90)

My guess is that the user library you wanted to restore with the MEND
command was actually in the PUBLIC family, rather than INSTALLATION.

So...

I assume that the medn on the installation family is already done.  If
not , edit the file listing the libraries so it does not include the
name of the user library.

Reissue the mend command on the installation family.

Now, to mend the public family, create a file foo, place the path
of the user library in the file, enter the family manager, and
type:

mend foo, public

Also note that the mend command applies to families, not libraries.

If you have any further questions, give our support line a call
at (617) 270-0030

- Ed Falis, Alsys

kmccook@WRDIS01.AF.MIL (Ken McCook;SCDQ;) (09/23/90)

I'm working on a MIS project to be hosted on PC using MS-DOS
and Ada. Have Alsys PC286 Ada Compiler.

Does anyone have experience on printed output to standard 
government forms.

I'd prefer to write directly to the printer, but I could live
with having to write to a file and then printing the file.

I had hoped that Ada's Text_IO would have the capabilities 
Turbo Pascal has for directing output directly to the printer 
using Write and WriteLn? (And I'd hoped for direct keyboard
reading as well like someone else on the net in recent days.
Something like Turbo's "Read (kbd, X);".)

I am desperate for examples of source code and some expert
advice on this oneand would greatly appreciate any help.

Thanks,

Ken McCook     Computer Programmer     Warner Robins Air Logistics Center
kmccook@wrdis01.af.mil        (912) 926-7709         (DSN) 468-7709

mfeldman@seas.gwu.edu (Michael Feldman) (09/25/90)

In article <9009241422.AA17160@wrdis01.af.mil> kmccook@WRDIS01.AF.MIL (Ken McCook;SCDQ;) writes:
>I'm working on a MIS project to be hosted on PC using MS-DOS
>and Ada. Have Alsys PC286 Ada Compiler.
>
>I'd prefer to write directly to the printer, but I could live
>with having to write to a file and then printing the file.

You probably can write to the printer. See below.
>
>I had hoped that Ada's Text_IO would have the capabilities 
>Turbo Pascal has for directing output directly to the printer 
>using Write and WriteLn? (And I'd hoped for direct keyboard
>reading as well like someone else on the net in recent days.
>Something like Turbo's "Read (kbd, X);".)

Text_IO does have "hooks" for doing this. Every CREATE or OPEN call
associates a file variable in your program with a string representing
the file's name as known to the operating system. I'm not all that
familiar with the Alsys system, but conjecture based on experience that
they provide a standard file name something like PRN or LPT1. Using
Meridian Ada, you'd write

    My_File_Name: Text_IO.File_Type;

    ......

    Text_IO.Create(File => My_File_Name, 
                   Mode => Text_IO.Out_File,
                   Name => "PRN");

and then all PUTs to My_File_Name would go to the printer. No, Ada does not
predefine the standard names, but probably it could not easily do so
because file naming conventions differ greatly from OS to OS (consider
DOS names with their 8-character limit vs. Unix names, etc. etc.).

So Ada does it JUST LIKE THE OTHER LANGUAGES, leaving it to the programmer
to do the mapping with a Create or Open call. Turbo Pascal is an exception,
not the rule, and can get away with it because Turbo Pascal exists (currently)
only for the DOS world. What is called Turbo Pascal for the Macintosh, for
example, is an entirely different Pascal-like language. And surely the
file names are different between DOS and MacOS.

The bottom line: most likely Alsys provides the standard DOS file names
for you to use. Try it.
---------------------------------------------------------------------------
Prof. Michael Feldman
Department of Electrical Engineering and Computer Science
The George Washington University
Washington, DC 20052
202-994-5253
mfeldman@seas.gwu.edu
---------------------------------------------------------------------------

defaria@hpclapd.HP.COM (Andy DeFaria) (09/26/90)

>/ hpclapd:comp.lang.ada / kmccook@WRDIS01.AF.MIL (Ken McCook;SCDQ;) /  6:52 am  Sep 23, 1990 /

>I'd prefer to write directly to the printer, but I could live
>with having to write to a file and then printing the file.

>I had hoped that Ada's Text_IO would have the capabilities 
>Turbo Pascal has for directing output directly to the printer 
>using Write and WriteLn? (And I'd hoped for direct keyboard
>reading as well like someone else on the net in recent days.
>Something like Turbo's "Read (kbd, X);".)

The  simple, quick  and  dirty answer is to  write  your  routines in Turbo
Pascal and pragma INTERFACE to them.  Write a general purpose TP routine to
Write_to_Printer and a  Read_From_Keyboard  then encapsulate  the interface
into an Ada package pragma INTERFACEing to your TP routines.

But you may  want to check  out the Ada way of  writing to a  file and have
that file point   to a printer.  I haven't   done this but  I'm sure   it's
possible. 

WRT  reading from the  keyboard, if you want anykind  of real control  over
what is read then you might want to interface to TP or TC or whatever.   If
you  are  simply   reading  in stuff   then  you could use  TEXT_IO.GET  or
TEXT_IO.GET_LINE. 

defaria@hpclapd.HP.COM (Andy DeFaria) (09/27/90)

>/ hpclapd:comp.lang.ada / defaria@hpclapd.HP.COM (Andy DeFaria) /  9:27 am  Sep 26, 1990 /
>
>The  simple, quick  and  dirty answer is to  write  your  routines in Turbo
>Pascal and pragma INTERFACE to them.  Write a general purpose TP routine to
>Write_to_Printer and a  Read_From_Keyboard  then encapsulate  the interface
>into an Ada package pragma INTERFACEing to your TP routines.

Oops!  Open my  mouth and  insert foot.   I shouldn't have  even  suggested
this.  The Alsys compiler doesn't do pragma INTERFACE  to TP (or any Pascal
for that matter).  But there are Ada solutions to writing to the printer.  

I'm not sure about reading  from the keyword.  Easy  things can be  done by
TEXT_IO.GET[_LINE].  Single character I/O and  special character I/O may be
a bit more tricky.   Check  you Ada manuals first  before trying to  pragma
INTERFACE.