woops, already found an error, this line:

 put offset(pHeader, line 1 of tData) into tColNum

should be

 put itemOffset(pHeader, line 1 of tData) into tColNum


(and it doesn't really need the "line 1" but I like it there just for clarity)


On Jul 16, 2007, at 9:43 AM, Josh Mellicker wrote:

filter tmpData with "*" & tab & myNumber & tab & "*"
will work, except it will return lines that have a "9" in ANY column...


The best way I have found to do this is a generic handler that will retrieve lines from any 2-dimensional field of data based on the header value and search data.

That is, if you want to know who likes pizza, ask

put FindSomeLines(the long id of fld "favorites", "favFood", "pizza") into tPizzaLovers


here's the field:

name   favColor   favFood
Greg   blue   pizza
Ken   green   burgers
Rich   chrome   pizza


and the handler:

function FindSomeLines pFldName, pHeader, pSearchData
 put fld pFldName into tData
 put offset(pHeader, line 1 of tData) into tColNum
 set the itemdel to tab -- (if your field is tab-delimited)

 repeat for each line tLine in tData
  if item tColNum of tLine = pSearchData
   put tLine & cr after tFoundLines
  end if
end repeat

delete the last char of tFoundLines

return tFoundLines
end FindSomeLines


This is not tested, but should be close I hope!





On Jul 16, 2007, at 9:18 AM, Chris Sheffield wrote:

Gregory,

Try this and see if it works.

        filter tmpData with "*" & tab & myNumber & tab & "*"

There shouldn't be any need to include the preceding or trailing tabs, except for the ones directly surrounding the number.

Chris


On Jul 16, 2007, at 9:58 AM, Gregory Lypny wrote:

Hello Everyone,

I'm struggling with the filter command. I have tab-delimited data in a field, where each row has at least 56 columns. I want to filter the data based on a chosen number in that fourth column, for example, to return all lines that have a 9 there. The fourth column only contains a number from 1 to 10. The following handler works most of the time. I put three wild card expressions, lone asterisks separated by tabs, to make sure nothing is being picked up in the first three columns. The tab and asterisk (and it could be just an *) following myNumber says that it doesn't matter what is in the columns after the fourth.

        put fld "Data" of this card into tmpData
filter tmpData with "*" & tab & "*" & tab & "*" & tab & myNumber & tab & "*"

The trouble is, the first three wild card expressions are interpreted by Revolution to include tab characters, which means that I'm not necessarily filtering the fourth column! If a 9 appears by itself in column 58, then the filter command will pick it up. Sigh.

I also tried the following, but I don't think I have the regular expression syntax right.

filter it with "[A-Z0-9]" & tab & "[0-9]" & tab & "[A-Z]" & tab & myNumber & tab & "*"

I know that my first column always contains five words, two of which are numbers. I wasn't sure how to represent the four spaces between the words. The second column is always a seven- digit number. The third contains first and last names, which will contain at least two words. This turns up empty.

Any advice would be most appreciated. If I can't get the RegEx working for me, I know I can resort to a repeat loop and pull out all lines with myNumber in the fourth item.

Regards,

        Gregory







_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

------------------------------------------
Chris Sheffield
Read Naturally
The Fluency Company
http://www.readnaturally.com
------------------------------------------


_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to