1. type string(sequence s)
		
		
Is there a better way to do this?
type string(sequence s)
    for i =3D 1 to length(s) do
        if not (s[i] >=3D 0 and s[i] <=3D 255) then
            return 0
        end if
    end for
    return 1
end type
Alan
  =
		
	 
	
		
		2. Re: type string(sequence s)
		
		
I think that's the only way a string type can be created. However, if the speed
is your concern, it might be somewhat "tweakable"...
Replacing
   if not (s[i] >=0 and s[i] <= 255) then
with
   c = s[i]
   if (c < 0) or (c > 255) then
and having 'c' declared at the beginning of the type statement might yield a
slight speed increase, particularly with long strings.
   Rod Jackson
----------
From:   Alan Tu[SMTP:ATU5713 at COMPUSERVE.COM]
Sent:   Wednesday, March 10, 1999 5:02 PM
To:     EUPHORIA at LISTSERV.MUOHIO.EDU
Subject:        type string(sequence s)
Is there a better way to do this?
type string(sequence s)
    for i = 1 to length(s) do
        if not (s[i] >= 0 and s[i] <= 255) then
            return 0
        end if
    end for
    return 1
end type
Alan
		
	 
	
		
		3. Re: type string(sequence s)
		
		
--this should work:
type string(sequence s)
    if find(0, (s >= 0 and s <= 255)) then
        return 0
    else
        return 1
    end if
end type
--Mark / Liquid-Nitrogen.
		
	 
	
		
		4. Re: type string(sequence s)
		
		
You are allowing NON printable characters. You might look at
Normand M. Blais string.e in the archive.
		
	 
	
		
		5. Re: type string(sequence s)
		
		
On Wed, 10 Mar 1999, Liquid-Nitrogen Software wrote:
] type string(sequence s)
]     if find(0, (s >= 0 and s <= 255)) then
]         return 0
]     else
]         return 1
]     end if
] end type
Taking it one step further:
type string(sequence s)
    return 0 = find(0,s >= 0 and s <= 255)
end type
-- ">=", "<=", "and", "find" and "=" -- 5 calculations
But if s contains an atom it isn't spotted! So...
To infinity and beyond:
type string(sequence s)
    return 0=find(0,s=and_bits(s,255))
end type
-- "and_bits", "=", "find" and "=" -- 4 calculations = faster(untested)
However, for really long strings, the original "for" loop may be faster
because it stops at the first error rather than checking everything. EMWV.
HTH,
Carl
--
Carl R White -- Final Year Computer Science at the University of Bradford
E-mail........: cyrek- at -bigfoot.com -- Remove hyphens. Ta :)
URL...........: http://www.bigfoot.com/~cyrek/
Uncrackable...: "19.6A.23.38.52.73.45 25.31.1C 3C.53.44.39.58"