A summary of what's happening in the REBOL community.

The week ending 2nd July 2006


Windows/COM Support
Anton has released 'COMLib-anton' (Benjamin Maggi's COMLib, reengineered).
COMLib is an interface library that allows REBOL to talk to windows applications using COM.

Callbacks have been removed to assist with implementation so that the behaviour is no longer asynchronous, and errors are now thrown as Rebol errors so that they can be trapped with normal Rebol error trapping.

Cyphre has been contracted to bring 'grid' support to RebGUI. Grid support will allow features like visibility of columns, scrolling, keyboard navigation, programmable navigation and other cool stuff. License will be BSD.

NOTE: Improved systray support for windows will also be looked into.
Timeframe : 3 weeks.


After an initial announcement that the Plugin was being deferred for work on Rebol3, Carl agreed to "multiplex" work on the Plugin if developers can define a set of features that define what is required to complete the plugin. So, up to us developers to finalise this list if we want to see the plugin this side of Rebol3!

and from our man in gay Paree

Carl "Just so you know for sure: we do plan to make a 2.6.3 (1.3.3) update to fix various R2 bugs, including a range of OSX related issues."

MySQL Driver
Dockimbel release a fix for MySQL driver released today (v1.0.7):

o Fixes a comptability issue in handshaking with new servers using old passwords format.

See http://www.softinnov.org/rebol/mysql.shtml


To make sure our readership is not entirely passive, we are going to give you, our dear gentle readers, an intermittent task. Every so often you will be asked to tackle a simple Rebol puzzle, and we shall name the winner of the best solution with or without our reasons. If there is only a single entry, our task will be much simpler :)

Here's the first one - a parse task.

We have a string of text, and inside that text, some words are capitalized, and end in a colon. So, we have words like "TITLE:" and "SECTION:". We wish to identify all such words, and mark them up with <strong &gt; and </strong > for printing in an html page. You can choose either to modify the string in-situ, or return a copy with the markup.

A question on converting binaries to different bases brings up the usage of enbase.
ENBASE value /base base-value

This week tip is brought to you by Anton.


At 1:04 AM, Anonymous Anton Rolls said...

Here's my go at it:

string: {So here is a short story... TITLE: Mark of the Dragon
SECTION: The Journey Begins
Eldwin was short for an elf, and also had unusually stubby ears,
which allowed him to mingle amongst human children largely unnoticed.}

use [keywords keyletters keyletter nonkeyletter pos mark key new][

keywords: ["TITLE" "SECTION"] ; this should be maintained with the keywords in the parse rule below
keyletters: copy ""
foreach word keywords [append keyletters word/1] ; collect the first letter of every keyword
keyletter: charset keyletters
nonkeyletter: complement keyletter

parse/all/case string [
any [
any nonkeyletter ; move to the first keyletter by skipping over nonkeyletters
pos: ; remember this position
["TITLE:" | "SECTION:"] ; match one of the keywords
mark: ( ; mark the end of the keyword
key: copy/part pos mark
replace pos key new: rejoin ["" key ""] ; replace the old key with new
) :pos new ; skip over the new text we just added
| skip ; or skip if none of the keywords was matched


print string

At 1:11 AM, Anonymous Anton Rolls said...

Sorry that should be:

new: rejoin ["<strong>" key "</strong>"] ; replace the old key with new

(Mmm.. preformatted text and the code tag are not allowed.)


Post a Comment

<< Home