nisus.com
https://www.nisus.com/forum/

A simple macro to convert case
https://www.nisus.com/forum/viewtopic.php?f=17&t=2469
Page 1 of 1

Author:  lawrencegoodman [ 2007-07-30 12:09:26 ]
Post subject:  A simple macro to convert case

Forgive me if this is in the manual, but I cannot figure out how to do it.

I want to create a macro that consists of two steps:

1) the character to the right of the cursor is selected
2) that character's case is made lowercase.

It's nice not to have to select the character every time I want to change case.

Thanks very much.

Author:  martin [ 2007-07-30 14:02:54 ]
Post subject: 

This macro should do the trick:

Code:
$selLoc = Selection Location
$selLen = Selection Length
$docLen = Selected Storage Length

# make sure there is a character to the right of the caret
Begin Perl
   if( $selLoc + $selLen < $docLen + 1 ) {
      $selLoc += $selLen;
      $selLen = 1;
   }
   else {
      $selLoc += $selLen;
      $selLen = 0;
   }
End

# make the desired character lowercase
Set Selection $selLoc, $selLen
Edit:Convert:To lowercase

Author:  lawrencegoodman [ 2007-07-31 05:55:51 ]
Post subject: 

Yes, this works, though it's a bit sluggish.

I have a question though: why does Nisus make macros so tough? Most word processors give you the option to record keystrokes and create macros that way. I know writing them by hand gives you more complexity, but why not also let newbies like myself with little programming experience, do it the simple way as well?

This is a great word processor, but if I buy it, it means committing to learning the macro language and probably also perl. I just don't have the time.

Thanks.

Author:  Matze [ 2007-11-09 08:21:39 ]
Post subject: 

lawrencegoodman wrote:
Yes, this works, though it's a bit sluggish.

I have a question though: why does Nisus make macros so tough? Most word processors give you the option to record keystrokes and create macros that way. I know writing them by hand gives you more complexity, but why not also let newbies like myself with little programming experience, do it the simple way as well?

This is a great word processor, but if I buy it, it means committing to learning the macro language and probably also perl. I just don't have the time.

Thanks.


Do you remember Nisus Writer 6.5 macros? *sigh*

Author:  lawrencegoodman [ 2007-11-12 11:49:12 ]
Post subject: 

This doesn't check to see if there is a character to the right, but it runs a lot quicker:

$selLoc = Selection Location
$selLen = Selection Length

Select Start
$selLen = 1
Set Selection $selLoc, $selLen
Edit:Convert:To lowercase
Select End

Author:  martin [ 2007-11-12 14:10:16 ]
Post subject: 

This runs as quickly and still checks to make sure there is a character to the right:

Code:
$selLoc = Selection Location
$selLen = Selection Length
$docLen = Selected Storage Length

# make sure there is a character to the right of the caret
$selLoc += $selLen
If $selLoc <= $docLen
   $selLen = 1
Else
   $selLen = 0
End

# make the desired character lowercase
Set Selection $selLoc, $selLen
Edit:Convert:To lowercase

The reason the first macro takes longer is because of the Perl block, which are expensive to use, independent of how much actual work a particular block does.

Page 1 of 1 All times are UTC - 8 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/