× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.




-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Jon Paris
Sent: Saturday, September 06, 2003 4:07 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: RE: %OFFSET


>> If I have a datastructure, full of variable length fields, how do I
>>determine the offset to a particular field?

>The varying length fields always occupy the same amount of storage - i.e.
>the maximum length + 2.  They are only _treated_ as being variable in
length
>when used.  So to calculate the offset is no different than for a fixed
>length field - Addr(VarFieldn) - %Addr(DS).  For the actual data content
(as
>opposed to the length) you need to add 2 to that.

>I'm fascinated as to why you want to know the offset.


how odd, I have the opposite view.

A subfield in an externally described data struct can be uniquely identified
by its offset into the ds. ( along with the eds file name ).  Using these
keys, a proc could lookup the quslfld generated table for the column heading
and other info of the field.  From there, an on the fly html making program
could generate a web page showing a fields value and its column heading.

The following code may look messy, but it has a write once advantage to it:
     AddColumnToHtmlTable( conExtDsFileName:
                           %offset( Employee.Name ):
                           Employee:
                           sHtmlTableString ) ;

Where Employee is a qualified DS that contains the data to display.
And sHtmlTableString is a string that will be written to stdout to display
the web page.

-Steve



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.