Search the web
Sign In
New User? Sign Up
elfdata
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Message search is now enhanced, find messages faster. Take it for a spin.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
ElfData 5.3 released   Message List  
Reply | Forward Message #406 of 450 |
Hi everyone,

I've got a new version of ElfData out. ElfData v5.3

For those who don't know, ElfData is the most advanced string
processing library for REALbasic. Giving the most speed, assuming it's
used correctly. Of course, used incorrectly, it will be slower.

read about: http://elfdata.com/plugin/
download: http://elfdata.com/plugin/elfdata.zip
technical ref: http://www.elfdata.com/plugin/technicalref

What's so special about this version compared to the previous version?
Well... I've added one new function. But whats special is that I more
fully documented many functions that were written long ago and got
only brief or no documentation.

I spent a long time writing this page up:
http://www.elfdata.com/plugin/technicalref/ElfDataMCat16.html

This page explains all about how to use ElfData's "unixy" file
processing functions.

There's also that really neat little example I discovered recently,
that I could count the number of lines in a file, in three lines of
ElfData code, and do it 2.5-5x faster than REALbasic could do it, even
though REALbasic required many times more lines.

    dim fi as ElfDataFields = SomeFolderItem.ElfDataFields
    call fi.MoveNext( ElfData.kEnd ) // kEnd is the biggest number an
integer can handle
    MsgBox str( fi.Count ) + " lines found in " + fi.file.Path

Of course that's not the only thing ElfData can do faster, ElfData can
do thousands of things faster than REALbasic, usually at least 2x
faster, but often running into 10, 100, or even 1000x faster. (1000x
or more faster would be my "multiple replace all" class that does
stuff that would be a nightmare without it.)

I also fixed one bug with operator_convert, that didn't produce bad
results, but operator_convert ran on comparing "ElfData1 <> ElfData2"
when it wasn't meant to. That's been fixed now and designed properly.

Anyhow, the main thing is now people can have a central place to look
at to see what file processing functions ElfData has. Because of how
simple these functions make some tasks, I was able to write a program
to check if all the files passed, were UTF-8, ASCII, or neither. And
do it recursively over directories. And all of that, in about 30 lines
of code. Example below:

Sub ProcessFile(path as ElfData)
     dim e as ElfData = path.FileListing( 10, true )
     if e <> nil then // it's a folder
        dim fi as ElfDataFields = e.Lines
        While fi.MoveNext
           ProcessFile fi
        wend
        Return
     end if

     dim data as ElfData = path.FileData
     if data = nil then
        stdout.Write "Unreadable"
     elseif data.IsASCII then
        stdout.Write "ASCII"
     elseif data.Verify = 0 then
        stdout.Write "UTF-8"
     else
        stdout.Write "Not_ASCII_Or_UTF-8"
     end if

     stdout.Write chrb(9)
     stdout.WriteLine path
End Sub


Function Run(args() as String) As Integer
// copy this code into the "Run" event of a shell (console) project
     for i as Integer = 1 to UBound( args )
        dim fi as ElfDataFields = args( i ).ElfData.Lines

        While fi.MoveNext
           ProcessFile fi
        wend
     next
End Function


Sat May 16, 2009 5:36 pm

boytheouk
Offline Offline
Send Email Send Email

Forward
Message #406 of 450 |
Expand Messages Author Sort by Date

Hi everyone, I've got a new version of ElfData out. ElfData v5.3 For those who don't know, ElfData is the most advanced string processing library for...
Theodore H. Smith
boytheouk
Offline Send Email
May 16, 2009
5:39 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help