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. |