I had this discussion with Ian Sanders and from what I understood, in current versions of [UV] that the pointer is now maintained in loops. So that there is no longer speed related advantages (pointer based) using REMOVE.
FOR I = 1 TO 10000 X = ARRAY<I> NEXT I Is equivalent to: FOR I = 1 TO 10000 X = REMOVE(ARRAY<I>) NEXT I -[d]- -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 27, 2004 9:10 AM To: [EMAIL PROTECTED] Subject: RE: [U2] [UD] Exit BASIC program with SELECT list? On 26 Oct 2004 13:26:22 -0700, Allen Egerton wrote: > Why wouldn't you use the REMOVE statement? On 26 Oct 2004 16:33:55 -0700, Allen E. Elwood wrote: > Ohh.....lemme see, could it be that I've never heard of REMOVE? A caution with REMOVE - It removes up to the next DELIMITER, so if you have value marks or lower delimiters in your data, you won't skip an entire attribute. Full UniData syntax is REMOVE var FROM dyn.var [AT col.pos] SETTING delim.code delim.code returns the delimiter: 0=End, 1=Record Mark, 2=Attribute Mark, etc. I found the following works rather well, and returns full attributes without extra coding: SELECT DYM.ARRAY TO LIST.VAR LOOP WHILE READNEXT ATTR FROM LIST.VAR DO <process ATTR> REPEAT Also, when building a list, I found on our system that using NEW.LIST = NEW.LIST:@AM:NEW.VAL works faster than the <-1> construct. Your mileage may vary. --Tom Pellitieri Century Equipment Toledo, Ohio ------- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/ ------- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
