ElfData plugin Xojo replacement?

Nope. Tried that – no robots.txt. Grrrr.

I’ve got a local copy of the Elfdata plugin and a file called ElfDataDocumentation.html if thats any use to you?
Send me you’re email address and I’ll ping it over to you.

Cheers

Paul

If there is a function missing from Elfdata which you think would be worth adding to MBS, please email me.

Christian,

I’ll email you directly. Thanks!

[quote=70507:@Gary MacDougall]Christian,

I’ll email you directly. Thanks![/quote]
I’d suggest that for the sake of posterity & anyone else in the same boat as you that you post the list of functions & what they do that you rely on here
At least then anyone else having issues can find this thread & see what sort of help / options they have

ElfData
toString()

ElfDataDictionary
ValueElf(String)
Compress()
Count()
Dispose()

ElfDataNavigator
Value()
Name()
MoveNext()
Navigate()

FastString
Flush()
AppendMultiReplaceAll ( ElfData, MSR)

MSR
Add (String)
Dispose()
GetResult()
Search (ElfData, StartPos, ElfData.kEnd, Length)

What are those supposed to do ?

Norman beat me to it. Surely there is more than that?

That’s all we’re using in our product.

LOL… ElfData is like “String” – those are the objects used. The formatting above is poor, the first line is the “object”, the subsequent lines are the methods used. Sorry about that.

We’re looking at using Monkeybread to do some replacements on the objects above.

I’ll keep you posted.

I think that part was clear. The question is, what are the methods supposed to do? That’s the part of the documentation needed.

I’m waiting to hear back from the person who’s got a copy of the doc, then I’ll post it.

Well, some people seem to use it for fast string concats. For that you can use Join() function or StringHandleMBS or a binary stream linked to a memoryblock instead.

see
https://www.monkeybreadsoftware.net/pluginpart-stringhandle.shtml

For specialiest dictionaries, I have a couple of classes:
https://www.monkeybreadsoftware.net/pluginpart-mapset.shtml

The hash maps for integers and strings can be a lot of faster than normal Xojo Dictionary as we avoid building all the variant objects.

I noticed Theodore Smith (Elfdata’s owner) replied to this thread trying to reach out. It’s in fact his only post in this forum. Was he ever replied in private or something?

I used Elfdata for a while some years ago but, while devilishly fast, it worked in some ways I could never get used to. For my needs speed wasn’t a big issue so I stopped trying to use it.

I was convinced I had a copy of the whole elfdata package but sadly that’s not the case.

The owner was sent an email back in February about a license agreement (he had a broken link on the site).

He replied with one sentence. “Stop contacting me.”

And then proceeded to remove all references to ElfData on the elfdata.com site, and even removed the documentation.

You can download it, the link is out there – but the doc and the license information is gone.

well I might be able to get a list of all the methods but there won’t be docs of course

The smart thing would be to implement a “StringBuffer” class like what Java has. That would take an RB string and then offer manipulation operations on it that do not need to keep copying the entire string. I guess that’s also what Theo did from looking at the API Gary posted. It would be “safe” as well, because it would not mess with RB’s own string storage but would keep working on a copy it manages itself until all operations are done, then give the result back as a RB string.

Some already use our StringHandleMBS class to merge a lot of strings.
Something you could also do with join() function.