Home | Blog | Software | Reviews and Features | Forum | Help | Donate | About us

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • October 16, 2017, 05:18 PM
  • Proudly celebrating 10 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: Instant infos via aliases?  (Read 15782 times)


  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 37,482
    • View Profile
    • Donate to Member
Re: Instant infos via aliases?
« Reply #25 on: June 03, 2008, 04:04 PM »
czb  :-*

tell us more about it and let's discuss it more before you go off and implement something.


  • Honorary Member
  • Joined in 2007
  • **
  • Posts: 336
    • View Profile
    • Donate to Member
Re: Instant infos via aliases?
« Reply #26 on: June 04, 2008, 03:17 AM »
So formely I wanted to join timer + instant info into one plugin but probably those will be two, I will see when I start coding how much different those two codes are going to be.

My idea is to have folder which would be searched for all files (no matter of name and extension) and every file will be as one tab (like firefox has) in html view. (You would be able to switch between tabs by Ctrl+Tab or command "switch number" or by clicking on the tab. It would search one file (tab) at a time to make searching faster.

Every file will have optional meta data or options and default options for files without those data will be stored in plugin settings.

As to tags, I think the easiest way would be to implement tags this way:
<tags:school,telephone,door,etc> anywhere on the line so that html will not display those tags but they will be searchable. If you have a better idea pls share ;)

For displaying result I think I will use http://dhtmlx.com/do...tmlxGrid/index.shtml so that the user would be able to edit anything just by clicking in to the box. Not sure if to implement other way of editing since this one seams easy and fast. Just adding and deleting of entries will have to be implemented somehow.

As to @headers:name, number, address, phone I think I will implement it exactly this way

As to @type: csv I think I would rather try to implement it directly by some kind of regular expression. Instead of typing @type: csv you would type @type: "^($1) | ($2)$" etc so you would be able to implement any kind of file. However there could be some predefined types such as csv... Suggestions are also welcome.

That is all for now, but I think more will come as I think it through and when I start coding ;)

BTW: does anybody here have experience with JS searching? what is the fastest way to search a file? to load it at once and then use search command on it or is it better to load it line after line and apply search to every line separately?

Also is it better to store former searchings in the memory for future use (only until you close FARR) => I guess it might be memory demanding, or to erase former search results and always start searching from the beginning?

Mouser: I know that SpreadSheet view you want to implement might be better for such a purpose but I would like to have tabs displayed all the time (also some additional info will be displayed all the time) so I need to use HTML view. That is why I asked you if it is possible to embed your SpreadSheet view into HTML view.

EDIT: just to mention. To search 7MB text file for "a" which finds 376906 occurences it takes on my pc less than 3 seconds. I do not know how fast are other languages but it seams reasonable to me ;)
As search is going to be a core function of the plugin here I present it and please tell me if anything is wrong => if there is a way how to make the function even faster ;)
Code: Javascript [Select]
  1. function search(file,search){
  2.   var out = new Array();
  3.   var index = 0;
  4.   objFile = fso.GetFile(path+"\\"+file);
  5.   objTS = objFile.OpenAsTextStream(1, 0);
  6.   strSearchThis = objTS.Read(objFile.Size);
  7.   objTS.Close();
  8.   var strlength = strSearchThis.length;
  9.   while(index < strlength){
  10.     var pos = strSearchThis.indexOf(search,index);
  11.     if(pos == -1) break;
  12.     else {
  13.       out[out.length] = pos;
  14.       index = pos+1;
  15.     }
  16.   }
  17.   return out;
  18. }
« Last Edit: June 04, 2008, 05:19 AM by czechboy »


  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 124
    • View Profile
    • Donate to Member
Re: Instant infos via aliases?
« Reply #27 on: June 04, 2008, 04:50 PM »
Oooh this definitely looks promising and seems to have a ton of features/expandability. My only concerns are speed and keyboard compatibility. From playing around with it it seems to make really good use of the keyboard so i dont think that should be an issue as long as the transfer from search box to results grid and back can be performed without using the mouse.  Regarding performance I guess the only way to find out how it performs is to test it out :D. I wouldnt imagine anyone using this for extremely large datasets and the performance figures you mentioned dont seem too bad.

If it turns out anything like your other plugins i cant wait :Thmbsup:
« Last Edit: June 05, 2008, 11:50 AM by s.newave »


  • Honorary Member
  • Joined in 2007
  • **
  • Posts: 336
    • View Profile
    • Donate to Member
Re: Instant infos via aliases?
« Reply #28 on: July 23, 2008, 05:55 AM »
For everybody. I have coded it ;) You can find the result here:


  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,898
    • View Profile
    • Donate to Member
Re: Instant infos via aliases?
« Reply #29 on: July 23, 2008, 07:33 AM »
If you want a quick way of searching a lot of pain text files for a specific keyword use the following alias:
1000>>>Note Search>->ns $$1 | restartsearch cn find C:\temp\*.txt /n "$$1" &&>+>^ns (.*)
And replace c:\temp by the folder holding all your plain text notes. It's not pretty but it works.
try it with ns <keyword>