[yunqa.de] Re: pcre version in DiRegex 4.6

  • From: Delphi Inspiration <delphi@xxxxxxxx>
  • To: yunqa@xxxxxxxxxxxxx
  • Date: Wed, 06 Feb 2008 19:24:29 +0100

Sheri wrote:

>I know I'm over my head but, when DiRegexForm.pas is open, and I hover over 
>the pcre_version that goes into the caption, I see a tip 
>"DiRegex_Api.pcre_version Method Declared in DiRegex_Api"
>
>If I click the tip's link to DiRegex_Api it says (complete with the missing 
>"t")
>
>Unable to locate "ypelink:DIRegex_Api"

This is not a DIRegEx problem. Clicking such links tries to locate identifiers 
in the source code. If the sources is not available, Delphi has a problem.

>When and how often is this irritation supposed to appear?

How much detail do you want me to give to hackers ;-)

>I'm not currently running the demo app. I have Turbo Explorer open; the 
>message is appearing frequently, even though Turbo Explorer is minimized and 
>I'm replying to this email.

As said before, the nag screen only shows because DIRegEx Demo has problems 
detecting your Delphi. This apparently happens rarely to a few Delphi 
installations, but I am unfortunately unable to reproduce and fix it.

>For my purposes I thought it might be helpful to use the Workbench as a 
>benchmark for the editor I beta test.

True. For me, the WorkBench also functions as a reference implementation, 
especially if users are having regex difficulties.

>There's also an issue with use of duplicate named subpatterns. This one does 
>appear to be an issue in the workbench. It works in C/C++ PCRE-based apps.
>
>Try this:
>
>Pattern:
>(?J)(?<DN>Mon|Fri|Sun)(?:day)?|(?<DN>Tue)(?:sday)?|(?<DN>Wed)(?:nesday)?|(?<DN>Thu)(?:rsday)?|(?<DN>Sat)(?:urday)?
>
>Replace/Format String
>$<DN>

I have fixed this and uploaded a new beta version here:

  http://www.yunqa.de/delphi/downloads/DIRegEx_4.6.1_Beta_1.exe

This is not an official release, and only available as a demo. Unless there are 
more problems, I will release it officially soon.

>Would the editor's format string tokens likely be coming from the api? If so, 
>this is a suggested enhancement: A few other programs I use or helped design 
>allow "$" to be optionally followed by u, U, l, L, t or T to cause the string 
>referenced to be forced to upper, lower or title case in output.

I already though about case modifiers, but did not add them because I could not 
find a regex replace syntax standard.

>Also, I see $Count used in the Workbench. That doesn't work in my editor 
>(should it?).

I am not sure if your editor should support $Count. The WorkBench implements it 
a variable callback (feature demo, along with $Date and $Time). Search for this 
function in DIRegEx_Workbench_Form.pas:

procedure TfrmDIRegExWorkbench.RegEx_FormatVariable(
  const Sender: TDIRegEx;
  const VarName: AnsiString; // The variable's name
  out VarValue: AnsiString; // Receives the variable's value
  var ReplaceVar: Boolean // Switch if the variable should be replaced (True, 
default) or VarName be kept (False).
  );

>Another of my apps uses $# as a format token for match number.

Many options are possible, but I would rather conform to a standard and not 
clutter DIRegEx with exotic extensions.

>>All Delphi versions have global search path settings which apply to all 
>>projects: Menu -> Tools -> Environment Options -> Library Tab -> Library Path 
>>Edit. I do now know about Turbo Explorer, though.
>>  
>It seems to work (at least workbench) if I have both the source and D10 
>directories in the Menu -> Tools -> Options -> Environment Options -> Delphi 
>Options -> Library - Win32 -> Library Path (whew)

Yes, that's the one!

Ralf  

_______________________________________________
Delphi Inspiration mailing list
yunqa@xxxxxxxxxxxxx
//www.freelists.org/list/yunqa



Other related posts: