| Title: | *OLD* ALL-IN-1 (tm) Support Conference |
| Notice: | Closed - See Note 4331.l to move to IOSG::ALL-IN-1 |
| Moderator: | IOSG::PYE |
| Created: | Thu Jan 30 1992 |
| Last Modified: | Tue Jan 23 1996 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 4343 |
| Total number of notes: | 18308 |
Hi,
Question 1:
When I read an index file, if the key contains lowercase string,
my script changes it to uppercase. So I have a big problem,
the lowercase key record is alway confused with the uppercase one.
And it is impossible to modify the application file record.
Is there a solution ?
Question 2 :
In a script, how to make a difference if I compare a lowercase string
and an uppercase string ?
Please help ASAP. Thank in advance.
Cheu.
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 2361.1 | In a word, sorry! | IOSG::SHOVE | Dave Shove -- REO2-G/M6 | Fri Mar 05 1993 11:51 | 24 |
On question 1, yes you do have a problem.
ALL-IN-1 only works properly with indexed files if they have upper-case
keys. If the key gets into the file (from some other application,
perhaps) in lower-case, it's very hard to get ALL-IN-1 to find it.
(ALL-IN-1 always converts keys to upper-case before passing them to
RMS).
This is a real pain if you want to use, for example, people's names as
keys (and have them list in upper- and lower-case on the screen etc).
The only way out of this is to have two fields in the file - one (the
key) holds the upper-cased name, the other (not a key) holds the
original upper- and lower-case name. The second one is used for
display, the first for looking up (and your script/named data sets one
from the other as required).
On question 2, strings are always converted to upper-case before
comparisons. I don't know if there's any trickery you might be able to
do with the new(-ish) lexical functions (comparing each character, as
integers rather than strings, or something like that) - anyone got any
neat ideas??
Sorry!
D.
| |||||
| 2361.2 | DATA_FILE ? | AIMTEC::BUTLER_T | Fri Mar 05 1993 16:14 | 13 | |
I am not sure I understand what question 2 will get you? Are we
describing after the fact (ALL-IN-1 has made it upper!).
I do have a question. Does DATA_FILE always return the key in upper
case?
You may be able to use DATA_FILE Locate*** to search the file and
do comparision if it does not.
HTH,
Tim
| |||||
| 2361.3 | Lower case string comparison | IOSG::MAURICE | Because of the architect the building fell down | Fri Mar 05 1993 16:36 | 25 |
One way of getting a lower case string comparison done is by having in
done in the sub-process.
Here's a little command procedure to compare #A against #B and gives
the result in #C. Just type
<command comp\get #c
COMP.COM is:
$WRITE OAMAILBOX "OA GET #A"
$@DCLMAILBOX:
$A = RESULT
$WRITE OAMAILBOX "OA GET #B"
$@DCLMAILBOX:
$B = RESULT
$if a .eqs. b then c = "Match"
$if a .nes. b then c = "No Match"
$WRITE OAMAILBOX "OA GET #C =""''C'"""
$@DCLMAILBOX:
$EXIT
Cheers
Stuart
| |||||
| 2361.4 | Use DATA_FILE & lex. function. | BALZAC::KUOCH | Mon Mar 08 1993 15:44 | 12 | |
Thank you a lot for yours quick replies.
The problem 1 is solved : DATA_FILE GET doesn't convert key to uppercase.
(The key in that application is a telecom. interface protocol status
"A..Z, a..z")
With ALL-IN-1 V3.0, the problem 2 is solved using lexical functions
(FN$LENGTH + FN$LOCATE).
Best regards.
Cheu.
| |||||